一种混合内存的数据迁移方法及装置制造方法及图纸

技术编号:22754931 阅读:29 留言:0更新日期:2019-12-07 03:54
一种混合内存的数据迁移方法,应用于存储架构系统管理技术领域,包括:当进行写操作时,判断第一内存与第二内存是否发生数据迁移;若第一内存与第二内存发生数据迁移,则待写入数据为待迁移数据,将待迁移数据存入第一交换缓存,以及,获取与待迁移数据对应的交换数据,将交换数据存入第二交换缓存;当进行读操作时,将迁移数据写入第二内存,以及,将交换数据写入第一内存。本公开还提供了一种混合内存的数据迁移装置。以上过程,有效解决了现有技术中混合内存数据迁移速度慢、内存系统性能受数据迁移影响的问题。

A data migration method and device of mixed memory

A mixed memory data migration method is applied to the field of storage architecture system management technology, including: when writing, judge whether the first memory and the second memory have data migration; if the first memory and the second memory have data migration, the data to be written is the data to be migrated, store the data to be migrated into the first exchange cache, and obtain the data to be migrated According to the corresponding exchange data, the exchange data is stored in the second exchange cache; when reading, the migration data is written to the second memory, and the exchange data is written to the first memory. The invention also provides a data migration device of mixed memory. The above process effectively solves the problems of slow migration speed of mixed memory data in the prior art, and the performance of memory system is affected by data migration.

【技术实现步骤摘要】
一种混合内存的数据迁移方法及装置
本公开涉及存储架构系统管理
,尤其涉及一种混合内存的数据迁移方法及装置。
技术介绍
动态随机存储器(DynamicRandomAccessMemory,简称DRAM)一直以来都是计算机内存系统的首要选择,其结构简单,具有很高的集成度,读写速度快,读写功耗低。但是随着计算机体系结构技术的不断发展和集成电路工艺水平的不断提高,DRAM高静态功耗和可扩展性差的问题日益凸显。新型非易失性存储器(NonVolatileMemory,简称NVM)相比于DRAM,具有非易失、静态功耗极低、存储密度更高的优势。结合DRAM读写速度快和NVM静态功耗低、存储密度高的优势,构建混合内存系统,既能提高内存系统的容量,降低内存系统的功耗,还能保证内存系统的性能不受太大影响。NVM读功耗和读速度与DRAM相当,但是写功耗和写速度与DRAM相比还有一定差距,另外部分NVM还具有写次数有限的问题,为了减少对NVM的写次数,DRAM与NVM之间需要进行数据迁移,由于在DRAM与NVM混合内存系统中实现数据迁移需要时间,迁移会对内存系统性能造成一定影响,还会增加存储系统的能耗。
技术实现思路
本公开提供了一种混合内存迁移的数据方法及装置,为混合内存提供相应的数据迁移方法,提高数据迁移的速度。本公开的一个方面提供了一种混合内存的数据迁移方法,所述混合内存包括第一内存和第二内存,其特征在于,包括:当进行写操作时,判断所述第一内存与所述第二内存是否发生数据迁移;若所述第一内存与所述第二内存发生数据迁移,则待写入数据为待迁移数据,将所述待迁移数据存入第一交换缓存,以及,获取与所述待迁移数据对应的交换数据,将所述交换数据存入第二交换缓存;当进行读操作时,将所述迁移数据写入所述第二内存,以及,将所述交换数据写入所述第一内存。可选地,所述当进行写操作时,判断所述第一内存与所述第二内存是否发生数据迁移包括:接收数据高速缓存通过总线发送来的写请求和写地址,根据所述写地址查询对应的实际物理地址,所述实际物理地址为所述第一内存或所述第二内存内的内存页的地址;若所述实际物理地址为所述第一内存内的内存页的地址,判断所述第一内存内的内存页的写次数是否达到预设阈值;若所述第一内存内的内存页的写次数达到了所述预设阈值,则所述第一内存将与所述第二内存将发生数据迁移;若所述第一物理地址的内存页的写次数未达到所述预设阈值,则所述第一内存将与所述第二内存不发生数据迁移。可选地,判断所述第一内存与所述第二内存是否发生数据迁移之后,接收所述数据高速缓存通过所述总线发送来的所述待写入数据。可选地所述接收数据高速缓存通过总线发送来的写请求和写地址,根据所述写地址查询对应的实际物理地址包括:查询所述混合内存内的地址重映射表;若所述地址重映射表中存在所述写地址,获取所述写地址对应的实际物理地址;若所述地址重映射表中不存在所述写地址,则所述写地址即为实际物理地址。可选地,所述方法还包括:若所述地址重映射表中不存在所述写地址,且所述第一内存与所述第二内存发生了数据迁移,将所述写地址和与所述第一内存发生数据迁移的所述第二内存的实际物理地址存入所述地址重映射表中;若所述地址重映射表中存在所述写地址,且所述第一内存与所述第二内存发生了数据迁移,将所述写地址在地址重映射表中对应的实际物理地址进行更新。可选地,若所述实际物理地址为所述第二内存内的内存页的地址,则将所述待写入数据存入所述第二内存的写缓存中,然后将所述待写入数据写入所述第二内存。可选地,若所述实际物理地址为所述第一内存内的内存页的地址,且所述第一内存内的内存页的写次数未达到所述预设阈值,则将所述待写入数据存入所述第一内存的写缓存中,然后将所述待写入数据写入所述第一内存。可选地,所述所述当进行读操作时,包括:接收所述数据高速缓存通过所述总线发送来的读请求和读地址,所述读地址为所述第一内存或所述第二内存的地址;根据所述读请求,从所述读地址表示的所述第一内存或所述第二内存中读取数据,存入所述读缓存中;通过所述总线向所述数据高速缓存返回所述读缓存中的数据。可选地,所述第二内存的交换数据为与第一内存发生数据迁移的交换数据,大小一个cache块大小。本公开的另一个方面提供了一种混合内存的数据迁移装置,包括:第一处理模块,用于当进行写操作时,判断所述第一内存与所述第二内存是否发生数据迁移;第二处理模块,用于若所述第一内存与所述第二内存发生数据迁移,则待写入数据为待迁移数据,将所述待迁移数据存入第一交换缓存,以及,获取与所述待迁移数据对应的交换数据,将所述交换数据存入第二交换缓存;第三处理模块,用于当进行读操作时,将所述迁移数据写入所述第二内存,以及,将所述交换数据写入所述第一内存。在本公开实施例采用的上述至少一个技术方案能够达到以下有益效果:本公开实施例提供了一种混合内存的数据迁移方法及装置,实现了DRAM与新型NVM之间的数据迁移分时进行,使数据迁移不影响数据高速缓存(data_cache,简称dcache)对混合内存的访问。同时,dcache写混合内存与从DRAM读出迁移数据并行进行,dcache读混合内存与将迁移数据写回新型NVM和DRAM并行进行,这种dcache对混合内存的读写与数据迁移并行的操作提高了混合内存中数据迁移的速度。附图说明为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:图1示意性示出了本公开实施例提供的一种混合内存的数据迁移方法方法的流程图;图2示意性示出了本公开实施例提供的一种混合内存控制器的结构框图;图3示意性示出了本公开实施例提供的一种混合内存控制器的状态图;图4示意性示出了本公开实施例提供的一种混合内存的数据迁移装置的结构框图。具体实施方式以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作本文档来自技高网...

