繁体   English   中英

带ioctl的48位和28位ATA命令

[英]48bit and 28bit ATA commands with ioctl

在发送ATA命令期间,我发现了几种分类。 例如,第一个-我们可以将命令分为数据输入,数据输出和非数据命令。 另一种分类可以是有48位命令和28位命令。 第一个用于磁盘,大于120Gb。

问题是:我是否需要设置一些值,使磁盘知道它是否获得48bit命令? 例如,如果我通过SATL通过ATA发送SCSI命令,或者通过控制器通过ATA PASS THROUGH命令发送。

在研究过程中,发现每个控制器都有自己的特性,具体取决于驱动程序。 这就是为什么执行ATA PASS THROUGH命令如此困难的原因。

通过阅读Linux驱动程序并检查使用ioctl发送的结构,可以确定它是28位还是48位命令。

此外,检查软件的新颖性也很重要,因为48位逻辑块寻址(LBA)于2006年以ATA-6标准引入。 如今,很可能所有控制器都支持48位命令集,但是您仍然应该检查控制器是否支持它。

因此,这个问题的答案在很大程度上取决于使用控制器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM