AHCI在事实上,仅能支持一个(简单的)队列,队列深度最多为32——但SATA控制器并不一定被这些数字限制,实际上,AHCI只是SATA控制器的其中一种实现方法,在企业端上,实际上经常使用SAS控制器(HBA或者RAID Adapter)来连接。SATA(Serial ATA,串行ATA)协议与SAS(Serial Attached SCSI,串行附加SCSI。
历史上,SATA先于SAS出现,因此SAS最初就是基于SATA的1.5Gbps接口,同时,SAS规范里面也通过STP(SATA Tunnel Protocol,SATA隧道协议)在SAS架构里面传输SATA指令,从而完全兼容了SATA。因此,可以通过使用SAS控制器来突破AHCI SATA的局限,尽管每个SAS设备的每个端口都只支持一个队列,但这个队列深度可以达到256,并且这个限制并不作用于SAS控制卡,典型的SAS控制卡可以支持上千的队列,具体因实现而定。另外SAS控制器还可以突破AHCI控制器单个中断的限制。
https://mp.weixin.qq.com/s/hj9-aDK9pRs_zh5abCE33g
https://mp.weixin.qq.com/s/rIWYqcW33QakabL4LzPioQ