SCSI感应数据格式和MODE SENSE控制页面

时间:2014-10-10 14:21:45

标签: standards scsi

SCSI参考手册定义了两种类型的感知数据格式 - 固定和基于变量描述符的格式(第2.4章)。 "控制模式页面(0Ah)" (4.3.8),应该作为对MODE SENSE SCSI命令的响应返回,包含一个D_SENSE位,定义为:

D_SENSE(DESCRIPTOR FORMAT SENSE DATA)位

  • 0设置为零的描述符格式检测数据(D_SENSE)位指定设备服务器应返回固定格式 在同一I_T_L_Q nexus事务中将检测数据作为CHECK CONDITION状态返回时检测数据。

  • 1 D_SENSE位设置为1指定设备服务器在返回时应返回描述符格式检测数据 将同一I_T_L_Q nexus事务中的数据检测为CHECK CONDITION状态,除非在2.4.1中定义。

我的问题是关于SCSI目标端的这种位解释 - 如果此位为1,目标服务器是否有义务以描述符格式返回检测数据?或者只是的可能性以任何所需格式返回此数据?

感测数据的第一个字节可用于确定其格式,因此SCSI启动器实际上并不需要D_SENSE位值来决定如何解码接收到的感测数据。

我问这个问题是因为我正在处理一些应该模拟SCSI目标的软件,所以我需要消化多个SCSI文档以使其正确。

1 个答案:

答案 0 :(得分:1)

如果SCSI目标实现了设置此位的能力,则它必须能够返回任何一种感知格式。 SCSI目标可以选择仅提供此位用于读取而不是写入,然后它指示它返回的格式。

请注意,要正确兼容SCSI,您还需要以"掩码模式提供模式页面"这表明模式页面的哪些位是可设置的。