NonStop S-Series Server Description Manual (G06.27+)

Principles of System Operation
HP NonStop S-Series Server Description Manual520331-004
2-6
ServerNet Packets
ServerNet Packets
Communications between ServerNet devices at a fundamental level occurs in the form
of variable-length ServerNet packets. Generally, packet transmissions occur in pairs
called a ServerNet transaction. The device originating the transaction sends a
request packet and the target device sends back a response packet. (exceptions to
this one-for-one arrangement can happen for diagnostic and status transactions.
There are two basic kinds of transactions: read transactions and write transactions.
Because each transaction requires a request and a response, there are four possible
types of packets, as shown in Figure 2-3. The structure of each packet depends on
whether it is a read request, a read response, a write request, or a write response.
Each packet begins with a fixed-length (8-byte) header that contains the information
shown in the lower part of Figure 2-3. Notice that the first information to be transmitted
on a ServerNet link is the 20-bit destination ServerNet ID (format shown in Figure 2-2).
Having this ServerNet device ID at the start of a packet permits the routers to start
sending the packet out through the appropriate port as soon as the first three bytes
arrive at the router.
Additional information in the header includes the source ServerNet ID, which the target
device will use to identify the sender of the packet. The 4-bit transaction type, in combi-
nation with the 1-bit request/response identifier, specifies which packet type is coming.
The 8-bit data length specifier architecturally allows specifying a data field (D) much
larger than current hardware implementations allow, which is 64 bytes.
The 4-bit transaction ID permits a ServerNet device to originate and have outstanding
up to 16 transactions before receiving a response for any of them. As each response
arrives, it can be associated with corresponding earlier requests by using this
transaction ID value. Although this field allows for 16 outstanding transactions,
individual end device designs might not use this full capability. The primary/alternate
path bit specifies the preferred fabric for transmission, X or Y.
The acknowledge/negative acknowledge bit is applicable only in response packets. A
positive acknowledge specifies that the corresponding request packet was successfully
received and passed on to other logic in the receiving ServerNet device. A negative
acknowledge specifies that, although the packet was received, there was some
problem, such as an invalid ServerNet address.
The 4-byte ServerNet address can be thought of as a virtual memory address within
the receiving device, as it most commonly actually is—even for I/O ServerNet devices.
In some cases, however, this address could specify a register or some specific
interrupt. The address is needed only for requests, to specify where in the target
device to read or write data. It is not needed in response packets.
The variable-length data field comes in the read response, after having read the data
from the specified address in the target device, and in the write request, along with the
address telling where to write the data in the target device.
The CRC code checks for errors in all preceding fields, however many there are.