利用反射内存实现一致性的制作方法

文档序号:9252396阅读:511来源:国知局
利用反射内存实现一致性的制作方法
【专利说明】利用反射内存实现一致性
【背景技术】
[0001] 现代计算设备执行越来越复杂的软件应用程序。为减少复杂软件应用程序的执行 时间,一些计算设备可W并行执行多个操作。例如,计算设备可W同时执行两个操作。在一 些实施例中,两个计算设备可W通过在该两个计算设备之间发送和接收数据来并行执行多 个操作。
[0002] 附图图示
[0003] 在下面的【具体实施方式】中并参照附图描述特定示例,其中:
[0004] 图1是可W在具有反射内存的计算设备中实现一致性的示例计算系统的框图;
[0005] 图2是图示用于在具有反射内存的计算设备中实现一致性的方法的示例的过程 流程图;
[0006] 图3是用于响应于缓存缺失而在具有反射内存的计算设备中实现一致性的方法 的示例的过程流程图;
[0007] 图4是图示如何能够在具有反射内存的计算设备中实现一致性的示例的框图;W 及
[000引图5是图示可W在具有反射内存的计算设备中实现一致性的有形非暂时性计算 机可读介质的示例的框图。
【具体实施方式】
[0009] 根据本文描述的主题的实施例,具有反射内存的计算设备可W实现一致性。本文 提到的反射内存包括共享存储器系统中通过多个分离的存储器控制器或数据管理模块来 维护共同的一组数据的存储器设备的任何适合部分。例如,反射内存可W将数据存储在计 算系统的非易失性存储器中,同时还将该数据的副本存储在第二计算系统的存储器设备 中。在将数据的多个复本存储在计算系统内或多个计算系统内的各个存储器设备中时,本 文描述的技术维持一致性。本文提到的一致性包括;检测对共享存储器系统中共同的一组 数据的修改,并且基于该修改,更新该共同的一组数据的副本。例如,可W将与存储器地址 关联的数据从存储器设备拷贝到缓存设备中。如果处理器修改缓存设备中的该数据,则存 储器设备中的该数据可W是旧的或过时的。本文描述的技术可W在包括反射内存的计算设 备中使能一致性。
[0010] 在一些实施例中,本文描述的技术能够实现一致性,而不从缓存设备向存储器设 备发送未被修改的数据。例如,处理器可W访问缓存设备中的一些数据值,W便读取该些数 据值,该不修改该些数据值。处理器还可W因为写操作而访问数据值,该可能修改该些数据 值。在一些实施例中,未被修改的数据值可W保留在缓存设备中,而将被修改的数据值拷贝 至存储器设备。
[0011] 图1是可W在具有反射内存的计算设备中实现一致性的计算系统100的示例的框 图。计算系统100可W包括例如计算机服务器、移动电话、便携式计算机、台式计算机或平 板计算机等。计算系统100可W包括适于执行存储的指令的处理器102。处理器102可W 是单核处理器、多核处理器、计算集群或任意数量的其它合适配置。
[001引处理器12可W通过系统总线104(例如,AMBA、PCI液、PCIExpress液、 HyperTmnspoi't?、串行ATA等等)连接至输入/输出(I/O)设备接口 106,输入/输出 (I/O)设备接口 106适于将计算系统100连接至一个或多个I/O设备108。I/O设备108可 W包括例如键盘及指点设备,其中指点设备可W包括触摸板或触摸屏等等。I/O设备108可 W是计算系统100的内置组件,或可W是外部地连接至计算系统100的设备。
[0013] 处理器102还可W通过系统总线104链接至显示设备接口 110,显示设备接口 110 适于将计算系统100连接至显示设备112。显示设备112可W包括属于计算系统100的内 置组件的显示屏。显示设备112还可W包括与计算系统100外部地连接的计算机监视器、电 视或投影仪等等。此外,处理器102还可W通过系统总线104链接至网络接口卡(NI0114。 NIC114可W适于通过系统总线104将计算系统100连接至网络(未示出)。网络(未示 出)可W是广域网(WAN)、局域网(LAN)或互联网等等。
[0014] 处理器102还可W通过系统总线104链接至存储器设备106。在一些实施例中, 存储器设备116可W包括随机存取存储器(例如,SRAM、DRAM、eDRAM、邸0RAM、孤RRAM、 R民AM液、PRAM等等)、只读存储器(例如,掩模ROM(MaskROM)、EPROM、EEPROM等等)、 非易失性存储器或任何其它合适的存储器系统。在一个示例中,存储器设备116可W包括 任意合适数量的存储器地址,每个存储器地址对应于任意合适数量的数据值。在一些实施 例中,频繁访问的数据值的副本可W存储在缓存118中。在一些实施例中,处理器102可W 在从存储器设备116中请求数据W前从缓存118请求数据,W供操作。在一个示例中,缓存 118可W存储比存储器设备116更少的数据值,但缓存118可W比存储器设备116能够向处 理器102提供存储的数据更快地,向处理器102提供存储的数据。
[0015] 在一些实施例中,来自存储器设备116的数据可W被反射在第二计算系统122的 第二存储器设备120中。本文提到的术语"反射"包括第一计算系统产生或写数据,并且在 第二计算系统上的分离的存储器设备中维持所述数据的本地一致副本。例如,存储器设备 116中的存储器地址可W对应于被修改为新值的数据值。为提供存储器设备116和第二存 储器设备120中的一致性,该数据的新值从存储器设备116被发送或"被反射"至第二存储 器设备118。第二存储器设备118与第二计算机系统122关联,第二计算机系统122可W在 第二计算机系统122的操作中使用来自存储器设备116的新数据值。本文提到的"消耗数 据"包括在读操作中使用数据,但不在写操作中使用数据。
[0016] 在一些实施例中,处理器102可W通过系统总线104链接至数据管理模块124。数 据管理模块124可W维护在存储器设备116、缓存118和第二存储器设备120中存储的数据 之间的一致性。在一个实施例中,数据管理模块124可W通过任意合适的结构126 (例如, PCI?、PCIExpress瑕、Hype订ransport液、串行ATA等等)向第二存储器设备120和第 二计算系统122的第二数据管理模块128发送数据。第二数据管理模块128可W维护在第 二计算系统122的第二存储器设备120中存储的数据的一致性。
[0017] 在一个实施例中,数据管理模块124可W通过将缓存118中被修改的数据拷贝至 存储器设备116中来维护所存储的数据的一致性。将被修改的数据从缓存118拷贝至存储 器设备116在本文中还被称为"刷新(flush)"数据。在一些实施例中,当数据管理模块124 将数据从缓存118刷新至存储器设备116的反射内存范围时,数据管理模块124可W向第 二存储器设备120发送该被修改的数据。通过维护在第二存储器设备120中存储的数据的 一致性,第二数据管理模块128可W确保在第二计算设备122中执行的操作将使用从存储 器设备116中经配置的反射内存区域转发的被修改的数据。在一些实施例中,第二数据管 理模块128可W接收该被修改的数据,并且将该被修改的数据映射到第二存储器设备120 中的地址范围中。
[001引应理解,图1的框图的目的不在于表示计算系统100包括图1中示出的所有组件。 相反,计算系统100可W包括更少或更多图1中未示出的组件(例如,附加存储器设备、视 频卡、附加网络接口等等)。此外,数据管理模块124的任何功能可W部分地或整体在分离 的硬件中实现。例如,该功能可W利用专用集成电路实现、在存储器设备116中实现或在外 设设备上的协处理器中实现等等。
[0019] 图2是图示用于在具有反射内存的计算设备中实现一致性的方法的示例的过程 流程图。该方法200可W利用像图1的计算系统100那样的计算设备实现。
[0020] 在框202中,数据管理模块124接收将刷新缓存设备的缓存行的指示。如上面讨 论的,缓存设备存储任意合适数量的数据缓存行,每个缓存行包含一些数据,例如16字节、 32字节、64字节或128字节的数据。本文中提到的'刷新缓存行'包括将被修改的缓存行 从缓存设备发送至存储器设备。刷新缓存行还包括从缓存设备中删除未被修改的缓存行。 下面结合图4更详细地讨论缓存行。在一些实施例中,数据管理模块124可W从操作系统 或应用程序等接收指示。该指示可W是指导数据管理模块124指导缓存设备向存储器设备 发送被修改的数据的任何适合操作或数据。
[0021] 在框204中,数据管理模块124生成刷新
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1