I am sponsoring this fast tack for Javen Wu and Dolpher Du. It is to
provide a mpt_sas(7D) driver. Timer is set to 04/26, requested release
binding is micro.
-Cecilia
--------------------------------------------------------------------
Name: Driver for LSI MPT2.0 compliant SAS 2.0 controller
Submitters: Javen Wu, Dolpher Du
1) Background
-------------
Over the past decade the storage industry has moved from traditional
parallel
SCSI based storage systems to more scalable serial storage connections. With
the emergence of 3 and 6 Gigabit SAS, Sun and other vendors are revamping
software storage stacks to support the new features.
LSI's Fusion MPT Message Passing Technology forms the basis for a very
popular
family of Serial Attached SCSI HBAs. Sun makes extensive use of MPT for
both PCI-E and PCI-X option cards as well as for motherboard hosted storage.
The mpt(7D) driver was based on LSI's MPT v1.5, supporting both SAS and
Parallel SCSI devices.
LSI's support of the SAS 2.0 specification uses a new driver/firmware
interface.
MPT(rev2) is now under development. In order for Sun to implement those
changes
we need to provide a new HBA driver which does not have the legacy
requirement
of mpt(7D). The proposed new driver mpt_sas(7D) will drive LSI MPT2
compliant
SAS controllers which include LSI SAS200x/2108 series.
2) Proposal Summary
-------------------
The following features are supported by the proposed mpt_sas(7D) driver:
2.1) mpt_sas(7D) is DDI compliant and SCSA compliant as much as applicable.
2.2) SAS initiator ports registration.
2.3) SAS/SATA/SMP target device dynamic enumeration / reconfiguration.
2.4) Target device representation conforms to FWARC 2008/013.
2.5) SAS/SATA devices multipathing support.
2.6) Power management, FMA and fast reboot support.
2.7) 3rd party ioctl support for management and firmware upgrade.
3) Interface Table
-------------------
|----------------------------------------------------------|
| Interface Name | Classification | Comments |
|------------------|------------------+--------------------|
| mpt_sas(7D) | Committed | Driver name |
| | | |
| mpt_sas.conf | Committed | Configuration file |
| | | |
| SUNWmptsas | Committed | Package name |
| | | |
|----------------------------------------------------------|
4) Proposal Details
--------------------
4.1) mpt_sas(7D) is as a SCSI/SAS HBA driver across SPARC and x86 platforms
which supports stock SCSA interfaces.
4.2) The proposed driver supports multiple initiator ports. Exporting
the real
SCSI I-T nexus, once mpt_sas(7D) detects initiator ports, it would
register
the initiator ports. These are represented as individual child nexus
devinfo nodes in the Solaris device tree. All attached target
devices would
be children of a specific initiator port rather than PCI function.
The IR
(Integrated RAID) volumes are children of a special virtual
initiator port
nexus.
4.3) The driver class of proposed driver is "scsi-self-identifying" which
means that the driver is able to discover and enumerate target devices
automatically rather than relying entries in the .conf file of the
target
driver. The proposed driver is able to discover and enumerate
SAS/SATA/SMP
/IR target devices.
4.4) The propsed driver represents attached target devices in standard
way which
would be compatible with future SCSA v3 naming rules.
4.4.1) The node names of the SAS/SATA target devices are generic node names
and based on scsi device type (dtype).
4.4.2) The unit-address of SAS/SATA target devices are the form of "target
identifier, lun". The detail specification of target identifier
please refer to FWARC 2008/013. The rule is generally of the form:
4.4.2.1) The target identifier of SAS target device is SAS address.
4.4.2.2) The target identifier of SATA target devices with ATA "Device Name"
(108-111 words of ATA IDENTIFY) is the ATA "Device Name".
4.4.2.3) The target identifier of directly attached SATA device without ATA
"Device Name" is attached PHY identifier.
4.4.2.4) The target identifier of indirectly attached SATA device
without ATA
"Device Name" is STP address which is assigned by expander.
4.4.3) The node name of SMP target is "smp".
4.4.4) The unit address of SMP target is SAS address.
4.4.5) The node name of IR volume is "disk".
4.4.6) The unit address of IR volume is form of "w$WWID,0". WWID of IR
volume
is World Wide Identifier of the IR volume by replacing the top
nibble
to "3".
4.5) The proposed driver supports Solaris IO Multipathing(MPxIO) for
SAS/SATA
devices and MPxIO is turned on by default.
Solaris I/O multipathing is enabled or disabled on SAS/SATA
devices which
associates to mpt_sas(7D) with the mpxio-disable property. Specifying
mpxio-disable="no" activates I/O multipathing, while
mpxio-disable="yes"
disables the feature. I/O multipathing feature of mpt_sas(7D) may be
enabled or disabled on a per HBA basis.
/kernel/drv/mpt_sas.conf will contain commentary about property
'mpxio-disable', system administrators will need to modify the
property,
or use the stmsboot(1M) utility to disable or enable MPxIO.
The default setting for 'mpxio-disable' (When missing the entry),
will be
"no". This means that the SAS/SATA MPxIO feature will be enabled
by default
unless specifically disabled by the system administrator.
4.6) The proposed driver supports Power management, FMA and fast reboot as
required.
4.7) The proposed driver supports some Project Private ioctl interfaces.
These
enable the use of a vendor utility with the mpt_sas(7D) driver.
5) Packaging & Delivery:
The mpt_sas(7d) driver will be delivered initially on both x86 and SPARC
architectures, the driver delivery will include:
/kernel/drv/mpt_sas
/kernel/drv/mpt_sas.conf
/kernel/drv/amd64/mpt_sas
/kernel/drv/sparcv9/mpt_sas
The mpt_sas(7d) manpage will be included in SUNWman.
6). Resources and Schedule:
6.1). Product Approval Committee requested information:
6.1.1) Consolidation or Component Name: ON
6.2) ARC review type: Fast Track
6.3) ARC Exposure: open
6) References
-------------
LSI MPI 2.0 revision J
PSARC/2006/703 MPxIO extension for Serial Attached SCSI (SAS) on mpt(7D)
PSARC/2007/595 Serial Attached SCSI (SAS) Management Protocol (SMP) support
for Solaris
PSARC/2008/337 scsi-self-identifying
PSARC/2002/510 Sun Fire V440 (Chalupa) - Platform support [introduced MPT]
PSARC/2005/097 Solaris support for LSI SAS1064 on Ontario
FWARC/2008/013 SCSI SAS 1275 Binding
CR 6810441 Solaris needs to expose initiator port for multiple-port HBAs
CR 6762621 Add interconnect type for SAS transport.