gpt4 book ai didi

c - 带 ioctl 的 48 位和 28 位 ATA 命令

转载 作者:行者123 更新时间:2023-11-30 17:56:51 24 4
gpt4 key购买 nike

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

问题是:我是否需要设置一些值以使磁盘知道它是否收到 48 位命令?例如,如果我通过 SATL 发送带有 ATA 的 SCSI 命令,或者通过 Controller 发送 ATA PASS THROUGH 命令。

最佳答案

在研究过程中发现,每个 Controller 都有自己的特殊性,具体取决于驱动程序。这就是为什么实现 ATA PASS THROUGH 命令是如此困难的工作。

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

此外,检查软件的新旧程度也相当重要,因为 48 位逻辑 block 寻址 (LBA) 于 2006 年在 ATA-6 标准中引入。现在很可能所有 Controller 都支持 48 位命令集,但您仍然应该检查 Controller 是否支持它。

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

关于c - 带 ioctl 的 48 位和 28 位 ATA 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13160665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com