外部设备扩展卡及输入输出外部设备的数据处理方法技术

技术编号:14416680 阅读:153 留言:0更新日期:2017-01-12 09:40
本发明专利技术实施例提供一种外部设备扩展卡及输入输出外部设备的数据处理方法,该外部设备扩展卡包括:用于插设在主机的内存卡槽上的接口单元、内存单元、内存单元控制器、输入输出I/O外部设备、I/O外部设备控制器,可以通过接口单元直接插在主机的内存卡槽内,且该外部设备扩展卡上集成了内存单元和I/O外部设备,从而I/O外部设备控制器和主机可以直接通过内存单元的物理地址访问内存单元,即I/O外部设备控制器和主机可以直接根据内存单元内的物理地址读取内存单元中的数据,从而大大减小了主机和I/O外部设备从内存中读取数据的开销。

【技术实现步骤摘要】

本专利技术涉及通信技术,尤其涉及一种外部设备扩展卡及输入输出外部设备的数据处理方法
技术介绍
输入/输出(Input/Output,简称I/O)外部设备是计算机系统的重要组成部分与硬件资源。目前,主流计算机系统的I/O外部设备主要包括两类,一类是传统的I/O外部设备控制器,另一类是硬件加速器扩展卡。现有技术中,I/O外部设备与计算机系统的中央处理器(CentralProcessingUnit,简称CPU)有两种耦合方式。其中主要采用的耦合方式是基于外设部件互连标准(PeripheralComponentInterconnect,简称PCI)或PCI快速通道(PCIExpress,简称PCIe)等专用高带宽外设总线的分离松耦合互连实现方式,在这种方式中,I/O外部设备与CPU通过PCI或PCIe等芯片间的高速互连总线进行通信,以传递原始数据与处理结果。但是,采用上述分离松互连实现方式,计算机系统的CPU要访问I/O外部设备需要跨过多个总线接口,从而造成大量通信协议转换开销。
技术实现思路
本专利技术提供一种外部设备扩展卡及输入输出外部设备的数据处理方法,用于解决现有技术中CPU访问I/O外部设备开销大的问题。本专利技术第一方面提供一种外部设备扩展卡,包括:用于插设在主机的内存卡槽上的接口单元、内存单元、内存单元控制器、输入输出I/O外部设备、I/O外部设备控制器;所述接口单元与所述内存单元控制器、所述I/O外部设备控制器通信连接;所述内存单元与所述内存单元控制器通信连接,所述I/O外部设备控制器与所述I/O外部设备通信连接;所述I/O外部设备控制器与所述内存单元控制器通信连接;其中,所述I/O外部设备控制器,用于向所述内存单元控制器发送携带所述内存单元中物理地址的第一读取请求,通过所述内存单元控制器从所述内存单元内读取所述物理地址对应的数据;所述接口单元,用于接收所述主机发送的携带所述内存单元中物理地址的第二读取请求,并将所述第二读取请求转发给所述内存单元控制器,通过所述内存单元控制器从所述内存单元内读取所述物理地址对应的数据。结合第一方面,在第一方面的第一种可能的实施方式中,所述内存单元控制器,用于接收所述主机通过所述接口单元发送的数据缓存空间申请请求,并根据所述数据缓存空间申请请求在所述内存单元内预留数据缓存空间。结合第一方面,在第一方面的第二种可能的实施方式中,所述外部设备扩展卡还包括:用于连接远程外部设备扩展卡的互连单元,所述互连单元与所述接口单元通信连接;所述互连单元,用于接收所述主机通过所述接口单元发送的第三读取请求,并将所述第三读取请求转发给所述远程外部设备扩展卡的互连单元,以读取所述远程外部设备扩展卡的内存单元中的数据;其中,所述第三读取请求由所述远程外部设备扩展卡的互连单元发送给所述远程外部设备扩展卡的内存单元控制器,所述第三读取请求中携带所述远程外部设备扩展卡的内存单元中的物理地址。结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述外部设备扩展卡还包括:容寻址存储器CAM,所述CAM与所述接口单元、所述互连单元通信连接;所述CAM,用于临时存储所述远程外部设备扩展卡发送的数据。本专利技术实施例第二方面提供一种输入输出外部设备的数据处理方法,所述方法用于外部设备扩展卡,所述外部设备扩展卡包括:用于插设在主机的内存卡槽上的接口单元、内存单元、内存单元控制器、输入输出I/O外部设备、I/O外部设备控制器;所述方法包括:所述I/O外部设备控制器获取待处理数据,并将所述待处理数据发送给所述I/O外部设备进行处理;所述I/O外部设备对所述待处理数据进行处理,并将处理后的数据发送给所述I/O外部设备控制器;所述I/O外部设备控制器将所述处理后的数据发送给所述内存单元控制器,由所述内存单元控制器将所述处理后的数据存储在所述内存单元中;所述内存单元控制器接收所述主机通过所述接口单元发送的数据访问请求,并根据所述数据访问请求携带的所述内存单元中的物理地址在所述内存单元中读取所述处理后的数据,并将所述处理后的数据通过所述接口单元发送给所述主机。结合第二方面,在第二方面的第一种可能的实施方式中,所述I/O外部设备控制器获取待处理数据,包括:所述I/O外部设备控制器向所述内存单元控制器发送待处理数据读取请求;所述内存单元控制器根据所述待处理数据读取请求中携带的所述内存单元中的物理地址在所述内存单元中读取所述待处理数据,并将所述待处理数据发送给所述I/O外部设备控制器。结合第二方面,在第二方面的第二种可能的实施方式中,所述I/O外部设备控制器获取待处理数据,包括:所述I/O外部设备控制器接收主机通过所述接口单元发送的待处理数据。结合第二方面,在第二方面的第三种可能的实施方式中,所述外部设备扩展卡还包括:用于连接远程外部设备扩展卡的互连单元;所述互连单元接收主机通过所述接口单元发送的远程外部设备扩展卡数据访问请求,并将所述远程外部设备扩展卡数据访问请求通过所述远程外部设备扩展卡的互连单元转发给所述远程外部设备扩展卡的内存单元控制器,其中,所述远程外部设备扩展卡数据访问请求中携带所述远程外部设备扩展卡中内存单元中的物理地址,用于请求所述远程外部设备扩展卡的内存单元中存储的处理后数据;所述互连单元接收所述远程外部设备扩展卡的内存单元控制器通过所述远程外部设备扩展卡的互连单元转发的远程外部设备扩展卡的内存单元中的处理后数据,并将该将所述远程外部设备扩展卡的内存单元中的处理后数据通过所述接口单元转发给主机。结合第二方面的第三种可能的实施方式,在第二方面的第四种可能的实施方式中,所述互连单元接收主机通过所述接口单元发送的远程外部设备扩展卡数据访问请求之后,还包括:若预设时间段内,所述互连单元未接收到所述远程外部设备扩展卡的互连单元转发的所述处理后数据,则通过所述接口单元向所述主机发送错误标识。结合第二方面的第四种可能的实施方式,在第二方面的第五种可能的实施方式中,所述外部设备扩展卡还包括:容寻址存储器CAM;若所述接口单元向所述主机发送错误标识之后,所述互连单元接收到所述远程外部设备扩展卡的互连单元转发的所述处理后数据,则将所述处理后数据存储在所述CAM中,并通过所述接口单元向所述主机发送第一中断信息;所述接口单元接收所述主机在接收到所述第一中断信息后再次发送的远程外部设备扩展卡数据访问请求,根据所述再次发送的远程外部设备扩展卡数据访问请求将所述CAM中的处理后数据发送给所述主机。结合第二方面,在第二方面的第六种可能的实施方式中,所述I/O外部设备控制器获取待处理数据,并将所述待处理数据发送给所述I/O外部设备进行处理之前,还包括:所述I/O外部设备控制器接收所述主机通过所述接口单元发送的工作状态读取请求,并根据所述工作状态读取请求将工作状态数据通过所述接口单元发送给所述主机;所述I/O外部设备控制器接收所述主机通过所述接口单元发送的更新后的工作状态数据,并根据所述更新后的工作状态数据启动所述I/O外部设备。结合第二方面的第六种可能的实施方式,在第二方面的第七种可能的实施方式中,所述I\本文档来自技高网...
外部设备扩展卡及输入输出外部设备的数据处理方法

