上行数据通路的构建方法及数据处理系统技术方案

技术编号:29156095 阅读:21 留言:0更新日期:2021-07-06 22:55
本申请提供了上行数据通路的构建方法及数据处理系统,该方法包括:在下行数据通路的一个或多个任务处理单元中,向数据传输单元DTU中写入一个或多个回调函数索引以构建用于所述DTU的上行数据通路;其中,所述一个或多个回调函数索引指示的一个或多个回调函数构成了所述上行数据通路,所述DTU承载子命令;响应于所述子命令处理完成,调用所述DTU中记录的一个或多个回调函数索引所指示的回调函数,以通过所述上行数据通路返回所述子命令的处理结果。

【技术实现步骤摘要】
上行数据通路的构建方法及数据处理系统
本申请涉及存储技术,特别地,涉及上行数据通路的构建方法及数据处理系统。
技术介绍
一些应用中,处理器处理大规模并发任务。例如用于网络设备、存储设备的嵌入式处理器,处理并发的多个网络包或IO命令。在桌面CPU、服务器CPU中,通过运行操作系统,由操作系统通过分时间片和/或抢占的方式调度在CPU上运行的多个进程和/或线程来处理任务,用户无须过多干预进程/线程之间的切换。由操作系统选择恰当的进程/线程进行调度,以充分利用CPU计算能力。然而,在嵌入式CPU中,可使用的存储器、CPU处理能力等资源都受限,并且所处理的任何具有特殊性,例如是大规模并发的相对简单任务。以及一些嵌入式系统对性能,特别是任务处理延迟有严格要求,现有技术的操作系统对此场景难以适用。为提升任何处理的性能,通常将任务分为多个阶段(或称为子任务),对于单个任务,其各阶段要被依次处理,而对于多个任务则可被并发处理。在申请号为201811095364.7、201811160925.7与2019102538859的中国专利申请中提供了基于信号-槽的任务调度方案,以处理大量的并发IO命令,并保证多个IO命令的整体服务质量。图1A是任务调度的示意图。图1A中,从左向右的方向是时间流逝的方向。还展示了被处理的多个任务(1-1、2-1、3-1、1-2、2-2与3-2),其中在结构为“a-b”的附图标记中,在前的符号a指示任务,而在后的符号b指示任务中包括的子任务。图1A展示了按时间顺序处理的3个任务,每个任务包括2个子任务。实线箭头指示了处理多个任务的时间顺序,虚线箭头指示了任务处理的逻辑顺序。例如,以任务1为例,要先处理其子任务1-1(任务1-1),再处理其子任务1-2(任务1-2)。依然作为举例,参看图1A,在处理完子任务1-1后,为提高任务处理的并行性而调度执行子任务2-1与子任务3-1,随后识别出执行子任务1-2的条件满足,而在处理完子任务3-1后,调度执行子任务1-2。在处理器上,通过执行代码段来处理任务(或子任务)。单一CPU(或CPU核),任一时刻仅处理单一任务。示例性地,如图1A所示,对于待处理的多个任务,先执行处理子任务1-1的代码段、接下来执行处理子任务2-1的代码段、接下来执行处理子任务3-1的代码段、接下来执行处理子任务1-2的代码段、接下来执行处理子任务2-2的代码段以及接下来执行处理子任务3-2的代码段。可选地,在各个处理任务(或子任务)的代码段中指示了任务处理的逻辑顺序。例如,该逻辑顺序包括子任务1-2要在任务子1-1之后处理。作为又一个例子,在处理子任务1-1的代码段中指示其逻辑顺序在后处理的代码段应为处理子任务1-2的代码段。图1B是任务处理系统的框图。参看图1B,任务处理系统包括软件与硬件两部分。硬件包括例如运行软件的一个或多个CPU,与处理相关任务的其他硬件资源(例如,存储器、编解码器、接口、加速器、中断控制器、DMA单元等)。将在CPU上运行的软件的代码段称为任务处理单元。任务处理系统包括多个任务处理单元。每个任务处理单元处理相同或不同的任务。例如,任务处理单元0处理任务的第一子任务(例如子任务1-1、子任务2-1与子任务3-1),而任务处理单元1、任务处理单元2与任务处理单元3处理任务的第二子任务(例如子任务1-2、子任务2-2与子任务3-2)。任务处理系统还包括软件实现的任务管理单元,用于调度任务处理单元之一在硬件上运行。任务处理单元所需的资源包括例如缓存单元、处理任务的描述符(或称上下文)等。存储设备,用于为同其耦合的主机提供存储能力。主机同存储设备之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、SAS(SerialAttachedSCSI,串行连接SCSI)、IDE(IntegratedDriveElectronics,集成驱动器电子)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVMExpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备处理IO命令。IO命令包括例如读命令、写命令或其他IO命令。存储设备包括接口、控制部件、一个或多个NVM芯片以及l可选的DRAM(DynamicRandomAccessMemory,动态随机访问存储器)。存储设备的控制部件包括一个或多个CPU。CPU运行软件或固件来作为任务处理单元处理IO命令。存储设备还将IO命令切分为一个或多个子命令来处理。每个子命令具有相对一致的规格,例如访问相同大小的地址范围,从而使得处理子命令的任务处理单元能够以较简单的方式实现。
技术实现思路
需要提供多种规格的存储设备,例如具有不同的存储容量、不同的性能和/或差异化的功能。从而要为不同规格的存储设备提供不同的设计方案版本。这些不同的设计方案又具有共性,并希望重用既有的技术成果,也希望团队的多人开发的组件能有效组合与交互,还希望设计方案易于扩展以提供增强的功能和/或性能。为了解决现有技术中要为不同规格的存储设备提供不同的设计方案版本的技术问题,根据本申请的第一方面,提供了根据本申请的第一方面的第一下行数据通路的构建方法,包括:创建至少一个任务处理单元;创建至少一个通道;将所述至少一个任务处理单元关联于所述至少一个通道。根据本申请的第一方面的第一下行数据通路的构建方法,提供了根据本申请的第一方面的第二下行数据通路的构建方法,任务处理单元包括入站接口、出站接口和DTU处理模块;所述方法还包括:入站接口从同其关联的通道获取DTU;出站接口向同其关联的通道添加DTU;DTU处理模块从通过入站接口获取的DTU提取子命令,处理子命令,并将承载处理后的子命令的DTU通过出站接口添加到同其关联的通道。根据本申请的第一方面的第一或第二下行数据通路的构建方法,提供了根据本申请的第一方面的第三下行数据通路的构建方法,通道包括DTU列表和多个操作DTU列表的函数,所述DTU列表包括容纳一个或多个DTU的容器,所述多个操作DTU列表的函数至少包括第一Push函数和Pop函数;其中,所述第一Push函数被调用时,向所述DTU列表添加至少一个DTU;所述Pop函数被调用时,从所述DTU列表获取至少一个DTU。根据本申请的第一方面的第三下行数据通路的构建方法,提供了根据本申请的第一方面的第四下行数据通路的构建方法,通道还包括直接转发单元,所述多个本文档来自技高网
...

