一种AHCI接口的传输方法及系统技术方案

技术编号:12655268 阅读:200 留言:0更新日期:2016-01-06 13:34
本发明专利技术公开了一种AHCI接口的传输方法及系统,主机向设备发送H2D FIS,通过该H2D FIS,主机向设备发送的命令请求;设备收到所述命令请求后,解析命令请求,直接进行数据的传输;在所有的数据传输完成后,设备发送D2H FIS或SDB FIS到主机,告诉主机命令请求执行的状态或结果。本发明专利技术的方法不再需要PIO-Setup FIS的交互,这样可以减少数据传输的延时,提高其传输的效率;有效降低了交互流程的复杂性,有效提高了主机的工作效率,可有效释放由于传输控制类FIS所占用的PCIe带宽,从而增加DATA 传输的带宽,使得PCIe带宽资源更加有效的被利用;本发明专利技术数据传输完成后设计了D2H的回复,用于报告本次命令的执行状态或结果,可以使主机确认收到的数据的正确性。

【技术实现步骤摘要】

本专利技术涉及一种AHCI接口的传输方法及系统
技术介绍
AHCI机制的提出是为了增强SATA的功能,例如对Native Command Queue(本地命令队列)的支持,对热插拔的支持,对电源管理的支持等。如图1中所示的架构①即为AHCI机制最初使用的方式。在图1的架构①中AHCI机制在主机侧的HBA (Host Bus Adapter,主机总线适配器)中实现,SATA通过接入HBA的端口接入主机,如图2所示。在图2所示的这种AHCI传输结构中,由于其底层传输使用的是SATA链路机制,所以对于设备来讲数据传输必须严格遵循SATA协议和ATA协议,以保证传输数据的正确性和规范性。随着AHCI技术的不断成熟,功能的不断完善,SATA-1O在2011年提出了图1中的架构②。在该架构中底层数据传输完全依赖于PCIe总线,设备完全作为一种PCIe设备挂载到主机的PCIe的总线上。其实现示意图如图3所示。在图3所示的这种AHCI传输结构中,AHCI机制在设备的控制器中实现,底层传输完全依赖于PCIe总线,所以在该结构中,对设备而言,数据传输仅需要遵循AHCI协议、ATA协议以及PCIe总线协议,而不必要执行SATA协议。目前上述两种传输结构的传输交互采用的是基于SATA的方式,这样对于图1中的架构②来讲,其传输交互的实现就显得比较冗余,没有能够充分发挥该架构的优势。串行ATA 中的传输方式有 P1-1N、P10-0UT、DMA-1N、DMA-OUT、FPDMA-1N 以及FPDMA-0UT六种。目前对于图1的架构②,这六种方式中除了 DMA-1N传输方式不必要优化夕卜,剩余的五种传输方式都各自的缺点。以下分别对这五种方式的缺点做详细说明。P1-1N传输方式在所有的传输方式中最为特别,图4为该传输方式的示意图。目前架构①和②对DMA-OUT传输方式的实现都采用图4所示的方式。这种传输方式的交互过程如下: I)主机向设备发送Register Host to Device FIS (简称H2D),通过该FIS主机向设备发送P1-1N的命令请求。2)设备收到P1-1N命令请求后向主机发送P1 Setup - Device to Host FIS(简称P1-Setup FIS),用于向主机报告错误信息或数据已经准备好的信息。3)设备向主机发送Data FIS (该FIS最多可以负载8192Byts的数据)。4)如果还有数据需要传输,则回到步骤2)。在以上步骤中步骤2是步骤3)的准备阶段,但对于架构②来讲,步骤2)是多余的,这是因为在架构②中,数据传输无需通过主机侧的HBA,而是通过PCIe总线完成的,数据传输过程中的交互完全通过PCIe总线实现,所以不需要通过步骤2)的准备。另外该传输方式中,如果最后一个Data FIS出错,那么该实现并没有一种机制将该错误通知到主机侧,所以该实现也不能保证最后一个Data FIS的正确性。图5为P1-OUT类型传输示意图,该图描述的传输实现为当前架构①和②的实现方式,以下将描述该方式的交互过程以及存在的缺点。I)主机向设备发送H2D,通过该FIS主机向设备发送P1-OUT的命令请求。2)设备收到P1-OUT命令请求后向主机发送P1 Setup FIS,用于向主机报告错误信息或已经准备好接收数据的信息。3)设备接收主机侧的Data FIS(该FIS最多可以负载8192Byts的数据)。4)如果还有数据需要接收则回到步骤2)。5)设备向主机发送Register Device to Host FIS (简称D2H),用于通知主机命令执行结果。与P1-1N传输类型类似,在以上步骤中步骤2)是步骤3)的准备阶段,但对于架构②来讲,步骤2)是多余的,这是因为在架构②中,数据传输无需通过主机侧的HBA,而是直接通过PCIe总线完成的,数据传输过程中的交互完全通过PCIe总线实现,所以不需要通过步骤2)的准备。图6为DMA-OUT类型传输示意图,该图描述的传输实现为当前架构①和②的实现方式,以下将描述该方式的交互过程以及存在的缺点。I)主机向设备发送H2D,通过该FIS主机向设备发送DMA-OUT的命令请求。2)设备收到DMA-0UT命令请求后向主机发送DMA Activate - Device to HostFIS (简称DMA Activate FIS),用于向主机报告错误信息或已经准备好接收数据的信息。3)设备接收主机侧的Data FIS(该FIS最多可以负载8192Byts的数据)。4)如果还有数据需要接收则回到步骤2)。5)设备向主机发送Register Device to Host FIS (简称D2H),用于通知主机命令执行结果。与P10-0UT传输类型类似,在以上步骤中步骤2)是步骤3)的准备阶段,但对于架构②来讲,步骤2)是多余的,这是因为在架构②中,数据传输无需通过主机侧的HBA,而是直接通过PCIe总线完成的,数据传输过程中的交互完全通过PCIe总线实现,所以不需要通过步骤2)的准备。图7为FPDMA-1N传输实现示意图,FPDMA传输类型适用于NCQ (Native CommandQueuing)命令,该类型命令支持多级流水和重新排序功能,不同的命令通过Tag号进行标识。目前架构①和②对FPDMA-1N的实现均为图7所示的实现方式,以下将详细讲述该实现的交互流程以及该实现的缺点。主机可以先下发多条NCQ命令,设备先将所有的命令接收到自己的队列中,然后对队列中的命令采用流水处理,同时也可对队列中的命令进行重新排序。以下是FPDMA-1N的传输交互步骤。I)主机向设备发送H2D,通过该FIS主机向设备发送FPDMA-1N的命令请求。2)设备向主机发送D2H,用于通知主机命令执行状态。3)如果主机还有NCQ命令需要发送到设备,则回到步骤I)。4)设备向主机发送 DMA Setup - Device to Host FIS (简称 DMA Setup FIS)。5)设备向主机发送与步骤4)对应Tag的Data FIS。6)步骤4)对应的Tag的数据没有传输完,则回到步骤5)。7)还有命令未完成则回到步骤4)。8)所有接收到的NCQ命令完成,设备向主机发送Set Device Bits - Device toHost FIS (简称SDB FIS),用于向主机报告命令执行结果。以上步骤中步骤4)是为步骤5)的准备阶段,但对于架构②来讲,步骤4)是多余的,这是因为在架构②中,数据传输无需通过主机侧的HBA,而是直接通过PCIe总线完成的,数据传输过程中的交互完全通过PCIe总线实现,所以不需要通过步骤4)的准备。图8为FPDMA-0UT传输实现示意图,FPDMA传输类型适用于NCQ (Native CommandQueuing)命令,该类型命令支持多级流水和重新排序功能,不同的命令通过Tag号进行标识。目前架构①和②对FPDMA-0UT的实现均为图8所示的实现方式,以下将详细讲述该实现的交互流程以及该实现的缺点。主机可以先下发多条NCQ命令,设备先将所有的命令接收到自己的队列中,然后对队列中的命令采用流水处理,同时也可对队列中的命令进行重新排序。以下是FPD本文档来自技高网...

【技术保护点】
一种AHCI接口的传输方法,其特征在于,包括以下步骤:1)主机向设备发送H2D FIS,通过该H2D FIS,主机向设备发送命令请求;2)设备收到所述命令请求后,解析命令请求,直接进行数据的传输;3)在所有的数据传输完成后,设备发送D2H FIS或SDB FIS到主机,告诉主机命令请求执行的状态或结果。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈旭光向平周士兵姜黎马翼田达海彭鹏
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1