scsi MODE SENSE(6)命令 和 MODE SENSE(10)命令总结

一:MODE SENSE(6)命令概述

MODE SENSE(6)命令(参见表73)为设备服务器向应用程序客户机报告参数提供了一种方法。它是MODE SELECT(6)命令的补充命令。执行MODE SENSE(6)命令的设备服务器也应执行MODE SELECT(6)命令。

命令格式

scsi MODE SENSE(6)命令 和 MODE SENSE(10)命令总结_第1张图片

DBD (disable block descriptors) bit

0:禁用块描述符(DBD)位设置为零指定设备服务器可以在返回的MODE SENSE数据中返回零个或多个块描述符
1:DBD位设置为1指定设备服务器在返回的MODE SENSE数据中不返回任何块描述符

PC (Page Control) field

页面控制(PC)字段指定要在模式页面中返回的模式参数值的类型。
scsi MODE SENSE(6)命令 和 MODE SENSE(10)命令总结_第2张图片
PC字段只影响模式页面内的模式参数,而PS位、SPF位、PAGE CODE字段、SUBPAGE CODE字段和PAGE LENGTH字段应该返回当前值(即PC设置为00b)。模式参数头和模式参数块描述符应该返回当前值。

某些SCSI目标设备可能无法区分当前和保存的模式参数,并且在响应pc字段00b或11b时报告相同的值。另请参见MODE SELECT命令中保存页面(SP)位的描述。

Current values:

如果PC字段值为00b,则请求设备服务器返回模式参数的当前值。当前返回的值是:
a)由上一次成功的mode SELECT命令建立的模式参数的当前值;
b)如果mode SELECT命令在模式参数恢复到保存值后没有成功完成,则模式参数的保存值(见3.7);or
c)如果mode SELECT命令未成功完成,则mode参数的默认值(参见3.7)。

Changeable values

PC字段值01b请求设备服务器返回一个掩码,表示那些可更改的模式参数。在掩码中,可改变的模式参数字段中的位全部设为1,不可改变的(即由逻辑单元定义的)模式参数字段中的位全部设为0。

如果逻辑单元没有实现可变参数模式页,并且设备服务器接收到PC字段为01b的mode senseccommand,则该命令将以CHECK CONDITION状态终止,感测键设为ILLEGAL REQUEST,附加感测码设为INVALID field in CDB

尝试使用mode SELECT命令更改不可更改的模式参数将导致错误条件(参见3.7)。

应用程序客户端应该发出一个MODE SENSE命令,将PC字段设置为01b,将PAGE CODE字段设置为3Fh,以确定支持哪些模式页,模式页中的哪些模式参数是可变的,以及在发出任何MODE SELECT命令之前支持每个模式页的长度。

Default values

如果PC字段值为10b,则请求设备服务器返回模式参数的默认值。不支持的参数必须设置为零。即使逻辑单元没有准备好,默认值也应该是可访问的。

Saved values

如果PC的字段值为11b,则请求设备服务器返回保存的模式参数值。逻辑单元不支持的模式参数设置为零。如果保存的值没有实现,则该命令将以check CONDITION状态终止,感测键设置为ILLEGAL REQUEST,附加感测码设置为SAVINGPARAMETERS not SUPPORTED。

保存参数的方法与厂商有关。这些参数的保存方式是在设备掉电时保留。当SP位设置为1的mode SELECT命令返回GOOD状态或成功完成FORMAT UNIT命令后,应认为所有可保存的模式页都已保存。

PAGE CODE and SUBPAGE CODE fields

PAGE CODE和SUBPAGE CODE字段指定要返回的模式页和子页(参见表349)。

ALLOCATION LENGTH field

ALLOCATION LENGTH字段在2.2.6中定义。

二 :MODE SENSE(10)命令概述

MODE SENSE(10)命令(参见表75)为设备服务器向应用程序客户端报告参数提供了一种方法。它是MODE SELECT(10)命令的补充命令。执行MODE SENSE(10)命令的设备服务器也应执行MODE SELECT(10)命令。

scsi MODE SENSE(6)命令 和 MODE SENSE(10)命令总结_第3张图片

LLBAA (Long LBA Accepted) bit

1 :如果将LLBAA (Long LBA Accepted)位设置为1,则允许设备服务器返回LONGLBA位等于1的参数数据
0 :如果LLBAA位设置为零,则设备服务器返回的参数数据中LONGLBA位为零

你可能感兴趣的:(#,scsi,linux)