用于移动数据块的方法、存储器系统及存储介质技术方案

技术编号:13032813 阅读:145 留言:0更新日期:2016-03-17 04:42
本文公开的示例提供在源地址和目标地址之间移动数据块。所述示例公开:启动数据移动引擎,以将所述数据块从所述源地址移动至所述目标地址。此外,所述示例公开:以允许处理器在所述移动期间同时访问所述数据块的方式,将所述数据块从所述源地址移动至所述目标地址。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
非易失性存储器(NVM)可能对存储器系统提出各种挑战。例如,存储器磨损和/或延迟问题可能与NVM关联。这些问题可引起损坏的和/或延迟的数据。【附图说明】在附图中,相同的数字指相同的组件或块。下面的详细描述参考图,其中:图1是示例存储器控制器的框图,该存储器控制器包括用于将数据块从源地址移动至目标地址的数据移动引擎;图2是示例存储器控制器的框图,该存储器控制器包括数据移动引擎、以及用于引导对从源地址至对应的目标地址的数据块的访问的映射,数据移动引擎进一步包括用于确定与数据块对应的一行数据是否已移动、未移动或正在移动的过程中的追踪器;图3是用于发起数据块从源地址到目标地址的移动且因此移动数据块的示例方法的流程图;图4是用于将目标地址的块映射到源地址的块且用于将数据块从源地址移动至目标地址的示例方法的流程图;图5是用于发起数据块从源地址到目标地址的移动、接收读或写事务、以及因此访问数据块的示例方法的流程图;以及图6是示例计算设备的框图,该计算设备具有用于执行机器可读存储介质中的指令的处理器,以发起数据块的移动,并因此将数据块从源地址移动至目标地址。【具体实施方式】存储器系统可包括在非易失性存储器可能正经历磨损和/或延迟问题时重新安置来自该存储器的数据的引擎。这些引擎提供对数据的有限访问,同时程序和/或设备可在访问数据之前等待一段时间来完成移动。这还可产生用于访问数据的附加延迟时段。为了解决这些问题,本文公开的示例启动数据移动引擎,以将数据块从源地址移动至目标地址。此外,本文公开的各示例以使处理器能够在移动期间同时访问数据块的方式,将数据块从源地址移动至目标地址。这维持在整个移动过程对数据块的立即访问。此夕卜,通过将数据块从源地址移动至目标地址,数据移动引擎透明地迀移数据,以防止磨损并减少关联的延迟。此外,在允许对移动的数据块的立即访问中,数据移动引擎提供提高的系统性能。在另一实施方式中,数据移动引擎接收与数据块中的数据行对应的读操作。在此实施方式中,数据移动引擎可参考追踪器,以确定该数据行是否已移动。如果该数据还未移动,数据移动弓I擎使处理器能够在源地址处读访问数据块。如果数据已移动,数据移动弓I擎使处理器能够在目标地址处读访问数据块。追踪器是有效的工具,用于追踪哪些数据行已移动,且因此随后指导对源地址或目标地址的读访问。在又一实施方式中,数据移动引擎接收与数据行对应的写操作。在此实施方式中,数据移动引擎利用追踪器来确定与数据块对应的数据行是否已移动。如果数据移动引擎确定该数据行仍未移动,数据移动引擎可在源地址处写(例如,修改)该数据行。如果数据移动引擎确定该数据行已移动,数据移动引擎可在目标地址处写该数据行。可替代地,如果数据移动引擎确定该数据行仍未移动,数据移动引擎可在目标地址处写该行,并在追踪器中将该数据行记录为已移动。此实施方式通过使处理器能够在数据移动期间写访问,而提供附加的效率。综上,本文公开的示例通过使处理器能够在移动期间同时访问数据块,而提供移动数据块的有效且透明的方式。现在参照各图,图1是示例存储器控制器102的框图,存储器控制器102包括用于将数据块108从源地址106移动至目标地址110的数据移动引擎104。图1图示出计算系统内的用于移动数据块的组件。数据移动引擎104以使处理器112能够访问数据块108的方式移动数据块108。对数据块108的访问可包括读和/或写操作。处理器112可基于数据块108是否已移动、未移动、在进行中,来访问源地址106或目标地址110处的数据块108。在此实施方式中,数据移动引擎104使处理器112能够在移动期间同时访问数据块108。在之后的各图中详细描述此实施方式。存储器控制器102是管理数据移动引擎104移动数据块108的功能的可编程设备。因此,存储器控制器102的实施方式包括电子设备、计算设备、微处理器、微芯片、芯片集、电子电路、半导体、微控制器、中央处理单元(CPU)、或被编程为管理数据移动引擎104的资源和功能的其他类型的电子设备。数据移动引擎104是存储器控制器102内的被配置为移动数据块108的组件。数据移动引擎104可以以高速缓存行的增量来移动数据块108。在此实施方式中,数据移动引擎104可包括追踪器(未图示),数据移动引擎104利用追踪器确定与数据块108对应的哪些行数据已从源地址106移动至目标地址110。利用追踪器确定与数据块108对应的哪些行数据已移动使得数据移动引擎104能够提供处理器112在移动期间同时访问源地址106和/或目标地址110处的数据块108。在另一种实施方式中,数据移动引擎104可包括存储器控制器102内部的用于移动数据块108的硬件组件。源地址106是数据块108在由数据移动引擎104移动之前可能驻留的存储器位置。源地址106是存储数据块108的存储器,且因此,源地址106的实施方式可包括只读存储器、动态随机存取存储器(DRAM)、闪存、相变存储器(PCRAM)、自旋转移矩随机存取存储器(STT-RAM)、电阻式随机存取存储器(ReRAM)、忆阻器、或能够在移动之前保存数据块108的其他类型的计算机存储器。在一个实施方式中,源地址106作为非易失性存储器的部分被包括。非易失性存储器可随着时间损坏和/或从多次写经历磨损,等等。使得数据移动引擎104能够将数据块从源地址106移动至目标地址110防止数据块108损坏,且进一步防止源地址磨损。在另一个实施方式中,操作系统(未图示)可传输源地址106和目标地址110,以发起数据块108的移动。数据块108是一系列比特和/或字节的数据值。数据块108可驻留在源地址106处,且一旦由数据移动引擎104移动可迀移到目标地址110。在此移动期间,数据块108可由处理器112访问。在一个实施方式中,数据块108由数据移动引擎以高速缓存行增量的方式移动。在此实施方式中,由于多个高速缓存行数据可对应于数据块108,处理器112 —次读或写一个高速缓存行。将数据块108分隔成多行数据使得数据移动引擎104能够确定哪些行数据已移动,哪些行数据还未移动(即,未移动)或正在移动的过程中。目标地址110是与处理器112关联的存储器位置,数据移动引擎104将数据块108移动到该存储器位置中。目标地址110可包括易失性存储器位置,用于使得能够访问数据块108,且因此,目标地址110的实施方式包括随机存取存储器、动态随机存取存储器、静态存储器、或能够存储数据块108的其他类型的存储器。处理器112包括用于存储数据块108的目标地址110。基于访问是读还是写访问、以及数据块108是否已移动,数据移动引擎可同时将处理器112对数据108的访问路由到源地址106或目标地址110。处理器112是能够包括目标地址110的电子设备,且因此,处理器112的实施方式包括计算设备、微处理器、微芯片、控制器、芯片集、电子电路、半导体、微控制器、中央处理单元(CPU)、或能够访问目标地址110的其他类型的电子设备。在一个实施方式中,与处理器112关联的操作系统(未图示)向数据移动引擎104提供源地址106和目标地址110。提供地址106和110触发数据移动引擎104开始将数据块108本文档来自技高网...

【技术保护点】
一种方法,能由计算设备执行,以在源地址和目标地址之间移动数据块,所述方法包括:启动数据移动引擎以将所述数据块从所述源地址移动至所述目标地址;以及以允许处理器在所述移动期间同时访问所述数据块的方式,将所述数据块从所述源地址移动至所述目标地址。

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

【专利技术属性】
技术研发人员:格雷格·B·莱萨日特罗斯·W·赫里尔达莱·C·莫里斯
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

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

1