SCSI
Problem
Limit of parallel bus(p.33)
clock period
flight time
signal skew
others
Source-Synchronous Clocking(p.35)
Internally-generated clock
Add pin count
High power consumption
Only postpond the problems of signal and clock skew (untial increasing frequency)
Protocol
Arbitration phase
Selection phase
Half-duplex
Handshaking
Routing
Connection-based
best latency
might tie the resource
Frame-based
avoid the problem of tying up the resource
add latency
confuse
p.45: port selector
p.56: wide port
p.84: establish the connection for an expander
SAS
Layer
Application Layve
Client Application
Translate the command form the device driver into the procedure cal fromat
SMP(SCSI Management)
SSP(Serial SCSI)
SAM-3
assist with the power requirements of spinning up several drives together
STP(SATA Tunneled)
General
SAS initiator
SMP
SAS target-only
SSP
initiator supporting SATA
SMP
SSP
STP
Transport Layer
Frame Construction
Repackage the various arguments into the frame format
Reverse the process by parsing the frame contents and assembling a procedure call
A Device with One Narrow Port
frames are forwarded and queued up into pools based on the destination address
Fairly simple for the narrow port example
A Device with One or More Wide Ports
There is one transport layer for each port
Port Layer
Queue Management
Queue the outgoing frames into pools based on the destination address and rquesting a connection
no corresponding function for incoming frames.
A Device with One or More Wide Ports
Like a telephone call center
Distribute the outgoing connections to the available Phys
PHY(I/O)
Link Layer
Connection Management
Link Layer Protocol Management
Inject primitives into the flow and verify flow control and acknowledgement of frames
Responsibility
Managing clock skew and reate matching
Sending address frames to request connection establishment
Adding a CRC value to each packet
Generating primitives
Checking and removing primitives from the incoming flow
Scrambling the transmitted bytes to reduce EMI
Handling the identification and hard reset protocols
Phy Layer
8b/10b Encode and Decode
Embed a clock into the data stream by ensuring sufficient transition density
Balance the number of ones and zeros
Provide for simple detection of most transmission errors
Initialization p.125
Phyical Layer
Perform the differential signaling onto the transmission medium
differential signal
Improve noise immunity
Improve signal integrity
The service delivery sub-system
Device
End Device
Act as initators or targets
Do not have the ability to forward transactions to other devices
Expander Device
Allow a system to scale
Two broad classes
Edge expander
For relatively simple routing
General
can be cascaded
contain at most 128 addresses
has end devices at the boundaries
can have one subtractive port
No loop among the expander connections
Wide port allowed
Routing Methods
Expander Routing Attributes and Methods
Routing Attribute
When attached to
Routing Method Ised
Direct
End Device
Direct
Table
Table + Direct
Expander Device
Table (cont.)
End Device
Direct
Subtractive
Subtractive (+ Direct )
Expander Device
Subtractive (cont.)
End Device
Direct
Fanout expander
For more extensive connection routing possibilities
the only root of the SAS tree
Establish the connection
1. The incoming request is accepted and routed to the destination Phy.
2. The response comes into the destination Pjy and is routed back to the source Phy.
All expander phys are assigned the same SAS address, but they have a unique Phy identifier to keep track of them.
Topology
Domains
A logical concept for establishing whcih devices are able to communicate with each other, and there are a few rules defining them
Dual Citizenship
Restrictions
Limited Addressing
Dual Port Configurations
No Loop Topologies
Expander Limitations
Endpoint-to-Endpoint Connections
primitive
RRDY
indicates that the reveiver can accept one frame
XFER_RDY
report how much overall buffer space is available in the target
Connection-based routing(p.55)
Fibre likehood(p.39)
class 1
Virtual circuit
full bandwidth
like a telephone connection
connection-based
speed!
less flexibility
latency is a factor
fram sizes relatively small
connections relatively short-lived
Scalability
switch for Fibre
complex and expenseive
expander for SAS
simpler
SAS has no loops allowed, whcih Fibre has.
dual port
load balance
fall-over mechanism
performance
SAS transport provides full compatibility with SATA
ports(p.52)
A collection of one or more Phys
narrow
a port which has only one Phy
wide
a port that implements several Phys
Phy
two addresses
its own 64-bit SAS address
the attached address
A collection of Phys that share the same coination of address
Reset, send an identify frame to its neighbor to communicate its characteristics
protocols supported
address
Phy identifier
nexus
I: Initiator port
T: Target port
L: The selected LUN
Q: The tag of the task to be executed
Layered Device Architecture
A Device with One Narrow Port
A Device with One or More Wide Ports
General
The Port Layer has the option to choose any of the four Phys when creating a connection
Port Assignments Change with Topology
A device all detect the same remote attached address
Grouped into a single port: wide port
may have better performance
cannot combine several Phys for use in the same transaction
Not connected to the same address
A HBA will be designed to support wide ports while a disk drive will not.
The Port within a device is selected based on the destination address of a request
The Phy within the Port is selected based on availability
SATA
low-cost
small cable
lower pin counts
single port
With port seclector: fall-over mechanism
higher bandwitdth than ATA
SATA II
For higher reliability demands
Port Selector
Port Multiplier
as the expander in SAS
Designed for capacity rather than speed
relieved by RAID
NCQ: Native Command Queuing
Why Server uses SAS instead of SATA
transport technology
SATA not dual-proted
SATA drive
lower rotational frequency
lower MBTF
SAS for mainstream, SATA for mid-line or backup storage