SCSI over PCIe?

Robert Snively rsnively at
Tue Feb 5 13:19:34 PST 2008

* From the T10 Reflector (t10 at, posted by:
* "Robert Snively" <rsnively at Brocade.COM>
Typical SCSI devices attached via PCI-express are
SCSI host adapters to other technologies.  The
host adapters use relatively sophisticated task
queuing mechanisms to transfer control information
set up in the host into the host adapter on the
other side of the PCI-Express bus.  The queues usually
point to a set of control parameters, to a SCSI
CDB, to a data space for read and/or write, and to
a space for the appropriate response.  The HBAs
generally use proprietary drivers to set up the
the necessary queue structures and to perform and
manage the transfers across the PCI-express.
Examples are available from many companies, including
Emulex and QLogic.
There are a number of architectural models you could use to transfer
SCSI information across PCI-Express.  If you want to use
RDMA, then the SBP-3 protocol (an RDMA protocol originally
created for IEEE 1394) or SRP-2 (an RDMA protocol suitable
for mapping onto Infiniband) may be helpful.
A somewhat older document, CAM (SCSI-2 Common Access Method ...)
provides a stereotypical programming interface for
invoking SCSI commands.  It may also be useful in approaching
the problem.  It is somewhat similar to some of the older
host adapter approaches.
The new work on USB attached SCSI or SCSI to ATA translation
may also provide appropriate approaches for you.
There are also a fair number of excellent consultant
organizations that may be able to support you in such
activities.  If you want references, contact me.
I hope that is of some help to you.
Bob Snively
-----Original Message-----
From: owner-t10 at [mailto:owner-t10 at] On Behalf Of
Jean-Christophe RAT
Sent: Tuesday, February 05, 2008 9:40 AM
To: t10 at
Subject: SCSI over PCIe?
* From the T10 Reflector (t10 at, posted by:
* "Jean-Christophe RAT" <jcrat at>
I am totally new to the SCSI world, and am = trying to understand the
chart located here:;= o:p>
I am working a PCI-express board which = contains a Flash memory, and I
would like the Flash memory to be managed as a mass = storage by Windows
or Linux, that is in a similar manner that is used with USB = Flash
devices. Looking at the chart, I thought I would be able to use the SCSI
= command sets defined above the yellow line, and have the appropriate
system = encapsulate and transport these commands over PCI-Express using
the relevant = protocol. Unfortunately, when looking below the yellow
line, I can find a UASbox = which indicates the protocol to be used to
transport SCSI commands over USBs, = an FCPbox for Fiber Channel, &,
but none to transport SCSI commands over = PCIe.
Does this exist, or do I have a wrong = approach?
Thank you in advance for your = help!
Phone = :
+33 (0) 169 870 255 (ext. 143)
 2 rue = du G=E9vaudan
Fax = :
+33 (0) 164 972 859= 
 SILIC = 1743 - Lisses= 
Email : = 
jcrat at 
Web : =
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at
* For T10 Reflector information, send a message with
* 'info t10' (no quotes) in the message body to majordomo at

More information about the T10 mailing list