The ciss driver claims to provide a common interface between generic SCSI transports and intelligent host adapters.
The ciss driver supports CISS as defined in the document entitled "CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1", dated 2000/11/27, produced by Compaq Computer Corporation.
We provide a shim layer between the ciss interface and CAM(4), offloading most of the queueing and being-a-disk chores onto CAM. Entry to the driver is via the PCI bus attachment ciss_probe, ciss_attach, etc. and via the CAM interface ciss_cam_action, and ciss_cam_poll. The Compaq ciss adapters require faked responses to get reasonable behavior out of them. In addition, the ciss command set is by no means adequate to support the functionality of a RAID controller, and thus the supported Compaq adapters utilize portions of the control protocol from earlier Compaq adapter families.
Currently ciss only supports the "simple" transport layer over PCI. This interface (ab)uses the I2O register set (specifically the post queues) to exchange commands with the adapter. Other interfaces are available, but we are not supposed to know about them, and it is dubious whether they would provide major performance improvements except under extreme load.
Non-disk devices (such as internal DATs and devices attached to the external SCSI bus) are supported as normal CAM devices provided that they are exported by the controller firmware and are not marked as being masked. Masked devices can be exposed by setting the hw.ciss.expose_hidden_physical tunable to non-zero at boot time. Direct Access devices (such as disk drives) are only exposed as pass(4) devices. Hot-insertion and removal of devices is supported but a bus rescan might be necessary.
Controllers supported by the ciss driver include:
- Compaq Smart Array 5300
- Compaq Smart Array 532
- Compaq Smart Array 5i
- HP Smart Array 5312
- HP Smart Array 6i
- HP Smart Array 641
- HP Smart Array 642
- HP Smart Array 6400
- HP Smart Array 6400 EM
- HP Smart Array 6422
- HP Smart Array V100
- HP Modular Smart Array 20 (MSA20)
- HP Modular Smart Array 500 (MSA500)
cam(4), pass(4), xpt(4), loader.conf(5), camcontrol(8)
.Rs "CISS Command Interface for SCSI-3 Support Open Specification, Version 1.04, Valence Number 1"