当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于支持持久存储器的方法和装置制造方法及图纸

技术编号:12874910 阅读:54 留言:0更新日期:2016-02-17 11:45
一种处理设备以处理单元、存储器管理系统和在持久存储器域中的持久存储器为特征。所述处理设备为在所述处理单元上运行的应用提供增强写回(WB-E)存储器空间。所述存储器管理系统将所述WB-E存储器空间映射到所述持久存储器。所述应用通过执行指令以将数据存储到在所述WB-E存储器空间中的地址而创建WB-E数据。响应于所述应用创建WB-E数据,自动将WB-E数据存储到与所述处理单元相关联的高速缓存中。响应于在所述应用已经针对多个存储器地址创建了WB-E数据之后所述应用执行提交指令,所述存储器管理系统自动确保用于所述应用的所有WB-E数据已经被保存到持久存储器域。描述并要求保护其它实施例。

【技术实现步骤摘要】
【国外来华专利技术】
本文所描述的实施例总体上涉及数据处理,并且更具体地涉及用于支持持久存储器的方法和装置
技术介绍
传统的数据处理设备可以使用易失性和非易失性数据存储设备二者。例如,数据处理设备可以使用硬盘驱动器作为非易失性大容量存储设备,同时使用随机存取存储器(RAM)作为易失性存储设备。数据处理设备还可以使用非易失性闪速存储器。易失性存储设备还可以称为非持久存储设备。相反地,非易失性存储设备还可以称为持久存储设备。持久存储设备即使在未被供电时也维持其内容,而非持久存储设备在未被供电时并不可靠地维持其内容。通常,持久大容量数据存储设备(例如,硬盘驱动器)是文件可寻址的,而非持久数据存储设备(例如,RAM)是位置可寻址或字节可寻址的。然而,持久存储设备也可以是位置可寻址或字节可寻址的。例如,数据处理设备的启动代码可以驻留在字节可寻址的闪速存储器上。出于本公开的目的,术语“持久存储器”指的是位置可寻址的或字节可寻址的数据存储设备,其即使在不被供电时也保持其内容。数据处理设备可以使用一个或多个高速缓存用于改善的性能。例如,中央处理单元(CPU)可以包括一个或多个级别的高速缓存。类似地,存储器控制器和其它部件可以包括数据缓冲器。另外,数据处理设备可以被配置为使用不同的技术以在不同的存储器空间存储数据。例如,可寻址存储器空间中的一些或全部可以被配置为作为写回(WB)存储器操作。当应用、操作系统或其它软件将数据存储到WB存储器时,数据实际首先被保存到高速缓存中,然后仅在特定条件下或在预定的间隔处数据被写入到最终存储器位置。当新的数据已经写入到高速缓存但是还未写入到存储器中的对应位置时,在高速缓存中的数据被认为是新的,而在存储器中的老的数据被认为是陈旧的。另外,包含新的数据的高速缓存行被认为是脏(dirty)的。当操作系统或应用将数据存储或写入到持久存储器中的指定位置时,在认为完成存储指令或操作的时间与实际将数据存储在持久存储器中的时间之间可能存在显著的延迟。因此,如果在应用已经执行了存储指令之后但在相对应的数据已经到达持久存储器域之前丢失了电力,则可能发生错误结果。出于本公开的目的,术语“持久存储器域”指的是即使在数据到达硬件部件之后丢失电力也能保证接收到的数据被保存在持久存储器中的所述(那些)硬件部件(或部件集合)。另外,术语“PM软件”指的是将数据存储到持久存储器的应用软件、将数据存储到持久存储器的操作系统、或者将数据存储到持久存储器的其它类型的软件。另外,术语“耐久的(durable)”可以用于指代已经到达持久存储器域的数据。如果软件开发者非常关心并密切关注多个细节,则开发者可以设计解决电力损失和错误结果的风险的PM软件。但是,如下文详细描述的,在应用软件级别解决这些风险可能不是解决这些风险的最佳方式。软件开发者可以使用用于支持持久存储器的改善方法和 目.ο【附图说明】图1是具有用于支持持久存储器的特征的示例性数据处理系统的框图;图2是示出了示例性存储器空间的集合的框图;图3是使用持久存储器的示例性过程的流程图;图4Α和4Β表示描绘用于支持持久存储器的示例性操作序列的序列图;图5Α和5Β表示用于支持持久存储器的示例性过程的流程图;以及图6是描绘用于支持持久存储器的替代示例性操作序列的序列图。【具体实施方式】在常规的高速缓存一致、字节可寻址的、持久存储器系统中,因为到WB存储器的滞后写入在它们到达持久存储器域之前完成,所以软件需要针对要求耐久性的写入采取额外的预防措施。出于本公开的目的,“滞后写入”是在要写入的数据实际到达最终存储目的地之前被认为完成的写入。滞后写入数据例如可以位于处理单元中,在高速缓存层级内的某处,或者在存储器控制器中。并且如果发生电力故障,则数据将在没有到达持久存储器域中的耐久性的情况下丢失。因此,软件必须确保写入内容在软件认为原子、一致、隔离且耐久(ACID)事务完成之前到达持久存储器域。例如,发布随机写入的应用软件(例如,在线事务处理(0LTP)应用)可能需要阻塞进一步执行应用,直到每个写入被冲洗(flush)出以确保在软件能够进行到下一步骤之前数据已经到达持久存储器域。可替代地,如下文更详细描述的,为了确保提交的事务是耐久的,执行事务的软件有必要(a)跟踪受所述事务影响的所有存储器地址,以及(b)明确将那些地址中的每一个(以高速缓存行(cache line)粒度)冲洗出高速缓存。用于支持持久存储器的改善方法和装置使得软件能够确保提交的事务是耐久的,而不要求软件跟踪受事务影响的所有存储器地址,并且不要求软件明确以高速缓存行粒度将那些地址中的每一个冲洗出高速缓存。图1是具有用于支持持久存储器的特征的示例性数据处理系统10的框图。如本文使用的,术语“处理系统”和“数据处理系统”旨在广泛地包括单个机器、或通信地耦合的机器或一起运行的设备构成的系统。例如,两个或更多个机器可以使用在点对点模型、客户端/服务器模型或云计算模型上的一个或多个变型进行协作,以提供本文所描述功能的一些或全部。在图1的实施例中,数据处理系统10包括本地处理设备20和远程处理设备12。在图1的实施例中,远程处理设备12为其它设备(例如,本地处理设备20)提供网络附加存储(NAS) 18。可以针对本地处理设备20和远程处理设备12使用任意适当类型的处理设备。在一些实施例中,可以省略远程处理设备。在图1的实施例中,在处理系统10中的处理设备经由一个或多个网络14彼此连接或彼此通信。网络可以包括局域网(LAN)和/或广域网(WAN)(例如,互联网)。出于本详细描述的目的,本地处理设备20还可以简称为“处理设备20”。在图1的实施例中,处理设备20特征在于至少一个中央处理单元(CPU)或处理器22,以及易失性随机存取存储器(RAM) 50、持久存储器(PM) 60、网络端口 70、以及一个或多个非易失性大容量数据存储设备,例如,硬盘驱动器(HDD) 40。RAM 50、PM 60和端口 70可以响应于或耦合到处理器22。HDD 40可以经由I/O控制器90耦合到处理器22。额外的输入/输出(I/O)部件(例如,键盘、显示器等)也可以响应于或耦合到处理器22。处理器22可以包括一个或多个处理器核心。处理器核心还可以称为处理单元或处理元件。在图1的实施例中,HDD 40包含操作系统(0S) 42和应用44。应用44还可以称为应用代码。处理设备20可以将0S 42和应用44复制到RAM 50以供执行。应用44还可以与RAM 50中的数据一起工作,并且应用44可以将不同类型或种类的数据保存到不同的非易失性介质以进行保留。在图1的实施例中,应用44被设计为将应用数据66保存到持久存储器60。因此,应用44也可以称为PM软件。应用44还可以将数据保存到其它本地和/或远程存储设备。例如,应用44可以将应用数据46保存在HDD 40以及将应用数据16保存在NAS 18。在图1的实施例中,处理设备20的存储器架构包括主存储器控制器(MMC)30、高速缓存控制器32、以及至少一级别的处理器高速缓存34。在图1的实施例中,MMC 30、高速缓存控制器32、以及高速缓存34直接或间接地耦合到处理器22。在可替代实施例中,MMC、高速缓存控本文档来自技高网...

【技术保护点】
一种具有支持持久存储器的特征的数据处理系统,所述数据处理系统包括:处理元件;至少一种机器可访问介质,其响应于所述处理元件,其中,所述至少一种机器可访问介质包括在持久存储器域内操作的持久存储器;以及存储器管理系统,其促进所述处理元件和所述持久存储器之间的通信,其中,所述存储器管理系统被配置为使得所述数据处理系统能够执行以下操作,包括:为在所述处理元件上运行的应用提供增强写回(WB‑E)存储器空间;将所述WB‑E存储器空间映射到所述持久存储器;响应于由所述应用创建WB‑E数据,自动将所述WB‑E数据存储在与所述处理元件相关联的高速缓存中,其中,所述应用通过执行指令以将数据存储到在所述WB‑E存储器空间中的地址而创建WB‑E数据;以及响应于在所述应用已经针对多个存储器地址创建了WB‑E数据之后由所述应用执行提交指令,自动确保用于所述应用的所有所述WB‑E数据已经被保存到所述持久存储器域。

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

【专利技术属性】
技术研发人员:S·萨克蒂维鲁R·B·巴恩森G·塞勒
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国;US

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

1
相关领域技术
  • 暂无相关专利