Expertise / Resources / SEMI Standards / Stream 21 messages: sending gigabytes of data over SECS
Stream 21 messages: sending gigabytes of data over SECS
As data requirements and configuration become more complex, the data that the equipment needs to transfer to the Factory Automation (FA) host through the SECS channel grows. However, there are size limits to the data that can be represented in SECS-II data items and sent by the transmission protocol (SEMI E4 or SEMI E37). To address this situation, SEMI E5-0220 (SECS-II) introduced new Stream 21 messages to transfer potentially large items.
Originally intended to transfer unformatted process programs, these Stream 21 messages can be used to transfer other data that could be large (for example, wafer maps and analysis data). The Stream 21 message includes an ITEMTYPE value that lets the receiver know what type of item it has received so it knows how to process the data appropriately.
Larger data can be sent using Stream 21 messages by splitting the item into smaller pieces that fit within the 16MB size limit of SECS-II data items. These smaller pieces are stored sequentially in an ITEMPART data item in the Stream 21 message. When the receiver gets these messages, they can concatenate the individual ITEMPARTs to restore the original item.
There are two techniques you can use with Stream 21 messages; both will result in the transfer of the entire item to the receiver.
- The sender can use one single Stream 21 message to transfer all the item parts. This approach makes it easier for the receiver since they only have to work with one SECS message, but they are still limited to the maximum message size of the underlying transmission protocol (approximately 4GB for SEMI E37 (HSMS) and 7.9MB for SEMI E4 (SECS-I)).
- The sender can use a separate Stream 21 message to send each item part. This approach requires some more effort by the sender and receiver to work with multiple Stream 21 messages but there are no size limits on the data that can be sent and the SECS channel is not blocked by sending a very large SECS message.
Implementers need to consider how the SECS channel is used, i.e., what other messages use the SECS channel, how quickly they need to be sent, and the speed of the response by the other side.
Our analysis suggests the size of the item being transferred should also influence the decision:
- If the item to transfer is less than 1GB, you will get better performance using a single Stream 21 message with multiple ITEMPARTs in it. You still need to consider the impact of blocking the SECS channel to other SECS messages while this message is being transferred.
- If the item to transfer is greater than 1GB, it is better to use multiple Stream 21 messages to send the data. This will result in smaller SECS messages that can be interleaved with other SECS messages on the channel, resulting in less queuing and timeouts of SECS messages behind the Stream 21 messages.
Stream 21 messages are not restricted to only working with large data; they can be used to send data that will fit into a single ITEMPART data item (for example, sending XML text that is 1MB). This makes it simpler for implementations to use Stream 21 messages to always transfer the data, regardless of the data size.
Stream 21 transfer messages are also simpler for senders and readers to implement than Stream 13 Data Set messages. Previously, Stream 13 messages were the only way to transfer data larger than what could be stored in a SECS-II data item. Stream 13 messages provide a robust infrastructure, including the ability to resume interrupted transfers, handle streaming data, and allow the sender and receiver to determine the maximum data to send in each message. However, this infrastructure is excessive and can be a barrier when you just want to want to send data that is a known size and not too large.
SEMI Standards Task Forces are working on updates to other SEMI standards that use SECS-II messages to use Stream 21 messages where appropriate as an accepted way to transfer information. For example, work is underway to update SEMI E30 (GEM) to allow Stream 21 to transfer process programs (recipes), and update SEMI E142 (Substrate Mapping) to allow Stream 21 messages to transfer wafer maps.
Contact us for more information.