1

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

D_SENSE(描述符格式检测数据)位

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

  • 1 设置为 1 的 D_SENSE 位指定设备服务器在返回与 CHECK CONDITION 状态相同的 I_T_L_Q 关联事务中的感知数据时应返回描述符格式感知数据,除非在 2.4.1 中定义。

我的问题是关于 SCSI 目标端的这个位解释 - 如果这个位是 1,目标服务器是否有义务以描述符格式返回感知数据?或者只是有可能以它想要的任何格式返回这些数据?

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

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

4

1 回答 1

1

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

另请注意,要正确兼容 SCSI,您还需要以“掩码模式”提供模式页面,以显示模式页面的哪些位是可设置的。

于 2014-10-12T06:53:15.573 回答