我正在开发一个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 = ”。
答案 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代码描述了额外的感测数据,或者通常称为设备中发生某些情况的原因。