4.6. STREAMING WRITES

A slight variant of the NWRITE transaction is the streaming write (SWRITE) transaction. SWRITE transactions are of format Type 6. This transaction makes some simplifying assumptions about alignment and payload size to reduce header overhead. SWRITE is used for moving large quantities of data in DMA type operations. SWRITE transactions can offer extremely efficient movement of data within a RapidIO system. The header and CRC overhead of SWRITE operations is only 10 bytes, for 256 byte payloads this is less than 5% of the payload so the efficiency is over 95%.

The SWRITE transaction (Figure 4.10), like the response transaction, does not contain a data size length field so the actual length of the packet cannot be determined from the contents of the packet alone. The data field for a SWRITE transaction is at least 8 bytes long and no more than 256 bytes long. It is double-word aligned and is an integer multiple of double-words in length. It begins after the XAMSBS field and extends to the CRC field. The receiver finds the length of the SWRITE data field by finding the end of the packet, this is delimited by a control symbol, and then working back two or four bytes over the CRC and optional PAD fields.

Figure 4.10. SWRITE transaction format
Figure 4.11. Read–modify–write operation

Get RapidIO: The Next Generation Communication Fabric For Embedded Application now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.