Questions tagged [scsi]

Small Computer System Interface (SCSI, pronounced skuz-ee) is a set of parallel interface standards developed by the American National Standards Institute (ANSI) for physically connecting and transferring data between computers and peripheral devices(like printers, disk drives, scanners and other). It is a fast bus and supported by all major operating systems.

Small Computer System Interface (SCSI, pronounced skuz-ee) is a set of standards for physically connecting and transferring data between computers and peripheral devices. The official name of the SCSI standard is: ANSI X3.131.

The SCSI standards define commands, protocols, and electrical and optical interfaces. SCSI uses a low-voltage differential (LVD) bus, a method where data is transmitted by comparing the difference in voltage between a pair of wires. SCSI is most commonly used for hard disks and tape drives, but it can connect a wide range of other devices, including scanners and CD drives.

Some important features:

  • SCSI is capable of supporting eight devices, or sixteen devices with Wide SCSI.
  • The latest version, 16-bit Ultra-640 (Fast-320) SCSI has a 640 MBps transfer speed.
  • SCSI standards are generally backward-compatible.

Common SCSI components:

  • Initiator - it issues requests for service by the SCSI device and receives responses.
  • Target - A SCSI target is typically a physical storage device like a hard-disk or a storage array
  • Service delivery subsystem - it allows communication to occur between the initiator and the target

The SCSI subsystem has a 3 level architecture with the "upper" level being closest to the user/kernel interface while the "lower" level is closest to the hardware.

For more info: http://en.wikipedia.org/wiki/SCSI

181 questions
0
votes
1 answer

Socket API on top of SCSI?

Is there any existing software available that does the usual socket API over different transports? I am particularly interested in SCSI now, but knowing if there is something available for other transports would be great as well. It would need…
Mark Lobo
  • 331
  • 2
  • 3
  • 9
0
votes
2 answers

Interpreting LUN id and Target id in AIX using lsattr

I am very new to AIX, I found a command in AIX, lsattr, which is helpful to get the SCSI id and LUN id of a device. I can not understand how to interpret the value of SCSI id and LUN id. Here is a sample output: bash-4.2# lsattr -El…
arun_vj
  • 123
  • 1
  • 3
  • 13
0
votes
1 answer

On a USB Mass Storage Class device, is the block size equals to the cluster size? How to determine the cluster size of a usb drive?

On a USB Mass Storage Class device (usb stick e.g. 4gb), how do you determine the 'cluster' size. The cluster here, is taken from the context of Fat32 file system. Using SCSI commands, I could determine the logical block size, i.e. 512 bytes. Is…
Paul
  • 113
  • 1
  • 7
0
votes
0 answers

space efficient algorithm for tracking writes to 2 power 32 elements

This is one of the requirement i came across my work. We have a (2 power 32) contiguous 4294967296 integers allocated as an array in memory whose function is to provide mapping in another table. Some of the entries gets written more often than the…
bicepjai
  • 1,615
  • 3
  • 17
  • 35
0
votes
1 answer

Get property of driver's parent (or ancestor)

I have a driver for a USB-attached custom SCSI device which implements some vendor-specific commands. Each USB device hosts more than one SCSI LUN. This is working quite happily, but there is a problem with grouping SCSI LUNs according to device, as…
Inductiveload
  • 6,094
  • 4
  • 29
  • 55
0
votes
1 answer

LUN Id and Target Id mismatch on vSphere Client and ESX 4.1

I am fairly new to SCSI and storage. I have few LUNs exposed from a array to the ESX host. When I run sg_map -x on ESX 4.1 I see the LUN Ids shown as 0 for all the LUNs. [root@SRESX41 ~]# sg_map -x /dev/sg0 4 0 0 0 0 /dev/sda /dev/sg1 4 0 1 0 0…
arun_vj
  • 123
  • 1
  • 3
  • 13
0
votes
1 answer

How to send scsi write commands to a SSD in a Kernel Module

I try to write as fast as possible on a SSD. It's very important to have synchronous writes, because we need to know if the data is power failures safe written. I thought about sending scsi commands on my own, to avoid most of the Linux Kernel…
samuirai
  • 762
  • 1
  • 9
  • 25
0
votes
1 answer

SCSA logical byte underscore?

I have 45 bytes for LBU from a SCSA command: 0, 0, 4, 8, 0, 0, 0 I try to derive this into 64 bit uuint LBU in python: struct.unpack('GG', chr(0)+chr(0)+chr(4)+chr(8)+chr(0)+chr(0)+chr(0)) Is this correct? Maybe not... Thanks
peu ping
  • 399
  • 1
  • 6
  • 14
0
votes
1 answer

Why is there read SCSI command during a sys_write()

I want to understand how a sys_write on a scsi device works. Therefore I wrote a simple test program, and added in the issue function of the device driver some debug printk() to print the ata_queued_cmd->scsicmd->cmnd. int main() { int w; …
samuirai
  • 762
  • 1
  • 9
  • 25
0
votes
1 answer

SCSI Inquiry Command

I am very novice to SCSI and SCST. I am trying to introduce a new page code in SCSI inquiry command , So for that i am initially requesting for the list of supported pages using page code 0x00. So in SCST code I mentioned the length of the reply and…
0
votes
2 answers

iSCSI data transport packet overhead

This question is admittedly overlapping with iSCSI Packet Header but I hope for a more specific answer than provided for that one for my more specific question. Question: How much overhead is introduced by iSCSI and SCSI in the transfer of the data…
Kevin Buchs
  • 2,520
  • 4
  • 36
  • 55
-1
votes
1 answer

Confusion in disk write operation using DD command

I am developing a low level SATA driver for an FPGA based embedded system. The driver is running fine. When I read sectors from the disk using dd command, I can see that the SCSI read(10) command (opcode 0x28) is recived by my low level driver,…
-1
votes
1 answer

What does this line mean in my tape status on my linux system?

mt -f /dev/st0 status SCSI 2 tape drive: File number=0, block number=0, partition=0. Tape block size 512 bytes. Density code 0x30 (AIT-1 or MLR3). Soft error count since last status=0 <--------------------- General status bits on (41010000): BOT…
-1
votes
1 answer

How can I write a kernel module that can keep track of the SCSI commands sent to a particular device?

Given a SCSI device as input, I am trying to implement a kernel module that can : Get the list of SCSI commands sent to that particular device and count the number of times that command was given. How do I proceed to implement this? I am a…
-1
votes
1 answer

SCSI Packets from USB

So I found this link Does the first sector (MBR) of a flash drive get executed on insertion into a computer and was wondering about the specifics of the USB SCSI packets mentioned in the answer. First, where are they stored in the flash drive? If I…
1 2 3
12
13