Gem
GEM (Generic Equipment Model) is the SEMI standard that defines how a process tool talks to the factory host over SECS-II messaging — and in fab shorthand, engineers often say "GEP" when they mean the specific GEM equipment procedures that govern FOUP loading, unloading, carrier verification, and load-port status. Every SECS message is identified by a Stream and Function number (S3F5, S6F11, and so on): the stream groups messages by subject area, the function picks the specific message within that stream, and odd-numbered functions are always a request while the next even number is its acknowledgment.
Stream 3 is specifically the material, carrier, and port stream, and its messages carry the FOUP lifecycle directly. S3F1/S3F2 (host asks, equipment answers material status), S3F5/S3F6 (equipment reports Material Found, host acknowledges), S3F7/S3F8 (equipment reports Material Lost), S3F17/S3F18 (host sends a Carrier Action Request, equipment acknowledges), S3F19/S3F20 (Cancel All Carrier Out), S3F21/S3F22 (Port Group Definition), S3F23/S3F24 (Port Group Action), S3F25/S3F26 (Port Action Request), and S3F27/S3F28 (Change Access, which flips a load port's access mode) — together these distinguish carrier-level actions from port-level and port-group-level actions, which is why a GEM300 equipment interface manual reads almost like a separate protocol just for load ports.
E84 and E87 are the physical and logical halves of the same handoff, and GEM's SECS messages are the glue between them. E84 is the hardware handshake standard that lets an AMHS vehicle and a load port physically agree when it's safe to set down or pick up a FOUP — it doesn't carry carrier identity or slot-map data at all. E87 layers carrier management on top: reading the carrier ID, tracking carrier state (in transit, docked, open), and verifying the slot map against what the host expects. A typical load cycle runs E84's physical handoff first, then E87's verification, with SECS-II S3Fxx and S6Fxx messages reporting each stage back to the host in real time.
Other streams round out the picture around a load/unload cycle even though Stream 3 does the carrier-specific work. S1F3/S1F4 lets the host request and receive selected equipment status at any point in the sequence; S2F41/S2F42 lets the host send a remote command (like forcing a port into maintenance mode); S5F1/S5F2 reports an alarm if something in the sequence faults. None of these are carrier-specific, but a real fab's host software is watching all of them simultaneously during a FOUP cycle, correlating collection events against carrier and port state to decide what the AMHS and the load port should do next.
Exact CEIDs, SVIDs, and which optional Stream 3 functions a given tool actually implements all come from that equipment's own SECS/GEM interface manual — GEM defines the shared vocabulary and message grammar, but every vendor's equipment still documents its specific event IDs and status variables on top of it, which is why integrating a new tool type into a fab's host software always starts with reading that tool's interface manual line by line rather than assuming GEM compliance alone is enough.