【技术保护点】
一种外部设备扩展卡,其特征在于,包括:用于插设在主机的内存卡槽上的接口单元、内存单元、内存单元控制器、输入输出I/O外部设备、以及I/O外部设备控制器;所述接口单元与所述内存单元控制器、所述I/O外部设备控制器通信连接;所述内存单元与所述内存单元控制器通信连接,所述I/O外部设备控制器与所述I/O外部设备通信连接;所述I/O外部设备控制器与所述内存单元控制器通信连接;其中,所述I/O外部设备控制器,用于向所述内存单元控制器发送携带所述内存单元中一个物理地址的第一读取请求,通过所述内存单元控制器从所述内存单元内读取所述物理地址对应的数据;所述接口单元,用于接收所述主机发送的携带所述内存单元中的所述物理地址的第二读取请求,并将所述第二读取请求转发给所述内存单元控制器,通过所述内存单元控制器从所述内存单元内读取所述物理地址对应的数据。

【技术特征摘要】
1.一种外部设备扩展卡,其特征在于,包括:用于插设在主机的内存卡槽上的接口单元、内存单元、内存单元控制器、输入输出I/O外部设备、以及I/O外部设备控制器;所述接口单元与所述内存单元控制器、所述I/O外部设备控制器通信连接;所述内存单元与所述内存单元控制器通信连接,所述I/O外部设备控制器与所述I/O外部设备通信连接;所述I/O外部设备控制器与所述内存单元控制器通信连接;其中,所述I/O外部设备控制器,用于向所述内存单元控制器发送携带所述内存单元中一个物理地址的第一读取请求,通过所述内存单元控制器从所述内存单元内读取所述物理地址对应的数据;所述接口单元,用于接收所述主机发送的携带所述内存单元中的所述物理地址的第二读取请求,并将所述第二读取请求转发给所述内存单元控制器,通过所述内存单元控制器从所述内存单元内读取所述物理地址对应的数据。2.根据权利要求1所述的外部设备扩展卡,其特征在于,所述内存单元控制器,用于接收所述主机通过所述接口单元发送的数据缓存空间申请请求,并根据所述数据缓存空间申请请求在所述内存单元内预留数据缓存空间。3.根据权利要求1所述的外部设备扩展卡,其特征在于,所述外部设备扩展卡还包括:用于连接远程外部设备扩展卡的互连单元,所述互连单元与所述接口单元通信连接;所述互连单元,用于接收所述主机通过所述接口单元发送的第三读取请求,并将所述第三读取请求转发给所述远程外部设备扩展卡的互连单元,以读取所述远程外部设备扩展卡的内存单元中的数据;其中,所述第三读取请求由所述远程外部设备扩展卡的互连单元发送给所述远程外部设备扩展卡的内存单元控制器,所述第三读取请求中携带所述远程外部设备扩展卡的内存单元中的物理地址。4.根据权利要求3所述的外部设备扩展卡,其特征在于,所述外部设备扩展卡还包括:容寻址存储器CAM,其中,所述CAM与所述接口单元、以及所述互连单元通信连接;所述CAM,用于临时存储所述远程外部设备扩展卡发送的数据。5.一种输入输出外部设备的数据处理方法,其特征在于,所述方法用于外部设备扩展卡,所述外部设备扩展卡包括:用于插设在主机的内存卡槽上的接口单元、内存单元、内存单元控制器、输入输出I/O外部设备、以及I/O外部设备控制器;所述方法包括:所述I/O外部设备控制器获取待处理数据,并将所述待处理数据发送给所述I/O外部设备进行处理;所述I/O外部设备对所述待处理数据进行处理,并将处理后的数据发送给所述I/O外部设备控制器;所述I/O外部设备控制器将所述处理后的数据发送给所述内存单元控制器,由所述内存单元控制器将所述处理后的数据存储在所述内存单元中的一个物理地址中;所述内存单元控制器接收所述主机通过所述接口单元发送的数据访问请求,并根据所述数据访问请求携带的所述内存单元中的所述物理地址在所述内存单元中读取所述处理后的数据,并将所述处理后的数据通过所述接口单元发送给所述主机。6.根据权利要求5所述的方法,其特征在于,所述I/O外部设备控制器获取待处理数据,包括:所述I/O外部设备控制器向所述内存单元控制器发送待处理数据读取请求;所述内存单元控制器根据所述待处理数据读取请求中携带的所述内存单元中的物理地址在所述内存单元中读...

【专利技术属性】
技术研发人员:常轶松张科崔泽汉陈明宇
申请(专利权)人:华为技术有限公司中国科学院计算技术研究所
类型:发明
国别省市:广东;44

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

1