支持扩展写入的存储器模块控制器制造技术

技术编号:12106707 阅读:82 留言:0更新日期:2015-09-24 00:35
示例方法和装置公开了支持向存储器的扩展写入。本文公开的示例方法包括:在没有处理器干预的情况下将与写入请求相关联的恢复信息存储在存储器中,所述恢复信息用于促进在写入被中断的情况下重做或取消由写入请求所请求的写入,所述写入请求是从处理器接收的并且包括目的地址和新数据;以及如果写入没有被中断,则在没有处理器干预的情况下将新数据写入到存储器中的目的地址。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】
技术介绍
一些计算系统使用随机存取存储器(RAM)设备作为中间存储装置,以用于对也被存储在长期大容量存储设备(例如,磁性存储器、光学存储器、闪速存储器等等)中的数据的相对快速的访问。按照这种方式,计算系统能够通过将来自长期大容量存储设备的数据拷贝到中间RAM设备以及通过访问来自RAM设备的数据来实行更快速的数据访问。用于长期存储装置的固态存储器设备包括非易失性随机存取存储器(NVRAM),比如相变ram (PCRAM)、忆阻器和自旋转移矩随机存取存储器(STT-RAM)。NVRAM是持久存储器,其即使在电力被去除时也保持其中存储的数据。【附图说明】图1A是表示由根据本公开的教导而实现的示例存储器模块控制器所处理的存储器访问命令的示例命令流程图。图1B是具有存储器模块的示例处理器系统,所述存储器模块具有图1A的示例存储器模块控制器。图2图示了表示由图1A和图1B的示例存储器模块控制器所处理的示例原子写入命令的示例命令格式。图3图示了表示由图1A和图1B的示例存储器模块控制器所处理的示例写时拷贝(copy-on-write,COW)写入命令的示例命令格式。图4是图1A、图1B、图2和/或图3的示例存储器模块控制器。图5是表示可以被执行为执行原子写入命令的过程的示例流程图。图6是表示可以被执行为实行存储器的恢复的过程的示例流程图。图7是表示可以被执行为执行COW写入命令的过程的示例流程图。【具体实施方式】可以使用本文公开的示例方法、装置和制造品来实现存储器模块控制器,所述存储器模块控制器处理原子写入命令和/或写时拷贝(COW)命令。这些存储器模块控制器可以记录与用于在处理中断方面使用的命令相关联的恢复信息。本文公开的示例还能够实现存储器模块控制器,所述存储器模块控制器基于来自处理器的单个命令和/或使用比现有系统所要求的更少的处理器干预来对存储器实行多存储器访问过程。可以使用所公开的示例来实现在具有非易失性存储器(例如,闪速设备、忆阻器设备、PCRAM设备、STT-RAM设备等)和/或易失性存储器(例如,动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)等)的存储器模块中的存储器模块控制器。所公开的示例结合包括非易失性存储器和/或易失性存储器和/或其他伪非易失性存储器(例如,具有短期应急电力(例如,来自电池或超级电容器)的动态随机存取存储器(DRAM)和非易失性后备存储库(例如,等同于DRAM存储容量的闪速存储容量))的任何合适类型的持久存储装置而是有用的,所述易失性存储器具有允许该易失性存储器操作为长期存储设备的恒定电源(例如,备用电池)。在本文公开的示例中,系统可以包括具有集成存储器控制器的处理器、存储器总线、以及具有存储器模块控制器和存储器的存储器模块。系统使用户能够存储和访问存储器中的数据或计算机可读指令以通过指令的执行来实现其他过程。处理器的存储器控制器控制由处理器经由存储器总线而实行的存储器访问操作(例如,读取、写入等)。存储器模块的存储器模块控制器控制存储器并且可以在没有处理器(或存储器控制器)干预的情况下实行存储器访问操作。如本文所描述的,处理器是能够实行许多计算任务的通用处理单元。相比之下,存储器模块控制器不是通用的,而是专门用于控制存储器的。因此,如本文所描述的,存储器模块控制器不是处理器。此外,如本文所描述的,存储器控制器是处理器的代理。因此,当本文中对处理器进行引述时,所理解的是,同样的引述可以指的是处理器和/或存储器控制器。通过要求比现有系统所要求的相对更少的由外部处理器或设备(例如,存储器控制器)进行的干预,所公开的示例使存储器模块能够以自主的方式实行操作。按照这种方式,通过要求比现有系统中更少的与处理器和/或存储器控制器的外部通信,所公开的示例使存储器模块能够相对更高效地实行存储器操作。所公开的示例存储器模块控制器可以将来自处理器和/或存储器控制器的存储器访问请求或命令排队或缓存,以随后实行一个或多个存储器访问操作而无需由处理器和/或存储器控制器进行的另外干预。因此,本文公开的示例存储器模块控制器能够自主管理和实行存储器操作,而不要求来自其他处理器和/或存储器控制器的外部控制和通信。本文公开的示例实质上降低了在存储器中存储或更新数据(例如,经由原子写入命令或写时拷贝(cow写入)命令)时从外部处理器和/或存储器控制器要求的总线通信量。本文公开的示例存储器模块控制器可以用在具有固态存储设备的存储器模块中。本文公开的示例存储器模块控制器以相对少的来自外部处理器和/或存储器控制器的牵涉(例如,在外部存储器总线上较少的命令和数据移动)来实行原子写入和/或COW操作。例如,所公开的存储器模块控制器可以接收来自处理器的请求或命令(例如,原子写入或COW写入)以在存储器模块中在存储器位置处写入或更新数据,并且通过实行多个存储器访问(例如,记录恢复信息,向目的地址写入数据,以及擦除恢复信息)来执行请求或命令,以在目的地址处写入和/或更新数据,而不要求超出从处理器接收的初始请求或命令之外的另外的处理器干预。本文公开的示例存储器模块控制器可以接收原子命令,并作为响应而将相关联的恢复信息记录在非易失性日志中。当由于故障停止(fail-stop)事件(例如,系统崩溃、应用崩溃、电力故障,在一些示例中导致系统重启的事件)而出现对于对应原子操作的中断时,存储器模块控制器能够取回恢复信息并取消Undo)或重做(redo)未决的原子写入。在一些示例中,在故障停止事件之后(例如,涉及中断之后对操作的恢复),处理器检查随机存取存储器的非易失性日志区域,并指示存储器模块控制器取消或重做日志中的任何未决的原子写入命令(例如,先前未完成的)。在一些示例中,在重启之后,存储器模块控制器可以自动重做或取消日志中存储的未决原子写入命令,而不要求任何处理器干预(例如,不需要处理器提示存储器模块控制器实行先前未完成的原子写入命令)。在其他示例中,处理器检查在故障停止事件之后的日志;如果它发现一个或多个原子写入是未决的,它就使用(由存储器模块控制器提供的)日志中的恢复信息来生成重做或取消每个未决的原子写入所需要的命令。然后,它可以发出一个或多个命令来擦除所有恢复信息(例如,日志内容)或将所有未决的原子写入都标记为已完成(例如,不再未决)。本文公开的示例方法可以涉及将与原子写入相关联的恢复信息记录在存储器模块中的日志中。在一些示例中,将提交记录(commit record)附到日志,以指示其恢复信息被存储于日志中的原子写入的执行已完成。因此,如果出现中断(例如,系统崩溃、电力故障等),能够使用相关联的提交记录的存在或不存在来确定其恢复信息已被存储于日志中的特定原子写入命令是否的确已被完全执行。然后,所公开的示例存储器模块控制器能够取消和/或重做没有已知已经被完全执行的命令。在一些示例中,所公开的示例存储器模块控制器基于来自处理器的指令来取消或重做原子写入命令。在其他示例中,所公开的示例存储器模块控制器在没有处理器(或存储器控制器)干预的情况下自动取消或重做未决的原子写入命令。一些所公开的针对COW写入的示例方法涉及首先从存储器的第一地址读取第一数据。在这样的示例中,第一地址在由存储器模块控制器本文档来自技高网...

【技术保护点】
一种方法,包括:在没有处理器干预的情况下将与写入请求相关联的恢复信息存储在存储器中,所述恢复信息用于促进在写入被中断的情况下重做或取消由写入请求所请求的写入,所述写入请求是从处理器接收的并且包括目的地址和新数据;以及如果写入没有被中断,则在没有处理器干预的情况下将新数据写入到存储器中的目的地址。

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

【专利技术属性】
技术研发人员:JA图塞克MD利利布里奇W戈拉布
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

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

1