semi合集-English.pdf - 第1392页
SEMI E30-1103 © SEMI 1992, 2003 66 Spooling State Transiti ons A table follows detailing all sp ooling state transitions as p resented in the state transition diagram. Table 4.11 Spooling State Transitio n # Current Stat…

SEMI E30-1103 © SEMI 1992, 2003
65
messages only from the spool area until all spooled
messages have been completely transmitted to the host.
Flow control of the spool transmit process is achieved
in two ways. First, only one open transaction on the
equipment is allowed during spool unload. Thus, if a
message requires a reply, the equipment shall wait for
that reply before transmitting the next spooled message.
Messages which require no reply may be transmitted
sequentially as rapidly as the message transfer
mechanism will allow.
The second flow control method is to allow the host to
limit the maximum number of messages sent from the
spool in response to the S6,F23 request. An equipment
constant named MaxSpoolTransmit may be set by the
host to achieve this behavior. If MaxSpoolTransmit is
set to five, for example, the equipment will send the
first five messages from the spool and then transition to
the NO SPOOL OUTPUT state, awaiting the next
S6,F23 request. There is no event report generated
when MaxSpoolTransmit is reached. The host is
responsible for determining this situation by a)
counting the messages received, b) timing out waiting
for the next message, c) inquiring to the equipment for
the curent value of the SpoolCountActual status
variable, or d) some combination of the above. If
MaxSpool-Transmit is set to zero, the spool shall be
transmitted completely in response to S6,F23.
Normal spooling continues during the spool transmit
process. If the SPOOL LOAD component should
transi-tion to SPOOL FULL, it shall not have any effect
on the SPOOL UNLOAD component. Once full, the
spool cannot make the transition back to SPOOL NOT
FULL except via the SPOOL INACTIVE state. Space
made available due to the spool unload process shall
not be used in this case.
When a multi-block message is to be transmitted from
the spool, any required inquire/grant transaction shall
be initiated. If the host’s response denies permission to
send the multi-block message, the equipment shall dis-
card that message and continue with the transmit pro-
cess. This sequence shall count as one message in the
MaxSpoolTransmit count.
There is one area where SPOOL LOAD and SPOOL
UNLOAD may interact: When the spool is full and
OverWriteSpool is True. During the spool transmit pro-
cess, spooled messages are being removed and new pri-
mary messages are being written to the spool. These
new messages are overwriting the oldest messages
available, unless the unload process has freed sufficient
spool space. There is a possibility that the unload and
overwrite processes may compete for control of the
same message area. For example, if the spool holds
messages ABCDE, with A oldest and E newest, A
might be sent to the host, B (and the space from A)
overwritten by the new message F, C sent to the host, D
and E (and the space from message C) overwritten by
G, etc. The loss of continuity may be “disorienting” to
the host program receiving the messages. It is expected
that the unload process will be fast relative to the
generation of new messages, so that this occurrence
will be rare.
Should a communication failure occur during the spool
transmit process, spooling shall continue as before the
transmit process began. However, the spool unload
sequence shall terminate (i.e., transition to NO SPOOL
OUTPUT will occur — see transition table below).
PURGE SPOOL
The equipment shall discard all messages in the spool
and, when the spool is empty, zero SpoolCountActual.

