understanding the SCSI Specification.

Jack Wang xjtuwjp at gmail.com
Wed Aug 3 00:48:51 EDT 2011


You can begin with Documentation/scsi/   in kernel source , IBM
develperworks also have some introduction acticle about scsi. There
are some scsi design analysis document you can google.

Jack

2011/8/3 RKK <kulkarni.ravi4 at gmail.com>:
> Hi
>
> On Tue, Aug 2, 2011 at 9:36 PM, amit mehta <gmate.amit at gmail.com> wrote:
>> Linux SCSI layer, specifically SCSI mid layer is the place where
>> all the conversion happens
> yeah im trying to understand how the abstraction is provided .
> . There is a Linux - SCSI mailing list
>> (linux-scsi) where you'll find relevant discussions.
>
>  I have posted there also but no luck:(
>
>>
>> On Tue, Aug 2, 2011 at 12:15 PM, RKK <kulkarni.ravi4 at gmail.com> wrote:
>>> Hi Amit
>>>> download sg3-utils and its source code. good place to begin with.
>>>
>>> Thanks for the reply.
>>> I believe the sg3-utils uses the linux sg driver which does not
>>> provide any abstraction and sends commands directly to the device.
>>> what i was looking was more of protocol specific information and
>>> explaination of the flow like how block device read , write requests
>>> are converted into Commands and how those SCSI commands are passed to
>>> the lower layer. My target is FPGA board which has a pci interface for
>>> host controller . can u give me some pointers to understand the below
>>> ?
>>>
>>> Warm Regards,
>>> Ravi Kulkanri.
>>>
>>>>
>>>> On Mon, Aug 1, 2011 at 2:41 PM, RKK <kulkarni.ravi4 at gmail.com> wrote:
>>>>> HI all,
>>>>> Im working on a storage protocol   which uses SCSI commands  set as
>>>>> the command set and also the SCSI Task Management functions for
>>>>> processing the Task Management.
>>>>> The Architectural Model is based on SAM-5. The Command set is based on
>>>>> SPC-4 and SBC-3. I have some doubts in trying to understanding some
>>>>> SCSI terms and definitions.
>>>>>
>>>>> For  using the send command transport protocol service request to
>>>>> request a initiator  the following API is defined
>>>>>
>>>>> [1]Send SCSI Command (IN (I_T_L_Q Nexus, CDB, Task Attribute, [Data-in
>>>>> Buffer Size], [Data-
>>>>> out Buffer], [Data-out Buffer Size], [CRN], [Command Priority], [First
>>>>> Burst Enabled]))
>>>>>
>>>>> Here  I want to know what relation does the I_T_L_Q tries to convey.
>>>>> from what it says in SAM-5 Specification  section 4.8 tries to define
>>>>> the Nexus as " nexus represents a relationship between a SCSI
>>>>> initiator port, a SCSI target port, optionally a logical unit,
>>>>> and optionally a command."
>>>>>  how do we convey this information in the above [1].
>>>>> Also can someone help me in how to map the initiator-target relation
>>>>> to host-device  structure? thanks.
>>>>>
>>>>> Warm Regards,
>>>>> Ravi Kulkarni.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Warm Regards,
>>>>> Ravi Kulkarni.
>>>>>
>>>>> _______________________________________________
>>>>> Kernelnewbies mailing list
>>>>> Kernelnewbies at kernelnewbies.org
>>>>> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>>>>>
>>>>
>>>
>>>
>>>
>>> --
>>> Warm Regards,
>>> Ravi .
>>> "I don't Know is not a excuse , its an opportunity."
>>>
>>
>
>
>
> --
> Warm Regards,
> Ravi .
> "I don't Know is not a excuse , its an opportunity."
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



More information about the Kernelnewbies mailing list