English
Language : 

XRS10L240 Datasheet, PDF (13/38 Pages) Exar Corporation – SERIAL ATA II: PORT MULTIPLIER / PORT SELECTOR
EXSTOR - 1 XRS10L240
REV. 1.05
SERIAL ATA II: PORT MULTIPLIER / PORT SELECTOR
A Serial ATA II Port Multiplier is a mechanism for one active host connection to communicate with multiple
devices. A Port Multiplier is conceptually a simple multiplexer in which one active host connection is
multiplexed to multiple device connections.
The XRS10L240 uses four bits, known as the PM Port field in all Serial ATA frame types, to route frames
between the selected host and the appropriate device. PM ports 0 through 3 are valid device ports within the 4-
output XRS10L240, while PM port 15 is designated for communication between the host and the XRS10L240
itself. For host-to-device transactions, the PM Port field is designated by the host in order to specify which
device the frame is intended for. For device-to-host transactions, the XRS10L240 fills in the PM Port field with
the port address of the device that is transmitting the frame.
The PM Port field is defined in the Serial ATA port multiplier specification to be the first 32-bit Dword in the
Frame Information Structure (FIS) for all FIS types, as shown in Figure 9.
FIGURE 9. PORT SELECTION SIGNAL - TRANSMITTED COMRESET SIGNALS
As defined in Serial ATA1.0
PM Port
FIS Type
3.5.1 Transmission from a host to a device
A host indicates the target device for receipt of a transmitted frame by setting the PM Port field in the frame to
the device's port address. When an XRS10L240 receives a frame as selected from one of the two available
hosts by the port selector, it checks the PM Port field in the frame to determine which port address should be
used. If the frame is set for transmission to the control port (15), the XRS10L240 receives the frame and
performs the command or operation requested. If the frame is designated for a device port, the XRS10L240
obeys the following procedure:
1. The XRS10L240 first determines if the device port is valid. If the device port is not valid, the XRS10L240
will issue a SYNC primitive to the host and terminate reception of the frame.
2. The XRS10L240 determines if the X bit is set in the device port's PSCR[1] (SError) register. If the X bit is
set, the XRS10L240 issues a SYNC primitive to the host and terminates reception of the frame.
3. The XRS10L240 determines if a collision has occurred. A collision occurs when a reception is already in
progress from the device that the host wants to transmit to. If a collision has occurred, the XRS10L240 will
finish receiving the frame from the host and will then issue an R_ERR primitive to the host as the ending
status. The XRS10L240 will then discard the frame, but will not return an R_RDY primitive to the host until
the frame from the affected device port has been transmitted to the host, thus indicating to the host when it
can retry to send the frame. The transmission from the device will proceed as requested, as the device will
always take collision precedence over the host.
4. The XRS10L240 initiates a transfer with the device by issuing an X_RDY primitive to the device. A collision
may occur as the XRS10L240 is issuing the X_RDY to the device if the device has started transmitting an
X_RDY primitive to the XRS10L240, indicating a decision to start a transmission to the host. In this case,
the XRS10L240 will finish receiving the frame from the host and then issue an R_ERR primitive to the host
to indicate an unsuccessful transmission. The transmission from the device will proceed as requested, as
the device will always take collision precedence over the host.
5. After the device issues an R_RDY primitive to the XRS10L240, the XRS10L240 will transmit the frame
from the host to the device. The XRS10L240 will not send an R_OK status primitive to the host until the
device has issued an R_OK primitive to indicate successful frame reception. In this way, the R_OK status
handshake is interlocked from the device to the host.
If an error is detected during any part of the frame transfer, the XRS10L240 will ensure that the error condition
is propagated to the host and the device. If no error occurs during frame transfer, the XRS10L240 will not alter
the contents of the frame, or modify the CRC in any way.
13