SEMI E30-1103 © SEMI 1992, 2003
66
Spooling State Transitions
A table follows detailing all spooling state transitions as presented in the state transition diagram.
Table 4.11 Spooling State Transition
# Current State Trigger New State Action Comment
1 SPOOL
INACTIVE
Communication
state changes from
COMMUNICAT-
ING to NOT
COMMUNICAT-
ING or from
WAIT CRA to
WAIT DELAY
and Enable Spool
is true.
SPOOL
ACTIVE
SpoolCountActual and
SpoolCountTotal are ini-
tialized to zero. Any open
transactions with the host
are aborted. SpoolStart-
Time (SV) is set to current
time. Alert the operator
that spooling is active.
The default state in each AND substate
is entered. The message which could
not be sent remains in the send queue
and is dealt with in Spool Active state.
The collection event Spooling
Activated has occurred.
2 SPOOL NOT
FULL
Message generate
which will not fit
into spool area.
SPOOL
FULL
SpoolFullTime (SV) is set
to current time. Alert the
operator that spool is full.
The message which would not fit into
the spooling area is dealt with after the
transition. No collection event is
generated.
3 SPOOL
OUTPUT
Spool area
emptied.
SPOOL
INACTIVE
Spooling process dis-
abled. Alert the operator
that spooling has been
terminated.
The collection event Spooling
Deactivated has occurred. Transition
from the AND substate Spool Unload
component occurs.
4 NO SPOOL
OUTPUT
S6,F23 received
w/RSDC = 1.
PURGE
SPOOL
No action. Initiates purging process. No collection
event is generated since this is based
on host request.
5 NO SPOOL
OUTPUT
S6,F23 received
w/RSDC = 0.
TRANSMIT
SPOOL
No action. Initiates message transmission from
spool. No collection event is generated
since this is based on host request.
6 TRANSMIT
SPOOL
Communication
failure or
MaxSpoolTransmit
reached.
NO SPOOL
OUTPUT
Spool transmission
process suspended.
If communications failure, the event
Spool Transmit Failure has occurred.
No collection event generated for
MaxSpoolTransmit reached.
7 POWER ON Equipment power
source
discontinued.
POWER
OFF
No action. Spooling context has been maintained
in non-volatile storage prior to this
transition.
8 POWER OFF Equipment power
source restored.
POWER ON Spooling context restored
from non-volatile
memory.
If spooling were active prior to power
down, it shall continue. If TRANSMIT
SPOOL were active at powerdown,
transition #6 is expected to follow
since communications state is initially
NOT COMMUNICATING.
4.11.3.2 Enabling Spooling — The equipment shall
provide the host with the ability to enable and disable
Spooling for any message (except Stream 1 messages
(i.e., S1,F1, S1,F13)) via the S2,F43/F44 transaction.
Spooling may be enabled for an entire Stream, for
individual messages within a stream, or for any
combination of the two. Streams and Functions not
referenced in this message are not spooled. Spooling
can be totally disabled by sending an S2,F43 with a
zero length list for the first item (see S2,F43 definition).
In addition, the equipment shall provide an equipment
constant, EnableSpooling, to allow setting the enable or
disable of spooling. NOTE: When EnableSpooling is
false, the SPOOL state cannot transition from
SPOOLINACTIVE to SPOOLACTIVE. Changing
EnableSpooling does not change the spool state, purge
the spool or change streams and functions enabled for
spooling. Once the equipment is “SPOOL ACTIVE”,
the host must initiate the spool unload sequence to

SEMI E30-1103 © SEMI 1992, 2003
67
restore full functionality even though “Enable
Spooling” has changed to false.
4.11.4 Requirements — The following items are
required to support the spooling capability:
— At a minimum, the equipment shall reserve for
spooling non-volatile storage with sufficient
capacity to store all of the primary SECS-II
messages that would occur during a normal
processing cycle.
— While spooling is enabled, the equipment shall reply
to primary messages sent by the host with the
appropriate secondary message.
— Secondary messages which cannot be delivered
shall be discarded, never spooled.
— All spooling-related status variables and setup
information (as per S2,F43) must be stored in non-
volatile memory along with any other information
required for the potential unloading of the spool
area after a power loss.
— Upon powerup, the equipment shall retain all
spooling context from the time the equipment was
last shutdown or reset. This means that spooling, if
previously active, continues upon system powerup.
— The Equipment must reject any message that
attempts to set “Spooling” for Stream 1.
— If a multi-block primary message need for the
inquire/grant is to be sent during SPOOL ACTIVE,
the message should be placed in the spool and the
grant resolved during spool transmit.
4.11.5 Scenarios
Define the Set of Messages to be Spooled:
This Scenario is used to set up the list of messages that the equipment should spool (or by defining none, to disable
spooling).
COMMENTS HOST EQUIPMENT COMMENTS
Host defines messages to be S2,F43-->
spooled in case of communications
failure.
<--S2,F44 Equipment acknowledges setup.
Define the Maximum Number of Messages to Send in Response to S6,F23:
This Scenario sets the value of the equipment constant MaxSpoolTransmit.
COMMENTS HOST EQUIPMENT COMMENTS
Host sends value for S2,F15-->
equipment constant MaxSpoolTransmit.
<--S2,F16 Equipment acknowledges
equipment constant change.