SCSI附加感知代码含义?

时间:2014-04-23 19:28:24

标签: scsi

我正在开发一个SCSI目标软件(我是SCSI的新手),我需要返回正确的 sense 数据来告诉发起人,由于数据的原因,它的请求没有通过免于写作。我正在查看T10.org的表格,描述这些代码:

ASC/   .  .  .  .  .
ASCQ   DTLPWROMAEBKVF  Description
27/00  DT  WRO   BK    WRITE PROTECTED
27/01  DT  WRO   BK    HARDWARE WRITE PROTECTED
27/02  DT  WRO   BK    LOGICAL UNIT SOFTWARE WRITE PROTECTED
27/03   T   R          ASSOCIATED WRITE PROTECT
27/04   T   R          PERSISTENT WRITE PROTECT
27/05   T   R          PERMANENT WRITE PROTECT
27/06       R       F  CONDITIONAL WRITE PROTECT
27/07  D         B     SPACE ALLOCATION FAILED WRITE PROTECT

这些ASCQ代码的含义是什么?我在任何地方都找不到任何解释。像“PERSISTENT WRITE PROTECT”这样的三四个单词是我能找到的最大值。我想知道“如果你有这个的情况,那么你需要使用ASCQ = ”。

3 个答案:

答案 0 :(得分:2)

这个领域没有对错,你可以通过查看ASC / ASCQ代码返回的普通磁盘的不同感应键来获得一些基本指导。日立是最好的在开放文档中记录这些内容。

唯一真正重要的是Sense Key,ASC / ASCQ很不错,但它唯一重要的是你。当客户给您打电话并告诉您“我这样做并获得了错误代码时,这是什么意思?”你需要能够帮助他。这是这些代码唯一真正的重要性。

答案 1 :(得分:1)

T10.org网站上的标题为SCSI ASC/ASCQ Assignments的页面上列出了这些代码。

此页面还描述了其目的,标题为:SCSI Additional Sense Data

  

SCSI附加感知数据采用感测数据中两个值编码字节的形式,通常由REQUEST SENSE命令返回。附加感测代码(ASC)字节指示关于感测密钥字段中报告的错误异常的信息。附加感测代码限定符(ASCQ)指示与附加感测代码相关的详细信息。有关感测数据的更多信息,请参阅SCSI主命令-4(SPC-4)草案标准(或更高版本)中描述REQUEST SENSE命令的子句。

     

指定的ASC和ASCQ值及其编码含义的描述按表格进行组织,这些表格根据ASC / ASCQ值进行数字排序,或按字母顺序基于描述ASC / ASCQ对指示的错误或异常的文本进行排序。如果您不熟悉这些表格,则可以使用explanation of the ASC/ASCQ table format

此外,我还会看一下标题为Key Code Qualifier的维基百科页面主题,其中有关于这些代码的说法。

  

密钥代码限定符是SCSI设备返回的错误代码。   当SCSI目标设备响应命令返回检查条件时,启动器通常会发出SCSI Request Sense命令。此过程是名为Contingent Allegiance Condition的SCSI协议的一部分。目标将使用一组SCSI检测数据响应Request Sense命令,其中包括三个字段,提供有关错误的详细信息:

     
      
  • K - 检测密钥 - 4位,(固定检测数据格式的字节2)
  •   
  • C - 附加感测代码(ASC) - 8位,(固定感测数据格式的字节12)
  •   
  • Q - 附加感知代码限定符(ASCQ) - 8位,(固定感知数据格式的字节13)
  •   
     

发起人可以仅根据K字段采取行动,该字段指示错误是次要还是重大。但是,所有三个字段通常在逻辑上组合成称为密钥代码限定符或KCQ的20位字段。目标设备的规范将定义可能的KCQ值列表。实际上,有许多KCQ值在不同的SCSI设备类型和不同的SCSI设备供应商之间是通用的。下面列出了常用值,您还应该查阅硬件特定文档。

答案 2 :(得分:0)

简单来说,ASCQ代码通常出现在SCSI目标设备的响应帧中。 ASCQ代码描述了额外的感测数据,或者通常称为设备中发生某些情况的原因。