yushang wrote:
>
> Dear all , I know there is a task router entity in SAM , which layer
> does this entity resident ? In transport layer ? Many thanks
I assume you mean the 7-layer OSI model ...
If you look at the lower end of the protocol stacks of a SCSI system you
have a SDS that spans multiple layers. Take SPI as an example: It is
both, a physical layer and a link layer protocol. SPI busses can be
connected by expanders but a network layer don't really exist. Other
interfaces may use some kind of network layer so the SDS can be mapped
to the lower 3 OSI layers in one or the other way. The SCSI ID becomes
the network address.
The SCSI device class protocols (SPC + SBC, SSC, MMC, etc.) can be
mapped to the transport layer, they are responsible for the command and
payload transfer. Additional reliability features (on top of what the
SDS provides) are missing. Because a SCSI target can contain logical
units of different classes, the LUN may match best for the transport
address.
The session layer protocol in the OSI model is responsible for managing
the network connection. If you take the SCSI nexus as equivalent to a
network connection, the SCSI task management functions may be mapped to
the session layer. A session address then would be something like
ID:LUN:QTag.
A presentation layer don't exist in SCSI.
On the upper end you have the application client and the device server
as appliction layer.
Because SCSI is almost never used as "network" for "connections between
computers" in the OSI sense and the task router itself is not a protocol
but a functional unit, things don't match very well to the OSI model.
IMHO:
Because the task router is not part of the logical unit(s), it is
"below" the transport layer, on the other hand it is part of the target
controller and bound to its ID(s) and therefore "above" the network
layer. You should place it somewhere between the network and the
transport layer.