CN114328345B - 控制信息的处理方法、装置以及计算机可读存储介质 - Google Patents
控制信息的处理方法、装置以及计算机可读存储介质 Download PDFInfo
- Publication number
- CN114328345B CN114328345B CN202111509170.9A CN202111509170A CN114328345B CN 114328345 B CN114328345 B CN 114328345B CN 202111509170 A CN202111509170 A CN 202111509170A CN 114328345 B CN114328345 B CN 114328345B
- Authority
- CN
- China
- Prior art keywords
- control information
- memory access
- direct memory
- access channel
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 15
- 238000003672 processing method Methods 0.000 title claims abstract description 8
- 238000000034 method Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000002776 aggregation Effects 0.000 claims description 41
- 238000004220 aggregation Methods 0.000 claims description 41
- 239000006185 dispersion Substances 0.000 claims description 35
- 238000012545 processing Methods 0.000 claims description 24
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000012795 verification Methods 0.000 abstract description 11
- 238000011161 development Methods 0.000 abstract description 10
- 239000007787 solid Substances 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 230000000694 effects Effects 0.000 description 3
- LHMQDVIHBXWNII-UHFFFAOYSA-N 3-amino-4-methoxy-n-phenylbenzamide Chemical compound C1=C(N)C(OC)=CC=C1C(=O)NC1=CC=CC=C1 LHMQDVIHBXWNII-UHFFFAOYSA-N 0.000 description 2
- 101100404736 Arabidopsis thaliana NIA2 gene Proteins 0.000 description 2
- 101100166823 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) CTF3 gene Proteins 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 101150032497 CHRDL2 gene Proteins 0.000 description 1
- 102100032766 Chordin-like protein 2 Human genes 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Abstract
本发明公开了一种控制信息的处理方法、装置以及计算机可读存储介质。其中,该方法包括:确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制直接内存存取通道对控制信息进行处理。本发明解决了相关技术中通过在硬件上支持缓存一致互联协议或者寄存器触发中断的模式和固态硬盘控制器交互实现数据读写方法,导致开发工作量以及验证工作量较大的技术问题。
Description
技术领域
本发明涉及数据处理技术领域,具体而言,涉及一种控制信息的处理方法、装置以及计算机可读存储介质。
背景技术
非易失性内存主机控制器接口规范(Non-Volatile Memory express,简称为NVMe),是一个逻辑设备接口规范。它是与高级主机控制器接口(Advanced HostController Interface,简称为AHCI)类似的、基于设备逻辑接口的总线传输协议规范(相当于通讯协议中的应用层),用于访问通过PCI-Express(PCIe)总线连接的非易失性内存介质。其中,NVMe使用队列方式和主机(CPU)进行交互,通过PRP/SGL等数据格式传递数据。数据粒度可以分为两种4B/1B。
对于数据读写方法而言,现有的技术都只是描述了NVMe的SQ/CQ的实现,通过缓存一致互联协议或者寄存器触发中断的模式和固态硬盘(Solid State Disk,简称为SSD)控制器交互。而且,在现有技术中,需要使用Verilog/VHDL等语言描述相关模块或者相关功能,并生成相关电路,代码写作/验证周期较长,且无法升级。使用verilog/VHDL等语言描写只能实现NVMe的部分功能,复杂部分仍需要片上CPU参与,无形中增加了软硬件开销,增加了功耗。另外,使用verilog/VHDL等语言描写的电路一旦出现bug,极难定位,且修复过程耗资巨大。
针对上述相关技术中通过在硬件上支持缓存一致互联协议或者寄存器触发中断的模式和固态硬盘控制器交互实现数据读写方法,导致开发工作量以及验证工作量较大的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种控制信息的处理方法、装置以及计算机可读存储介质,以至少解决相关技术中通过在硬件上支持缓存一致互联协议或者寄存器触发中断的模式和固态硬盘控制器交互实现数据读写方法,导致开发工作量以及验证工作量较大的技术问题。
根据本发明实施例的一个方面,提供了一种控制信息的处理方法,包括:确定控制信息以及对所述控制信息执行读写操作的直接内存存取通道;控制所述直接内存存取通道对所述控制信息进行处理。
可选地,所述控制信息为命令,所述直接内存存取通道为第一直接内存存取通道,控制所述直接内存存取通道对所述控制信息进行处理,包括:确定所述命令对应的环形队列处于空闲状态;控制所述第一直接内存存取通道执行读写操作,将所述命令写入所述命令对应的环形队列。
可选地,所述控制信息为物理区域页和/或分散聚合表,所述直接内存存取通道为第二直接内存存取通道,控制所述直接内存存取通道对所述控制信息进行处理,包括:依据所述物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表;控制所述第二直接内存存取通道执行读写操作,将所述待处理的物理区域页和/或分散聚合表写入所述物理区域页和/或分散聚合表对应的环形队列。
可选地,所述控制信息为物理区域页和/或分散聚合表,所述直接内存存取通道为第三直接内存存取通道,控制所述直接内存存取通道对所述控制信息进行处理,包括:依据所述物理区域页和/或分散聚合表设置所述第三直接内存存取通道;控制所述第三直接内存存取通道执行读写操作,将所述物理区域页和/或分散聚合表写入片上缓冲区。
可选地,在确定控制信息以及对所述控制信息执行读写操作的直接内存存取通道之前,还包括:依据缓存一致性的处理方式,对待更新到所述控制信息对应的环形队列中的所述控制信息进行预处理。
根据本发明实施例的另一方面,还提供了一种控制信息的处理装置,包括:确定模块,用于确定控制信息以及对所述控制信息执行读写操作的直接内存存取通道;控制模块,用于控制所述直接内存存取通道对所述控制信息进行处理。
可选地,所述控制信息为命令,所述直接内存存取通道为第一直接内存存取通道,所述控制模块包括:第一确定单元,用于确定所述命令对应的环形队列处于空闲状态;第一控制单元,用于控制所述第一直接内存存取通道执行读写操作,将所述命令写入所述命令对应的环形队列。
可选地,所述控制信息为物理区域页和/或分散聚合表,所述直接内存存取通道为第二直接内存存取通道,所述控制模块包括:第二确定单元,用于依据所述物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表;第二控制单元,用于控制所述第二直接内存存取通道执行读写操作,将所述待处理的物理区域页和/或分散聚合表写入所述物理区域页和/或分散聚合表对应的环形队列。
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行上述中任意一项所述的控制信息的处理方法。
根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述中任意一项所述的控制信息的处理方法。
在本发明实施例中,采用确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制直接内存存取通道对控制信息进行处理,通过控制信息对应的直接内存存取通道对该控制信息进行处理,以实现NVMe队列管理以及数据搬移,达到了全软件实现NVMe的目的,从而实现了有效的减少verilog/VHDL开发工作量和验证工作量的技术效果,进而解决了相关技术中通过在硬件上支持缓存一致互联协议或者寄存器触发中断的模式和固态硬盘控制器交互实现数据读写方法,导致开发工作量以及验证工作量较大的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的控制信息的处理方法的流程图;
图2是根据本发明可选实施例的PCIe DMA Write的流程图;
图3是根据本发明可选实施例的PCIe DMA Read的流程图;
图4是根据本发明可选实施例的PCIe配置的示意图;
图5是根据本发明可选实施例的Channel对应的配置Sram的数据配置格式的示意图;
图6是根据本发明可选实施例的PCIe下发NVMe的doorbell的流程图;
图7是根据本发明可选实施例的Controller获取相关的Command的流程图;
图8是根据本发明可选实施例的Controller获取相关PRP/SGL信息的流程图;
图9是根据本发明可选实施例的Controller获取相关data的流程图;
图10是根据本发明实施例的控制信息的处理装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种控制信息的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的控制信息的处理方法的流程图,如图1所示,该控制信息的处理方法包括如下步骤:
步骤S102,确定控制信息以及对控制信息执行读写操作的直接内存存取通道;
步骤S104,控制直接内存存取通道对控制信息进行处理。
上述直接内存存取通道可以实现对控制信息的读写操作,其中,不同的直接内存存取通道可以对不同的控制信息进行读操作或者写操作。上述控制信息包括但不限于命令、物理区域页以及分散聚合表等。
在一种可选的实施方式中,上述写操作可以采用以下方式实现:控制直接内存存取通道对本地存储器发送读操作;将获取的待处理的控制信息写入远程目标存储器。上述读操作可以采用以下方式实现:控制直接内存存取通道对远程目标存储器发送读操作,将获取的待处理的控制信息写入本地存储器。
需要说明的是,本地存储器对于不同的控制信息设置有不同的环形队列,以便于对控制信息进行分类处理。
可选地,控制直接内存存取通道对控制信息进行处理,可以使用控制信息对应的直接内存存取通道对该控制信息进行读写操作,以实现将该操作信息写入本地存储器或者远程目标存储器。由于本地存储器是以环形队列的形式进行存储相应的操作信息,在对操作信息进行读写操作时,可以实现数据搬运以及队列管理。具体地,数据搬运可以是将控制信息写入本地存储器等,队列管理也就是在对本地存储器实现数据搬运过程中,不断的更新本地存储器中的环形队列。
需要说明的是,上述直接内存存取通道可以是一个或者多个,在本发明的实施方式不做任何限定。
通过上述步骤,可以实现采用确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制直接内存存取通道对控制信息进行处理,通过控制信息对应的直接内存存取通道对该控制信息进行处理,以实现NVMe队列管理以及数据搬移,达到了全软件实现NVMe的目的,从而实现了有效的减少verilog/VHDL开发工作量和验证工作量的技术效果,进而解决了相关技术中通过在硬件上支持缓存一致互联协议或者寄存器触发中断的模式和固态硬盘控制器交互实现数据读写方法,导致开发工作量以及验证工作量较大的技术问题。
可选地,上述控制信息为命令,直接内存存取通道为第一直接内存存取通道,控制直接内存存取通道对控制信息进行处理,包括:确定命令对应的环形队列处于空闲状态;控制第一直接内存存取通道执行读写操作,将命令写入命令对应的环形队列。
在一种可选的实施方式中,上述控制信息包括但不限于命令等,例如,可以首先确定命令对应的环形队列处于空闲状态,再控制第一直接内存存取通道执行读写操作,并将命令写入对应的环形队列。通过上述实施方式,可以在命令对应的环形队列处于空闲状态时,将相应的命令快速写入该环形队列中。
需要说明的是,在缓存中可以设置有命令对应的环形队列。
可选地,上述控制信息为物理区域页和/或分散聚合表,直接内存存取通道为第二直接内存存取通道,控制直接内存存取通道对控制信息进行处理,包括:依据物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表;控制第二直接内存存取通道执行读写操作,将待处理的物理区域页和/或分散聚合表写入物理区域页和/或分散聚合表对应的环形队列。
在一种可选的实施方式中,上述控制信息包括但不限于物理区域页、分散聚合表等,例如,可以依据物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表,进而再控制第二直接内存存取通道执行读写操作,将待处理的物理区域页和/或分散聚合表写入物理区域页和/或分散聚合表对应的环形队列。其中,物理区域页和/或分散聚合表可以共用一个环形队列。通过上述实施方式,可以根据物理区域页和/或分散聚合表对应的环形队列的空满信息,得到可写入的物理区域页和/或分散聚合表,再将可写入的物理区域页和/或分散聚合表快速写入该环形队列中。
需要说明的是,可写入的物理区域页和/或分散聚合表可以是部分的物理区域页和/或分散聚合表,也可以是全部的物理区域页和/或分散聚合表。在缓存中可以设置有物理区域页和/或分散聚合表对应的环形队列。
可选地,控制信息为物理区域页和/或分散聚合表,直接内存存取通道为第三直接内存存取通道,控制直接内存存取通道对控制信息进行处理,包括:依据物理区域页和/或分散聚合表设置第三直接内存存取通道;控制第三直接内存存取通道执行读写操作,将物理区域页和/或分散聚合表写入片上缓冲区。
在一种可选的实施方式中,上述控制信息包括但不限于物理区域页、分散聚合表等,还可以根据物理区域页和/或分散聚合表设置相应的第三直接内存存取通道,再控制第三直接内存存取通道执行读写操作,将物理区域页和/或分散聚合表写入片上缓冲区。通过上述实施方式,可以利用第三直接内存存取通道将物理区域页和/或分散聚合表快速写入片上缓冲区。
可选地,在确定控制信息以及对控制信息执行读写操作的直接内存存取通道之前,还包括:依据缓存一致性的处理方式,对待更新到控制信息对应的环形队列中的所述控制信息进行预处理。
在一种可选的实施方式中,在确定控制信息以及对控制信息执行读写操作的直接内存存取通道之前,首先需要确定控制信息对应的环形队列,并以门铃的方式告知控制信息对应的环形队列存在待处理的任务,然后再根据缓存一致性的处理方式,对待更新到控制信息对应的环形队列中的所述控制信息进行预处理。
上述缓存一致性的处理方式包括Cache无效和Cache刷新,其中,Cache无效是将Cache中指定区域的缓存标记为无效,当CPU再次访问该区域时,将强制Cache从该区域重新缓存数据;Cache刷新是在Cache刷新时立即将Cache中指定区域的内容写入到内存。
需要说明的是,上述指定区域可以为任意一个环形队列。
下面对本发明一种可选的实施方式进行详细说明。
本发明可选的实施方式中使用PCIe/直接内存存取(Direct Memory Access,简称为DMA)、CPU/Cache coherence、高级微控制器总线结构(Advanced Microcontroller BusArchitecture,简称为AMBA)/Address remaping等实现NVMe队列管理以及数据搬移,达到全软件实现NVMe目的,进而可以有效的减少verilog/VHDL开发工作量,验证工作量。具体地,可以使用PCIe/DMA卸载Host/Controller数据搬移操作,同时将NVMe控制信息放入CPU群集(cluster)的内部,借助Cache coherence操作,CPU可以快速获得相关数据,完成NVMe协议全过程。
其中,NVMe相关操作全部由软件完成,可以完成高质量的QoS调度、高效完成function复位以及NVMe异常操作,实现一个相对完备的NVMe协议。
图2是根据本发明可选实施例的PCIe DMA Write的流程图,如图2所示,PCIe DMAWrite具体包括以下实施步骤:
步骤201、DMA write channel对本地存储器(local source memory)发起读操作;
步骤202、DMA write channel通过Resp获得代写数据;
步骤203、DMA write channel通过MWr TLPs写出数据到远程目标存储器(RemoteDestination Memory)。
图3是根据本发明可选实施例的PCIe DMA Read的流程图,如图3所示,PCIe DMARead具体包括以下实施步骤:
步骤301、DMA Read Channel对远程目标存储器(Remote Destination Memory)通过MRd发起读操作;
步骤302、DMA Read Channel通过CplD获得数据;
步骤303、DMA Read channel通过Write操作写出获得的数据。
图4是根据本发明可选实施例的PCIe配置的示意图,如图4所示,PCIe支持1~8个DMA Write/Read channel,使用总共带有4路DMA的PCIe配置。其中,PCIe通过AMBA桥与内部CPU互联。
图5是根据本发明可选实施例的Channel对应的配置Sram的数据配置格式的示意图,如图5所示,其中,每个Channel需要一个配置Sram,其数据配置格式为:每个element需要6个word;多个Element可以组成一个环;每个element包含待传输的数据大小(TransferSize)、源地址(Source Address)、目的地址(Destination Address)。
当本地CPU填写完成一次DMA操作后,通知DMA启动。DMA使用中断的方式通知该次DMA已经完成。
图6是根据本发明可选实施例的PCIe下发NVMe的doorbell的流程图,如图6所示,具体包括如下步骤:
步骤601、主机(Host)通过PCIe下发某个队列头/尾结点(Head/Tail point)同时通过门铃(doorbell)告知该队列有任务;
步骤602、PCIe通过AMBA总线将该信息路由到CPU cluster;
步骤603、CPU cluster通过一致性Cache将该信息更新到分配好的0/1/2…环形队列中。
通过上述实施方式,可以在CPU cluster上实现doorbell/Head/tail指针队列,利用CCIX CPU可以快速获得相关数据。
图7是根据本发明可选实施例的Controller获取相关的Command的流程图,如图7所示,具体包括如下步骤:
步骤701、本地CPU查询相关Command环形队列是否有空闲空间;
步骤702、本地CPU使用PCIe/DMA CHL 0发起相关的Read操作;
步骤703、Host返回相关的Command并通过PCIe/DMA CHL0写入10/11/12…。
通过上述实施方式,可以在CPU cluster上实现管理/任务队列,利用CCIX原理,CPU可以快速获得相关命令并解析。
图8是根据本发明可选实施例的Controller获取相关PRP/SGL信息的流程图,如图8所示,具体包括如下步骤:
步骤801、CPU通过内部物理区域页(Physical Region Page,简称为PRP)/分散聚合表(Scatter Gather List,简称为SGL)环形队列的空满信息,判断可以预取的PRP/SGL大小;
步骤802、CPU通过RD CHL2发起相关的操作;
步骤803、RD CHL2将相关数据放入到CPU开辟的PRP/SGL等相关环形队列中。
通过上述实施方式,可以在CPU cluster上实现PRP/SGL队列,利用CCIX原理,CPU可以快速获得PRP/SGL数据,并解析。
图9是根据本发明可选实施例的Controller获取相关data的流程图,如图9所示,具体包括如下步骤:
步骤901、本地CPU根据相关的PRP/SGL等信息,填写RD/WR CHL3;
步骤902、RD/WR CHL3发起相关的操作将对应的数据放入相关的片上缓冲区(buffer)。
通过上述实施方式,可以在CPU cluster上实现PRP/SGL队列,利用CCIX原理,CPU可以快速获得PRP/SGL数据,并解析。
在本发明的上述实施方式中,CPU通过PCIe/DMA搬移NVMe/Command、PRP/SGL、data,有效释放CPU的潜力,同时减少数据搬移的功耗。
需要说明的是,通过CPU完成NVMe所有队列管理,可以高效的实现队列间的QoS,队列复位、停止等操作,多NVMe Controller等虚拟化操作以及队列的差异化操作,比如按队列加密等。
实施例2
根据本发明实施例的另一方面,还提供了一种控制信息的处理装置,图10是根据本发明实施例的控制信息的处理装置的示意图,如图10所示,该控制信息的处理装置包括:确定模块1002和控制模块1004。下面对该控制信息的处理装置进行详细说明。
确定模块1002,用于确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制模块1004,连接至上述确定模块1002,用于控制直接内存存取通道对控制信息进行处理。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,例如,对于后者,可以通过以下方式实现:上述各个模块可以位于同一处理器中;和/或,上述各个模块以任意组合的方式位于不同的处理器中。
在上述实施例中,该控制信息的处理装置可以通过控制信息对应的直接内存存取通道对该控制信息进行处理,以实现NVMe队列管理以及数据搬移,达到了全软件实现NVMe的目的,从而实现了有效的减少verilog/VHDL开发工作量和验证工作量的技术效果,进而解决了相关技术中通过在硬件上支持缓存一致互联协议或者寄存器触发中断的模式和固态硬盘控制器交互实现数据读写方法,导致开发工作量以及验证工作量较大的技术问题。
此处需要说明的是,上述确定模块1002和控制模块1004对应于实施例1中的步骤S102至S104,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
可选地,上述控制信息为命令,直接内存存取通道为第一直接内存存取通道,控制模块包括:第一确定单元,用于确定命令对应的环形队列处于空闲状态;第一控制单元,用于控制第一直接内存存取通道执行读写操作,将命令写入命令对应的环形队列。
可选地,上述控制信息为物理区域页和/或分散聚合表,直接内存存取通道为第二直接内存存取通道,控制模块包括:第二确定单元,用于依据物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表;第二控制单元,用于控制第二直接内存存取通道执行读写操作,将待处理的物理区域页和/或分散聚合表写入物理区域页和/或分散聚合表对应的环形队列。
可选地,上述控制信息为物理区域页和/或分散聚合表,直接内存存取通道为第三直接内存存取通道,控制模块包括:设置单元,用于依据物理区域页和/或分散聚合表设置第三直接内存存取通道;第二控制单元,用于控制第三直接内存存取通道执行读写操作,将物理区域页和/或分散聚合表写入片上缓冲区。
可选地,上述装置还包括:预处理模块,用于在确定控制信息以及对控制信息执行读写操作的直接内存存取通道之前,依据缓存一致性的处理方式,对待更新到控制信息对应的环形队列中的控制信息进行预处理。
实施例3
根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,该计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述中任意一项的控制信息的处理方法。
可选地,在本实施例中,上述计算机可读存储介质可以位于计算机网络中计算机终端群中的任意一个计算机终端中,和/或位于移动终端群中的任意一个移动终端中,上述计算机可读存储介质包括存储的程序。
可选地,在程序运行时控制计算机可读存储介质所在设备执行以下功能:确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制直接内存存取通道对控制信息进行处理。
实施例4
根据本发明实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述中任意一项的控制信息的处理方法。
本发明实施例提供了一种设备,该设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制直接内存存取通道对控制信息进行处理。
本发明还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:确定控制信息以及对控制信息执行读写操作的直接内存存取通道;控制直接内存存取通道对控制信息进行处理。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (8)
1.一种控制信息的处理方法,其特征在于,包括:
确定控制信息以及对所述控制信息执行读写操作的直接内存存取通道;
控制所述直接内存存取通道对所述控制信息进行处理;
所述直接内存存取通道为第二直接内存存取通道,控制所述直接内存存取通道对所述控制信息进行处理,包括:
依据物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表;
控制所述第二直接内存存取通道执行读写操作,将所述待处理的物理区域页和/或分散聚合表写入所述物理区域页和/或分散聚合表对应的环形队列;
其中,直接内存存取通道用于实现对控制信息的读写操作,不同的所述直接内存存取通道用于对不同的控制信息进行读操作或者写操作,所述控制信息包括命令、物理区域页以及分散聚合表;
所述写操作采用以下方式实现:控制直接内存存取通道对本地存储器发送读操作;将获取的待处理的控制信息写入远程目标存储器;所述读操作采用以下方式实现:控制直接内存存取通道对远程目标存储器发送读操作,将获取的待处理的控制信息写入本地存储器。
2.根据权利要求1所述的方法,其特征在于,所述控制信息为命令,所述直接内存存取通道为第一直接内存存取通道,控制所述直接内存存取通道对所述控制信息进行处理,包括:
确定所述命令对应的环形队列处于空闲状态;
控制所述第一直接内存存取通道执行读写操作,将所述命令写入所述命令对应的环形队列。
3.根据权利要求1所述的方法,其特征在于,所述控制信息为物理区域页和/或分散聚合表,所述直接内存存取通道为第三直接内存存取通道,控制所述直接内存存取通道对所述控制信息进行处理,包括:
依据所述物理区域页和/或分散聚合表设置所述第三直接内存存取通道;
控制所述第三直接内存存取通道执行读写操作,将所述物理区域页和/或分散聚合表写入片上缓冲区。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,在确定控制信息以及对所述控制信息执行读写操作的直接内存存取通道之前,还包括:
依据缓存一致性的处理方式,对待更新到所述控制信息对应的环形队列中的所述控制信息进行预处理。
5.一种控制信息的处理装置,其特征在于,包括:
确定模块,用于确定控制信息以及对所述控制信息执行读写操作的直接内存存取通道;
控制模块,用于控制所述直接内存存取通道对所述控制信息进行处理;
所述直接内存存取通道为第二直接内存存取通道,所述控制模块包括:
第二确定单元,用于依据物理区域页和/或分散聚合表对应的环形队列的空满信息,确定待处理的物理区域页和/或分散聚合表;
第二控制单元,用于控制所述第二直接内存存取通道执行读写操作,将所述待处理的物理区域页和/或分散聚合表写入所述物理区域页和/或分散聚合表对应的环形队列;
其中,直接内存存取通道用于实现对控制信息的读写操作,不同的所述直接内存存取通道用于对不同的控制信息进行读操作或者写操作,所述控制信息包括命令、物理区域页以及分散聚合表;
所述写操作采用以下方式实现:控制直接内存存取通道对本地存储器发送读操作;将获取的待处理的控制信息写入远程目标存储器;所述读操作采用以下方式实现:控制直接内存存取通道对远程目标存储器发送读操作,将获取的待处理的控制信息写入本地存储器。
6.根据权利要求5所述的装置,其特征在于,所述控制信息为命令,所述直接内存存取通道为第一直接内存存取通道,所述控制模块包括:
第一确定单元,用于确定所述命令对应的环形队列处于空闲状态;
第一控制单元,用于控制所述第一直接内存存取通道执行读写操作,将所述命令写入所述命令对应的环形队列。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至4中任意一项所述的控制信息的处理方法。
8.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至4中任意一项所述的控制信息的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509170.9A CN114328345B (zh) | 2021-12-10 | 2021-12-10 | 控制信息的处理方法、装置以及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509170.9A CN114328345B (zh) | 2021-12-10 | 2021-12-10 | 控制信息的处理方法、装置以及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114328345A CN114328345A (zh) | 2022-04-12 |
CN114328345B true CN114328345B (zh) | 2024-05-03 |
Family
ID=81050233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111509170.9A Active CN114328345B (zh) | 2021-12-10 | 2021-12-10 | 控制信息的处理方法、装置以及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114328345B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102609378A (zh) * | 2012-01-18 | 2012-07-25 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
CN102937939A (zh) * | 2012-10-10 | 2013-02-20 | 无锡众志和达存储技术股份有限公司 | 基于sata控制器的dma地址对预读取方法 |
CN106569736A (zh) * | 2015-10-10 | 2017-04-19 | 北京忆芯科技有限公司 | NVMe协议处理器及其处理方法 |
CN107003943A (zh) * | 2016-12-05 | 2017-08-01 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统 |
CN108334470A (zh) * | 2018-01-10 | 2018-07-27 | 西安万像电子科技有限公司 | 数据处理方法、装置和系统 |
CN111989655A (zh) * | 2019-03-22 | 2020-11-24 | 华为技术有限公司 | 一种soc芯片、确定热点函数的方法及终端设备 |
CN112052483A (zh) * | 2020-08-21 | 2020-12-08 | 郑州信大捷安信息技术股份有限公司 | 一种密码卡的数据通信系统及方法 |
CN113722248A (zh) * | 2021-07-28 | 2021-11-30 | 湖南国科微电子股份有限公司 | 命令处理方法及命令处理装置 |
-
2021
- 2021-12-10 CN CN202111509170.9A patent/CN114328345B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101498994A (zh) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | 一种固态硬盘控制器 |
CN102609378A (zh) * | 2012-01-18 | 2012-07-25 | 中国科学院计算技术研究所 | 一种消息式内存访问装置及其访问方法 |
CN102937939A (zh) * | 2012-10-10 | 2013-02-20 | 无锡众志和达存储技术股份有限公司 | 基于sata控制器的dma地址对预读取方法 |
CN106569736A (zh) * | 2015-10-10 | 2017-04-19 | 北京忆芯科技有限公司 | NVMe协议处理器及其处理方法 |
CN107003943A (zh) * | 2016-12-05 | 2017-08-01 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统 |
CN108334470A (zh) * | 2018-01-10 | 2018-07-27 | 西安万像电子科技有限公司 | 数据处理方法、装置和系统 |
CN111989655A (zh) * | 2019-03-22 | 2020-11-24 | 华为技术有限公司 | 一种soc芯片、确定热点函数的方法及终端设备 |
CN112052483A (zh) * | 2020-08-21 | 2020-12-08 | 郑州信大捷安信息技术股份有限公司 | 一种密码卡的数据通信系统及方法 |
CN113722248A (zh) * | 2021-07-28 | 2021-11-30 | 湖南国科微电子股份有限公司 | 命令处理方法及命令处理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114328345A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100592271C (zh) | 使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法 | |
CN102981864B (zh) | 信息处理装置和信息处理方法 | |
KR20210011451A (ko) | 하드웨어 가속을 위한 하드웨어 리소스들의 임베디드 스케줄링 | |
US11243795B2 (en) | CPU overcommit with guest idle polling | |
CN102067083A (zh) | 对虚拟化环境中的中断结束消息的懒惰处理 | |
CN103927277A (zh) | Cpu和gpu共享片上高速缓存的方法及装置 | |
CN111813713B (zh) | 数据加速运算处理方法、装置及计算机可读存储介质 | |
US9715403B2 (en) | Optimized extended context management for virtual machines | |
CN109977037B (zh) | 一种dma数据传输方法及系统 | |
WO2016041191A1 (zh) | 读写数据的方法、装置、存储设备和计算机系统 | |
EP4220394A1 (en) | Chip system, method for processing virtual interrupt, and corresponding device | |
US20180150232A1 (en) | Memory overcommit by speculative fault | |
US20190227918A1 (en) | Method for allocating memory resources, chip and non-transitory readable medium | |
US9697146B2 (en) | Resource management for northbridge using tokens | |
US10248354B2 (en) | Hypervisor enabling secure communication between virtual machines by managing exchanging access to read buffer and write buffer with a queuing buffer | |
JP7470685B2 (ja) | 集積回路中の算出ユニットをプログラムおよび制御すること | |
CN108459906B (zh) | 一种vcpu线程的调度方法及装置 | |
CN102597972A (zh) | 虚拟计算机系统、区域管理方法及程序 | |
US20170199819A1 (en) | Cache Directory Processing Method for Multi-Core Processor System, and Directory Controller | |
CN115981685A (zh) | 应用升级方法、装置、计算设备和芯片系统 | |
CN114328345B (zh) | 控制信息的处理方法、装置以及计算机可读存储介质 | |
CN111666036B (zh) | 一种迁移数据的方法、装置及系统 | |
CN102945214B (zh) | 基于io延迟时间分布优化中断处理任务的方法 | |
KR102550886B1 (ko) | 시스템 온 칩 및 그 동작 방법 | |
CN102929819B (zh) | 用于处理计算机系统中的存储设备的中断请求的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |