探索 Linux 通用 SCSI 驱动器研究 Linux 通用 SCSI 驱动器 API 及其用例简介:通过 SCSI 命令管理计算机上的数据,并将数据传输到 SCSI 设备
在本文中,作者介绍了一些 SCSI 命令,以及在Linux
中使用 SCSI API 时执行SCSI 命令的方法
他介绍了 SCSI 客户机 / 服务器模型和存储 SCSI 命令的背景
接下来解释 Linux 通用 SCSI 驱动器 API ,并提供一个示例,讨论使用通用驱动器执行 inquiry 命令的系统
SCSI 客户机 / 服务器模型在主机和存储介质进行通信期间,主机通常充当SCSI 启动程序
在计算机存储中, SCSI 启动程序是启动 SCSI 会话的端点,这意味着它会发送 SCSI 命令
存储介质通常充当 SCSI 目标,它接收和处理 SCSI 命令
SCSI 目标等待启动程序的命令,然后提供请求的输入/ 输出数据转换
SCSI 目标通常为启动程序提供一个或多个逻辑单元号 (LUN)
在计算机存储介质上,LUN 仅是分配给逻辑单元的号码
逻辑单元是一个 SCSI 协议实体, 实际的 I/O 操作只处理这种实体
每个 SCSI 目标可以提供一个或多个逻辑单元;它本身不执行 I/O ,但代替特定的逻辑单元执行
在存储区域中,LUN 通常表示一个主机能够执行读写操作的 SCSI 磁盘
图 1 显示 SCSI 客户机 / 服务器模型是如何工作的
SCSI 客户机 / 服务器模型启动程序首先向目标发送命令,然后目标解码命令并向启动程序请求数据,或将数据发送给启动程序
在这之后,目标将状态发送给启动程序
如果状态损坏,启动程序将向目标发送一个请求检测(sense)指令
目标将返回检测数据,告知启动程序哪里出错
现在我们研究与存储相关的 SCSI 命令
与存储相关的 SCSI 命令与存储