持久存储器中数据的观察制造技术

技术编号:12980415 阅读:56 留言:0更新日期:2016-03-04 01:56
用于可靠地使用数据存储介质的系统和方法。多个处理器被配置为访问持久存储器。对于对应于来自第一处理器的对持久存储器的写访问请求的给定数据块,高速缓存控制器阻止对关联的高速缓存中该给定数据块的拷贝的任何读访问。在检测到还未接收到给定数据块存储在持久存储器中的确认时,高速缓存控制器阻止任何读访问。在接收到确认之前,高速缓存控制器都只对第一处理器中最初发送写访问请求的线程允许对关联的高速缓存中给定数据块的拷贝的写访问。高速缓存控制器使该关联的高速缓存之下的任何高速缓存级中给定数据块的任何拷贝失效。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及计算系统,并且更具体而言,涉及可靠地使用数据存储介质。
技术介绍
各种产品既使用通用处理器又使用特定于应用的处理器。这些产品的例子包括台 式计算机、服务器、蜂窝电话或智能电话、平板计算机、个人数字助理(PDA)设备,可以包括 用于医疗应用、汽车应用、家庭影院应用的嵌入式处理器的装备和设备,等等。通用处理器 在处理软件应用中所包括的算法和方法期间访问用于数据和指令的主存储器。类似地,特 定于应用的处理器访问主存储器。特定于应用的处理器可以包括单指令多数据(snffi)处 理器、专用集成电路(ASIC)、数字信号处理芯片(DSP),等等。 主存储器可以被一个或多个处理器访问。数据可以以持久的方式被存储。当电力 被除去时,持久数据仍然被存储。当电力恢复后,持久数据可以被一个或多个处理器访问并 再次使用。但是,以非持久方式存储的数据在电力被除去时丢失并且在电力恢复时不可用。 以持久方式存储的数据存储在非易失性数据存储介质上,诸如硬盘驱动器(HDD)、 固态驱动器(SSD)及闪存存储器。这些类型的存储介质利用大的、速度慢的数据传输,这增 加了访问时间并降低了性能。因此,存储器层次结构被用来在多级易失性存储器中临时缓 冲数据,其中易失性存储器利用比非易失性存储器相对更小和更快的数据传输。易失性存 储器的类型包括一级或多级高速缓存和动态随机存取存储器(DRAM)。 被用作持久存储器的其它类型的非易失性数据存储介质包括相变存储器(PCM)、 自旋力矩转移RAM以及忆阻器。这些类型的数据存储介质也使用比HDD、SDD和闪存非易失 性存储器相对更小和更快的数据传输。这种类型的持久存储器可以与DRAM并排放在印制 电路板、印制电路卡或硅管芯上。这种类型的持久存储器可以对一个或多个处理器可用,每 个处理器执行一个或多个线程。 用于从第一线程到持久存储器,诸如PCM,的第一存储(写)操作的存储数据可由 其它线程观察。所述其它线程可以在相同的处理器上和在任何其它处理器上。有可能同一 处理器上或不同处理器上的第二线程读取存储数据、基于该存储数据更新另一变量,并通 过向持久存储器发送第二存储操作来强制更新后的变量被持久化。第二存储操作可以在第 一存储操作完成之前完成并导致更新后的变量在来自第一线程的存储数据被持久化之前 持久化。之后,由于来自第一线程的存储数据还没有持久化,因此电源故障或系统复位将由 于不一致的数据被存储在持久存储器中而导致数据损坏。 鉴于上述情况,用于可靠地使用数据存储介质的方法和机制是期望的。
技术实现思路
构想到用于可靠地使用数据存储介质的系统和方法。在一种实施例中,一种计算 系统包括用于生成存储器访问请求的多个源。源可以包括处理器中的多个线程。此外,源 可以包括多个处理器。系统中的一个或多个处理器被耦合到持久存储器。这一个或多个处 理器经由一级或多级高速缓存发送对持久存储器的读和写访问请求。 对于对应于对持久存储器的写访问请求的给定数据块,高速缓存控制器阻止对关 联的高速缓存中该给定数据块的拷贝的任何读访问。高速缓存控制器可以在检测到还未接 收到给定数据块存储在持久存储器中的确认时阻止任何读访问。高速缓存控制器和关联的 高速缓存可以处于高速缓存存储器子系统的选定级别。选定级别的例子包括由多个处理器 共孚的尚速缓存级或者共孚尚速缓存级的如一级。 在接收到确认之前,高速缓存控制器可以只对特定的源允许对关联的高速缓存中 给定数据块的拷贝的写访问。该特定的源可以是最初发送写访问请求的线程。高速缓存控 制器可以使关联的高速缓存之下的任何高速缓存级中给定数据块的任何拷贝失效。此外, 高速缓存控制器可以阻止给定数据块到指示该给定数据块既脏又可读访问的相干状态的 相干状态过渡。 参考以下描述和附图,这些和其它实施例将变得显然。【附图说明】 图1是示出访问持久存储器的一种实施例的一般化框图。 图2是示出访问持久存储器的另一种实施例的一般化框图。 图3是示出访问持久存储器的还有另一种实施例的一般化框图。 图4是示出访问持久存储器的还有另一种实施例的一般化框图。 图5是示出用于可靠地使用持久数据的方法的一种实施例的一般化流程图。 图6是示出示例性节点的一种实施例的一般化框图。 图7是不出不例性高速缓存的一种实施例的一般化框图。 图8是示出用于可靠地处理持久存储指令的方法的一种实施例的一般化流程图。 本专利技术容易有各种修改和备选形式,其具体实施例通过示例在附图中示出并且在 本文中详细描述。但是,应当理解,附图和对其的详细描述不是要将本专利技术限定到所示出的 特定形式,相反,本专利技术是要覆盖属于由所附权利要求限定的本专利技术精神和范围之内的所 有修改、等同物和备选方案。【具体实施方式】 在下面的描述中,许多具体细节被阐述,以提供对本专利技术的透彻理解。但是,本领 域普通技术人员应当认识到,本专利技术没有这些具体细节也可以实践。在一些情况下,众所周 知的电路、结构、信号、计算机程序指令和技术没有详细示出,以避免模糊本专利技术。 参考图1,示出了示出访问持久存储器的一种实施例的一般化框图。示出了一系列 序列1-11。两个请求者110-112生成对其它请求者中的本地(高速缓存)数据和对持久存 储器130中的持久数据的读和写访问请求。这些访问请求当中的一些被发送到持久存储器 130。当电力被除去时,持久数据保持存储在持久存储器。当电力恢复后,持久数据可以被 请求者110-112访问并再次使用。 请求者110产生或创建对应于要被存储在队列120的条目0中的记录A的数据。 例如,请求者110可以对对应于记录A的数据执行算术运算,作为结果。请求者110可以被 称为生产者110。类似地,请求者112可以被称为消费者112。队列120可以是被用来在 两个不同的请求者,诸如两个不同的执行线程或两个不同的处理器或两个不同的处理器核 心,之间进行异步通信的数据结构,诸如循环缓冲区。队列120中的多个条目0-N当中每一 个可以存储数据的记录。 指针122-124可以被用来指示循环缓冲区的开始和结束。例如,IN指针122可以 指示用于存储记录的下一个可用条目。OUT指针124可以指示要解除分配并除去记录的下 一个条目。生产者110可以将记录存储到队列120中并在记录被存储之后使IN指针122 前进。消费者112可以从队列120提取记录并在记录被处理之后使OUT指针124前进。当 IN指针122和OUT指针124存储相同的值时,队列120可以被认为是空的。在由IN指针 122指向的条目之前和由OUT指针124指向的条目之后的条目可以被认为在队列120中等 待。 持久存储器130可以是利用诸如相变存储器(PCM)、自旋力矩转移RAM、忆阻器等 等数据存储技术的数据存储介质。这些类型的数据存储介质使用比硬盘驱动器(HDD)、固态 驱动器(SSD)和闪存非易失性存储器相对更小和更快的数据传输。例如,持久存储器的上 述例子可字节寻址并且执行比HDD和闪存存储器快几个数量级的数据传输。 在一些实施例中,请求者110-112包括处理器上的多个线程。作为替代,请求者 110-112包括微处理器中的多个处理器核心。在其它实施例中,请求者110-112包括多节点 系本文档来自技高网
...

【技术保护点】
一种计算系统,包括:多个处理器;高速缓存,被配置为被所述多个处理器中的至少两个处理器访问;高速缓存控制器,耦合到高速缓存;持久存储器,耦合到高速缓存控制器;其中所述多个处理器中的第一处理器被配置为经由高速缓存控制器向持久存储器发送给定数据块,以便存储;及其中高速缓存控制器被配置为,响应于检测到所述给定数据块要被发送以便存储在持久存储器中,阻止对所述高速缓存中所述给定数据块的拷贝的任何读访问。

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

【专利技术属性】
技术研发人员:W·H·小布莱杰P·罗文斯坦M·A·勒特雷尔
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

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

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