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