CN117908772A - 多mb的数据处理方法、装置、设备及介质 - Google Patents
多mb的数据处理方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117908772A CN117908772A CN202311633124.9A CN202311633124A CN117908772A CN 117908772 A CN117908772 A CN 117908772A CN 202311633124 A CN202311633124 A CN 202311633124A CN 117908772 A CN117908772 A CN 117908772A
- Authority
- CN
- China
- Prior art keywords
- target
- mbs
- memory
- nvme
- information
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 9
- 238000000034 method Methods 0.000 claims abstract description 84
- 238000012545 processing Methods 0.000 claims abstract description 42
- 230000008569 process Effects 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 101100412394 Drosophila melanogaster Reg-2 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及一种多MB的数据处理方法、装置、设备及介质,该方法由当前MB执行,当前MB是多个MB中的任一个,多个MB均与第一存储器连接;方法包括:接收NVMe业务对应的IO命令;从第一存储器中读取共享信息;其中,共享信息包括:各MB在第一存储器中写入的各自的工作进程信息;根据共享信息从MB中确定待调度的多个目标MB;将IO命令分配给各目标MB,以使各目标MB分别地进行数据访问。本公开能够提高业务处理效率,较好地满足NVMe业务对时延的需求,进而能够在嵌入式MB应用场景中提升NVMe性能。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种多MB的数据处理方法、装置、设备及介质。
背景技术
目前,在NVMe(NVM Express,非易失性内存主机控制器接口规范)嵌入式单MB(Micro Blaze,嵌入式软核)应用中,单个MB性能有限,导致MB访问NVMe控制模块和存储模块延迟过大,严重影响NVMe存储带宽和IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)等性能,无法满足NVMe业务对时延和带宽的需求。
发明内容
为了解决上述技术问题,本公开提供了一种多MB的数据处理方法、装置、设备及介质。
根据本公开的一方面,提供了一种多MB的数据处理方法,所述方法由当前嵌入式软核MB执行,所述当前MB是多个MB中的任一个,多个所述MB均与第一存储器连接;所述方法包括:
接收NVMe业务对应的IO命令;
从所述第一存储器中读取共享信息;其中,所述共享信息包括:各所述MB在所述第一存储器中写入的各自的工作进程信息;
根据所述共享信息从所述MB中确定待调度的多个目标MB;
将所述IO命令分配给各所述目标MB,以使各所述目标MB分别地进行数据访问。
根据本公开的另一方面,提供了一种多MB的数据处理装置,所述装置设置于当前嵌入式软核MB,所述当前MB是多个MB中的任一个,多个所述MB均与第一存储器连接;所述装置包括:
接收模块,用于接收NVMe业务对应的IO命令;
共享模块,用于从所述第一存储器中读取共享信息;其中,所述共享信息包括:各所述MB在所述第一存储器中写入的各自的工作进程信息;
调度模块,用于根据所述共享信息从所述MB中确定待调度的多个目标MB;
分配模块,用于将所述IO命令分配给各所述目标MB,以使各所述目标MB分别地进行数据访问。
根据本公开的另一方面,提供了一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述方法。
根据本公开的另一方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供的一种多MB的数据处理方法、装置、设备及介质,上述方法由当前MB执行,当前MB是多个MB中的任一个,多个所述MB均与第一存储器连接;上述方法包括:接收NVMe业务对应的IO命令;从第一存储器中读取共享信息;其中,共享信息包括:NVMe业务的分配信息以及各MB的工作进程信息;根据共享信息从MB中确定待调度的多个目标MB;将IO命令分配给各目标MB,以使各目标MB分别地进行数据访问。本技术方案扩展多个MB,多个MB通过共享第一存储器中的工作进程信息等共享信息,实现了多个MB之间彼此通信;在此基础上,能够实现对多个MB进行统一调度,统一调度不仅可以提高多个MB之间的调度协同性和调度灵活性,而且,调度得到的目标MB能够更适合处理NVMe业务的IO命令,保障每个MB都能高效地处理NVMe业务,提高业务处理效率,较好地满足NVMe业务对时延的需求,进而能够在嵌入式MB应用场景中提升NVMe性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例所述NVMe嵌入式多MB硬件架构的示意图;
图2为本公开实施例所述多MB的数据处理方法流程图;
图3为本公开实施例所述写入共享信息的示意图;
图4为本公开实施例所述多MB的数据处理装置的结构示意图;
图5为本公开实施例所述电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
目前,在NVMe无SOC(System on Chip,系统级芯片)嵌入式应用中,单个MB性能有限,导致MB访问NVMe控制模块和存储模块延迟过大,严重影响NVMe存储带宽和IOPS等性能,无法满足NVMe业务对时延和带宽的需求。基于此,为了改善MB性能对NVMe业务的影响,本公开实施例提供一种多MB的数据处理方法、装置、设备及介质,以下对本公开实施例展开描述。
首先,为便于理解,本实施例提供了一种NVMe嵌入式多MB硬件架构,示例性说明了一种多MB的数据处理方法的应用场景。
NVMe嵌入式多MB硬件架构包括:RDMA(Remote Direct Memory Access,远程直接内存访问)、AXI Interconnect、多MB组件、第一存储器、NVMe控制器、第二存储器和主机(Host)。其中,多MB组件包括多个互相独立的MB;上述第一存储器例如包括RAM(RandomAccess Memory,随机存取存储器),第二存储器例如包括DDR(Double Data Rate,双倍速率同步动态随机存储器)。
根据以上示例,可提供如图1所示的一种NVMe嵌入式多MB硬件架构的示意图。在该多存储盘的落盘架构中,多MB组件中的每个MB都通过AXI Interconnect与第一存储器连接,每个MB都可以访问到第一存储器,达到多个MB共享第一存储器的目的,或者说,第一存储器作为各MB之间通信使用的共享存储器。AXI Interconnect与第一存储器和每个MB之间均通过AXI总线连接;AXI Interconnect可以对AXI总线进行管理,支持多个MB采用AXI总线访问同一个第一存储器,其原理是为AXI总线分配不同的地址访问空间,这样不同的MB通过不同的地址访问空间来访问同一第一存储器。
AXI Interconnect还分别与NVMe控制器和RDMA连接,具体的,可以从AXIInterconnect出来两个axi_lite接口,分别作为访问NVMe控制器和RDMA的配置通路。此外,NVMe控制器的第一接口通过主机与RDMA的第一接口连接,NVMe控制器的第二接口通过第二存储器与RDMA的第二接口连接。
根据以上NVMe嵌入式多MB硬件架构,每个MB都独立地处理NVMe业务;以及,将各MB分别作为当前MB,当前MB可以根据其他各个MB的工作进程信息对多个MB进行统一调度,以保障每个MB都能够高效处理NVMe业务。
第一存储器用于存储各MB的工作进程信息以及NVMe业务的分配信息等。其中,工作进程信息可以表示MB当前是否正在工作,不在工作即MB为空闲状态,正在工作即MB为工作状态,以及在工作状态下,工作进程信息还包括MB当前正在处理的是什么NVMe业务。分配信息可以表示为NVMe业务分配MB的数量信息,该数量信息既可以是具体的个数,也可以是不同NVMe业务对应的MB数量多少的比较关系,一般来说,分配的MB的数量更多的NVMe业务更重要,可以优先为其调度MB进行处理。
参照图2所示的多MB的数据处理方法流程图,该方法可以应用于多MB的场景中,提升NVMe性能。本公开可以通过上述NVMe嵌入式多MB硬件架构实现该多MB的数据处理方法。在本实施例中,多MB的数据处理方法可以由当前MB执行,当前MB是多个MB中的任一个(例如当前MB可表示为MBi,i=1、2、3……n),多个MB均与第一存储器连接。如图2所示,该方法具体包括如下步骤:
S102、接收NVMe业务对应的IO命令。具体的,当前MB接收NVMe业务对应的IO队列;NVMe业务可以是访问NVMe控制器的业务和访问RDMA的业务等。一个IO队列中可以包括至少一个IO命令;至少一个IO命令需要分配给多个MB处理;例如,可以将m1个IO命令分配给m1个MB,一个MB处理一个IO命令;也可以将一个IO命令拆分为m2个子命令,并将m2个子命令分配给m2个MB,由m2个MB以流水线的方式共同处理一个IO命令。
S104、从第一存储器中读取共享信息;其中,共享信息包括:各MB在第一存储器中写入的各自的工作进程信息。
在本实施例中,第一存储器作为多个MB之间实现通信的共享存储器,可以记录由多个MB共享的共享信息。上述共享信息可以包括但不限于:各MB在第一存储器中写入的各自的工作进程信息。
一种MB在第一存储器写入工作进程信息的实施例可以包括:响应于预设的目标事件,向第一存储器中写入当前MB的工作进程信息;其中,目标事件包括:当前MB开始处理业务事件或完成处理业务事件。
开始处理业务事件表示当前MB由空闲状态进入到处理业务的工作状态,其工作进程发生了变化,在此情况下触发向第一存储器中写入当前MB的工作进程信息。与之类似,完成处理业务事件表示当前MB由处理业务的工作状态进入到空闲状态,其工作进程发生了变化,在此情况下触发向第一存储器中写入当前MB的工作进程信息。
工作进程信息可以包括:空闲状态、工作状态以及工作状态下,当前MB正在处理的是什么NVMe业务。
根据以上实施例,当前MB在发生上述目标事件的情况下,触发向第一存储器(即RAM)中写入当前MB的工作进程信息。如图3示例,当前MB可以通过AXI Interconnect向RAM空间reg1或reg2写入当前MB的工作进程信息。相应地,多MB组件中其他的MB可以按照预设的时间间隔从共享的第一存储器中读取到当前MB的工作进程信息。
可以理解,同上述当前MB在第一存储器中写入其工作进程信息的方式一样,每个MB都在第一存储器中写入各自的工作进程信息;当前MB按照预设的时间间隔从第一存储器中读取各MB的工作进程信息,对每个MB而言,都能够在第一存储器中读取其他MB的工作进程信息。
在一种从第一存储器中读取共享信息的具体实施例中,可以按照预设的时间间隔对第一存储器进行读取,当读取到预设的标识符时获取共享信息。
为了减少数据写入量,减少对第一存储器中存储空间的占用,本实施例可以采用预设的标识符表示不同的共享信息,例如以数字0和1这两种标识符分别表示工作进程信息中的空闲状态和工作状态。基于此,各MB可以在第一存储器写入与工作进程信息相匹配的标识符,当前MB通过读取第一存储器中的标识符来获取共享信息。
S106、根据共享信息从MB中确定待调度的多个目标MB。
根据以上实施例,多个MB共享第一存储器中的共享信息,可以使得多个MB之间互相告知彼此的工作进程信息等共享信息,实现多个MB之间的通信。在多个MB共享上述共享信息的基础上,本实施例可以动态地对多个MB进行调度,灵活分配NVMe业务的IO命令。
在一种实施例中,根据共享信息从MB中确定待调度的多个目标MB的实现过程可参照如下所示。
根据分配信息确定当前待分配的NVMe业务和用于处理NVMe业务的目标MB的目标数量。
在本实施例中,用户可以通过人机交互操作在第一存储器中写入分配信息,通过分配信息指示各项NVMe业务对应的MB的数量信息。示例性的,该分配信息例如为:为访问NVMe控制器的NVMe业务分配至少5个MB,为访问RDMA的NVMe业务分配1个MB;或者,为访问RDMA的NVMe业务分配1个MB,将剩余的MB均分配给访问NVMe控制器的NVMe业务;或者,优先为访问NVMe控制器的NVMe业务分配MB。
分配信息中,NVMe业务对应的MB的数量更多,表示该NVMe业务的处理优先级更高,需要更高效的去完成NVMe业务,那么也就需要把更多MB的资源和算力分配给该NVMe业务。
而后,可以根据分配信息对每个NVMe业务确定目标MB的目标数量。或者,可以按照分配信息中各NVMe业务对应的MB数量由多到少的顺序,将MB数量最多的NVMe业务作为当前待分配的NVMe业务,并优先确定用于处理该NVMe业务的目标MB的目标数量。
根据各MB的工作进程信息,确定工作进程信息为空闲状态的第一MB。在第一MB的数量不小于目标数量的情况下,根据目标数量从第一MB中确定待调度的目标MB。
可以理解,在多个MB中,通常会有部分MB处于空闲状态,有部分MB处于工作状态,处于工作状态的MB正在处理的NVMe业务与当前待分配的NVMe业务可能相同或不同。当然,也有可能多个MB都处于工作状态。
根据各MB的工作进程信息,本实施例优先调度空闲状态的第一MB。如果空闲状态的第一MB的数量足够处理NVMe业务,也即第一MB的数量不小于目标数量,则从第一MB中确定不小于目标数量的MB作为待调度的目标MB。本实施例利用空闲状态的目标MB处理NVMe业务可以更充分的使用各个MB,提高业务处理效率,较好地满足NVMe业务对时延的需求。
反之,在第一MB的数量小于目标数量的情况下,从工作进程信息为工作状态的MB中确定第二MB;将第一MB和第二MB确定为待调度的目标MB;其中,目标MB的数量不小于目标数量。
在本实施例中,在空闲状态的第一MB数量不足的情况下,可以从处于工作状态的MB中调用其中一部分去处理当前的NVMe业务,留下一部分MB继续处理原来的NVMe业务。于是,从处于工作状态的MB中确定第二MB,将第一MB和第二MB共同确定为待调度的目标MB。
本实施例除了利用空闲状态的第一MB处理当前的NVMe业务之外,还从处理其他NVMe业务的MB中调用部分第二MB来处理当前的NVMe业务,这种调度方式能够使目标MB更加高效的处理NVMe业务,提高业务处理效率,较好地满足NVMe业务对时延的需求。
容易理解,本实施例随着各MB的工作进程信息的变化,可以动态地调用不同的目标MB来处理NVMe业务,动态调用MB不仅能够提高调用MB的灵活性,而且还能够更加合理地调用适合处理NVMe业务的目标MB,保障每个MB都能高效地处理NVMe业务。
S108、将IO命令分配给各目标MB,以使各目标MB分别地进行数据访问。
根据以上实施例确定处理NVMe业务的目标MB后,将IO命令分配给各目标MB,以使各目标MB分别地进行数据访问。
在一种方式中,可以按照一个IO命令对应一个目标MB的方式,将多个IO命令分配给与之数量相等的多个目标MB,各目标MB分别地根据IO命令对NVMe控制器和/或RDMA进行数据访问。
在另一种方式中,可以将一个IO命令拆分为多个子命令;将多个子命令分配给多个目标MB,以使多个目标MB以流水线方式分别根据子命令进行数据访问,也即,各目标MB分别地根据子命令对NVMe控制器和/或RDMA进行数据访问;该流水线方式可以在单位时间处理更多命令和数据。
在上述实施例中,每个目标MB经过AXI Interconnect访问第一存储器、NVMe控制器和RDMA的优先级相同,不存在先后顺序,每个MB都可以独立访问,当多个MB同时访问一个模块时,多个MB的访问请求可以在AXI Interconnect内部缓存排队。
综上,本公开实施例提供的多MB的数据处理方法,方法由当前MB执行,当前MB是多个MB中的任一个,多个MB均与第一存储器连接;方法包括:接收NVMe业务对应的IO命令;从第一存储器中读取共享信息;其中,共享信息包括:NVMe业务的分配信息以及各MB的工作进程信息;根据共享信息从MB中确定待调度的多个目标MB;将IO命令分配给各目标MB,以使各目标MB分别地进行数据访问。
本技术方案扩展多个MB,多个MB通过共享第一存储器中的工作进程信息等共享信息,实现了多个MB之间彼此通信;在MB间通信共享上述共享信息的基础上,能够实现对多个MB进行统一调度,统一调度不仅可以充分调度使用空闲状态的MB,还可以从处理其它业务的MB中调度部分MB来处理当前NVMe业务的IO命令,由此能够提高多个MB之间的调度协同性和调度灵活性;而且,通过上述方式调度得到的目标MB能够更适合处理NVMe业务的IO命令,保障每个MB都能高效地处理NVMe业务,提高业务处理效率,较好地满足NVMe业务对时延的需求,进而能够在嵌入式MB应用场景中提升NVMe性能。
参照图4所示的多MB的数据处理装置的结构示意图,该装置设置于当前MB,所述当前MB是多个MB中的任一个,多个所述MB均与第一存储器连接;所述装置包括如下模块:
接收模块210,用于接收NVMe业务对应的IO命令;
共享模块220,用于从所述第一存储器中读取共享信息;其中,所述共享信息包括:各所述MB在所述第一存储器中写入的各自的工作进程信息;
调度模块230,用于根据所述共享信息从所述MB中确定待调度的多个目标MB;
分配模块240,用于将所述IO命令分配给各所述目标MB,以使各所述目标MB分别地进行数据访问。
在一种实施例中,所述共享信息还包括:NVMe业务的分配信息;所述调度模块230还用于:
根据所述分配信息确定当前待分配的NVMe业务和用于处理所述NVMe业务的目标MB的目标数量;
根据各所述MB的工作进程信息,确定工作进程信息为空闲状态的第一MB;
在所述第一MB的数量不小于所述目标数量的情况下,根据所述目标数量从所述第一MB中确定待调度的所述目标MB;
在所述第一MB的数量小于所述目标数量的情况下,从工作进程信息为工作状态的所述MB中确定第二MB;
将所述第一MB和所述第二MB确定为待调度的所述目标MB;其中,所述目标MB的数量不小于所述目标数量。
在一种实施例中,所述分配模块240还用于:
将一个所述IO命令拆分为多个子命令;
将所述多个子命令分配给多个所述目标MB,以使多个所述目标MB以流水线方式分别根据所述子命令进行数据访问。
在一种实施例中,多个所述MB均通过AXI Interconnect与基于架构的非易失性内存NVMe控制器和远程直接内存访问RDMA连接;所述分配模块240还用于:各所述目标MB分别地根据所述IO命令对所述NVMe控制器和/或所述RDMA进行数据访问。
在一种实施例中,所述NVMe控制器的第一接口通过主机与所述RDMA的第一接口连接,所述NVMe控制器的第二接口通过第二存储器与所述RDMA的第二接口连接。
在一种实施例中,所述装置还包括写入模块,其用于:响应于预设的目标事件,向所述第一存储器中写入所述当前MB的工作进程信息;其中,所述目标事件包括:所述当前MB开始处理业务事件或完成处理业务事件。
在一种实施例中,所述共享模块220还用于:按照预设的时间间隔对所述第一存储器进行读取,当读取到预设的标识符时获取共享信息。
本实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
图5为本公开实施例提供的一种电子设备的结构示意图。如图5所示,电子设备300包括一个或多个处理器301和存储器302。
处理器301可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备300中的其他组件以执行期望的功能。
存储器302可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器301可以运行所述程序指令,以实现上文所述的本公开的实施例的多MB的数据处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备300还可以包括:输入装置303和输出装置304,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置303还可以包括例如键盘、鼠标等等。
该输出装置304可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置304可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备300中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备300还可以包括任何其他适当的组件。
进一步,本实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述多MB的数据处理方法。
本公开实施例所提供的一种多MB的数据处理方法、装置、电子设备及介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种多MB的数据处理方法,其特征在于,所述方法由当前嵌入式软核MB执行,所述当前MB是多个MB中的任一个,多个所述MB均与第一存储器连接;所述方法包括:
接收NVMe业务对应的IO命令;
从所述第一存储器中读取共享信息;其中,所述共享信息包括:各所述MB在所述第一存储器中写入的各自的工作进程信息;
根据所述共享信息从所述MB中确定待调度的多个目标MB;
将所述IO命令分配给各所述目标MB,以使各所述目标MB分别地进行数据访问。
2.根据权利要求1所述的方法,其特征在于,所述共享信息还包括:NVMe业务的分配信息;所述根据所述共享信息从所述MB中确定待调度的多个目标MB,包括:
根据所述分配信息确定当前待分配的NVMe业务和用于处理所述NVMe业务的目标MB的目标数量;
根据各所述MB的工作进程信息,确定工作进程信息为空闲状态的第一MB;
在所述第一MB的数量不小于所述目标数量的情况下,根据所述目标数量从所述第一MB中确定待调度的所述目标MB;
在所述第一MB的数量小于所述目标数量的情况下,从工作进程信息为工作状态的所述MB中确定第二MB;
将所述第一MB和所述第二MB确定为待调度的所述目标MB;其中,所述目标MB的数量不小于所述目标数量。
3.根据权利要求1所述的方法,其特征在于,将所述IO命令分配给各所述目标MB,以使各所述目标MB分别进行数据访问,包括:
将一个所述IO命令拆分为多个子命令;
将所述多个子命令分配给多个所述目标MB,以使多个所述目标MB以流水线方式分别根据所述子命令进行数据访问。
4.根据权利要求1或3所述的方法,其特征在于,多个所述MB均通过AXI Interconnect与基于架构的非易失性内存NVMe控制器和远程直接内存访问RDMA连接;所述各所述目标MB分别地进行数据访问,包括:
各所述目标MB分别地根据所述IO命令对所述NVMe控制器和/或所述RDMA进行数据访问。
5.根据权利要求4所述的方法,其特征在于,所述NVMe控制器的第一接口通过主机与所述RDMA的第一接口连接,所述NVMe控制器的第二接口通过第二存储器与所述RDMA的第二接口连接。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于预设的目标事件,向所述第一存储器中写入所述当前MB的工作进程信息;其中,所述目标事件包括:所述当前MB开始处理业务事件或完成处理业务事件。
7.根据权利要求1所述的方法,其特征在于,所述从所述第一存储器中读取共享信息,包括:
按照预设的时间间隔对所述第一存储器进行读取,当读取到预设的标识符时获取共享信息。
8.一种多MB的数据处理装置,其特征在于,所述装置设置于当前嵌入式软核MB,所述当前MB是多个MB中的任一个,多个所述MB均与第一存储器连接;所述装置包括:
接收模块,用于接收NVMe业务对应的IO命令;
共享模块,用于从所述第一存储器中读取共享信息;其中,所述共享信息包括:各所述MB在所述第一存储器中写入的各自的工作进程信息;
调度模块,用于根据所述共享信息从所述MB中确定待调度的多个目标MB;
分配模块,用于将所述IO命令分配给各所述目标MB,以使各所述目标MB分别地进行数据访问。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311633124.9A CN117908772A (zh) | 2023-11-30 | 2023-11-30 | 多mb的数据处理方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311633124.9A CN117908772A (zh) | 2023-11-30 | 2023-11-30 | 多mb的数据处理方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117908772A true CN117908772A (zh) | 2024-04-19 |
Family
ID=90682767
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311633124.9A Pending CN117908772A (zh) | 2023-11-30 | 2023-11-30 | 多mb的数据处理方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117908772A (zh) |
-
2023
- 2023-11-30 CN CN202311633124.9A patent/CN117908772A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107690622B9 (zh) | 实现硬件加速处理的方法、设备和系统 | |
KR102363526B1 (ko) | 복수의 엑세스 모드를 지원하는 불휘발성 메모리를 포함하는 시스템 및 그것의 엑세스 방법 | |
US10013264B2 (en) | Affinity of virtual processor dispatching | |
CN111338779B (zh) | 资源分配方法、装置、计算机设备和存储介质 | |
EP2375324A2 (en) | Virtualization apparatus for providing a transactional input/output interface | |
US8352702B2 (en) | Data processing system memory allocation | |
CN112948293A (zh) | 一种多用户接口的ddr仲裁器及ddr控制器芯片 | |
CN114138422A (zh) | 可扩展性的NVMe存储虚拟化方法和系统 | |
CN106354428B (zh) | 一种多物理层分区计算机体系结构的存储共享系统 | |
CN108932112B (zh) | 一种固态颗粒的数据读写方法、装置、设备及介质 | |
US11093291B2 (en) | Resource assignment using CDA protocol in distributed processing environment based on task bid and resource cost | |
KR20050076702A (ko) | 멀티프로세서 시스템에서의 데이터 전송 방법과, 그방법을 수행하는 멀티프로세서 및 프로세서 | |
KR101535792B1 (ko) | 운영체제 구성 장치 및 방법 | |
CN116400982B (zh) | 配置中继寄存器模块的方法和装置、计算设备和可读介质 | |
CN117908772A (zh) | 多mb的数据处理方法、装置、设备及介质 | |
US11853798B2 (en) | Disaggregated memory pool assignment | |
CN110096355B (zh) | 一种共享资源分配方法、装置和设备 | |
US9176910B2 (en) | Sending a next request to a resource before a completion interrupt for a previous request | |
JP4872942B2 (ja) | ストレージシステム、ストレージ装置、優先度制御装置および優先度制御方法 | |
CN117311833B (zh) | 一种存储控制方法、装置、电子设备及可读存储介质 | |
WO2024060228A1 (zh) | 获取数据的方法、装置、系统及存储介质 | |
CN116383127B (zh) | 节点间通信方法、装置、电子设备及存储介质 | |
JP2019164510A (ja) | ストレージシステム及びio処理の制御方法 | |
CN116069451B (zh) | 一种虚拟化方法、装置、设备、介质、加速器及系统 | |
CN113076138B (zh) | 一种NVMe命令处理方法、设备及介质 |
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 |