scsi READ CAPACITY (10)命令总结

2023-10-12 19:01
文章标签 总结 命令 read scsi capacity

本文主要是介绍scsi READ CAPACITY (10)命令总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

READ CAPACITY (10)概述:

READ CAPACITY(10)命令(参见表119)请求设备服务器将描述直接访问块设备的容量和介质格式的8字节参数数据传输到数据缓存中。这个命令可以被处理,就好像它有一个HEAD OF QUEUE任务属性。
如果逻辑单元支持保护信息,应用客户端应使用READ CAPACITY(16)命令,而不应使用theREAD CAPACITY(10)命令。
在这里插入图片描述
For the definition of the LOGICAL BLOCK ADDRESS field see 2.2.3.

LOGICAL BLOCK ADDRESS field

这个领域已经被T10委员会宣布过时了。但是,包含它是因为它可能在某些产品上实现。如果PMI位设置为零,则逻辑块地址字段设置为零。如果PMI位设置为零,并且LOGICAL BLOCK ADDRESSfield不设置为零,则设备服务器将以CHECK CONDITION状态终止命令,并将感测键设置为ILLEGALREQUEST,并将附加感测码设置为INVALID FIELD IN CDB。

PMI (Partial Medium Indicator) bit

这一点已经被T10委员会宣布过时了。但是,包含它是因为它可能在某些产品上实现
0:部分介质指示器(PMI)位设置为零表示设备服务器返回直接访问块设备上最后一个逻辑块的信息。
1:PMI位设置为1指定设备服务器在遇到供应商特定的数据传输延迟之前返回逻辑块之后的最后一个逻辑块的信息。

此函数旨在帮助存储管理软件确定是否有足够的空间从CDB中指定的逻辑块地址开始包含频繁访问的数据结构(例如,文件目录或文件索引),而不会引起额外延迟。赔率。

READ CAPACITY (10) parameter data(返回的数据格式)

READ CAPACITY(10)参数数据定义在表120中。每当READ CAPACITY(10)参数数据发生变化时,设备服务器应建立一个如SBC-4所述的单位关注条件。

RETURNED LOGICAL BLOCK ADDRESS field

如果逻辑块的数量超过了能够在RETURNED logical BLOCK ADDRESS字段中指定的最大值,设备服务器应该将RETURNED logical BLOCK ADDRESS字段设置为FFFFFFFFh。然后,应用程序客户端应该发出READ CAPACITY(16)命令(参见3.24)来检索READ CAPACITY(16)参数数据。
在这里插入图片描述
0:如果PMI位设置为零,则设备服务器将RETURNED LOGICAL BLOCK ADDRESS字段设置为以下值中的较低值:
a)直接存取块设备上最后一个逻辑块的LBA;or
b) FFFFFFFFh。

1:如果PMI位设置为1,则设备服务器应将返回的逻辑块地址字段设置为以下几项中的较低:
a)在CDB的逻辑块地址字段中指定的LBA之后的最后一个LBA,否则可能会遇到供应商特定的数据传输延迟;or
b)直接访问块设备上最后一个逻辑块的LBA。

返回的逻辑块地址应该大于或等于CDB中逻辑块地址字段指定的值。

BLOCK LENGTH IN BYTES field

BLOCK LENGTH IN BYTES字段包含由RETURNED logical BLOCKADDRESS字段表示的逻辑块中用户数据的字节数。此值不包括介质上记录的保护信息或附加信息(例如,ECC字节

这篇关于scsi READ CAPACITY (10)命令总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/197832

相关文章

Linux join命令的使用及说明

《Linuxjoin命令的使用及说明》`join`命令用于在Linux中按字段将两个文件进行连接,类似于SQL的JOIN,它需要两个文件按用于匹配的字段排序,并且第一个文件的换行符必须是LF,`jo... 目录一. 基本语法二. 数据准备三. 指定文件的连接key四.-a输出指定文件的所有行五.-o指定输出

Linux jq命令的使用解读

《Linuxjq命令的使用解读》jq是一个强大的命令行工具,用于处理JSON数据,它可以用来查看、过滤、修改、格式化JSON数据,通过使用各种选项和过滤器,可以实现复杂的JSON处理任务... 目录一. 简介二. 选项2.1.2.2-c2.3-r2.4-R三. 字段提取3.1 普通字段3.2 数组字段四.

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

java中ssh2执行多条命令的四种方法

《java中ssh2执行多条命令的四种方法》本文主要介绍了java中ssh2执行多条命令的四种方法,包括分号分隔、管道分隔、EOF块、脚本调用,可确保环境配置生效,提升操作效率,具有一定的参考价值,感... 目录1 使用分号隔开2 使用管道符号隔开3 使用写EOF的方式4 使用脚本的方式大家平时有没有遇到自

Linux命令rm如何删除名字以“-”开头的文件

《Linux命令rm如何删除名字以“-”开头的文件》Linux中,命令的解析机制非常灵活,它会根据命令的开头字符来判断是否需要执行命令选项,对于文件操作命令(如rm、ls等),系统默认会将命令开头的某... 目录先搞懂:为啥“-”开头的文件删不掉?两种超简单的删除方法(小白也能学会)方法1:用“--”分隔命

Redis 的 SUBSCRIBE命令详解

《Redis的SUBSCRIBE命令详解》Redis的SUBSCRIBE命令用于订阅一个或多个频道,以便接收发送到这些频道的消息,本文给大家介绍Redis的SUBSCRIBE命令,感兴趣的朋友跟随... 目录基本语法工作原理示例消息格式相关命令python 示例Redis 的 SUBSCRIBE 命令用于订

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

Python中logging模块用法示例总结

《Python中logging模块用法示例总结》在Python中logging模块是一个强大的日志记录工具,它允许用户将程序运行期间产生的日志信息输出到控制台或者写入到文件中,:本文主要介绍Pyt... 目录前言一. 基本使用1. 五种日志等级2.  设置报告等级3. 自定义格式4. C语言风格的格式化方法