本机命令队列

更新时间:2024-05-21 18:27

原生命令队列NCQ(Native Command Queu—ing)作为SATA Ⅱ接口中引入的命令协议,是对SATA 1.0所作的诸多功能扩展中,惟一与性能密切相关的技术[1q].其原型是ATA/ATAPI一4的命令队列(CQ)技术,由于PATA(Parallel ATA)是非对等轮询访问结构,控制器计算能力不足以支撑复杂的最优化命令排序算法,特别是当队列深度较浅时,性能甚至比不排队的情况还差.随着ASIC、串行技术和多(超)线程系统的发展以及网络存储的服务化,在SATA 中引入NCQ 增强磁盘整体性能,满足信息生命周期(ILM)、企业分层存储(HSM)L4 等应用模式,降低企业运行成本,已愈显重要.

本机命令队列NCQ(Native Command Queu—ing)作为SATA Ⅱ接口中引入的命令协议,是对SATA 1.0所作的诸多功能扩展中,惟一与性能密切相关的技术[1q].其原型是ATA/ATAPI一4的命令队列(CQ)技术,由于PATA(Parallel ATA)是非对等轮询访问结构,控制器计算能力不足以支撑复杂的最优化命令排序算法,特别是当队列深度较浅时,性能甚至比不排队的情况还差.随着ASIC、串行技术和多(超)线程系统的发展以及网络存储的服务化,在SATA 中引入NCQ 增强磁盘整体性能,满足信息生命周期(ILM)、企业分层存储(HSM)L4 等应用模式,降低企业运行成本,已愈显重要.

NCQ协议的组成

1 功能部件

NCQ 主要由命令队列建立、数据传输和命令完成状态返回3个功能部件组成.其中,命令队列建立部件是按照命令协议的语义确定是把该命令送到队列排队(tag有效)还是立即执行(tag无效);数据传输部件使用单方DMA完成驱动器和主机数据的传输;命令完成状态返回部件在执行数据读/写操作命令发送或数据传输完毕后,将磁盘命令的执行状态返回给主机.

2 命令

FPDMA 有RFQ(Read FPDMA Queued)和WFQ(Write FPDMA Queued)两条命令,均支持LBA模式和48位地址格式,除命令代码域区分RFQ 和WFQ (RFQ.Command 一60h,WFQ.Command一6lh)外,其他域如扇区计数、LBA 等完全相同,且扇区计数寄存器包含的标记由主机驱动程序指定.

3 内部寄存器结构

NCQ 队列的本机设备方案采用高级主机控制接口(AHCIE )一Advanced Host Controller Inter—(face),适配器系统结构基于PCI—HBA.AHCI内部的寄存器由HBA 寄存器和系统内存两部分组成.HBA寄存器从功能上又可分为AHCI—PCI配置空间寄存器和HBA 内存寄存器,前者定义了与PCI接口的标准PCI寄存器,后者用于通用主机控

制和端口控制,它们通过AHCI—BAR或PCI配置空间的寄存器BAR 联系.AHCI系统内存通过端口O0~31与控制寄存器相连,每个端口控制寄存器同时指向内存的Px命令列表基址(PxCLB)和Px FIS基址(PxFB).其中Px命令列表系统内存是为包括命令信息和PRD表的命令表地址的命令列表结构设计的,Px FIS系统内存是面向接收端口的FIS结构设计的.这样的设计为命令的人队和动态排队提供了灵活高效的机制.

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}