掌桥专利:专业的专利平台
掌桥专利
首页

混合存储级内存及其磨损均衡方法

文献发布时间:2023-06-19 09:54:18


混合存储级内存及其磨损均衡方法

技术领域

本公开涉及存储器技术领域,尤其涉及一种混合存储级内存及其磨损均衡方法。

背景技术

近年来,以相变存储器(PCM,Phase Change Memory)、磁随机存储器(MRAM,Magnetic Random Access Memory)、阻变随机存储器(RRAM,Resistive Random AccessMemory)、3D-Xpoint等为代表的非易失存储器(NVM,Non-Volatile Memory)技术快速发展。新型非易失存储器件与动态随机存储器(DRAM,Dynamic Random Access Memory)内存相比,具有更高的密度和更大的容量。与磁盘相比,具有更快的读写速度。随着非易失存储器件技术的发展,存储级内存(SCM,Storage Class Memory)的概念被提出。存储级内存同时具有按字节访问(类似于DRAM)和大容量存储(类似于外部存储设备)的双重特性。

文件系统是操作系统中用来组织和管理数据的一套软件机制。因为数据最终是存储在介质上的,所以介质的特性往往会影响文件系统的设计。文件系统可以分为磁盘文件系统和内存文件系统。磁盘文件系统如ext2、ext3、ext4等主要用来管理传统磁盘设备。内存文件系统又可以分为易失性内存文件系统和非易失性内存文件系统。易失性内存文件系统,如ramfs和tmpfs等,使用内核中的虚拟文件系统(VFS)的通用组织结构,把所有的元数据(如超级块和索引节点)和数据都存放于内存。由于元数据是存放在内核临时分配的虚拟地址空间中,每次加载的元数据在内存中的位置不确定,物理内存也会随着断电而回收。因此,易失性内存文件系统不具备持久性。另一种是持久化的内存文件系统。持久化内存文件系统的元数据结构一般固定存放在非易失性内存的已知位置中。系统重启后,可以在非易失内存的确定位置找到元数据结构,利用非易失性恢复数据,从而实现数据的持久化存储。

发明内容

(一)要解决的技术问题

基于上述问题,本公开提供了一种混合存储级内存及其磨损均衡方法,以缓解现有技术中智能终端不能满足存储系统功耗和容量需求,非易失存储部分的磨损不均衡等技术问题。

(二)技术方案

本公开的一个方面,提供一种混合存储级内存,包括:相变存储器,其一部分作为持久化存储,形成持久化内存文件系统单元;以及动态随机存储器,其和所述相变存储器的另一部分共同作为混合内存管理单元;其中,所述相变存储器和动态随机存储器统一编址,通过内存接口连接到总线。

在本公开实施例中,所述相变存储器处于高地址空间,所述动态随机存储器处于低地址空间。

在本公开实施例中,所述持久化内存文件系统单元全部处于相变存储器中,占用混合存储级内存空间的四分之一到二分之一。

在本公开实施例中,所述混合内存管理单元还包括混合内存控制器,通过加入硬件模块对混合内存单元的内存进行管理。

本公开的另一方面,提供一种混合存储级内存磨损均衡方法,用于使上述任一项所述的混合存储级内存实现磨损均衡,所述混合存储级内存磨损均衡方法,包括:创建位示图来表示现有文件块的配置情况;每隔一间隔在所述文件块中选取一部分作为关键块;根据关键块的访问热度对写入文件进行分配,使得混合存储级内存磨损均衡。

在本公开实施例中,所述创建位示图来表示现有文件块的配置情况,包括:利用二进制表示文件块的分配与否,当值为“0”时,表示对应的文件块是空闲的;当值为“1”时,表示对应的块已经被占用。

在本公开实施例中,所述每隔一间隔在所述文件块中选取一部分作为关键块,包括:根据一段时间内,内存文件系统中所写入文件的平均大小,除以单个文件块的大小,得到这段时间内写入文件的平均文件块数量,依此为关键块选取间隔。

在本公开实施例中,根据关键块的访问热度对写入文件进行分配,包括:根据关键块的访问次数获得关键块的访问热度;写入文件时,遍历查找访问热度最低的关键块,将写入文件分配至对应该访问热度最低的关键块后的空闲文件块中。

