CN103838746B - 多cpu系统共享存储数据的方法及该系统 - Google Patents

多cpu系统共享存储数据的方法及该系统 Download PDF

Info

Publication number
CN103838746B
CN103838746B CN201210478893.1A CN201210478893A CN103838746B CN 103838746 B CN103838746 B CN 103838746B CN 201210478893 A CN201210478893 A CN 201210478893A CN 103838746 B CN103838746 B CN 103838746B
Authority
CN
China
Prior art keywords
cpu system
file
main
drive module
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.)
Active
Application number
CN201210478893.1A
Other languages
English (en)
Other versions
CN103838746A (zh
Inventor
杨克勤
杜皓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201210478893.1A priority Critical patent/CN103838746B/zh
Publication of CN103838746A publication Critical patent/CN103838746A/zh
Application granted granted Critical
Publication of CN103838746B publication Critical patent/CN103838746B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了多CPU系统共享闪存的方法及该多CPU系统,其中,该方法包括:从CPU系统获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;从CPU系统将包含文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;主CPU系统接收通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息;从CPU系统接收通知消息,从共享内存空间中读取文件数据。本发明方案能够实现像访问从CPU系统本地文件数据一样访问主CPU系统中的文件数据。

Description

多CPU系统共享存储数据的方法及该系统
技术领域
本发明涉及数据处理技术,尤其涉及多CPU系统共享存储数据的方法及该系统。
背景技术
目前,基于外设部件互联标准(PCI,Peripheral Component Interconnect)或扩展外设部件互联标准(PCIe,Peripheral Component Interconnect Express)等连接的多CPU系统中,某些CPU系统可以从其他CPU系统获取文件数据,这里,将把数据贡献出来共享的CPU系统称为主CPU系统,将从主CPU系统获取文件数据的CPU系统称为从CPU系统。基于PCI/PCIe的多CPU系统,也就是,主CPU系统与各从CPU系统之间通过PCI或PCIe进行连接,实现主CPU系统与各从CPU系统的交互。
主CPU系统的存储设备中存储了用于共享给从CPU系统的文件数据,现有进行存储数据共享的方法包括:
当从CPU系统需要从主CPU系统获取文件数据时,向主CPU系统发送包含文件标识信息的调用指令;主CPU系统接收调用指令后,在本地存储设备中获取与文件标识信息对应的文件数据,传送给从CPU系统。
现有多CPU系统共享存储数据的缺陷在于:用户须预先获知需要访问的文件数据的文件标识,并向从CPU系统输入该文件标识,而后从CPU系统才能将包含文件标识的调用指令发送给从CPU系统;采用现有方式,用户只能访问到已经获知文件标识的文件数据,对于主CPU系统中的其他不知道文件标识的文件数据,则无法访问;如果从CPU系统能够像访问本地文件数据一样访问主CPU系统中的所有文件数据,将进一步满足需求,但目前还没有这方面的技术。
发明内容
本发明提供了一种多CPU系统共享存储数据的方法,该方法能够实现像访问从CPU系统本地文件数据一样访问主CPU系统中的文件数据。
本发明提供了一种共享存储数据的多CPU系统,该系统能够实现像访问从CPU系统本地文件数据一样访问主CPU系统中的文件数据。
一种多CPU系统共享存储数据的方法,该方法中,主CPU系统包含存储设备,从CPU系统划分一块内存作为共享内存空间;该方法还包括:
从CPU系统获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;
从CPU系统接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;
主CPU系统接收通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息;
从CPU系统接收通知消息,从共享内存空间中读取文件数据。
一种共享存储数据的多CPU系统,该系统包括从CPU系统和主CPU系统;
所述从CPU系统,划分一块内存作为共享内存空间,获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息查询出对应的文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;接收来自主CPU系统的通知消息,从共享内存空间中读取文件数据;
所述主CPU系统,接收来自从CPU系统的通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息。
从上述方案可以看出,本发明中从CPU系统划分一块内存作为共享内存空间,当从CPU系统需要共享主CPU系统的文件数据时,获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;从CPU系统接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;主CPU系统接收通知消息后将相应的文件数据存储到从CPU系统的共享内存空间,从CPU从共享内存空间中读取文件数据。采用本发明方案,在从CPU系统侧,展示主CPU系统中存储设备的文件描述信息后,从文件描述信息中选择需要共享的文件,而后便可获取相应的文件数据;这样,对主CPU系统中文件数据的访问,就像对从CPU系统本地存储设备中文件数据的访问,方便了文件数据的交互。
附图说明
图1为本发明多CPU系统共享存储数据的方法示意性流程图;
图2为本发明从CPU系统中从虚拟存储驱动模块进行初始化的流程图;
图3为本发明主CPU系统中主虚拟存储驱动模块进行初始化的流程图;
图4为本发明多CPU系统的构架示意图;
图5为本发明共享存储数据的多CPU系统的结构示意图;
图6为本发明多CPU系统共享存储数据的方法流程图实例。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明进一步详细说明。
本发明中从CPU系统划分一块内存作为共享内存空间,该共享内存空间为从内存中划分的用于与主CPU系统进行文件数据共享的空间。参见图1,为本发明多CPU系统共享存储数据的方法示意性流程图,其包括以下步骤:
步骤101,从CPU系统获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息。
在从CPU系统侧,展示主CPU系统中存储设备的文件描述信息后,用户便可从文件描述信息中选择需要共享的文件,以向从CPU系统发送包含文件地址信息的文件系统调用指令。
本步骤所述从CPU系统获取主CPU系统中存储设备的目录信息的具体实现方式可包括:
从CPU系统将目录调用指令写入共享内存空间,向主CPU系统发送中断;
主CPU系统接收中断,从从CPU系统的共享内存空间读取目录调用指令,在本地存储设备获取目录信息,存储到从CPU系统的共享内存空间中,向从CPU系统发送中断;
从CPU系统接收中断,从共享内存空间中读取目录信息。
从CPU系统启动后,将预先初始化从CPU系统的从虚拟存储驱动模块,也就是,从CPU系统将目录调用指令写入共享内存空间之前,进行图2所示的初始化过程,包括以下步骤:
步骤201,从虚拟存储驱动模块初始化全局变量。
初始化全局变量为虚拟存储驱动模块初始化中惯常执行的步骤,对需要使用的全局变量进行初始化。
步骤202,从虚拟存储驱动模块配置用于发送给主CPU系统的中断。
中断通过配置寄存器实现,发送中断时,需要获知寄存器的虚拟地址,因此,本步骤具体包括配置寄存器及寄存器的虚拟地址。配置中断为现有易于实现的,这里不多赘述。
步骤203,从虚拟存储驱动模块划分一块内存作为共享内存空间。
步骤204,从虚拟存储驱动模块调用与主CPU系统之间的主接口,从主CPU系统的主虚拟闪存驱动模块获取存储设备整体信息和分区信息。
从虚拟存储驱动模块通过与主CPU系统之间的主接口,对主CPU系统进行访问;在需要时,从虚拟存储驱动模块调用主接口,从主CPU系统获取需要的信息。
步骤205,从虚拟存储驱动模块由存储设备整体信息和分区信息创建存储设备分区。
存储设备整体信息和分区信息包括整个存储设备的总容量、各分区的容量等信息;获取存储设备整体信息和分区信息之后,便可创建存储设备分区,后续步骤101获取主CPU系统存储设备的目录信息,展示目录信息中的文件描述信息,用户便可获知主CPU系统存储设备中各分区下的文件情况。展示的文件描述信息包含文件名、文件容量等,目录信息中还包含地址信息,地址信息包含对应各文件名的文件地址信息,展示时隐藏了对应文件名的文件地址信息,文件地址信息指示了相应文件在主CPU系统存储设备中存储的具体位置。用户选择文件名,输入文件选取指令,之后,便可确定出文件地址信息,进而,根据文件地址信息从主CPU系统获取相应的文件数据。
步骤102,从CPU系统接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息。
发送通知消息可具体通过发送中断实现,后续便以发送中断进行描述。
进一步地,从CPU系统向主CPU系统发送中断时,还设置定时器;本步骤从CPU系统向主CPU系统发送中断之后,该方法还包括:从CPU系统判断定时器定时范围内是否接收到来自主CPU系统的中断,如果是,则执行所述从共享内存空间中读取文件数据的步骤;否则,反馈错误信息。
步骤103,主CPU系统接收通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息。
主CPU系统启动后,将预先初始化主CPU系统的主虚拟存储驱动模块,也就是,主CPU系统接收中断之前,进行图3所示的初始化过程,包括以下步骤:
步骤301,主虚拟存储驱动模块初始化全局变量。
初始化全局变量为虚拟存储驱动模块初始化中惯常执行的步骤,对需要使用的全局变量进行初始化。
步骤302,主虚拟存储驱动模块获取与其连接的从CPU系统的地址及共享内存空间地址。
主虚拟存储驱动模块枚举与其连接的所有的从CPU系统,获取与其连接的从CPU系统的地址及共享内存空间地址,用于后续对相应的从CPU系统进行访问;对从CPU系统中的共享内存空间进行访问时,需要通过虚拟地址进行访问,因此步骤303中为各从CPU系统的共享内存空间地址分配对应的虚拟地址。
步骤303,主虚拟存储驱动模块为各从CPU系统的共享内存空间地址分配对应的虚拟地址。
步骤304,主虚拟存储驱动模块配置用于发送给从CPU系统的中断。
步骤305,主虚拟存储驱动模块从主存储设备获取存储设备整体信息和分区信息。
而后,根据从虚拟存储驱动模块的请求,主虚拟存储驱动模块便可将存储设备整体信息和分区信息反馈给相应的从虚拟存储驱动模块。
步骤104,从CPU系统接收通知消息,从共享内存空间中读取文件数据。
本发明中,从CPU系统启动完成后,通过PCI/PCIe等连接挂载主CPU系统上的存储设备,所有从CPU上的应用程序可以直接访问主CPU系统中存储设备上的文件。如图4所示的实例,主CPU系统可以对本地的存储设备直接进行访问,同时其他从CPU系统也可采用本发明方案对主CPU系统存储设备中的文件数据。对于从CPU上的应用程序来说,就像访问本地存储设备一样访问主CPU上的存储设备,极大地方便了文件的交互。
参见图5,为本发明共享存储数据的多CPU系统结构示意图,该系统包括该多CPU系统包括从CPU系统和主CPU系统;
所述从CPU系统,划分一块内存作为共享内存空间,获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息查询出对应的文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;接收来自主CPU系统的通知消息,从共享内存空间中读取文件数据;
所述主CPU系统,接收来自从CPU系统的通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息。
可选地,所述从CPU系统包括从虚拟存储驱动模块、从内存技术设备(mtd,memorytechnology device)层模块、从文件系统层模块、从应用层模块和共享内存空间,所述主CPU系统包括主虚拟存储驱动模块、主mtd层模块、主闪存驱动模块和主存储设备;
所述从虚拟存储驱动模块,划分一块内存作为共享内存空间,获取主CPU系统中存储设备的目录信息,传送给从mtd层模块;将文件系统调用指令写入共享内存空间,向主虚拟存储驱动模块发送通知消息;接收来自主虚拟存储驱动模块的通知消息,从共享内存空间中读取文件数据,传送给从mtd层模块;
所述从mtd层模块,接收来自从虚拟存储驱动模块的目录信息,传送给从文件系统层模块;接收来自从虚拟存储驱动模块的文件数据,传送给从文件系统层模块;
所述从文件系统层模块,接收来自从mtd层模块的目录信息和文件数据,传送给应用层模块;
所述从应用层模块,接收来自从文件系统层模块的目录信息,展示目录信息中的文件描述信息;还接收来自从文件系统层模块的文件数据,进行展示;
所述主虚拟存储驱动模块,接收来自从虚拟存储驱动模块的通知消息,从从CPU系统的共享内存空间读取文件系统调用指令,发送给主mtd层模块;接收来自主mtd层模块的文件数据,将文件数据存储到从CPU系统的共享内存空间,向从虚拟存储驱动模块发送通知消息;
所述主mtd层模块,接收来自主虚拟存储驱动模块的文件系统调用指令,发送给主闪存驱动模块;接收来自主闪存驱动模块的文件数据,反馈给主虚拟存储驱动模块;
所述主闪存驱动模块,接收来自主mtd层模块的文件系统调用指令,在主存储设备中读取文件地址信息指示的文件数据,反馈给主mtd层模块。
可选地,所述从虚拟存储驱动模块,还将目录调用指令写入共享内存空间,向主虚拟存储驱动模块发送通知消息;
所述主虚拟存储驱动模块,接收来自从虚拟存储驱动模块的通知消息,从从CPU系统的共享内存空间读取目录调用指令,在主存储设备获取目录信息,存储到从CPU系统的共享内存空间中,向从虚拟存储驱动模块发送通知消息;
所述从虚拟存储驱动模块,接收来自主虚拟存储驱动模块的通知消息,从共享内存空间中读取目录信息。
可选地,所述从虚拟存储驱动模块,将目录调用指令写入共享内存空间之前还进行初始化,具体包括:初始化全局变量,配置用于发送给主CPU系统的中断,划分一块内存作为共享内存空间,调用与主CPU系统之间的主接口,从主虚拟闪存驱动模块获取存储设备整体信息和分区信息,由存储设备整体信息和分区信息创建存储设备分区。
可选地,所述主虚拟存储驱动模块,接收来自从虚拟存储驱动模块的中断之前还进行初始化,具体包括:初始化全局变量,获取与其连接的从CPU系统的地址及共享内存空间地址,为各从CPU系统的共享内存空间地址分配对应的虚拟地址,配置用于发送给从CPU系统的中断,从主存储设备获取存储设备整体信息和分区信息。
具体实现时,还可在主CPU系统与从CPU系统之间设置一个转换器,转换器用于对主CPU系统与从CPU系统之间发送的所有信息进行转发给对方。
主CPU系统所在的设备和从CPU系统所在的设备,例如为数字硬盘录像机(DVR,Digital Video Recorder),此时的一个应用场景是,主CPU系统所在的DVR采集录像数据,存放在多个文件中,而其他DVR需要获取录像数据进行录像数据的后续处理,则需要其他DVR从主CPU系统提取相应的录像数据。
参见图6,为本发明多CPU系统共享存储数据的方法流程图实例,本实例基于图5的结构共享存储数据,从CPU系统预先划分一块内存作为共享内存空间;图6的流程包括以下步骤:
步骤601,从虚拟存储驱动模块获取主CPU系统中存储设备的目录信息,传送给从mtd层模块,从mtd层模块将目录信息通过从文件系统层传送给应用层进行展示。
步骤602,从虚拟存储驱动模块将包含文件地址信息的文件系统调用指令写入共享内存空间。
具体地,本步骤中,从虚拟存储驱动模块将用于调用read函数的输入参数放在共享存储空间中,这里,输入参数包括需要读取的文件的文件地址信息;而后,主虚拟存储驱动模块将获取输入参数,根据输入参数调用主mtd层模块的read函数,以从存储设备中读取文件数据。
步骤603,从虚拟存储驱动模块向主虚拟存储驱动模块发送中断,并启动定时器。
步骤604,从虚拟存储驱动模块判断定时器定时范围内是否接收到来自主CPU系统的中断,如果是,则执行步骤605;否则,反馈错误信息。
具体地,从虚拟存储驱动模块通过mtd层和文件系统层,向应用层反馈错误信息。
步骤605,从虚拟存储驱动模块从共享内存空间中读取文件数据,传送给从mtd层模块,从mtd层模块将文件数据通过从文件系统层传送给应用层进行展示。
步骤606,主虚拟存储驱动模块接收来自从虚拟存储驱动模块的中断,执行步骤607。
步骤607,主虚拟存储驱动模块从从CPU系统的共享内存空间读取文件系统调用指令,在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息。
步骤604和606无序执行。
本发明中从CPU系统划分一块内存作为共享内存空间,当从CPU系统需要共享主CPU系统的文件数据时,获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;从CPU系统将文件系统调用指令写入共享内存空间,向主CPU系统发送中断;主CPU系统接收中断后将相应的文件数据存储到从CPU系统的共享内存空间,从CPU系统从共享内存空间中读取文件数据。采用本发明方案,在从CPU系统侧,展示主CPU系统中存储设备的文件描述信息后,从文件描述信息中选择需要共享的文件,而后便可获取相应的文件信息;这样,对主CPU系统中文件数据的访问,就像对从CPU系统本地存储设备中文件数据的访问,方便了文件数据的交互。
进一步地,采用本发明方案,还可将从CPU系统端的存储设备也共享给主CPU系统和其他从CPU系统。这样,就可以实现多CPU系统中所有CPU系统之间的数据交换。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (9)

1.一种多CPU系统共享存储数据的方法,其特征在于,主CPU系统包含存储设备,从CPU系统划分一块内存作为共享内存空间;该方法包括:
从CPU系统获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;
从CPU系统接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;
主CPU系统接收通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息;
从CPU系统接收通知消息,从共享内存空间中读取文件数据;其中,所述从CPU系统获取主CPU系统中存储设备的目录信息包括:
从CPU系统将目录调用指令写入共享内存空间,向主CPU系统发送中断;
主CPU系统接收中断,从从CPU系统的共享内存空间读取目录调用指令,在本地存储设备获取目录信息,存储到从CPU系统的共享内存空间中,向从CPU系统发送中断;
从CPU系统接收中断,从共享内存空间中读取目录信息。
2.如权利要求1所述的方法,其特征在于,从CPU系统向主CPU系统发送通知消息时,还设置定时器;所述从CPU系统向主CPU系统发送通知消息之后,该方法还包括:
从CPU系统判断定时器定时范围内是否接收到来自主CPU系统的通知消息,如果是,则执行所述从共享内存空间中读取文件数据的步骤;否则,反馈错误信息。
3.如权利要求1所述的方法,其特征在于,所述从CPU系统将目录调用指令写入共享内存空间之前,该方法还包括初始化从CPU系统的从虚拟存储驱动模块:
从虚拟存储驱动模块初始化全局变量;
从虚拟存储驱动模块配置用于发送给主CPU系统的中断;
从虚拟存储驱动模块划分一块内存作为共享内存空间;
从虚拟存储驱动模块调用与主CPU系统之间的主接口,从主CPU系统的主虚拟闪存驱动模块获取存储设备整体信息和分区信息;
从虚拟存储驱动模块由存储设备整体信息和分区信息创建存储设备分区。
4.如权利要求1所述的方法,其特征在于,所述主CPU系统接收通知消息之前,该方法还包括初始化主CPU系统的主虚拟存储驱动模块:
主虚拟存储驱动模块初始化全局变量;
主虚拟存储驱动模块获取与其连接的从CPU系统的地址及共享内存空间地址;
主虚拟存储驱动模块为各从CPU系统的共享内存空间地址分配对应的虚拟地址;
主虚拟存储驱动模块配置用于发送给从CPU系统的中断;
主虚拟存储驱动模块从存储设备获取存储设备整体信息和分区信息。
5.一种共享存储数据的多CPU系统,其特征在于,该多CPU系统包括从CPU系统和主CPU系统;
所述从CPU系统,划分一块内存作为共享内存空间,获取主CPU系统中存储设备的目录信息,展示目录信息中的文件描述信息;接收文件选取指令,所述文件选取指令包含从文件描述信息中选取的文件名,由文件名在目录信息的地址信息中查询出对应的文件地址信息,将包含文件地址信息的文件系统调用指令写入共享内存空间,向主CPU系统发送通知消息;接收来自主CPU系统的通知消息,从共享内存空间中读取文件数据;
所述主CPU系统,接收来自从CPU系统的通知消息,从从CPU系统的共享内存空间读取文件系统调用指令;在本地存储设备中读取文件地址信息指示的文件数据,将读取的文件数据存储到从CPU系统的共享内存空间,向从CPU系统发送通知消息;从CPU系统获取主CPU系统中存储设备的目录信息包括:
从CPU系统将目录调用指令写入共享内存空间,向主CPU系统发送中断;
主CPU系统接收中断,从从CPU系统的共享内存空间读取目录调用指令,在本地存储设备获取目录信息,存储到从CPU系统的共享内存空间中,向从CPU系统发送中断;
从CPU系统接收中断,从共享内存空间中读取目录信息。
6.如权利要求5所述的多CPU系统,其特征在于,所述从CPU系统包括从虚拟存储驱动模块、从内存技术设备mtd层模块、从文件系统层模块、从应用层模块和共享内存空间,所述主CPU系统包括主虚拟存储驱动模块、主mtd层模块、主闪存驱动模块和主存储设备;
所述从虚拟存储驱动模块,划分一块内存作为共享内存空间,获取主CPU系统中存储设备的目录信息,传送给从mtd层模块;将文件系统调用指令写入共享内存空间,向主虚拟存储驱动模块发送通知消息;接收来自主虚拟存储驱动模块的通知消息,从共享内存空间中读取文件数据,传送给从mtd层模块;
所述从mtd层模块,接收来自从虚拟存储驱动模块的目录信息,传送给从文件系统层模块;接收来自从虚拟存储驱动模块的文件数据,传送给从文件系统层模块;
所述从文件系统层模块,接收来自从mtd层模块的目录信息和文件数据,传送给从应用层模块;
所述从应用层模块,接收来自从文件系统层模块的目录信息,展示目录信息中的文件描述信息;还接收来自从文件系统层模块的文件数据,进行展示;
所述主虚拟存储驱动模块,接收来自从虚拟存储驱动模块的通知消息,从从CPU系统的共享内存空间读取文件系统调用指令,发送给主mtd层模块;接收来自主mtd层模块的文件数据,将文件数据存储到从CPU系统的共享内存空间,向从虚拟存储驱动模块发送通知消息;
所述主mtd层模块,接收来自主虚拟存储驱动模块的文件系统调用指令,发送给主闪存驱动模块;接收来自主闪存驱动模块的文件数据,反馈给主虚拟存储驱动模块;
所述主闪存驱动模块,接收来自主mtd层模块的文件系统调用指令,在主存储设备中读取文件地址信息指示的文件数据,反馈给主mtd层模块。
7.如权利要求6所述的多CPU系统,其特征在于,
所述从虚拟存储驱动模块,还将目录调用指令写入共享内存空间,向主虚拟存储驱动模块发送通知消息;
所述主虚拟存储驱动模块,接收来自从虚拟存储驱动模块的通知消息,从从CPU系统的共享内存空间读取目录调用指令,在主存储设备获取目录信息,存储到从CPU系统的共享内存空间中,向从虚拟存储驱动模块发送通知消息;
所述从虚拟存储驱动模块,接收来自主虚拟存储驱动模块的通知消息,从共享内存空间中读取目录信息。
8.如权利要求6所述的多CPU系统,其特征在于,所述从虚拟存储驱动模块,将目录调用指令写入共享内存空间之前还进行初始化,具体包括:初始化全局变量,配置用于发送给主CPU系统的中断,划分一块内存作为共享内存空间,调用与主CPU系统之间的主接口,从主虚拟闪存驱动模块获取存储设备整体信息和分区信息,由存储设备整体信息和分区信息创建存储设备分区。
9.如权利要求6所述的多CPU系统,其特征在于,所述主虚拟存储驱动模块,接收来自从虚拟存储驱动模块的中断之前还进行初始化,具体包括:初始化全局变量,获取与其连接的从CPU系统的地址及共享内存空间地址,为各从CPU系统的共享内存空间地址分配对应的虚拟地址,且配置用于发送给从CPU系统的中断,还从主存储设备获取存储设备整体信息和分区信息。
CN201210478893.1A 2012-11-21 2012-11-21 多cpu系统共享存储数据的方法及该系统 Active CN103838746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210478893.1A CN103838746B (zh) 2012-11-21 2012-11-21 多cpu系统共享存储数据的方法及该系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210478893.1A CN103838746B (zh) 2012-11-21 2012-11-21 多cpu系统共享存储数据的方法及该系统

Publications (2)

Publication Number Publication Date
CN103838746A CN103838746A (zh) 2014-06-04
CN103838746B true CN103838746B (zh) 2017-05-31

Family

ID=50802260

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210478893.1A Active CN103838746B (zh) 2012-11-21 2012-11-21 多cpu系统共享存储数据的方法及该系统

Country Status (1)

Country Link
CN (1) CN103838746B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391753B (zh) * 2014-12-16 2017-12-05 浪潮电子信息产业股份有限公司 一种服务器主板内存系统无故障运行方法
CN107341076B (zh) * 2016-04-29 2020-08-28 展讯通信(上海)有限公司 通信处理器的故障辅助定位方法、装置及终端
CN108205443B (zh) * 2016-12-16 2019-02-05 视联动力信息技术股份有限公司 一种多核设备引导程序和文件系统的烧写方法和装置
CN108664325B (zh) * 2017-03-30 2019-06-28 视联动力信息技术股份有限公司 处理数据的方法和电子设备
CN108001440B (zh) * 2017-11-24 2019-09-06 中国铁道科学研究院 架控制动系统的防滑监控方法及系统
CN112799587B (zh) * 2020-11-23 2024-10-25 哲库科技(北京)有限公司 处理器系统、核间通信方法、处理器以及存储单元

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957808A (zh) * 2010-06-04 2011-01-26 杭州海康威视数字技术股份有限公司 多cpu间的通信方法、系统及cpu
CN102118418A (zh) * 2009-12-30 2011-07-06 比亚迪股份有限公司 一种移动终端数据共享系统和方法
CN102750256A (zh) * 2012-06-12 2012-10-24 福建睿矽微电子科技有限公司 一种多处理器共享存储实现技术

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8694737B2 (en) * 2010-06-09 2014-04-08 Micron Technology, Inc. Persistent memory for processor main memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102118418A (zh) * 2009-12-30 2011-07-06 比亚迪股份有限公司 一种移动终端数据共享系统和方法
CN101957808A (zh) * 2010-06-04 2011-01-26 杭州海康威视数字技术股份有限公司 多cpu间的通信方法、系统及cpu
CN102750256A (zh) * 2012-06-12 2012-10-24 福建睿矽微电子科技有限公司 一种多处理器共享存储实现技术

Also Published As

Publication number Publication date
CN103838746A (zh) 2014-06-04

Similar Documents

Publication Publication Date Title
CN103838746B (zh) 多cpu系统共享存储数据的方法及该系统
US8966499B2 (en) Virtual switch extensibility
CN101650660B (zh) 从中央存储装置引导计算机系统
US9015695B2 (en) Information processing apparatus and information processing method
US8635656B2 (en) Real-time video transmission system and method
CN105335309B (zh) 一种数据传输方法及计算机
FR2865818A1 (fr) Systeme informatique, dispositif de commande, systeme de memorisation et dispositif informatique
CN113760578B (zh) 跨进程快速传输大数据的方法、装置、设备及计算机程序
JP2023519405A (ja) ハードウェアアクセラレータをスケジューリングするための方法およびタスクスケジューラ
JP6750034B2 (ja) オペレーティングシステムの装着
CN115580644B (zh) 宿主机内客户系统间的通讯方法、装置、设备及存储介质
JP4313995B2 (ja) プリンタ機器情報設定方法、サーバ及びプログラム
CN109783462A (zh) 一种基于分布式文件系统的数据访问方法和装置
CN114780465B (zh) 可共享远程直接数据存取链接的创建方法及装置
CN110753040B (zh) 一种请求处理的方法及装置
CN105426125B (zh) 一种数据存储方法及装置
CN109753229A (zh) 数据迁移方法、装置、网络附属存储设备和存储介质
CN116701015A (zh) 应用间通信方法、装置
CN116402673A (zh) 数据处理方法、系统、计算设备和存储介质
CN110928707A (zh) 一种宿主机和虚拟机的数据交换方法及相关装置
CN102868747B (zh) 资源信息管理方法和资源信息管理装置
US20080256266A1 (en) Computer system using remote I/O and I/O data transfer method
CN114860166A (zh) 一种卷的本地化方法、装置以及介质
CN107656702A (zh) 加速硬盘读写的方法及其系统、以及电子设备
CN106897021A (zh) 一种读写数据的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant