dmesg 中 libata 设备探测行中的字段是什么意思?

der*_*ert 3 linux sata linux-kernel dmesg libata

当内核启动时,它会为每个 SATA 设备打印出这样的行:

[    0.919450] ata2.00: ATA-8: ST2000DM001-1CH164, CC24, max UDMA/133
[    0.919487] ata2.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
Run Code Online (Sandbox Code Playgroud)

这些字段是什么意思?

der*_*ert 5

ata2.00: ATA-8: ST2000DM001-1CH164, CC24, max UDMA/133
Run Code Online (Sandbox Code Playgroud)

ATA-8是版本 (SATA II)。ST2000DM001-1CH164是设备型号。CC24是设备固件版本。UDMA/133将是速度,如果这是 PATA 设备而不是 SATA。

ata2.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
Run Code Online (Sandbox Code Playgroud)

扇区数应该是显而易见的。Multi 是单个请求中可以读/写的扇区数。LBA48意味着它使用 48 位逻辑块寻址(与 28 位 LBA 或古老的柱头扇区方法相反)。NCQ意味着它支持本机命令队列。对于depth,如果主机支持大于或等于设备的深度,您将只会看到一个数字——设备深度。在这里,按顺序是主机深度 ( 31)、设备深度 ( 32)。AA表示设备正在使用 SATA II 自动激活模式。