CN117389483B - 一种内存管理方法、装置、电子设备及可读存储介质 - Google Patents
一种内存管理方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117389483B CN117389483B CN202311692024.3A CN202311692024A CN117389483B CN 117389483 B CN117389483 B CN 117389483B CN 202311692024 A CN202311692024 A CN 202311692024A CN 117389483 B CN117389483 B CN 117389483B
- Authority
- CN
- China
- Prior art keywords
- memory
- target
- processor
- instruction
- write
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 634
- 238000007726 management method Methods 0.000 title claims abstract description 32
- 230000003993 interaction Effects 0.000 claims abstract description 67
- 239000000872 buffer Substances 0.000 claims description 76
- 238000000034 method Methods 0.000 claims description 36
- 230000000737 periodic effect Effects 0.000 claims description 24
- 238000004891 communication Methods 0.000 claims description 18
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 239000002245 particle Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 239000008187 granular material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012464 large buffer Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种内存管理方法、装置、电子设备及可读存储介质,涉及计算机技术领域,该方法包括:在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存;在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应;其中,所述第一内存和所述第二内存互为备份副本。本发明实施例可以避免因目标内存无法及时对处理器进行响应造成的尾延迟。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存管理方法、装置、电子设备及可读存储介质。
背景技术
动态随机存取存储器(Dynamic Random Access Memory,DRAM)工作时,需要额外加入背景操作以保证正常运行,例如信号的完整,存储数据的完整和读写的稳定等。DRAM进行背景操作时,无法和中央处理器(Central Processing Unit,CPU)交互数据,进而造成额外的访存延迟,成为CPU的性能瓶颈之一。此外,背景操作也会造成额外的功耗。现有方案大多根据DRAM过去的访问模式,推测未来的访问模式,据此调整DRAM执行背景操作的周期,以尽量减少CPU正常访存时遇到的尾延迟和功耗。这种方案并不能实际覆盖尾延迟,当CPU实际访存遇到DRAM进行背景操作时,仍需要等待DRAM完成背景操作,才能进行数据交互。因此,在需要网络实时响应的应用(例如云游戏),或者需要实时计算的车载芯片等对尾延迟敏感的关键场景下,无法使用DRAM。
发明内容
本发明实施例提供一种内存管理方法、装置、电子设备及可读存储介质,可以解决相关技术中DRAM 无法及时对处理器进行响应,容易造成尾延迟的问题。
为了解决上述问题,本发明实施例公开了一种内存管理方法,应用于内存控制器,所述内存控制器用于对第一内存和第二内存进行控制;所述方法包括:
在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存;
在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应;
其中,所述第一内存和所述第二内存互为备份副本,在所述目标内存为所述第一内存的情况下,所述备份副本为所述第二内存;在所述目标内存为所述第二内存的情况下,所述备份副本为所述第一内存。
可选地,所述访存指令包括写指令;所述在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应,包括:
在接收到处理器针对所述目标内存的写指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述写指令发送至所述备份副本,以使所述备份副本对所述写指令进行响应;所述写指令中携带访存地址;
将所述访存地址写入所述目标内存对应的写缓冲区中;
在所述目标内存满足即时交互条件的情况下,从所述目标内存的写缓冲区中读取所述访存地址;
根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中。
可选地,所述访存指令包括读指令;所述在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应,包括:
在接收到处理器针对所述目标内存的读指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述读指令发送至所述备份副本,以使所述备份副本对所述读指令进行响应;
从所述备份副本中获取与所述读指令相匹配的第二目标数据;
将所述第二目标数据发送至所述处理器。
可选地,所述将所述访存地址写入所述目标内存对应的写缓冲区中之前,所述方法还包括:
根据所述目标内存的周期性操作的执行周期,确定所述目标内存所需的缓冲区大小;
根据所述缓冲区大小为所述目标内存分配对应的写缓冲区。
可选地,所述内存控制器中包括存储模块;在所述根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中之前,所述方法还包括:
若所述目标内存对应的写缓冲区已满,则将所述访存地址写入所述存储模块中;
在所述目标内存满足即时交互条件的情况下,从所述存储模块中读取所述访存地址。
可选地,所述方法还包括:
接收所述处理器发送的内存读写请求,所述内存读写请求中携带请求地址;
查询所述存储模块和所述内存控制器中各个内存的写缓冲区中是否存在与所述请求地址相匹配的数据块;
若所述存储模块中存在与所述请求地址相匹配的数据块,则从所述存储模块中获取与所述请求地址相匹配的数据块;
若所述写缓冲区中存在与所述请求地址相匹配的数据块,则从所述写缓冲区中获取与所述请求地址相匹配的数据块;
将所述数据块发送至所述处理器。
可选地,所述目标内存不支持与所述处理器进行即时交互,包括:所述目标内存正在执行背景操作;所述背景操作包括以下至少一项:
系统内存刷新;
周期性校准;
周期性读写操作。
另一方面,本发明实施例公开了一种内存管理装置,应用于内存控制器,所述内存控制器用于对第一内存和第二内存进行控制;所述装置包括:
第一控制模块,用于在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存;
第二控制模块,用于在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应;
其中,所述第一内存和所述第二内存互为备份副本,在所述目标内存为所述第一内存的情况下,所述备份副本为所述第二内存;在所述目标内存为所述第二内存的情况下,所述备份副本为所述第一内存。
再一方面,本发明实施例还公开了一种电子设备,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述的内存管理方法。
本发明实施例还公开了一种可读存储介质,当所述可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行前述的内存管理方法。
本发明实施例包括以下优点:
本发明实施例提供了一种内存管理方法,通过将针对第一内存和/或第二内存的写指令中携带的数据同步写入第一内存和第二内存中,使得第一内存和第二内存互为备份副本,从而在接收到针对目标内存的访存指令,且目标内存不支持与处理器的即时交互的情况下,由备份副本对访存指令进行响应,无需等待目标内存支持即时交互后再对访存指令进行响应,节省了处理器的访存等待时间,从而避免了因目标内存无法及时对处理器进行响应造成的尾延迟。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的一种内存管理方法实施例的步骤流程图;
图2是本发明的一种内存控制器的内存管理示意图;
图3是本发明的一种内存管理装置的结构示意图;
图4是本发明示例提供的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。
方法实施例
参照图1,示出了本发明的一种内存管理方法实施例的步骤流程图,所述方法具体可以包括如下步骤:
步骤101、在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存。
步骤102、在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应。
其中,所述第一内存和所述第二内存互为备份副本,在所述目标内存为所述第一内存的情况下,所述备份副本为所述第二内存;在所述目标内存为所述第二内存的情况下,所述备份副本为所述第一内存。
本发明实施例提供的内存管理方法,应用于内存控制器,所述内存控制器用于对第一内存和第二内存进行控制。可以理解的是,第一内存和第二内存仅用于区别不同的内存,并不对内存控制器接入的内存数目进行限制。本发明实施例中的内存可以是内存条,也可以是内存颗粒,或者是一排或者多排内存颗粒。本发明中的第一内存、第二内存可以是DRAM,也可以采样更大容量的静态随机存取存储器(Static Random-Access Memory,SRAM),SRAM的访问速度比DRAM更快,但是按照容量计算,相同内存容量需求下,使用SRAM的成本比使用DRAM的成本更高。
本发明实施例中的处理器可以是CPU,也可以是数据处理器(Data ProcessingUnit,DPU),还可以是现场可编程门阵列(Field Programmable Gate Array,FPGA)、专用集成电路(Application Specific Integrated Circuit,ASIC)中的处理模块或处理单元。
在本发明实施例中,内存控制器可以接入两个及以上的内存,每个内存都有其对应的至少一个备份副本,任一内存和其备份副本中存储有相同的数据。以第一内存和第二内存为例,只要内存控制器接收到处理器针对第一内存和第二内存中的任意一个的第一写指令,就将第一写指令中携带的数据同步写入第一内存和第二内存中,这样第一内存和第二内存中就会同步存储相同的数据,实现相互之间的数据冗余。存储有相同数据的第一内存和第二内存互为备份副本。
可以理解的是,为了保证接收到的写指令中的数据均能同步写入第一内存和第二内存中,第一内存和第二内存的型号、存储容量等需要相同,处理器可以访存的内存地址,都对应第一内存和第二内存上互为备份的存储单元。
在第一内存和第二内存中互为备份副本的情况下,如果接收到处理器针对目标内存的访存指令,且该目标内存不支持与处理器进行即时交互,那么就可以将该访存指令发送至备份副本,由备份副本对该访存指令进行响应。需要说明的是,目标内存可以是第一内存,也可以是第二内存,如果目标内存为第一内存,那么备份副本就是第二内存;如果目标内存为第二内存,那么备份副本就是第一内存。
目标内存不支持与处理器进行即时交互,指的是目标内存当前正在进行其他操作,无法对处理器进行正常响应,如果等待目标内存对处理器进行响应,就会造成额外的访存延迟。例如,目标内存正在进行背景操作,如DRAM刷新、周期性校准、周期性读等操作,进行这些操作时,目标内存无法与处理器交互数据,就会造成尾延迟。其中,尾延迟是指较少出现但远大于平均延迟的高访问延迟。DRAM的存储单元中有电容,电容随着时间推移会逐步失去电荷,从而造成存储单元中的信息损坏。因此,DRAM需要定期进行刷新操作,保证存储信息的完整性。DRAM运行过程中,温度和电压可能发生变化,一些在初始化阶段进行训练的参数需要重新训练更新,一般包括周期性ZQ校准和周期性读中心化(read centering),其中周期性ZQ校准(ZQ Calibration Short,ZQCS)用于定期校准240欧姆电阻。周期性读中心化即重新计算读取延迟以及其他相关的参数。一般内存控制器设定一个计时器,在计时器计满中断发生后进行周期性校准。
可选地,所述目标内存不支持与所述处理器进行即时交互,包括:所述目标内存正在执行背景操作;所述背景操作包括以下至少一项:
系统内存刷新;
周期性校准;
周期性读写操作。
在本发明实施例中,如果目标内存正在执行背景操作,如系统内存刷新、周期性校准、周期性读写等周期性操作,则可以确定目标内存不支持与处理器进行即时交互。
当然,如果目标内存因执行其他操作或被其他处理器或任务占用,无法及时对发送访存指令的处理器进行服务,也属于不支持与处理器进行即使交互的情况,本发明实施例对此不做具体限定。
在本发明实施例中,如果目标内存不支持与处理器进行即时交互,可以直接将访存指令发送至备份副本,由备份副本对访存指令进行响应,无需等待目标内存对访存指令进行响应,节省了处理器的访存等待时间,从而避免了因目标内存无法及时对处理器进行响应造成的尾延迟。
本发明实施例提供的内存管理方法,可以应用于需要网络实时响应的应用(例如云游戏),或者需要实时计算的车载芯片等对尾延迟敏感的场景,以节省处理器的访存等待时间,避免因目标内存无法及时对处理器进行响应造成的尾延迟。本发明实施例提供的内存管理方法还可以应用于骨干网路由器的访存场景中,骨干网是用于连接多个区域或地区的高速网络,骨干网路由器的包转发对访存延迟要求很高,一般在骨干网中只使用SRAM,采用本发明实施例提供的内存管理方法,就可以降低访存延迟,从而在骨干网中也可以使用DRAM等低成本的存储器件,在保证访存性能的同时节省了存储成本。
需要说明的是,本发明实施例中的访存指令可以包括写指令、读指令等。例如,如果接收到针对第一内存的写指令,此时第一内存正在进行背景操作,不支持与处理器进行即时交互,则可以将该写指令发送给第二内存,由第二内存对写指令进行响应,执行数据写入操作。如果接受到针对第一内存的读指令,在第一内存正在进行背景操作的情况下,可以将该读指令发送至第二内存,由第二内存对写指令进行响应,执行数据读取操作。
在本发明的一种可选实施例中,所述访存指令包括写指令;步骤102所述在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应,包括:
步骤S11、在接收到处理器针对所述目标内存的写指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述写指令发送至所述备份副本,以使所述备份副本对所述写指令进行响应;所述写指令中携带访存地址;
步骤S12、将所述访存地址写入所述目标内存对应的写缓冲区中;
步骤S13、在所述目标内存满足即时交互条件的情况下,从所述目标内存的写缓冲区中读取所述访存地址;
步骤S14、根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中。
在本发明实施例中,可以针对每一个内存分配一个写缓冲区,用于暂存相应信息,如写指令中携带的访存地址、目标内存的通道号、备份内存的通道号,等等。如果接收到针对目标内存的写指令,但此时目标内存并不支持与处理器进行即时交互,可以将该写指令发送至备份副本,由备份副本对该写指令进行响应,也即将访存地址对应的第一目标数据写入备份副本中。
进一步地,还可以将该写指令中携带的访存地址写入该目标内存对应的写缓冲区中,从而在目标内存满足即时交互条件的情况下,从目标内存的写缓冲区中读取暂存的访存地址,基于该访存地址从备份副本中获取第一目标数据并写入目标内存中,以保证目标内存与备份副本中写入相同的数据。其中,目标内存满足即时交互条件,即为目标内存此时能够对处理器进行服务,响应该写指令。例如,如果目标内存已经完成背景操作,或者该目标内存已经解除了被其他任务的占用,就可以确定该目标内存满足即时交互条件。
作为一种示例,假设有两个DRAM内存条A和B,分别对应两个通道,由同一个内存控制器控制。内存条A和内存条B的数据冗余,即同一份数据同时存在于这两个内存条中。内存条A和内存条B分别有一个对应的写缓冲区,具有足够的深度。现在需要从内存条A读取数据a, 而内存条A正在进行背景操作,无法进行数据交互。如果内存条B没有进行背景操作,可以先访问内存条B读取数据a,而无需等待内存条A完成背景操作。相似地,如果需要向DRAM写入数据b,内存条A正在进行背景操作,而内存条B没有进行背景操作,则可以先把访存地址写入内存条A对应的写缓冲区1中,同时地,将数据b写入内存条2中。等待内存条A完成背景操作后,由内存控制器从内存条A对应的写缓冲区1中读取访存地址,在后台根据访存地址从内存条B中将数据b逐步地搬运到内存条A,而无需等待内存条A完成背景操作。
作为另一种示例,假设有2排DRAM内存颗粒C和D,内存颗粒C和内存颗粒D互为备份副本,当前C排正在进行背景操作,因此无法与处理器进行数据交互,而D排没有进行背景操作。C排和D排分别具有一个对应的、具有足够深度的写缓冲区。当收到目标是C排的读请求时,可以先从D排读出所需数据,无需等待C排完成背景操作;当收到目标是C排的写请求时,可以将数据先写入C排对应的写缓冲区中,同时写入D排中。等待C排完成背景操作后,由内存控制器将数据从C排对应的写缓冲区中逐步地写入C排颗粒。
在本发明实施例中,还可以通过多个同步工作的内存控制器对不同的内存条进行调度。作为一种示例,假设两个内存控制器E和F同步工作,每个内存控制器分别管理2个内存条,其中内存控制器E管理e1和e2两个内存条,内存控制器F管理f1和f2两个内存条,每个内存条都有对应的、具有足够深度的写缓冲区。每个内存控制器管理的内存条是同步进行背景操作的,但不同内存控制器错开进行背景操作。即,内存条e1和e2同步进行背景操作,内存条f1和f2同步进行背景操作,但内存条e1和f1不同步进行背景操作。对应地,内存条e1和f1互为备份副本,内存条e2和f2互为备份副本。假设内存条e1和e2正在进行背景操作,无法与处理器交互数据。当收到目标是内存条e1的读指令时,可以先从内存条f1读出所需数据,无需等待内存条e1完成背景操作;当收到目标是内存条e2的写请求时,可以将数据先写入内存条e2对应的写缓冲区中,同时写入内存条f2中。等待e2完成背景操作后,由内存控制器将数据从内存条e2对应的写缓冲区中逐步地写入e2。
可选地,所述内存控制器中包括存储模块;在所述根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中之前,所述方法还包括:
步骤S21、若所述目标内存对应的写缓冲区已满,则将所述访存地址写入所述存储模块中;
步骤S22、在所述目标内存满足即时交互条件的情况下,从所述存储模块中读取所述访存地址。
在本发明实施例中,可以在内存控制器中增加一个存储模块,用于在写指令中访存地址对应的内存的写缓冲区已满时,存储相应信息。可以理解的是,存储模块的容量要远大于内存对应的写缓冲区的容量。
在一种可能的实现方式中,内存控制器可以采用分布式管理的方式设置存储模块,也即将内存控制器接入的各个内存条的保留区域设置为本发明实施例中的存储模块,在目标内存不支持与处理器进行即时交互时,哪个内存条支持与处理器的即时交互,且其保留区域空闲,就将写指令中的访存地址存入哪个内存条的保留区域中。可选地,所述存储模块包括所述内存控制器接入的各个内存条的保留区域;将第三内存的保留区域确定为所述存储模块,所述第三内存为所述内存控制器接入的内存条中支持与处理器进行即时交互,且保留区域空闲的内存条。在另一种可能的实现方式中,也可以采用单独的大容量存储器件作为本发明实施例中的存储模块,内存控制器接入的各个内存均共享该存储模块。
如果内存控制器接收到针对目标内存的写指令,且该目标内存此时不支持与处理器进行即时交互,则可以先查询该目标内存对应的写缓冲区是否存在空闲区域,如果该目标内存对应的写缓冲区存在空闲数据,则将访存地址暂存至写缓冲区中,待目标内存满足即时交互条件之后再从写缓冲区中读取访存地址。
如果目标内存对应的写缓冲区已满,则可以将访存地址暂存在存储模块中,等待目标内存满足即时交互条件之后再从存储模块中读取访存地址。
基于访存地址,就可以从备份副本中获取该访存地址对应的第一目标数据,由内存控制器在不干扰其他请求的时间间隙将第一目标数据写入目标内存中。
可选地,所述将所述访存地址写入所述目标内存对应的写缓冲区中之前,所述方法还包括:
步骤S31、根据所述目标内存的周期性操作的执行周期,确定所述目标内存所需的缓冲区大小;
步骤S32、根据所述缓冲区大小为所述目标内存分配对应的写缓冲区。
在本发明实施例中,写缓冲区可以有多种实现方式。作为一种示例,可以根据目标内存的背景操作的最大延迟,也即周期性操作的执行周期,例如,刷新操作的最大时间间隔、周期性读操作的读取周期等,计算出足够大的缓冲深度,也即确目标内存所需的缓冲区大小,从而根据缓冲区大小为目标内存分配一个足够大的写缓冲区。
另一种实现方式就是采用较小的写缓冲区,在写缓冲区已满的情况下,内存控制器将待写入的数据,包括写指令中携带的访存地址、目标内存对应的通道号、备份副本的通道号等写入特定的存储模块中,待目标内存满足即时交互条件后从,内存控制器检查该存储模块,如果索引到了与目标内存相匹配的通道号,则根据该通道号对应的访存地址和备份副本的通道号,从备份副本中读取该访存地址对应的第一目标数据,并将第一目标数据拷贝到目标内存中。
在本发明的一种可选实施例中,所述访存指令包括读指令;步骤102所述在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应,包括:
步骤S41、在接收到处理器针对所述目标内存的读指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述读指令发送至所述备份副本,以使所述备份副本对所述读指令进行响应;
步骤S42、从所述备份副本中获取与所述读指令相匹配的第二目标数据;
步骤S43、将所述第二目标数据发送至所述处理器。
在本发明实施例中,如果内存控制器接收到针对目标内存的读指令,且此时目标内存不支持与处理器进行即时交互,则可以将该读指令发送至该目标内存的备份副本中,由备份副本对该读指令进行响应。内存控制器从备份副本中获取读取的第二目标数据,并将第二目标数据返回给处理器,以避免产生尾延迟。
以第一内存、第二内存为DRAM内存条为例,参照图2,示出了本发明实施例提供的一种内存控制器的内存管理示意图。如图2所示,内存控制器中包括控制模块、存储模块,以及与内存控制器控制的所有内存条一一对应的写缓冲区。可以理解的是,图2中仅示出了两个内存条:DRAM内存条1和DRAM内存条1,实际上内存控制器可以同时接入并控制多个内存条,图2仅为本发明的一种示例性说明,并不构成对本发明中内存控制器的结构及接入的内存条数目的限定。
其中,控制模块用于对内存控制器控制的所有内存条进行追踪,检查内存条当前是否支持与处理器进行即时交互,以及内存条对应的写缓冲区是否已满。根据追踪的情况,在对目标内存进行写操作的同时,给备份副本发送相同的数据和信号,从而使备份副本和目标内存条同步地写入相同的数据。在对目标内存条进行读取时,如果目标内存条不支持与处理器进行即时交互,例如,目标内存条当前正在进行背景操作,则将读指令发给没有进行背景操作的内存条,也即目标内存条的备份副本,从而及时获取读取的数据并返回给CPU,避免产生尾延迟。
写缓冲区,具有一定的深度,用于存储对应内存条进行需要延时写入的数据和访存地址。当该内存条满足即时交互条件后,例如,完成背景操作后,由内存控制器在不干扰其他请求的时间间隙逐步地将数据搬运到对应内存条中。
存储模块用于在访存地址对应的内存条的写缓冲区已满时,存储相应信息。当目标内存条满足即时交互条件后,内存控制器查询该存储模块,获得所需信息,进而在后台从备份副本逐步搬运所需数据到目标内存条。
可选地,所述方法还包括:
步骤S51、接收所述处理器发送的内存读写请求,所述内存读写请求中携带请求地址;
步骤S52、查询所述存储模块和所述内存控制器中各个内存的写缓冲区中是否存在与所述请求地址相匹配的数据块;
步骤S53、若所述存储模块中存在与所述请求地址相匹配的数据块,则从所述存储模块中获取与所述请求地址相匹配的数据块;
步骤S54、若所述写缓冲区中存在与所述请求地址相匹配的数据块,则从所述写缓冲区中获取与所述请求地址相匹配的数据块;
步骤S55、将所述数据块发送至所述处理器。
在本发明实施例中,如果内存控制器(或者图2所示的控制模块)接收到一个内存读写请求,则可以先查询内存控制器接入的各个内存的写缓冲区和存储模块是否有与该内存读写请求中的请求地址相匹配的数据块。如果写缓冲区中存在与请求地址相匹配的数据块,则从写缓冲区中获取该数据块并反馈给处理器。如果存储模块中存在与请求地址相匹配的数据块,则从存储模块中获取该数据块并反馈给处理器。
相比于查询内存,利用内存中的数据完成请求,从写缓冲区或存储模块中获取数据块可以节省查询时间,提升处理效率。
综上,本发明实施例提供了一种内存管理方法,通过将针对第一内存和/或第二内存的写指令中携带的数据同步写入第一内存和第二内存中,使得第一内存和第二内存互为备份副本,从而在接收到针对目标内存的访存指令,且目标内存不支持与处理器的即时交互的情况下,由备份副本对访存指令进行响应,无需等待目标内存支持即时交互后再对访存指令进行响应,节省了处理器的访存等待时间,从而避免了因目标内存无法及时对处理器进行响应造成的尾延迟。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
装置实施例
参照图3,示出了本发明的一种内存管理装置的结构框图,应用于内存控制器,所述内存控制器用于对第一内存和第二内存进行控制;所述装置具体可以包括:
第一控制模块301,用于在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存;
第二控制模块302,用于在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应;
其中,所述第一内存和所述第二内存互为备份副本,在所述目标内存为所述第一内存的情况下,所述备份副本为所述第二内存;在所述目标内存为所述第二内存的情况下,所述备份副本为所述第一内存。
可选地,所述访存指令包括写指令;所述第二控制模块,包括:
第一发送子模块,用于在接收到处理器针对所述目标内存的写指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述写指令发送至所述备份副本,以使所述备份副本对所述写指令进行响应;所述写指令中携带访存地址;
第一处理子模块,用于将所述访存地址写入所述目标内存对应的写缓冲区中;
第二处理子模块,用于在所述目标内存满足即时交互条件的情况下,从所述目标内存的写缓冲区中读取所述访存地址;
第三处理子模块,用于根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中。
可选地,所述访存指令包括读指令;所述第二控制模块,包括:
第二发送子模块,用于在接收到处理器针对所述目标内存的读指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述读指令发送至所述备份副本,以使所述备份副本对所述读指令进行响应;
第四处理子模块,用于从所述备份副本中获取与所述读指令相匹配的第二目标数据;
第三发送子模块,用于将所述第二目标数据发送至所述处理器。
可选地,所述装置还包括:
缓冲区确定模块,用于根据所述目标内存的周期性操作的执行周期,确定所述目标内存所需的缓冲区大小;
缓冲区分配模块,用于根据所述缓冲区大小为所述目标内存分配对应的写缓冲区。
可选地,所述内存控制器中包括存储模块;所述装置还包括:
地址写入模块,用于若所述目标内存对应的写缓冲区已满,则将所述访存地址写入所述存储模块中;
地址读取模块,用于在所述目标内存满足即时交互条件的情况下,从所述存储模块中读取所述访存地址。
可选地,所述装置还包括:
接收模块,用于接收所述处理器发送的内存读写请求,所述内存读写请求中携带请求地址;
查询模块,用于查询所述存储模块和所述内存控制器中各个内存的写缓冲区中是否存在与所述请求地址相匹配的数据块;
第一获取模块,用于若所述存储模块中存在与所述请求地址相匹配的数据块,则从所述存储模块中获取与所述请求地址相匹配的数据块;
第二获取模块,用于若所述写缓冲区中存在与所述请求地址相匹配的数据块,则从所述写缓冲区中获取与所述请求地址相匹配的数据块;
数据块发送模块,用于将所述数据块发送至所述处理器。
可选地,所述目标内存不支持与所述处理器进行即时交互,包括:所述目标内存正在执行背景操作;所述背景操作包括以下至少一项:
系统内存刷新;
周期性校准;
周期性读写操作。
综上,本发明实施例提供了一种内存管理装置,通过将针对第一内存和/或第二内存的写指令中携带的数据同步写入第一内存和第二内存中,使得第一内存和第二内存互为备份副本,从而在接收到针对目标内存的访存指令,且目标内存不支持与处理器的即时交互的情况下,由备份副本对访存指令进行响应,无需等待目标内存支持即时交互后再对访存指令进行响应,节省了处理器的访存等待时间,从而避免了因目标内存无法及时对处理器进行响应造成的尾延迟。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
关于上述实施例中的处理器,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
参照图4,是本发明实施例提供的一种电子设备的结构框图。如图4所示,所述电子设备包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行前述实施例的内存管理方法。
所述处理器可以是CPU(Central Processing Unit,中央处理器),通用处理器、DSP(Digital Signal Processor,数字信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmble Gate Array,现场可编程门阵列)或者其他可编辑器件、晶体管逻辑器件、硬件部件或者其任意组合。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
所述通信总线可包括一通路,在存储器和通信接口之间传送信息。通信总线可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线、EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线、SDRAM(SynchronousDynamic Random-Access Memory,同步动态随机存取内存)总线、DDR(Double Data RateSDRAM,双倍速率同步动态随机存储器)总线等。所述通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图4中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器可以是ROM(Read Only内存,只读内存)或可存储静态信息和指令的其他类型的静态存储设备、RAM(Random Access,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically Erasable Programmable ReadOnly,电可擦可编程只读内存)等。
本发明实施例还提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备(服务器或者终端)的处理器执行时,使得处理器能够执行图1所示的内存管理方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种内存管理方法、装置、电子设备及可读存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种内存管理方法,其特征在于,应用于内存控制器,所述内存控制器用于对第一内存和第二内存进行控制;所述方法包括:
在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存;
在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应;
其中,所述第一内存和所述第二内存互为备份副本,在所述目标内存为所述第一内存的情况下,所述备份副本为所述第二内存;在所述目标内存为所述第二内存的情况下,所述备份副本为所述第一内存;所述第一内存和所述第二内存的型号、存储容量相同;
所述目标内存不支持与所述处理器进行即时交互,包括:所述目标内存当前正在进行其他操作,无法对所述处理器进行正常响应;
所述访存指令包括写指令;所述在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应,包括:
在接收到处理器针对所述目标内存的写指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述写指令发送至所述备份副本,以使所述备份副本对所述写指令进行响应;所述写指令中携带访存地址;
将所述访存地址写入所述目标内存对应的写缓冲区中;
在所述目标内存满足即时交互条件的情况下,从所述目标内存的写缓冲区中读取所述访存地址;
根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中。
2.根据权利要求1所述的方法,其特征在于,所述访存指令包括读指令;所述在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应,包括:
在接收到处理器针对所述目标内存的读指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述读指令发送至所述备份副本,以使所述备份副本对所述读指令进行响应;
从所述备份副本中获取与所述读指令相匹配的第二目标数据;
将所述第二目标数据发送至所述处理器。
3.根据权利要求1所述的方法,其特征在于,所述将所述访存地址写入所述目标内存对应的写缓冲区中之前,所述方法还包括:
根据所述目标内存的周期性操作的执行周期,确定所述目标内存所需的缓冲区大小;
根据所述缓冲区大小为所述目标内存分配对应的写缓冲区。
4.根据权利要求1所述的方法,其特征在于,所述内存控制器中包括存储模块;在所述根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中之前,所述方法还包括:
若所述目标内存对应的写缓冲区已满,则将所述访存地址写入所述存储模块中;
在所述目标内存满足即时交互条件的情况下,从所述存储模块中读取所述访存地址。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
接收所述处理器发送的内存读写请求,所述内存读写请求中携带请求地址;
查询所述存储模块和所述内存控制器中各个内存的写缓冲区中是否存在与所述请求地址相匹配的数据块;
若所述存储模块中存在与所述请求地址相匹配的数据块,则从所述存储模块中获取与所述请求地址相匹配的数据块;
若所述写缓冲区中存在与所述请求地址相匹配的数据块,则从所述写缓冲区中获取与所述请求地址相匹配的数据块;
将所述数据块发送至所述处理器。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述目标内存不支持与所述处理器进行即时交互,包括:所述目标内存正在执行背景操作;所述背景操作包括以下至少一项:
系统内存刷新;
周期性校准;
周期性读写操作。
7.一种内存管理装置,其特征在于,应用于内存控制器,所述内存控制器用于对第一内存和第二内存进行控制;所述装置包括:
第一控制模块,用于在接收到处理器针对所述第一内存和/或所述第二内存的第一写指令的情况下,将所述第一写指令中携带的数据同步写入所述第一内存和所述第二内存;
第二控制模块,用于在接收到处理器针对目标内存的访存指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述访存指令发送至备份副本,以使所述备份副本对所述访存指令进行响应;
其中,所述第一内存和所述第二内存互为备份副本,在所述目标内存为所述第一内存的情况下,所述备份副本为所述第二内存;在所述目标内存为所述第二内存的情况下,所述备份副本为所述第一内存;所述第一内存和所述第二内存的型号、存储容量相同;
所述目标内存不支持与所述处理器进行即时交互,包括:所述目标内存当前正在进行其他操作,无法对所述处理器进行正常响应;
所述访存指令包括写指令;所述第二控制模块具体用于:
在接收到处理器针对所述目标内存的写指令的情况下,若所述目标内存不支持与所述处理器进行即时交互,则将所述写指令发送至所述备份副本,以使所述备份副本对所述写指令进行响应;所述写指令中携带访存地址;
将所述访存地址写入所述目标内存对应的写缓冲区中;
在所述目标内存满足即时交互条件的情况下,从所述目标内存的写缓冲区中读取所述访存地址;
根据所述访存地址从所述备份副本中读取所述访存地址对应的第一目标数据,并将所述第一目标数据写入所述目标内存中。
8.一种电子设备,其特征在于,所述电子设备包括处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放可执行指令,所述可执行指令使所述处理器执行如权利要求1至6中任一项所述的内存管理方法。
9.一种可读存储介质,其特征在于,当所述可读存储介质中的指令由电子设备的处理器执行时,使得所述处理器能够执行如权利要求1至6中任一项所述的内存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311692024.3A CN117389483B (zh) | 2023-12-11 | 2023-12-11 | 一种内存管理方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311692024.3A CN117389483B (zh) | 2023-12-11 | 2023-12-11 | 一种内存管理方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117389483A CN117389483A (zh) | 2024-01-12 |
CN117389483B true CN117389483B (zh) | 2024-02-23 |
Family
ID=89468728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311692024.3A Active CN117389483B (zh) | 2023-12-11 | 2023-12-11 | 一种内存管理方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117389483B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268013A (zh) * | 2014-10-17 | 2015-01-07 | 中国人民解放军国防科学技术大学 | 一种快速的全系统模拟器确定性回放方法 |
CN105224391A (zh) * | 2015-10-12 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机的在线备份方法及系统 |
CN114003181A (zh) * | 2022-01-04 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 数据写镜像系统、方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2531295A (en) * | 2014-10-15 | 2016-04-20 | Ibm | A data block based backup method |
US10732885B2 (en) * | 2018-02-14 | 2020-08-04 | Commvault Systems, Inc. | Block-level live browsing and private writable snapshots using an ISCSI server |
-
2023
- 2023-12-11 CN CN202311692024.3A patent/CN117389483B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104268013A (zh) * | 2014-10-17 | 2015-01-07 | 中国人民解放军国防科学技术大学 | 一种快速的全系统模拟器确定性回放方法 |
CN105224391A (zh) * | 2015-10-12 | 2016-01-06 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机的在线备份方法及系统 |
CN114003181A (zh) * | 2022-01-04 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 数据写镜像系统、方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117389483A (zh) | 2024-01-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11048645B2 (en) | Memory module, operation method therof, and operation method of host | |
CN110347331B (zh) | 存储器模块和包括存储器模块的存储器系统 | |
US11379381B2 (en) | Main memory device having heterogeneous memories, computer system including the same, and data management method thereof | |
US7543114B2 (en) | System and controller with reduced bus utilization time | |
JP5666722B2 (ja) | メモリ・インターフェース | |
KR20170141538A (ko) | 오브젝트 스토리지 장치 및 상기 오브젝트 스토리지 장치의 동작 방법들 | |
CN102073461A (zh) | 输入输出请求调度方法、存储控制器和存储阵列 | |
US11461024B2 (en) | Computing system and operating method thereof | |
US10515671B2 (en) | Method and apparatus for reducing memory access latency | |
WO2021138017A1 (en) | Signalling for heterogeneous memory systems | |
WO2024036985A1 (zh) | 存储系统及其计算存储处理器、固体硬盘和数据读写方法 | |
CN110537172B (zh) | 混合存储器模块 | |
CN117992360A (zh) | 存储系统及存储方法 | |
CN115495433A (zh) | 一种分布式存储系统、数据迁移方法及存储装置 | |
CN117389483B (zh) | 一种内存管理方法、装置、电子设备及可读存储介质 | |
CN106776390A (zh) | 多设备访问存储器的实现方法 | |
CN116560560A (zh) | 存储数据的方法和相关装置 | |
JP2002157091A (ja) | ストレージサブシステム及びそのシステムに使用する記憶装置 | |
US12086638B2 (en) | Topology of accelerators | |
US20230359578A1 (en) | Computing system including cxl switch, memory device and storage device and operating method thereof | |
US12032845B2 (en) | Memory controller partitioning for hybrid memory system | |
US20230111351A1 (en) | Topology of accelerators | |
CN113806061A (zh) | 一种内存分配方法、存储介质及嵌入设备 | |
CN116257176A (zh) | 数据存储系统、数据存储方法和存储介质 | |
CN117008824A (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 | ||
GR01 | Patent grant |