【技术保护点】
1.一种混合内存的数据迁移方法,所述混合内存包括第一内存和第二内存,其特征在于,包括:/n当进行写操作时,判断所述第一内存与所述第二内存是否发生数据迁移;/n若所述第一内存与所述第二内存发生数据迁移,则待写入数据为待迁移数据,将所述待迁移数据存入第一交换缓存,以及,获取与所述待迁移数据对应的交换数据,将所述交换数据存入第二交换缓存;/n当进行读操作时,将所述迁移数据写入所述第二内存,以及,将所述交换数据写入所述第一内存。/n

【技术特征摘要】
1.一种混合内存的数据迁移方法,所述混合内存包括第一内存和第二内存,其特征在于,包括:
当进行写操作时,判断所述第一内存与所述第二内存是否发生数据迁移;
若所述第一内存与所述第二内存发生数据迁移,则待写入数据为待迁移数据,将所述待迁移数据存入第一交换缓存,以及,获取与所述待迁移数据对应的交换数据,将所述交换数据存入第二交换缓存;
当进行读操作时,将所述迁移数据写入所述第二内存,以及,将所述交换数据写入所述第一内存。


2.根据权利要求1所述的方法,其特征在于,所述当进行写操作时,判断所述第一内存与所述第二内存是否发生数据迁移包括:
接收数据高速缓存通过总线发送来的写请求和写地址,根据所述写地址查询对应的实际物理地址,所述实际物理地址为所述第一内存或所述第二内存内的内存页的地址;
若所述实际物理地址为所述第一内存内的内存页的地址,判断所述第一内存内的内存页的写次数是否达到预设阈值;
若所述第一内存内的内存页的写次数达到了所述预设阈值,则所述第一内存将与所述第二内存发生数据迁移;
若所述第一内存内的内存页的写次数未达到所述预设阈值,则所述第一内存将与所述第二内存不发生数据迁移。


3.根据权利要求2所述的方法,其特征在于,判断所述第一内存与所述第二内存是否发生数据迁移之后,接收所述数据高速缓存通过所述总线发送来的所述待写入数据。


4.根据权利要求2所述的方法,其特征在于,所述接收数据高速缓存通过总线发送来的写请求和写地址,根据所述写地址查询对应的实际物理地址包括:
查询所述混合内存内的地址重映射表;
若所述地址重映射表中存在所述写地址,获取所述写地址对应的实际物理地址;
若所述地址重映射表中不存在所述写地址,则所述写地址即为实际物理地址。


5.根据权利要求1至4所述的方法,其特征在于,所述方法还包括:
若所述地址重映射表中不存在所述写地址,且所述...

【专利技术属性】
技术研发人员:刘晨吉陈岚倪茂郝晓冉孙浩
申请(专利权)人:中国科学院微电子研究所
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1