在主机控制器(HBA/RAID 卡)的上下文中,主机控制器将 IO 流量发送到逻辑卷一部分的 SAS/SATA 驱动器 - 因此在这种设置中,我通常会听到“未完成的命令”一词。我确实有点理解,这些是控制器可以接受的 IO 请求数,即使它已经有一些尚未完成的待处理 IO。所以这里有两个问题,
outstanding
1) IO 命令的更完整(或更全面)的定义是什么?
2)当到达的 IO 命令多于其queue depth
保存未完成命令的数量时,主机控制器的一般行为是什么?
3)non NCQ
在这种设计中如何处理命令?在我们有概念的 SATA 驱动器的情况下NCQ
,non NCQ
命令是否可能在任意时间内不运行?
答案1
I/O 请求数据包用于设备驱动程序和操作系统之间的通信。它允许特定进程解除阻塞并完全执行