NonStop S-Series Server Description Manual (G06.24+)
Principles of System Operation
HP NonStop S-Series Server Description Manual—520331-003
2-8
Packet Transmission and Reception
Packet Transmission and Reception
ServerNet devices take different actions and use different logic based on whether the 
request part of a transaction originated within the local ServerNet device or in some 
other ServerNet device (called “remote ServerNet device” in Figure 2-4). The reason 
for this difference is that the local device has all the necessary information about any 
transaction that it originated, whereas an incoming request from a remote device is 
basically unexpected and carries its own information. Figure 2-4 separately illustrates 
the handling of both locally initiated and remotely initiated requests, for all four types of 
packets.
In this figure, the previously shown “processor ServerNet interface” is broken down into 
two major components, labeled BTE and AVT. (There are other components, but these 
are the two of interest here.)
BTE is block transfer engine, and it is used for all locally initiated transaction 
handling, whether read or write, request or response. In the read case, the BTE starts 
the transaction by sending a read request to the remote device, including the address 
for reading within that remote device. The remote device must respond with a read 
response, including data of up to 64 bytes. Because the BTE tells the remote device 
where to read the data and where to send it, the local processor’s BTE “pulls” the data 
from the remote device.
In the write case, the BTE starts the transaction by sending a write request to the 
remote device, including the address for writing within that remote device, as well as 
up to 64 bytes of data to write. After the remote device has written the data, it sends 
back a simple write response (header and CRC only). Because the BTE tells the 
remote where to write the data and actually provides the data, the local processor’s 
BTE “pushes” the data to the remote device.
AVT is access validation and translation, and it is used for all remotely initiated 
transaction handling. The remote device could be another processor (in which case it 
would have used its BTE to initiate the transaction) or it could be, for example, a 
ServerNet addressable controller (SAC).
In the read case, the AVT receives a read request along with an address for reading 
the requested data. Because this is an unexpected request, the AVT first must do an 
“access validation” to determine whether the particular remote device is permitted to 
access the portion of memory it wants to read. If the access is permitted, the AVT next 
translates the supplied virtual address to a physical address, gets the requested data, 
puts it into a read response packet, and sends the packet to the remote device. In this 
case, the remote device is pulling the data.
In the write case, the AVT receives a write request along with an address and up to 64 
bytes of data that the remote device wants written into the local memory. The AVT first 
validates the supplied address, then proceeds if the access is permitted. The AVT 
translates the virtual address to physical and stores the data in the processor memory. 
Finally it sends a write response back to the remote device. In this case, the remote 
device is pushing the data.