在本公开实施例中,写入文件时,将写入文件分配至对应该访问热度最低的关键块后的空闲文件块中,包括:判定写入文件的冷热属性,如写入文件为热文件时,遍历查找访问热度最低的关键块,将写入文件分配至对应该访问热度最低的关键块后的空闲文件块中;如写入文件为冷文件时,直接分配至空闲文件块中。

在本公开实施例中,所述热文件为短时间内修改频繁的文件;所述冷文件为存储在终端中长期不会修改的文件。

(三)有益效果

从上述技术方案可以看出,本公开混合存储级内存及其磨损均衡方法至少具有以下有益效果其中之一或其中一部分:

(1)优化了物联网智能终端的存储体系架构;

(2)持久化存储部分的磨损更均衡,提升存储系统的使用寿命;

(3)能够大幅提升物联网智能终端的性能。

附图说明

图1为本公开实施例混合存储级内存的架构示意图。

图2为本公开实施例采用位示图来表示文件块的示意图。

图3为本公开实施例混合存储级内存磨损均衡方法的流程示意图。

具体实施方式

本公开提供了一种混合存储级内存及其磨损均衡方法,其混合存储级内存架构,能够通过同时使用DRAM和PCM构成混合存储级内存,统一编址后,以内存接口连接到总线。而且通过内存接口进行数据交换,大幅提升了物联网智能终端的性能。

在实现本公开的过程中发明人发现,随着物联网智能终端本地处理能力的逐渐增强,有越来越多的复杂应用需要在物联网智能终端进行现场处理,对终端的存储能力的需求也日益增长。随着新型非易失存储器件的出现,在终端存储体系结构中合理使用非易失存储器件,该混合存储级内存适用于物联网智能终端,传统的终端一般不进行大规模存储,大部分终端中产生的数据会被上传到云端。而该混合存储级内存所适用的物联网终端,具备较强的本地处理能力,需要存储相对较多的数据。持久化内存可发挥其高密度,大容量等优势,可以有效解决智能终端对存储系统功耗和容量的需求。

为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。

在本公开实施例中,提供一种混合存储级内存,如图1所示,所述混合存储级内存,包括:

相变存储器,其一部分作为持久化存储,形成持久化内存文件系统单元;以及

动态随机存储器,其和所述相变存储器的另一部分共同作为混合内存管理单元;其中,所述相变存储器和动态随机存储器统一编址,通过内存接口连接到总线。

在本公开实施例中,在混合存储级内存架构中,PCM的一部分作为内存使用,利用PCM不需要刷新的优势,降低内存系统功耗;PCM的另一部分作为持久化存储使用,利用其非易失的特性,构建大容量、高速IO的存储结构,替代传统架构中的NAND Flash等外部存储介质。

所述混合内存管理单元还包括混合内存控制器,通过加入硬件模块对混合内存进行管理;

一般情况下,由于PCM页面的写操作性能差,功耗高,且写次数有限,可以通过内存控制器记录页面访问次数,筛选出PCM介质上写操作密集的页面,迁移到DRAM介质中。从而提升混合内存部分的性能,在本公开中不涉及具体迁移算法。本公开重点关注持久化内存文件系统部分的管理。

所述相变存储器处于高地址空间;所述动态随机存储器占据低地址空间;

由于DRAM和PCM是统一编址的,DRAM和PCM所在物理空间的起始和终止地址是已知的。在本公开中,DRAM占据低地址空间,PCM处于高地址空间。为了保证内存文件系统的持久性,在本公开中要保证持久化内存文件系统在空间范围,全部在PCM上。这样才能保证内存文件系统的持久性。

本公开在内存物理地址空间上划出一部分,作为持久化内存文件系统的空间。由于新型非易失存储器的访问速度已经远超传统外存介质,为了进一步提升内存文件系统的性能,可以通过直接IO的方式,绕过页缓存(页缓存page cache的作用是缓存外部慢速存储中的数据),从而减少文件冗余的复制,提升混合存储级内存系统的性能。