【技术保护点】
1.一种上行数据通路的构建方法,其特征在于,包括:/n在下行数据通路的一个或多个任务处理单元中,向数据传输单元DTU中写入一个或多个回调函数索引以构建用于所述DTU的上行数据通路;其中,所述一个或多个回调函数索引指示的一个或多个回调函数构成了所述上行数据通路,所述DTU承载子命令;/n响应于所述子命令处理完成,调用所述DTU中记录的一个或多个回调函数索引所指示的回调函数,以通过所述上行数据通路返回所述子命令的处理结果。/n

【技术特征摘要】
1.一种上行数据通路的构建方法,其特征在于,包括:
在下行数据通路的一个或多个任务处理单元中,向数据传输单元DTU中写入一个或多个回调函数索引以构建用于所述DTU的上行数据通路;其中,所述一个或多个回调函数索引指示的一个或多个回调函数构成了所述上行数据通路,所述DTU承载子命令;
响应于所述子命令处理完成,调用所述DTU中记录的一个或多个回调函数索引所指示的回调函数,以通过所述上行数据通路返回所述子命令的处理结果。


2.如权利要求1所述的方法,其特征在于,所述DTU中的一个或多个回调函数索引是有序的,按顺序被调用的所述DTU中的一个或多个回调函数索引所指示的回调函数构成了所述上行数据通路,其中,调用所述DTU中的一个或多个回调函数索引所指示的回调函数的顺序是构建所述上行数据通路中向所述DTU写入所述一个或多个回调函数索引的逆序。


3.如权利要求1或2所述的方法,其特征在于,第一任务处理单元处理所述子命令时,向所述DTU写入第一回调函数索引;其中,所述第一回调函数索引所指示的回调函数用于释放所述第一任务处理单元为处理所述子命令分配的第一资源,所述第一任务处理单元为所述下行数据通路中的任务处理单元。


4.如权利要求1-3中任一项所述的方法,其特征在于,所述上行数据通路还包括监视单元,所述监视单元是所述上行数据通路的第一个任务处理单元;所述监视单元监视并识别所述子命令是否被处理完成;响应于所述子命令处理完成,监视单元获取指示了所述子命令的处理结果的所述DTU。


5.如权利要求1-4中任一项所述的方法,其特征在于,所述上行数据通路中被最后调用的回调函数将所述DTU发送给命令传输单元;命令传输单元根据所述DTU的指示获取所述子命令的处理结果;将一个或多个子命令的处理结果返回给命令的发出方,所述命令包括所述一个或多个子命令;以及命令传输单元释放所述D...

【专利技术属性】
技术研发人员:贾舒郑宏亮程雪
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:北京;11

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

1