SCSI READ CAPACITY命令中PMI位的含义

时间:2015-04-01 16:06:55

标签: scsi

我正在查看SBC-3项目5.15(READ CAPACITY(10)命令)。 PMI位(CDB中字节8的第0位)的描述复制如下:

" PMI位设置为1指定设备服务器在LOGICAL BLOCK ADDRESS字段中指定的最后一个逻辑块之后返回信息,然后数据传输中的实质性供应商特定延迟可能 遇到了。"

我的问题:

  • 如果PMI位和LOGICAL BLOCK ADDRESS(CDB中的字节2-5)都不为零,那么我(作为目标)是否仍然会报告我磁盘上的最后一个LBA?
  • 如果不是上述情况,在这种情况下应该报告什么?
  • 当PMI位置位时,如何处理LOGICAL BLOCK ADDRESS(字节2-5)值?

(我知道,PMI位在SBC-4中已经过时,但我仍然需要根据当前标准实现此功能)

1 个答案:

答案 0 :(得分:2)

现在实际上已经出现在SBC-3中,截至修订版28(2011年1月)您可以在此处看到更改:(需要注册)http://www.t10.org/cgi-bin/ac.pl?t=d&f=11-010r0.pdf。所以,你说的是SBC-2兼容性。

无论如何,我认为你不会在实践中看到这些领域。但是,为了完整起见,您可能希望加入一些额外的错误处理。

  1. 如果PMI为零,但发起人指定了LBA,则请求失败。
  2. 如果CDB中指定的LBA大于磁盘的最后一个LBA,则请求失败。
  3. 假设您的实现总是知道您的磁盘容量是多少,那么就不应该存在“实质性的供应商特定延迟”。您可以读取标准,然后作为“返回LOGICAL BLOCK ADDRESS字段中指定的最后一个逻辑块的信息”。这应该只是磁盘的最后一个LBA。

    直接回答您的问题:当设置了PMI并指定了LBA时,您应该报告磁盘上的最后一个LBA,但需遵守上述错误处理。而且,您只需要查看LBA字段即可进行错误处理。