为了不影响整个系统的性能,在内存有限的情况下,一般可以将整个混合存储级内存四分之一到二分之一划为持久化内存文件系统使用。举例来说,总容量为4GB的混合存储级内存(物理地址为00000000~FFFFFFFF),前1GB为DRAM(物理地址00000000~3FFFFFFF),后3GB为PCM(物理地址40000000~FFFFFFFF)。我们需要保证持久化内存文件系统使用的是PCM空间(物理地址40000000~FFFFFFFF),同时还要留下足够的空间,作为内存使用,保证系统正常工作。我们可以用1GB的高地址空间作为持久化内存文件系统的空间(物理地址C0000000~FFFFFFFF)。

在实现本公开的过程中发明人发现,在现有技术条件下,非易失性存储器的写次数是有限的。当存储单元的写次数达到一定程度,对应的存储单元就会损坏,无法再被使用。尤其是当某一区域被频繁的写,会导致在短时间内加快该区域磨损,降低了PCM的使用寿命。PCM这种新型非易失存储器件能承受的写次数是有限的。虽然PCM的可写次数已经达到10

为了解决上述问题,本公开还提供一种混合存储级内存磨损均衡方法,对以上所述的混合存储级内存进行磨损均衡,本公开提出的磨损均衡策略在文件系统中,通过感知文件的特征,对文件的读写特性进行了预判和分类,可以实现较为理想的磨损均衡效果。而且,本方法与现有的集成于控制器中的磨损均衡策略不冲突,可以同时应用于非易失存储器件的管理中,实现软件和硬件的协同管理,提升器件的使用寿命。

在本公开中,如图3所示,所述混合存储级内存磨损均衡方法,包括:

操作S1:创建位示图来表示现有文件块的配置情况;

在本公开实施例中,如图2所示,我们采用位示图来表示文件块的分配情况,利用二进制表示文件块的分配与否。在我们所建立的持久化内存文件系统中,每一个文件块都有一个二进制位与之对应。当值为“0”时,表示对应的块是空闲的;当值为“1”时,表示对应的块已经被分配。

操作S2:每隔一间隔在所述文件块中选取一部分作为关键块;

为了实现磨损均衡策略,我们需要对文件块的磨损情况进行评估。如果对每一个文件块都进行磨损均衡管理,会造成巨大的管理开销。因此,我们设置了关键块来对整个存储区域的磨损情况进行评估。由于在位示图中,监视所有块的写入情况成本较高,我们设置了关键块来进行磨损均衡管理。关键块为位示图中每间隔一段空间所选取的块。举例来说,如图2所示,如果把整个位示图视为一个二维数组,那么关键块可以为第一列中的所有块。

关键块的选取需要根据实际应用情况决定,例如关键块的选取间隔根据一段时间内写入文件的平均大小来选取,所处理的应用中,单个文件的平均大小越大,关键块的间隔越大。若所存储的文件较小,则可以适当减少关键块的间隔,设置更多的关键块来监视磨损情况。具体地,我们通过统计一段时间T内,内存文件系统中所写入文件的平均大小,除以单个文件块的大小,得到这段时间内写入文件的平均文件块数,我们将这个值作为关键块选取间隔,以L表示,L取整数,L可以表示为:L=(N/Q)/n;

其中,N为一段时间内访问文件的总大小,Q为文件总数,n为单个文件块的大小,根据需要,可以在每个周期T之后对关键块的间隔进行调整,以适应某一时间段内文件的特征。

操作S3:根据关键块的访问热度对写入文件进行分配,使得混合存储级内存磨损均衡。

当一个文件进入块分配流程时候,会查找目前热度最低的关键块,当定位到热度最低块以后,若该块为空闲块,则可以直接对文件进行分配。若该块已被占用,则顺延到后面的空闲块进行分配。

我们将记录每一个关键块的访问热度,也就是当关键块从“0”转换到“1”的次数。每当关键块从“0”转换到“1”的时候,其对应的“热度”就增加1,也就表示该关键块发生了一次写操作。每当发生新文件的写入时,到文件块的分配这一步,会通过遍历查找关键块中访问热度最低的块,进行分配。如果关键块已经被占用,则按照顺序向后顺延,直到找到关键块后第一个可用的空闲块,进行分配即可。关键块利用了文件块分配的局部性,当关键块是热度较高的块,则其周围的块也有较大可能是热度较高的块。而如果将所有的块的热度都进行统计,则会消耗过多的资源。所以使用关键块法可以在一定程度上解决磨损均衡问题。

在本公开实施例中,为了充分利用文件系统进行磨损均衡管理,在实际的使用中,在写入新文件时,会判定写入文件的冷热属性,如写入文件为热文件时,遍历查找访问热度最低的关键块,将写入文件分配至对应该访问热度最低的关键块后的空闲文件块中;如写入文件为冷文件时,直接分配至空闲文件块中;在本公开中,可以根据文件命名特征以及读写权限等不同特点来区分文件的性质,由此划分冷热文件;也可以在通过用户指定文件的冷热属性,人为定义冷文件和热文件。从而从文件的划分角度进一步优化了磨损均衡策略,从文件系统管理层面设计磨损均衡策略,可以充分利用文件的属性,更有针对性地为文件分配合适的位置。在本公开中,将物联网智能终端中的文件可以分为两种:一种为长期存储在终端中,这种文件一经创建长期不会被修改,多为只读文件,我们定义为冷文件;另一种为短时间内被使用和处理后会被删除或者上传到云端的文件,这种文件修改较为频繁,我们定义为热文件。

由于使用磨损均衡策略会在一定程度上带来性能损失,为了进一步减少上述方法带来的性能损失,我们针对冷文件和热文件设置了不同处理方式。由于文件系统掌握了更多的文件信息,我们利用文件的信息对文件的特性会做一个预测和判断。如果文件被判断为“冷文件”,我们将不对文件做磨损均衡查询,不会去查找关键块的信息。如果文件被判定为“热文件”,我们将会按照上述策略,对文件块的分配过程进行磨损均衡处理。

综上所述,我们的磨损均衡策略流程如下:当一个文件进入块分配流程时候,会查找关键块中目前热度最低的块。当定位到热度最低块以后,若该块为空闲块,则可以直接对文件进行分配。若该块已被占用,则顺延到后面的空闲块进行分配。

至此,已经结合附图对本公开实施例进行了详细描述。需要说明的是,在附图或说明书正文中,未绘示或描述的实现方式,均为所属技术领域中普通技术人员所知的形式,并未进行详细说明。此外,上述对各元件和方法的定义并不仅限于实施例中提到的各种具体结构、形状或方式,本领域普通技术人员可对其进行简单地更改或替换。

依据以上描述,本领域技术人员应当对本公开混合存储级内存及其磨损均衡方法有了清楚的认识。

综上所述,本公开提供了一种混合存储级内存及其磨损均衡方法,简化了物联网智能终端的存储体系架构,使用混合存储级内存替代了原来的内存(一般为DRAM)和外存(NAND Flash等持久化存储介质)。同时,从文件系统角度设计了持久化存储部分的磨损均衡策略,提升存储系统的使用寿命。

还需要说明的是,实施例中提到的方向用语,例如“上”、“下”、“前”、“后”、“左”、“右”等,仅是参考附图的方向,并非用来限制本公开的保护范围。贯穿附图,相同的元素由相同或相近的附图标记来表示。在可能导致对本公开的理解造成混淆时,将省略常规结构或构造。

并且图中各部件的形状和尺寸不反映真实大小和比例,而仅示意本公开实施例的内容。另外,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。

再者,单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。

说明书与权利要求中所使用的序数例如“第一”、“第二”、“第三”等的用词,以修饰相应的元件,其本身并不意味着该元件有任何的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能做出清楚区分。

此外,除非特别描述或必须依序发生的步骤,上述步骤的顺序并无限制于以上所列,且可根据所需设计而变化或重新安排。并且上述实施例可基于设计及可靠度的考虑,彼此混合搭配使用或与其他实施例混合搭配使用,即不同实施例中的技术特征可以自由组合形成更多的实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。并且,在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。

以上所述的具体实施例,对本公开的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本公开的具体实施例而已,并不用于限制本公开,凡在本公开的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。

相关技术
  • 混合存储级内存及其磨损均衡方法
  • 面向非易失性内存的磨损均衡及访问方法、设备和存储介质
技术分类

06120112344088