用于更新无源可变电阻式存储器中的数据的方法和装置制造方法及图纸

技术编号:9467521 阅读:86 留言:0更新日期:2013-12-19 03:47
提供了用于更新无源可变电阻式存储器(PVRM)中的数据的方法和装置。在一个实例中,公开了用于更新被存储在PVRM中的数据的方法。所述方法包括在没有使存储器块无效的情况下,更新高速缓存层次结构中多个存储器块的存储器块。所述更新后的存储器块可以被从所述高速缓存层次结构复制到直写缓冲器。此外,所述方法包括将所述更新后的存储器块写入到所述PVRM,从而更新所述PVRM中的数据。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】提供了用于更新无源可变电阻式存储器(PVRM)中的数据的方法和装置。在一个实例中,公开了用于更新被存储在PVRM中的数据的方法。所述方法包括在没有使存储器块无效的情况下,更新高速缓存层次结构中多个存储器块的存储器块。所述更新后的存储器块可以被从所述高速缓存层次结构复制到直写缓冲器。此外,所述方法包括将所述更新后的存储器块写入到所述PVRM,从而更新所述PVRM中的数据。【专利说明】用于更新无源可变电阻式存储器中的数据的方法和装置公开的领域本公开涉及用于更新被存储在存储器中的数据的方法和装置。公开的背景常规的计算系统被设计折中利用易失性存储器和传统非易失性存储器的不同特点,以及在易失性存储器和传统的非易失性存储器之间权衡。例如,非易失性存储器(例如DRAM, SRAM等)提供相对快存取字节的寻址能力。然而,如其名称所暗示,在断电或通电断电循环后,易失性存储器丢失其状态信息。相反,传统的非易失性存储器(例如,闪存,硬盘等)在断电或通电断电循环后保留其状态信息。然而,传统的非易失性存储器具有一些缺点。例如,传统的非易失性存储器通常需要基于块的更新。也就是说,为了更新传统非易失性存储器中的单个值,往往需要更新存储器块中的所有的值。如本领域的技术人员所理解的,这会增加等待时间和不必要地占用计算资源。因此,常规的计算系统在易失性和传统的非易失性存储器类型两者中保存数据。例如,被CPU频繁存取的数据可以被临时存储(即,高速缓存)在易失性存储器中,所述易失性存储器往往被存储在CPU的芯片(例如,SRAM)内,用于快速存取。然而,由于易失性存储器在断电或通电断电循环后丢失其状态信息,对基于易失性存储器的高速缓存的某些更新(例如,文件系统数据)必须最终被复制在非易失性存储器(例如,硬盘、闪存等)中,用于永久性存储。对被存储在非易失性存储器中的数据的更新通常通过相对慢的基于块的接口,例如高速扩展接口(PC1-E)实现。然而,由于存取被摆在首位的传统非易失性存储器是相对慢的,PC1-E接口的使用基本上不会降低常规计算系统的整体存储器存取时间。也就是说,永久性存储已经按常规在具有相对慢的存取时间的非易失性存储器类型中实施。例如,被存储在硬盘中的数据会花费数毫秒存取,而被存储在闪存存储器中的数据会花费数微秒存取。同样,在没有明显影响性能的情况下,常规的永久性存储更新机制(即,促进更新永久性存储的硬件和/或软件)采用相应慢的接口(例如,PC1-E和其他同等慢的接口)。然而,正出现新的存储类型,其表现出比例如硬盘和/或闪存更快的存取时间。这些新存储类型表现出字节寻址能力(与存储器类型中,例如闪存的基于块的寻址能力相比)和非易失性。因此,为了利用由这些新的存储类型提供的更快存取时间,对应采用块的永久性存储更新机制。现有的永久性存储更新机制太慢,难以利用由这些新的存储类型提供的更快存取时间,因此,不适合用于这些新的存储类型。同时,现有的主存储器更新机制(即,促进更新主存储器的硬件和/或软件)可以给这些新的存储类型提供合适的存取时间,然而,这些更新机制不能提供回写完成的可见度的软件(例如,操作系统)。不能提供回写完成的可见度的软件会导致计算装置文件系统的不一致(例如,由操作系统实施的文件系统)。如本领域所知,计算装置的操作系统(OS)可以实施被设计用于组织、管理和分类在计算装置的存储组件(例如,DRAM,硬盘、闪存等)上被保存为文件的数据的文件系统。文件系统负责将存储组件的物理扇区(例如,存储器的512比特物理扇区)组织成文件和目录,以及保持跟踪哪个扇区属于哪个文件,以及哪个扇区未被使用。大多数文件系统将数据定址在被称为“存储器块”的固定大小的单元中。为了保持一致性和耐久性,如本领域所知的那些术语一样,文件系统必须知道写入何时到达永久性存储,以及必须能够定义特定写入之间的排序。例如,如本领域所知,影子分页文件系统必须确保在将索引节点文件更新到新的数据文件点之前,数据文件被更新。然而,如果索引节点文件的回写在数据文件被写回之前发生,那么永久性存储将是不一致的。因此,对于硬件来说,保持由软件规定的回写的排序是很重要的。许多现有的主存储器更新机制不向软件提供永久性存储的回写可见度。其他现有主存储器更新机制可以向软件提供回写可见度,但是过分地慢。虽然存在可以被用来提供必要的排序约束的写策略,但是这些现有的策略不足以用于上述的新的存储类型。例如,排序约束问题的一个常规解决方案是使用回写存储器(WB)。如其名称所暗示,WB存储器仅当脏高速缓存块(dirty cache block)(即,高速缓存器中正被写入的高速缓存块)被从高速缓存层次结构中排除时,向主存储器写入。系统中的这样的高速缓存一致性协议确保所有处理器(例如,CPU和/GPU)看到WB块的一致视图,即使主存储器实际正在存储过期数据。通过利用缓存刷新或非暂时存储指令,将数据回退主存储器,以上述方式采用WB存储器的系统可以提供必要的排序约束。例如,CFLUSH x86指令使高速缓存层次结构中所规定的高速缓存线地址的所有复制无效,以及如果块是脏的,将其写入到主存储器。同时,x86非暂时存储指令将数据写入到缓存块,接着使缓存块主存储器无效。这两种指令类型相对于其他存储器操作是弱排序的,因此,必须插入MFENCE或SFENCE指令,以便对这两种指令类型相对于其他存储器操作排序。这种解决方案相关的一个缺陷是,当CFLUSH指令被用于使高速缓存线无效时,其导致对高速缓存线的任何后续存取错失缓存和错失存取主存储器。在特定数据被更新相当频繁的情况下,这会导致明显的性能下降。如本文所使用,数据可以包括命令/指令或任何其他合适的信息。可替代使用不可缓存(UC)存储器,而不使用WB存储器。UC存储器超过WB存储器的一个优点是UC存储器存取不被记录,以及写入直接更新主存储器。因此,UC在没有需要MFENCE指令的情况下,提供必要的排序约束。然而,不允许高速缓存要求所有UC存储器直接存取主存储器以及所有UC读取刷新写入缓冲器,否则会增加带宽需求,导致与上述的WB/CFLUSH解决方案相比更大的性能下降。另一个解决方案包括使用写结合(WC)存储器。WC存储器类似于UC存储器,但是其允许写入被合并和彼此不按次序被执行。进一步地,WC读取被推理执行。然而,WC存储器仍然不可缓存,所有的存取必须进入主存储器,导致性能下降。另一个解决方案包括使用直写式(WT)存储器。类似于WB存储器,WT存储器可以被高速缓存。而且,对WT存储器的写入直接写入到主存储器,从而消除对CFLUSH指令的需求。然而,WT解决方案仍然需要大量带宽,这是因为所有的WT存储器写入必须进入主存储器。总之,常规的主存储器更新机制不能利用展现的非易失性、字节寻址能力和快速存取时间的新存储器类型的许多优点。因此,存在设计利用这些新的存储器类型的更快存取时间、字节寻址能力和非易失性的方法和装置的必要。附图简述结合下列绘图以及所述绘图中表示类似元件的类似参考编号,在阅读下列描述后,本公开将变得更加易于理解,其中:图1是示出根据本公开,用于更新无源可变电阻式存储器(PVRM)中的数据的装置的一个实例的框图。图2是示出根据本公开,用于更新PVRM本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:布拉德·贝克曼莉萨·徐
申请(专利权)人:超威半导体公司
类型:
国别省市:

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

1