CN106339258A - 可编程逻辑器件与微处理器共享内存的管理方法及装置 - Google Patents
可编程逻辑器件与微处理器共享内存的管理方法及装置 Download PDFInfo
- Publication number
- CN106339258A CN106339258A CN201610652322.3A CN201610652322A CN106339258A CN 106339258 A CN106339258 A CN 106339258A CN 201610652322 A CN201610652322 A CN 201610652322A CN 106339258 A CN106339258 A CN 106339258A
- Authority
- CN
- China
- Prior art keywords
- memory block
- memory
- list node
- pld
- chained list
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Microcomputers (AREA)
Abstract
本发明提出可编程逻辑器件与微处理器共享内存的管理方法及相对应的管理装置。其中,管理装置包括:内存地址映射模块,用于将共享的内存块的物理地址映射成虚拟地址以得到虚拟内存空间;内存块申请模块,用于根据申请的大小在虚拟内存空间中查找满足需求的处于空闲状态的内存块并从查找到的内存块中分割出一内存块;以及双向链表维护模块,用于通过链表节点对虚拟内存空间中的内存块进行信息描述,其中所述链表节点的内容包括所描述内存块的起始地址、所描述内存块的大小、所描述内存块的顺序号和所描述内存块的状态。本发明通过设计专门的应用程序对共享内存进行管理维护,从而能够使得系统的稳定性得到有效提高及增加共享内存的利用率。
Description
技术领域
本发明涉及内存管理技术领域,尤其涉及一种可编程逻辑器件与微处理器共享内存的管理方法以及一种可编程逻辑器件与微处理器共享内存的管理装置。
背景技术
在LED显示屏行业,典型嵌入式系统是采用ARM播放媒体、然后产生一系列的Bitmap内存图像交给FPGA去做处理显示。FPGA与ARM共享DDR内存这种应用已经越来越广泛。一般开发思路是定义一些固定大小内存块,FPGA与ARM共享;然而内存块是预先定义好的,预定义空间大小往往大于实际使用空间,实际利用率往往不高,造成对共享内存的浪费。
发明内容
因此,本发明提出可编程逻辑器件与微处理器共享内存的管理方法及管理装置,以增加共享内存的利用率。
具体地,本发明实施例提出一种可编程逻辑器件与微处理器共享内存的管理方法,其中所述可编程逻辑器件和所述微处理器电连接至同一动态随机存储器,且所述微处理器运行有操作系统。所述管理方法包括步骤:(i)将所述动态随机存储器中由所述可编程逻辑器件与所述微处理器共享的内存块映射成虚拟内存空间;(ii)当所述可编程逻辑器件申请写内存时,根据申请的内存块大小在所述虚拟内存空间中查找满足需求的处于空闲状态的内存块并从所述处于空闲状态的内存块中分割出一符合所述申请的内存块大小的第一目标内存块,标记所述第一目标内存块为已经使用状态,并将所述第一目标内存块的虚拟起始地址所对应的在所述动态随机存储器中的物理起始地址回传给所述可编程逻辑器件;以及(iii)当所述可编程逻辑器件被动使用内存数据时,由所述微处理器在所述虚拟内存空间中申请一第二目标内存块,标记所述第二目标内存块为已经使用状态,以及由所述微处理器向所述第二目标内存块写入数据并在完成数据写入后通知所述可编程逻辑器件读取数据且将所述第二目标内存块的大小和其虚拟起始地址所对应的在所述动态随机存储器中的物理起始地址传递给所述可编程逻辑器件以供所述可编程逻辑器件读取数据。
在本发明的一个实施例中,步骤(ii)中标记所述第一目标内存块为已经使用状态具体为:产生一个描述所述第一目标内存块的链表节点并在所述链表节点的内容中标记所述第一目标内存块的状态为已经使用状态;其中,所述链表节点的内容还包括所述第一目标内存块的起始地址、大小和顺序号。
在本发明的一个实施例中,所述管理方法还包括步骤:当释放内存块时,在当前释放内存块所对应的链表节点的内容中标记为空闲状态,检查当前释放内存块所对应的链表节点的相邻链表节点的内容中的内存块状态标记是否为空闲状态,并在所述相邻链表节点的内容中的内存块状态标记为空闲状态时将所述当前释放内存块所对应的链表节点和所述相邻链表节点合并。
在本发明的一个实施例中,所述可编程逻辑器件为FPGA,所述微处理器为ARM处理器。
此外,本发明实施例提出一种可编程逻辑器件与微处理器共享内存的管理装置,其中所述可编程逻辑器件和所述微处理器电连接至同一动态随机存储器,且所述微处理器适于运行操作系统。所述管理装置包括:内存地址映射模块,用于将所述动态随机存储器中由所述可编程逻辑器件与所述微处理器共享的内存块的物理地址映射成虚拟地址以得到虚拟内存空间;内存块申请模块,用于根据申请的大小在所述虚拟内存空间中查找满足需求的处于空闲状态的内存块并从查找到的内存块中分割出一内存块;以及双向链表维护模块,用于通过链表节点对所述虚拟内存空间中的内存块进行信息描述,其中所述链表节点的内容包括所描述内存块的起始地址、所描述内存块的大小、所描述内存块的顺序号和所描述内存块的状态。
在本发明的一个实施例中,所述双向链表维护模块具体包括用于在所述内存块申请模块申请内存块时,产生一个新链表节点来描述被分割出的目标内存块并插入链表上,以及修改与所述新链表节点相邻的链表节点的信息。
在本发明的一个实施例中,所述双向链表维护模块具体包括用于当释放内存块时,在当前释放内存块所对应的链表节点的内容中标记为空闲状态,检查当前释放内存块所对应的链表节点的相邻链表节点的内容中的内存块状态标记是否为空闲状态,并在所述相邻链表节点的内容中的内存块状态标记为空闲状态时将所述当前释放内存块所对应的链表节点和所述相邻链表节点合并。
在本发明的一个实施例中,所述可编程逻辑器件为FPGA,所述微处理器为ARM。
在本发明的一个实施例中,所述管理装置应用于LED显示屏异步控制系统。
由上可知,本发明实施例设计有专门的应用程序对可编程逻辑器件与微处理器共享内存进行管理维护,因此能够使得系统的稳定性得到有效提高以及增加共享内存的利用率。
通过以下参考附图的详细说明,本发明的其它方面和特征变得明显。但是应当知道,该附图仅仅为解释的目的设计,而不是作为本发明的范围的限定。还应当知道,除非另外指出,不必要依比例绘制附图,它们仅仅力图概念地说明此处描述的结构和流程。
附图说明
下面将结合附图,对本发明的具体实施方式进行详细的说明。
图1为相关于本发明实施例的可编程逻辑器件例与微处理器共享内存的系统模型。
图2为相关于本发明实施例的内存管理模块的实现原理图。
图3为本发明实施例的一种可编程逻辑器件与微处理器共享内存的管理装置的模块示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
参见图1,其为可编程逻辑器件例如FPGA与微处理器例如ARM处理器共享内存的系统模型,DDR物理内存空间中的上部分为运行于微处理器中的操作系统(例如Linux操作系统)的专用内存区域,可以使用操作系统的函数进行内存的分配和使用;由于操作系统对于内存管理比较复杂,访问的往往是虚拟内存,故其也可以不连续。可编程逻辑器件访问的是物理地址,为了简化应用程序的开发,建议将可编程逻辑器件与微处理器需要共享的内存块预留出来,例如图1中DDR物理内存空间中的下部分。
假设预留的物理空间(图1中共享内存区域)是连续的,内存管理应用程序调用操作系统的API(Application Programming Interface,应用程序编程接口)函数,使用某种映射规则(例如操作系统自带的映射规则,如Linux的mmap()函数)将预留物理内存块映射进内存管理应用程序的一块连续的虚拟地址空间,也即物理起始地址Start_Addr对应虚拟起始地址Mapped_start_Addr,物理结束地址End_Addr对应虚拟结束地址Mapped_end_Addr,如此一来,物理内存与虚拟内存之间的转换,实际就变成了相差一个偏移量。对虚拟地址空间的读写,即为对物理内存块的读写。
对于内存管理应用程序而言,首先需要做一个映射,将DDR物理内存空间中的共享内存区域的物理地址映射进自己的虚拟地址空间,而这个空间必须是连续的;然后实现一个内存管理模块,将映射后得到的虚拟起始地址和虚拟结束地址当作内存管理模块的参数。
内存管理模块对外暴露的接口例如有两个:获取任意大小的内存和释放内存;具体地:
a)当可编程逻辑器件需要主动申请内存时:通知微处理器并告诉其需要的大小,微处理器接收到此命令后,调用内存管理应用程序的内存管理模块申请一块内存,并将虚拟起始地址对应的物理起始地址回传给可编程逻辑器件,此时可编程逻辑器件便获取到了一块物理内存,当可编程逻辑器件对这块物理内存写完数据时,则通知微处理器,微处理器的应用程序再去读;此步骤即为可编程逻辑器件申请写内存的步骤。
b)当可编程逻辑器件被动使用内存数据时:微处理器主动调用内存管理模块申请一块内存,然后往该内存块中写入数据,当操作完成时,通知可编程逻辑器件读取数据,并将申请的内存块的物理起始地址以及大小传递给可编程逻辑器件,可编程逻辑器件再根据上述物理起始地址以及大小读取对应的内存数据。
参见图2,其为本发明实施例的内存管理模块的实现原理图。如图2所示:内存管理模块内部维护一个双向链表,每个链表的节点例如info1、info2、info3或info4是一个对一块内存信息的描述,包括所描述内存块的起始地址、所描述内存块的大小、链表节点的顺序号(即为所描述内存块的顺序号)以及所描述内存块的状态。
1)初始化时,在没有申请内存的情况下,整个内存块就一块,即为空闲(free)状态,此时链表的节点也只有一个。
2)当申请内存时,则会根据申请的大小查找满足需求的一块空闲内存并将查找到这块空闲内存块分割成两块,并标记分配出来的那一块为已经使用(used)状态,此时同时产生一个链表节点来描述当前内存块的信息;依次类推,每分配一次内存,则将产生一个链表节点描述,插入相邻的链表节点之间,并修改相邻链表节点的信息。
3)当释放内存时,会在当前释放的内存块对应的链表节点内容中标记为空闲状态,检查相邻链表节点是否为空闲状态,如果为空闲状态则合并相邻的链表节点,直到相邻链表节点不为空闲状态为止。
另外,参见图3,本发明实施例还提出一种可编程逻辑器件与微处理器共享内存的管理装置30,其例如是由前述运行于操作系统的内存管理应用程序实现,而可编程逻辑器件与微处理器电连接至同一个动态随机存储器例如DDR。具体地,本实施例的可编程逻辑器件与微处理器共享内存的管理装置30包括:内存地址映射模块31,内存块申请模块33和双向链表维护模块35。
其中,内存地址映射模块31用于将动态随机存储器中的共享内存区域的物理地址映射成虚拟地址得到虚拟内存空间,具体可为调用操作系统的API函数,使用某种映射规则(例如操作系统自带的映射规则,如Linux的mmap()函数)将共享内存区域映射进内存管理应用程序的一块连续的虚拟内存空间。
内存块申请模块33,用于根据申请的大小在所述虚拟内存空间中查找满足需求的处于空闲状态的内存块并从查找到的内存块中分割出一个内存块供可编程逻辑器件读/写数据,具体细节可参考前述a)和b)部分说明,在此不再赘述。
双向链表维护模块35,用于通过链表节点对虚拟内存空间中的内存块进行信息描述,其中链表节点的内容包括所描述内存块的起始地址、所描述内存块的大小、所描述内存块的顺序号(也即链表节点的顺序号)以及所描述内存块的状态;此处的双向链表维护模块35在内存块申请模块33申请内存块时,产生一个链表节点来描述被分割出的那个内存块并插入链表上,以及修改相邻链表节点的信息;此外,双向链表维护模块35在释放内存块(例如当某个内存块处理空闲状态的时间长度超过预设的时间长度,则需要释放该内存块)时,会在当前释放的内存块对应的链表节点内容中标记为空闲状态,检查相邻链表节点是否为空闲状态,如果为空闲状态则合并相邻的链表节点,直到相邻链表节点不为空闲状态为止;具体细节可参考前述1)、2)和3)部分说明,在此不再赘述。
综上所述,本发明实施例设计有专门的应用程序对可编程逻辑器件与微处理器共享内存进行管理维护,因此能够使得系统的稳定性得到有效提高以及增加共享内存的利用率。
最后值得一提的是,本发明实施例涉及的可编程逻辑器件并不限于FPGA,也可以是其它可编程器件;而本发明实施例涉及的微处理器并不限于ARM,也可以是其他微处理器像DSP等,并且微处理器中运行的操作系统也并不限于Linux操作系统,也可以是其它操作系统像Android,iOS,WinCE等等。另外,前述实施例的可编程逻辑器件与微处理器共享内存的管理装置30可应用于LED显示屏异步控制系统,而此种LED显示屏异步控制系统例如包括LED异步控制卡,且LED异步控制卡上设置有可编程逻辑器件、微处理器、动态随机存储器和非易失性存储器例如闪存,而用于实现管理装置30的内存管理应用例如安装在与微处理器电连接的闪存中并可由微处理器中运行的操作系统执行。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容做出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种可编程逻辑器件与微处理器共享内存的管理方法,所述可编程逻辑器件和所述微处理器电连接至同一动态随机存储器,且所述微处理器运行有操作系统;其特征在于,所述管理方法包括步骤:
(i)将所述动态随机存储器中由所述可编程逻辑器件与所述微处理器共享的内存块映射成虚拟内存空间;
(ii)当所述可编程逻辑器件申请写内存时,根据申请的内存块大小在所述虚拟内存空间中查找满足需求的处于空闲状态的内存块并从所述处于空闲状态的内存块中分割出一符合所述申请的内存块大小的第一目标内存块,标记所述第一目标内存块为已经使用状态,并将所述第一目标内存块的虚拟起始地址所对应的在所述动态随机存储器中的物理起始地址回传给所述可编程逻辑器件;以及
(iii)当所述可编程逻辑器件被动使用内存数据时,由所述微处理器在所述虚拟内存空间中申请一第二目标内存块,标记所述第二目标内存块为已经使用状态,以及由所述微处理器向所述第二目标内存块写入数据并在完成数据写入后通知所述可编程逻辑器件读取数据且将所述第二目标内存块的大小和其虚拟起始地址所对应的在所述动态随机存储器中的物理起始地址传递给所述可编程逻辑器件以供所述可编程逻辑器件读取数据。
2.如权利要求1所述的管理方法,其特征在于,步骤(ii)中标记所述第一目标内存块为已经使用状态具体为:产生一个描述所述第一目标内存块的链表节点并在所述链表节点的内容中标记所述第一目标内存块的状态为已经使用状态;其中,所述链表节点的内容还包括所述第一目标内存块的起始地址、大小和顺序号。
3.如权利要求1所述的管理方法,其特征在于,还包括步骤:
当释放内存块时,在当前释放内存块所对应的链表节点的内容中标记为空闲状态,检查当前释放内存块所对应的链表节点的相邻链表节点的内容中的内存块状态标记是否为空闲状态,并在所述相邻链表节点的内容中的内存块状态标记为空闲状态时将所述当前释放内存块所对应的链表节点和所述相邻链表节点合并。
4.如权利要求1所述的管理方法,其特征在于,所述可编程逻辑器件为FPGA,所述微处理器为ARM处理器。
5.一种可编程逻辑器件与微处理器共享内存的管理装置,所述可编程逻辑器件和所述微处理器电连接至同一动态随机存储器,且所述微处理器适于运行操作系统;其特征在于,所述管理装置包括:
内存地址映射模块,用于将所述动态随机存储器中由所述可编程逻辑器件与所述微处理器共享的内存块的物理地址映射成虚拟地址以得到虚拟内存空间;
内存块申请模块,用于根据申请的大小在所述虚拟内存空间中查找满足需求的处于空闲状态的内存块并从查找到的内存块中分割出一内存块;以及
双向链表维护模块,用于通过链表节点对所述虚拟内存空间中的内存块进行信息描述,其中所述链表节点的内容包括所描述内存块的起始地址、所描述内存块的大小、所描述内存块的顺序号和所描述内存块的状态。
6.如权利要求5所述的管理装置,其特征在于,所述双向链表维护模块具体包括用于在所述内存块申请模块申请内存块时,产生一个新链表节点来描述被分割出的目标内存块并插入链表上,以及修改与所述新链表节点相邻的链表节点的信息。
7.如权利要求5所述的管理装置,其特征在于,所述双向链表维护模块具体包括用于当释放内存块时,在当前释放内存块所对应的链表节点的内容中标记为空闲状态,检查当前释放内存块所对应的链表节点的相邻链表节点的内容中的内存块状态标记是否为空闲状态,并在所述相邻链表节点的内容中的内存块状态标记为空闲状态时将所述当前释放内存块所对应的链表节点和所述相邻链表节点合并。
8.如权利要求5所述的管理装置,其特征在于,所述可编程逻辑器件为FPGA,所述微处理器为ARM。
9.如权利要求5所述的管理装置,其特征在于,所述管理装置应用于LED显示屏异步控制系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610652322.3A CN106339258B (zh) | 2016-08-10 | 2016-08-10 | 可编程逻辑器件与微处理器共享内存的管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610652322.3A CN106339258B (zh) | 2016-08-10 | 2016-08-10 | 可编程逻辑器件与微处理器共享内存的管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106339258A true CN106339258A (zh) | 2017-01-18 |
CN106339258B CN106339258B (zh) | 2019-10-18 |
Family
ID=57824959
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610652322.3A Active CN106339258B (zh) | 2016-08-10 | 2016-08-10 | 可编程逻辑器件与微处理器共享内存的管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106339258B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107479831A (zh) * | 2017-08-11 | 2017-12-15 | 浙江工业大学 | 一种基于Zynq平台的OCT体数据搬运方法 |
CN107861888A (zh) * | 2017-11-08 | 2018-03-30 | 郑州云海信息技术有限公司 | Fpga卡用ddr的方法、系统、装置及可读存储介质 |
CN108664414A (zh) * | 2017-03-31 | 2018-10-16 | 龙芯中科技术有限公司 | Ddr内存配置空间访问方法及装置 |
CN109272910A (zh) * | 2018-10-31 | 2019-01-25 | 武汉精立电子技术有限公司 | 一种基于arm的矩形十字灰阶画面组件生成系统及方法 |
WO2019028682A1 (zh) * | 2017-08-08 | 2019-02-14 | 深圳前海达闼云端智能科技有限公司 | 一种多系统共享内存的管理方法及装置 |
CN111008076A (zh) * | 2019-12-06 | 2020-04-14 | 安徽芯智科技有限公司 | 一种基于slab算法的内存管理方法 |
CN111367461A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种存储空间管理方法及装置 |
WO2021023000A1 (zh) * | 2019-08-06 | 2021-02-11 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
WO2021093249A1 (zh) * | 2019-11-13 | 2021-05-20 | 国微集团(深圳)有限公司 | 外部设备访问计算机内存的方法 |
CN113204317A (zh) * | 2021-07-06 | 2021-08-03 | 深圳华云信息系统有限公司 | 数据存储方法、装置、电子设备和计算机可读存储介质 |
CN113326171A (zh) * | 2021-06-30 | 2021-08-31 | 展讯通信(天津)有限公司 | 内存数据处理方法、装置和电子设备 |
WO2022002021A1 (zh) * | 2020-06-29 | 2022-01-06 | 北京一流科技有限公司 | 静态网络中的内存空间预配系统及其方法 |
WO2022063185A1 (zh) * | 2020-09-27 | 2022-03-31 | 中兴通讯股份有限公司 | 数据采集、上报方法、系统、芯片、cpu及存储介质 |
CN117539636A (zh) * | 2023-12-06 | 2024-02-09 | 摩尔线程智能科技(北京)有限责任公司 | 总线模块的内存管理方法、装置、电子设备和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1532708A (zh) * | 2003-03-19 | 2004-09-29 | 华为技术有限公司 | 一种静态内存管理方法 |
CN101030135A (zh) * | 2006-02-28 | 2007-09-05 | 华为技术有限公司 | 一种在共享内存中存储c++对象的方法及装置 |
CN101327785A (zh) * | 2008-06-11 | 2008-12-24 | 武汉光庭汽车电子有限公司 | 智能化全图形汽车仪表的硬件系统架构 |
CN102110196A (zh) * | 2009-12-25 | 2011-06-29 | 中国长城计算机深圳股份有限公司 | 并行运行多用户操作系统间的数据安全传输方法及系统 |
CN102541654A (zh) * | 2010-12-31 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种高效的内存管理方法和装置 |
-
2016
- 2016-08-10 CN CN201610652322.3A patent/CN106339258B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1532708A (zh) * | 2003-03-19 | 2004-09-29 | 华为技术有限公司 | 一种静态内存管理方法 |
CN101030135A (zh) * | 2006-02-28 | 2007-09-05 | 华为技术有限公司 | 一种在共享内存中存储c++对象的方法及装置 |
CN101327785A (zh) * | 2008-06-11 | 2008-12-24 | 武汉光庭汽车电子有限公司 | 智能化全图形汽车仪表的硬件系统架构 |
CN102110196A (zh) * | 2009-12-25 | 2011-06-29 | 中国长城计算机深圳股份有限公司 | 并行运行多用户操作系统间的数据安全传输方法及系统 |
CN102541654A (zh) * | 2010-12-31 | 2012-07-04 | 新奥特(北京)视频技术有限公司 | 一种高效的内存管理方法和装置 |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664414A (zh) * | 2017-03-31 | 2018-10-16 | 龙芯中科技术有限公司 | Ddr内存配置空间访问方法及装置 |
CN108664414B (zh) * | 2017-03-31 | 2020-09-22 | 龙芯中科技术有限公司 | Ddr内存配置空间访问方法及装置 |
US11281388B2 (en) | 2017-08-08 | 2022-03-22 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Method for managing a multi-system shared memory, electronic device and non-volatile computer-readable storage medium |
WO2019028682A1 (zh) * | 2017-08-08 | 2019-02-14 | 深圳前海达闼云端智能科技有限公司 | 一种多系统共享内存的管理方法及装置 |
CN107479831A (zh) * | 2017-08-11 | 2017-12-15 | 浙江工业大学 | 一种基于Zynq平台的OCT体数据搬运方法 |
CN107861888B (zh) * | 2017-11-08 | 2020-03-24 | 郑州云海信息技术有限公司 | Fpga卡用ddr的方法、系统、装置及可读存储介质 |
CN107861888A (zh) * | 2017-11-08 | 2018-03-30 | 郑州云海信息技术有限公司 | Fpga卡用ddr的方法、系统、装置及可读存储介质 |
CN109272910A (zh) * | 2018-10-31 | 2019-01-25 | 武汉精立电子技术有限公司 | 一种基于arm的矩形十字灰阶画面组件生成系统及方法 |
CN109272910B (zh) * | 2018-10-31 | 2022-04-29 | 武汉精立电子技术有限公司 | 一种基于arm的矩形十字灰阶画面组件生成系统及方法 |
CN111367461A (zh) * | 2018-12-25 | 2020-07-03 | 北京兆易创新科技股份有限公司 | 一种存储空间管理方法及装置 |
CN111367461B (zh) * | 2018-12-25 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种存储空间管理方法及装置 |
TWI782304B (zh) * | 2019-08-06 | 2022-11-01 | 大陸商上海商湯智能科技有限公司 | 資訊處理方法、裝置、電子設備及記錄媒體 |
JP2022514382A (ja) * | 2019-08-06 | 2022-02-10 | 上▲海▼商▲湯▼智能科技有限公司 | 情報処理方法、装置、電子デバイス、及び記録媒体 |
WO2021023000A1 (zh) * | 2019-08-06 | 2021-02-11 | 上海商汤智能科技有限公司 | 信息处理方法、装置、电子设备及存储介质 |
WO2021093249A1 (zh) * | 2019-11-13 | 2021-05-20 | 国微集团(深圳)有限公司 | 外部设备访问计算机内存的方法 |
CN111008076A (zh) * | 2019-12-06 | 2020-04-14 | 安徽芯智科技有限公司 | 一种基于slab算法的内存管理方法 |
CN111008076B (zh) * | 2019-12-06 | 2023-03-14 | 安徽芯智科技有限公司 | 一种基于slab算法的内存管理方法 |
WO2022002021A1 (zh) * | 2020-06-29 | 2022-01-06 | 北京一流科技有限公司 | 静态网络中的内存空间预配系统及其方法 |
WO2022063185A1 (zh) * | 2020-09-27 | 2022-03-31 | 中兴通讯股份有限公司 | 数据采集、上报方法、系统、芯片、cpu及存储介质 |
CN113326171A (zh) * | 2021-06-30 | 2021-08-31 | 展讯通信(天津)有限公司 | 内存数据处理方法、装置和电子设备 |
CN113326171B (zh) * | 2021-06-30 | 2023-10-13 | 展讯通信(天津)有限公司 | 内存数据处理方法、装置和电子设备 |
CN113204317A (zh) * | 2021-07-06 | 2021-08-03 | 深圳华云信息系统有限公司 | 数据存储方法、装置、电子设备和计算机可读存储介质 |
CN117539636A (zh) * | 2023-12-06 | 2024-02-09 | 摩尔线程智能科技(北京)有限责任公司 | 总线模块的内存管理方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106339258B (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106339258A (zh) | 可编程逻辑器件与微处理器共享内存的管理方法及装置 | |
US9542307B2 (en) | Shiftable memory defragmentation | |
CN103608782B (zh) | Lsb页面和msb页面中的选择性数据存储 | |
CN101458613B (zh) | 一种混合分级阵列的实现方法、混合分级阵列和存储系统 | |
CN101320594B (zh) | 一种闪存芯片的物理操作方法 | |
CN101692252B (zh) | 文件空闲块的分配和回收方法 | |
CN106293521A (zh) | 一种映射粒度自适应的闪存转换层管理方法 | |
CN110188108A (zh) | 数据存储方法、装置、系统、计算机设备及存储介质 | |
CN103218174A (zh) | 一种用于遥感图像的io双缓存交互多核处理方法 | |
CN103984509A (zh) | 异构nand型固态硬盘及提高其性能的方法 | |
CN106354658B (zh) | 一种降低混合映射算法中映射表内存资源占用的方法 | |
CN107728937A (zh) | 一种使用非易失性内存介质的键值对持久存储方法及系统 | |
CN110231982A (zh) | 用于在硬件队列管理器之间移动工作负荷的技术 | |
CN106354890B (zh) | 一种基于N-ary树结构的随机访问的文件系统的实现方法 | |
CN102043721A (zh) | 闪存存储管理方法 | |
CN107515728A (zh) | 发挥闪存设备内部并发特性的数据管理方法和装置 | |
CN109213438A (zh) | 预先管理待分配给写入数据的物理地址的存储装置 | |
CN107783812A (zh) | 虚拟机内存管理方法及装置 | |
CN106055401A (zh) | 海量计算粗颗粒并行的自动启停及计算任务动态分配方法 | |
CN110032522A (zh) | 存储器和存储域之间的数据的虚拟传输 | |
CN105138282A (zh) | 一种存储空间回收的方法及存储系统 | |
CN109219797A (zh) | 用于格式化持久性存储器文件的技术 | |
CN105630410B (zh) | 使用非易失随机读写存储芯片动态管理文件存储区的方法 | |
CN109213423A (zh) | 基于地址屏障无锁处理并发io命令 | |
CN103703449B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 710075 DEF101, Zengyi Square, Xi'an Software Park, No. 72 Zhangbajie Science and Technology Second Road, Xi'an High-tech Zone, Shaanxi Province Applicant after: Xi'an Nova Nebula Technology Co., Ltd. Address before: High tech Zone technology two road 710075 Shaanxi city of Xi'an Province, No. 68 Xi'an Software Park D District 401 Applicant before: Xian Novastar Electronic Technology Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |