CN104798059A - 在检查点外部处理写入数据的多个计算机系统 - Google Patents

在检查点外部处理写入数据的多个计算机系统 Download PDF

Info

Publication number
CN104798059A
CN104798059A CN201380060686.7A CN201380060686A CN104798059A CN 104798059 A CN104798059 A CN 104798059A CN 201380060686 A CN201380060686 A CN 201380060686A CN 104798059 A CN104798059 A CN 104798059A
Authority
CN
China
Prior art keywords
memory
transmission interface
computer system
information
memory controller
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380060686.7A
Other languages
English (en)
Other versions
CN104798059B (zh
Inventor
K.W.普里维特
S.M.里德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104798059A publication Critical patent/CN104798059A/zh
Application granted granted Critical
Publication of CN104798059B publication Critical patent/CN104798059B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

本公开描述包含第一计算机系统的系统,第一计算机系统包含第一存储器控制器和第一计算机间传输接口,所述第一计算机间传输接口用于通过互连将关于写入操作的信息发送到第二计算机系统。第二计算机系统包含第二存储器控制器和第二计算机间传输接口,所述第二计算机间传输接口用于通过互连接收关于写入操作的信息,其中写入操作通过第二存储器控制器复制。在其它实施例中,系统包括第一计算机系统,第一计算机系统包含第一存储器控制器和第一计算机间传输接口,所述第一计算机间传输接口用于在锁步操作期间发送关于第一计算机系统的写入操作的信息。还描述了其它实施例。

Description

在检查点外部处理写入数据的多个计算机系统
技术领域
本公开通常涉及高可靠性的多个计算机系统并且更特别地涉及其中在检查点操作的外部处理(比较或拷贝)写入数据的高可靠性的多个计算机系统。
背景技术
目前,一些高可靠性计算机使用称为检查点(checkpointing)的过程来保持第二计算机与第一计算机软件锁步(lockstep)。周期性地,停止第一计算机并且将自从最后的检查点以来的中央处理单元(CPU)状态以及对第一计算机的存储器的任何改变传输到第二计算机。在第一计算机上的失败或不可恢复的错误的事件中,第二计算机将从最后的检查点继续执行。通过频繁的检查点,第二计算机可以接管用户的应用的执行,而对用户没有可察觉的影响。
存储器控制器包含在计算机CPU中来接入单独的附连的外部系统存储器。在大多数高性能计算机系统中,CPU包含内部缓存存储器来缓存一部分系统存储器并且使用内部缓存存储器用于所有存储器读取和写入中的大多数。当内部缓存存储器充满改变的数据并且CPU希望将附加的改变的数据写入到缓存时,存储器控制器将一些缓存内容的拷贝写入到外部系统存储器。
高可靠性计算机使用镜像存储器。计算机可具有配置为在“镜像”模式中的存储器。当存储器在镜像模式中时,负责将外部存储器的内容读取到CPU或将数据从CPU写入到外部存储器的存储器控制器将数据的两个拷贝写入到两个不同的存储器位置(镜像的初级侧和次级侧)。当存储器控制器将数据读回到CPU时,它只需要从一个存储器位置读取数据的一个拷贝。如果正在从初级侧读取的数据已损坏并且数据中有不能修正的错误,则存储器控制器读取镜像存储器次级位置来得到相同的数据的另一拷贝。只要存储器控制器执行读取操作,控制器只需要从单个存储器位置读取。每当存储器控制器执行写入操作(事务)时,它将数据的拷贝写入到镜像的初级侧和次级侧。用于增强可靠性作出数据的两个或者更多拷贝的过程被称作镜像并且有时被称作独立磁盘的冗余阵列(RAID 1)。镜像的初级侧和次级侧不必须在不同的物理存储器装置上。
图1是图示具有镜像存储器的现有技术计算机系统的现有技术框图。存储器模块100、105以及110是计算机系统中的存储器的初级侧并且存储器模块120、125和130是存储器的次级侧。其它系统具有不同数量的存储器模块。CPU 115包含核心和缓存存储器175(以及其它部件),通过接口160耦合到主存储器的主存储器控制器212,以及通过接口165耦合到辅助存储器的辅助存储器控制器214。不同的系统具有不同类型和数量的接口。另外,主存储器控制器212和辅助存储器控制器214可以是两个不同的存储器控制器或单个存储器控制器的两个特征。
在镜像中,主存储器控制器212和辅助存储器控制器214将相同的数据传输到存储器的初级侧和次级侧使得在每个存储器写入操作之后将数据维持在独立存储器模块中的两个拷贝中。在存储器读取操作145期间,将数据从存储器模块100、105或110传输到主存储器控制器212。在确定数据正确的情况下,不需要有另外的动作来完成读取操作。在确定数据被损坏的情况下,可由来包含存储在存储器的初级侧上的数据的拷贝的自存储器的次级侧上的存储器模块120、125或130的辅助存储器控制器214来执行读取170。这导致更高的可靠性,因为即使在存储器的初级侧中的数据被损坏,可从可能没有被损坏的次级侧读取拷贝。
检查点在第一与第二计算机之间传输或比较改变的数据。使用检查点的高可靠性计算机在第一计算机与第二计算机之间传输数据。接口(例如,InfiniBand、PCI-Express(PCIe)或计算机之间的专有接口)用于在检查点过程期间传输CPU状态和系统存储器内容。第一计算机的CPU或直接存储器接入(DMA)控制器通常用于将存储器的内容传输到第二计算机。各种方法用于节省将存储器的内容从第一计算机传输到第二计算机的时间。例如,存储器分页机制可设置“页面重写标志位(dirty bit)”来指示存储器的页面已被修改。在检查点期间,只有具有页面重写标志位设置的存储器的页面将被传输。页面可以是4千字节、2兆字节、1千兆字节或一些其它大小。DMA装置或处理器拷贝已被页面重写标志位标识的存储器的整个区域,不管整个页面是否已改变或只有页面中的几个字节的数据已改变。
检查点降低计算机性能。当计算机执行检查点任务时,它通常不做对用户有用的工作,所以用户经历降低的性能。在检查点间隔的频率、高效传输检查点数据的方法的复杂性、用户经历的等待时间延迟之间总是有折衷。可以通过只传输在计算机存储器中已改变的数据来实现最小等待时间。
当第一计算机和第二计算机都执行相同的指令时,可使用检查点。当两个计算机同时执行相同的代码时,可周期性地停止它们并且互相比较CPU寄存器与存储器内容。如果计算机具有相同的CPU寄存器值和存储器内容,则允许它们继续处理。当两个计算机比较存储器和寄存器值时,当在两个系统之间只比较已改变的数据时,低的等待时间比较存在。在现有技术中已使用各种方法来降低将外部存储器的内容拷贝到第二计算机所所需的时间量。
附图说明
将从以下给出的详细描述并且从本发明的实施例的附图更全面地理解本发明,然而,详细描述和附图不应该被视为将本发明限制于描述的具体实施例,而是只用于解释和理解。
图1是使用存储器镜像的现有技术的高可靠性计算机的框图表示。
图2是根据本发明的一些实施例的高可靠性双计算机系统的框图表示。
图3是根据本发明的一些实施例的高可靠性双计算机系统的框图表示。
图4是根据本发明的一些实施例的图3的另外细节的框图表示。
图5是根据本发明的一些实施例的高可靠性双计算机系统的框图表示。
图6是根据本发明的一些实施例的高可靠性双计算机系统的框图表示。
图7是根据本发明的一些实施例的高可靠性双计算机系统的框图表示。
图8是根据本发明的一些实施例的图2的另外细节的框图表示。
图9是根据本发明的一些实施例的图2的另外细节的框图表示。
具体实施方式
本公开涉及高可靠性的计算机架构。具体地,本公开描述检查点的低等待时间方法来保持两个计算机锁步。在一些实施例中(在线、离线模式),可以更快地执行检查点操作,因为数据在正常操作期间传输并且不需要在检查点操作期间传输。在其它实施例中(软件锁步模式),在检查点操作期间不需要比较数据,因为在正常操作期间比较了数据。
存储器控制器通常只将改变的或新的数据写入到主要存储器(外部存储器模块),并且当系统使用镜像存储器时,存储器控制器将新的或改变的数据的复制拷贝写入到镜像的初级侧和次级侧。通过在将数据写入到存储器时修改存储器控制器或存储器装置来将数据传输到第二计算机,对于检查点的存储器拷贝部分降低或消除检查点开销。
在一些实施例中,使用检查点(离线检查点)的形式,其中第一计算机系统(在线系统)运行用户的应用并且周期性地停止来将内部和外部数据以及CPU状态拷贝到第二计算机(离线系统)。当计算机系统运行用户的应用时,通过在每个存储器写入操作(事务)期间将数据从在线系统传输到离线系统来降低或消除在检查点操作期间传输存储器内容的需要。
在其它实施例中,使用检查点的另一形式,其中第一和第二计算机系统同时地运行用户的应用(软件锁步模式)。周期性地,两个计算机系统在应用中的相同时间和点处停止。一个系统可稍微超前或落后于另一系统,因此允许落后的系统运行附加的指令直到两个系统停止在相同的指令上。然后,比较内部和外部存储器以及CPU状态。通过在每次将数据写入到存储器时执行外部存储器比较,一些实施例降低在检查点操作期间比较外部存储器内容的需要。一些实施例只支持软件锁步模式并且其它实施例只支持在线、离线模式。另一些实施例支持软件锁步模式和在线、离线模式。
图2是图示低开销检查点系统的一些实施例的框图。图2可用于实现检查点(软件锁步或在线、离线模式)和以下描述的它们的变化的任一形式。
在图2中,主系统200包含CPU1 204、主存储器侧上的存储器模块100、105和110以及辅助存储器侧上的存储器模块208、125和130。CPU1包含核心和缓存存储器282(其可与核心和缓存存储器175相同或不同)、主存储器控制器212和辅助存储器控制器214以及各种其它部件。主存储器控制器212和辅助存储器控制器214可在与CPU核心和缓存存储器相同的管芯上或在不同的管芯上。主存储器控制器212和辅助存储器控制器214可以是单独的存储器控制器或相同的存储器控制器的两个特征。CPU1 204、主存储器控制器212和辅助存储器控制器214可与图1中的CPU 204、主存储器控制器212和辅助存储器控制器214相同或不同。
辅助系统202包含CPU2 238、主存储器侧上的存储器模块232、234和236以及辅助存储器侧上的存储器模块240、242和244。CPU2包含CPU核心和缓存存储器284(它可与核心和缓存282相同或不同)、主存储器控制器252和辅助存储器控制器254以及其它部件。
存储器模块208包含存储器装置和存储器间传输接口228,并且存储器模块240包含存储器装置和存储器间传输接口258。
在一些实施例中,主存储器控制器212和辅助存储器控制器214将相同的数据传输到存储器的初级侧和次级侧,使得在每个存储器写入操作期间将数据维持在独立的存储器模块中的两个拷贝中。
存在其中可在不同的实施例中执行存储器写入操作的不同的方法。图8和图9图示这些中的一些。参考图2和图8,在存储器写入操作期间,通过使用存储器互连160写入155到存储器的初级侧上的存储器模块100、105或110,CPU1 204传输数据。与到存储器的初级侧的写入155同时,通过使用存储器互连165写入226到次级侧上的存储器模块208中的存储器间传输接口228,CPU1 204传输数据。将数据传输230到存储器模块208、125或130中的存储器。在写入226过程期间,存储器模块208上的存储器间传输接口228使用私有接口280(它是互连的示例)来将关于写入的信息发信号给辅助系统202。辅助系统存储器间传输接口258在私有接口280上接收关于写入的信息。辅助系统次级侧存储器模块240上的存储器间传输接口258执行到次级侧存储器模块240、242或244中的存储器的写入262。注意,存储器控制器254可与存储器控制器214相同或不同。类似地,存储器控制器212和214可彼此相同或不同并且存储器控制器252和254可以是相同的或不同的(并且可以是单独的存储器控制器或相同存储器控制器的两个特征)。例如,存储器间传输接口可以是专用集成电路(ASIC)、现场可编程门阵列(FPGA)或集成到动态随机存取存储器(DRAM)装置。
在用于在线、离线模式的一些实施例中,系统202中的辅助存储器控制器254接收来自存储器间传输接口258的信息256并且使CPU2 238使用主存储器控制器252将相同的数据写入到初级侧存储器模块232、234或236。当写入155、226、230、262和248完成时,辅助系统的存储器内容将与主系统的存储器内容相同。在一些实施例中,在下一离线检查点事件期间,不需要传输存储器内容或比较存储器内容,因为在辅助系统上已重复主系统上的每个写入操作。
在用于在线、离线模式的一些实施例中,辅助系统存储器间传输接口258不使数据被写入到镜像的初级侧,使得初级侧包含最后的检查点操作的存储器图像。在接口280上提供的写入信息被写入到存储器模块240、242或244但是不由CPU2 238传输到辅助系统、主存储器。随着主系统运行,有可能将存在写入到存储器的不正确的数据。如果将不正确的数据写入到主系统200上的镜像存储器的两侧,并且将坏数据的拷贝写入到辅助系统202,则在辅助系统202上的镜像的初级侧上有数据的正确拷贝。为了在检查点操作期间恢复数据或操作,可从辅助系统202主存储器控制器252读取来自以前的检查点操作的数据。在一些实施例中,当只将数据写入到辅助存储器时,在检查点期间可以将镜像的次级侧上的改变的数据传输到初级侧,因此在初级侧上保存以前的检查点数据直到在另一侧上用改变的数据更新是安全的。
在使用软件锁步模式的一些实施例中,主计算机系统200和辅助计算机系统202执行相同用户程序并且运行在软件锁步中。每个计算机系统在几乎完全相同的时间处执行相同指令。当主计算机系统200和辅助计算机系统202将数据写入到主系统时,辅助存储器(在模块208、125或130中)和辅助系统、辅助存储器(在模块240、242或244中)、存储器间传输接口228和存储器间传输接口258可在写入操作发生时比较来自事务226和256的写入信息。在下一软件锁步检查点操作期间,不需要比较存储器内容,因为发生在第一系统中的每个写入与发生在第二系统中的每个写入比较,同时与由存储器间传输接口228或258或者228和258的写入比较。因此,在下一检查点操作期间,不需要比较物理存储器,因为已经比较到存储器的所有写访问,所以内容应是相同的。
与写入操作相关的信息的比较可以是整个提供的写入信息或只是它的一部分。因此,比较至少一些信息。
再次参考图2和图8,在图8中,在传到存储器810和820或接口800或805上的模块125、130、242或244中的其它存储器之前,写经过存储器间传输接口228和258。当在私有接口280上接收信息时,可以发生到存储器230或262的写入而不使用连接165或260。类似地,在接口165或260上传递之前,读取来自模块125、130、242或244的数据经过接口228或258。通过对比,在图9中,数据可以写入到或读取自存储器810、904或模块125、130、242或244中的存储器而不经过存储器间传输接口902或904。注意,接口902和904可与接口228和258相同或不同。
图3图示一些备选实施例。参考图3,主系统300和辅助系统302类似图2的系统200和202,除了存储器间接口228和258没有包含在图8中,并且图3中的数据传输接口316和352代替图2的存储器控制器214和254。另外,图3的系统中的私有接口330(它是互连的示例)代替私有接口280。而且,在图8中,模块120和230代替图2的模块208和240。(注意,虽然模块标记为双列直插存储器模块(DIMM),但是它们不必是DIMM。)
在在线、离线模式中,在存储器写入操作期间,通过使用存储器互连160写入155到存储器的初级侧上的存储器模块100、105或110,CPU 304传输数据。与到存储器的初级侧的写入155同时,通过使用存储器互连165写入150到存储器的次级侧上的存储器模块120、125,或130,数据传输接口316传输数据。在写入150过程期间,数据传输接口316使用私有接口330将关于写入的信息发信号给辅助系统302。辅助系统数据传输接口352接收来自私有接口330的关于写入的信息。辅助系统CPU2 338上的数据传输接口352执行到次级侧存储器装置360、242或244的写入366并且在一些实施例中使主存储器控制器252将相同的信息写入(248)到模块232、234或236中的主存储器。
在在线、离线模式的一些实施例中,辅助系统数据传输接口352将关于写入的信息从私有接口330传输到模块232、234或236中的主存储器和模块360、242或244中的辅助存储器,使得在每个存储器写入操作期间将数据维持在独立的存储器模块中的两个拷贝中。
在在线、离线模式的一些实施例中,辅助系统数据传输接口352将发信号的数据从私有接口330数据只传输到存储器的次级侧360、242和244,保存存储器的初级侧的内容直到检查点过程允许将改变的数据写入到存储器的初级侧。
在软件锁步模式的一些实施例中,主系统300和辅助系统302在软件锁步中同时运行相同的用户应用。当两个系统执行到主存储器和辅助存储器的写入操作(155、150、248和366)时,主系统数据传输接口316和/或辅助系统数据传输接口352使用在私有接口330上提供的信息来比较关于写入操作的信息。在软件锁步检查点操作期间,可能不需要比较存储器内容,因为在每个写入操作期间,当主和辅助系统运行时,比较写入数据。
图4提供图3的一些实施例的附加的细节。数据传输接口316包含存储器控制器405和计算机间传输接口410。数据传输接口352包含第二计算机间传输接口415和存储器控制器420。第一计算机间传输接口410检测写入何时通过接口400从CPU 304发生到存储器控制器405。使用私有接口330将关于写入的信息(例如,正在写入的数据、它正在被写入到的存储器中的地址以及(可选地)数据写入发生的时间)传输到第二计算机间传输接口415。
在在线、离线模式的一些实施例中,当接口415从接口410接收关于数据写入的信息时,那个接口415使第二存储器控制器420将数据的拷贝从接口410写入到附连到存储器接口260的第二系统存储器。
在一些实施例中,当系统300和302在软件锁步中操作时,接口410检测CPU 304何时写入到存储器控制器405。使用私有接口330将关于写入的信息(例如,正在写入的数据、它正在被写入到的存储器中的地址以及(可选地)数据写入发生的时间)由接口410传输到接口415。接口415检测CPU 338何时何时通过接口425写入到存储器控制器420。将关于写入的信息(例如,数据正在被写入、它正在被写入到的存储器中的地址以及(可选地)数据写入发生的时间)与从接口410发信号的信息进行比较。如果数据是相同的,在下一软件锁步检查点期间不需要比较存储器,因为当写入到存储器时比较了所有改变的值,因此降低执行软件锁步检查点所需的时间。比较可以在接口410中或者在415中或在410和415中执行。在备选实施例中,可以在接口外部在系统的其它电路中执行比较。例如,可以在核心、存储器控制器或CPU的其它电路中执行比较。
图5图示其它实施例。图5类似于图3,除了系统500和502不包含连接到数据传输接口316和352的存储器模块。因此,在在线、离线模式中将存在到第二系统502的初级侧的写入。
图6图示其它实施例。图6类似于图5,除了在系统600和602中,数据传输接口316和352代替存储器控制器212和252。在另外其它实施例中,像图3中的那些的系统可以具有初级侧上的数据传输接口316和352以及次级侧上的存储器控制器212和252。
图7图示其它实施例。图7类似于图2,除了模块208和240在初级侧上并且没有次级侧。在一些实施例中,也可以有次级侧。换句话说,在图2中,模块208和240可与模块110和236交换,其中私有接口280也被移除。
虽然接口330被称作私有接口,但是在一些实施例中,它可携带除本文描述的那些之外的信号(例如,用于与本文描述的那些不相关的功能)。类似地,在一些实施例中,接口280可携带除本文描述的那些之外的信号。
在一些实施例中,当在在线、离线模式中时,在检查点操作期间,即使当在线系统运行时已经作出拷贝,也可在主系统与第二系统之间传输一些数据。换句话说,即使本发明的实施例显著地降低在检查点操作期间的数据传输的数量,在一些实施例中,它们可能不消除所有数据传输。
可以在初级侧与次级侧之间来回切换读取来平衡磨损、功耗以及与本公开不相关的其它因素。
存储器芯片可包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪速存储器、只读存储器(ROM)、相变存储器或其它形式的存储器。
存储器模块通常包含布置为便于接入小型电路板上的存储器芯片的多个存储器芯片。存储器模块可包含缓冲器芯片来便于接入存储器芯片。“双列直插存储器模块(DIMM)”是存储器模块的示例。
计算机系统可具有单个中央处理单元(CPU)或多个CPU。
本文提及的“逻辑”可实现在电路、软件、微代码或它们的组合中。
各种其它细节可用在其它实施例中。
实施例是本发明的实现或示例。在说明书中对 “实施例”、“一个实施例”、“一些实施例”或“其它实施例”的参考意味着结合实施例描述的特定特征、结构或特性包含在至少一些实施例中,但是不一定包含在所有实施例中。“实施例”、“一个实施例”、“一些实施例”的各种出现不一定全部参考相同的实施例。
当描述元件“A”耦合到元件“B”时,元件A可直接耦合到元件B或例如通过元件C间接地耦合。
当说明书或权利要求规定部件、特征、结构、过程或特性A“引起”部件、特征、结构、过程或特性B,它意味着“A”是“B”的至少部分原因,但是还可有协助引起“B”的至少一个其它部件、特征、结构、过程或特性。类似地,A响应于B,不意味着它不也响应于C。
如果说明书表述“可”、“可以”或“能”包含部件、特征、结构、过程或特性,不要求包含那个特定部件、特征、结构、过程或特性。如果说明书或权利要求提及“一”元件,那不意味着只有一个元件。
本发明不限制于本文描述的特定细节。实际上,可在本发明的范围内作出上文的描述和附图的许多其它变化。因此,是由包含对其的任何修改的随附权利要求来定义本发明的范围。

Claims (18)

1. 一种系统,包括:
第一计算机系统,包含第一存储器控制器和第一计算机间传输接口,所述第一计算机间传输接口用于将关于到第一存储器模块的写入操作的信息发送到第二计算机系统。
2. 如权利要求1所述的系统,还包括:
所述第一存储器模块,其中所述第一存储器模块包含在所述第一计算机系统中;
互连;以及
所述第二计算机系统,包含第二存储器控制器和第二计算机间传输接口,所述第二计算机间传输接口用于通过所述互连接收关于所述写入操作的所述信息,其中所述写入操作通过所述第二存储器控制器复制到所述第二计算机系统中的第二存储器模块。
3. 如权利要求2所述的系统,还包括第三和第四组存储器模块,并且其中所述第一和第二组存储器模块用于所述第一计算机系统的镜像存储器并且其中所述第三和第四组存储器模块用于所述第二计算机系统的镜像存储器。
4. 如权利要求2所述的系统,其中所述第一计算机间传输接口包含在所述第一计算机系统中的所述第一存储器模块中。
5. 如权利要求2所述的系统,其中所述第一存储器控制器包含在管芯上并且所述第一计算机间传输接口包含在与所述存储器控制器相同的管芯上。
6. 如权利要求1所述的系统,其中所述第一存储器间传输接口包含在所述第一计算机系统的中央处理单元中。
7. 一种系统,包括:
第一计算机系统,包含第一存储器控制器和第一计算机间传输接口,所述第一计算机间传输接口用于在锁步操作期间将关于所述第一计算机系统的写入操作的信息发送到第二计算机系统。
8. 如权利要求7所述的系统,还包括:
互连;以及
所述第二计算机系统,包含第二存储器控制器和通过所述互连耦合到所述第一计算机间传输接口的第二计算机间传输接口,其中在所述锁步操作期间,所述计算机间传输接口接收关于写入操作的所述信息并且将所述信息中的至少一些与关于所述第二计算机系统的写入操作的信息进行比较。
9. 如权利要求8所述的系统,其中在所述锁步操作期间,所述第二计算机间传输接口将关于所述第二计算机系统的写入操作的信息提供到所述第一计算机间传输接口,并且其中所述第一计算机系统将来自所述第二计算机间传输接口的所述信息中的至少一些与关于所述第一计算机系统的写入操作的信息进行比较。
10. 如权利要求9所述的系统,其中所述比较是在所述第二计算机间传输接口中作出,并且另外其中关于所述第二存储器控制器的写入操作的信息通过所述互连提供到所述第一计算机间传输接口,并且比较也是在所述第一计算机间传输接口中作出。
11. 如权利要求10所述的系统,还包括第一、第二、第三以及第四组存储器模块,并且其中所述第一和第二组用于所述第一计算机系统的镜像存储器,并且其中所述第三和第四组用于所述第二计算机系统的镜像存储器。
12. 如权利要求7所述的系统,其中所述第一计算机系统包含第一存储器模块,并且其中所述第一计算机间传输接口包含在所述第一存储器模块中。
13. 如权利要求7所述的系统,其中所述第一存储器控制器包含在管芯上并且所述第一计算机间传输接口包含在与所述存储器控制器相同的管芯上。
14. 一种设备,包括:
存储器间传输接口,用于接收第一计算机系统的存储器写入事务并且能够将与所述写入事务相关的第一信息提供到耦合到第二计算机系统的外部互连,并且其中所述逻辑能够从所述互连接收与所述第二计算机系统的写入事务相关的第二信息。
15. 如权利要求14所述的设备,其中所述存储器间传输接口能够将所述第二信息中的至少一些提供到耦合到所述第一计算机系统中的所述逻辑的存储器。
16. 如权利要求14所述的设备,其中所述存储器间传输接口能够将所述第二信息中的至少一些与所述第一信息中的至少一些进行比较。
17. 如权利要求14所述的设备,还包括存储器模块,并且其中所述第一存储器间传输接口包含在存储器模块中。
18. 如权利要求14所述的设备,其中所述第一存储器间传输接口包含在管芯上,所述管芯也包含中央处理单元。
CN201380060686.7A 2012-12-20 2013-06-27 在检查点外部处理写入数据的多个计算机系统 Expired - Fee Related CN104798059B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/722,655 US9983953B2 (en) 2012-12-20 2012-12-20 Multiple computer system processing write data outside of checkpointing
US13/722655 2012-12-20
PCT/US2013/048374 WO2014099021A1 (en) 2012-12-20 2013-06-27 Multiple computer system processing write data outside of checkpointing

Publications (2)

Publication Number Publication Date
CN104798059A true CN104798059A (zh) 2015-07-22
CN104798059B CN104798059B (zh) 2020-04-07

Family

ID=50976076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380060686.7A Expired - Fee Related CN104798059B (zh) 2012-12-20 2013-06-27 在检查点外部处理写入数据的多个计算机系统

Country Status (4)

Country Link
US (1) US9983953B2 (zh)
KR (1) KR101686366B1 (zh)
CN (1) CN104798059B (zh)
WO (1) WO2014099021A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491159A (zh) * 2018-03-07 2018-09-04 北京航空航天大学 一种基于随机延迟缓解i/o瓶颈的大规模并行系统检查点数据写入方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10318473B2 (en) * 2013-09-24 2019-06-11 Facebook, Inc. Inter-device data-transport via memory channels
US9436751B1 (en) * 2013-12-18 2016-09-06 Google Inc. System and method for live migration of guest
US9722335B2 (en) * 2014-05-05 2017-08-01 Qualcomm Incorporated Dual in line memory module (DIMM) connector
US11321249B2 (en) 2018-03-26 2022-05-03 Samsung Electronics Co., Ltd. Mechanism to autonomously manage SSDS in an array
TWI708260B (zh) * 2019-08-15 2020-10-21 華邦電子股份有限公司 儲存裝置及存取方法
US20200272533A1 (en) * 2020-05-14 2020-08-27 Intel Corporation Detecting memory mismatch between lockstep systems using a memory signature

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953742A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
US6401158B1 (en) * 1993-07-16 2002-06-04 Compaq Computer Corporation Apparatus for providing a CPU cluster via a disk I/O bus using a CPU brick which fits into a disk cavity
US20030126388A1 (en) * 2001-12-27 2003-07-03 Hitachi, Ltd. Method and apparatus for managing storage based replication
CN1794196A (zh) * 2004-12-21 2006-06-28 日本电气株式会社 确保用于识别容错计算机中的异步原因的时间
US20060242461A1 (en) * 2005-04-26 2006-10-26 Kondo Thomas J Method and system of copying a memory area between processor elements for lock-step execution
CN101055538A (zh) * 2006-04-12 2007-10-17 国际商业机器公司 应用容错和恢复的系统和方法
CN102096615A (zh) * 2011-01-25 2011-06-15 上海爱数软件有限公司 远程增量备份方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5163138A (en) * 1989-08-01 1992-11-10 Digital Equipment Corporation Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US5692121A (en) * 1995-04-14 1997-11-25 International Business Machines Corporation Recovery unit for mirrored processors
US5799141A (en) 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
JP3774826B2 (ja) 2002-07-11 2006-05-17 日本電気株式会社 情報処理装置
US7181675B2 (en) * 2003-10-06 2007-02-20 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for checksum offloading
JP4282464B2 (ja) * 2003-12-17 2009-06-24 株式会社日立製作所 リモートコピーシステム
US7602905B2 (en) * 2004-09-01 2009-10-13 Texas Instruments Incorporated Processes, circuits, devices, and systems for encryption and decryption and other purposes, and processes of making
US20080126690A1 (en) * 2006-02-09 2008-05-29 Rajan Suresh N Memory module with memory stack
US20070028144A1 (en) 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US7743232B2 (en) * 2007-07-18 2010-06-22 Advanced Micro Devices, Inc. Multiple-core processor with hierarchical microcode store
US8099387B2 (en) * 2008-06-02 2012-01-17 International Business Machines Corporation Managing consistency groups using heterogeneous replication engines
US8880768B2 (en) 2011-05-20 2014-11-04 Promise Technology, Inc. Storage controller system with data synchronization and method of operation thereof

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401158B1 (en) * 1993-07-16 2002-06-04 Compaq Computer Corporation Apparatus for providing a CPU cluster via a disk I/O bus using a CPU brick which fits into a disk cavity
US5953742A (en) * 1996-07-01 1999-09-14 Sun Microsystems, Inc. Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
US20030126388A1 (en) * 2001-12-27 2003-07-03 Hitachi, Ltd. Method and apparatus for managing storage based replication
CN1794196A (zh) * 2004-12-21 2006-06-28 日本电气株式会社 确保用于识别容错计算机中的异步原因的时间
US20060242461A1 (en) * 2005-04-26 2006-10-26 Kondo Thomas J Method and system of copying a memory area between processor elements for lock-step execution
CN101055538A (zh) * 2006-04-12 2007-10-17 国际商业机器公司 应用容错和恢复的系统和方法
CN102096615A (zh) * 2011-01-25 2011-06-15 上海爱数软件有限公司 远程增量备份方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108491159A (zh) * 2018-03-07 2018-09-04 北京航空航天大学 一种基于随机延迟缓解i/o瓶颈的大规模并行系统检查点数据写入方法
CN108491159B (zh) * 2018-03-07 2020-07-17 北京航空航天大学 一种基于随机延迟缓解i/o瓶颈的大规模并行系统检查点数据写入方法

Also Published As

Publication number Publication date
CN104798059B (zh) 2020-04-07
KR101686366B1 (ko) 2016-12-13
KR20150063509A (ko) 2015-06-09
US20140181435A1 (en) 2014-06-26
WO2014099021A1 (en) 2014-06-26
US9983953B2 (en) 2018-05-29

Similar Documents

Publication Publication Date Title
CN104798059A (zh) 在检查点外部处理写入数据的多个计算机系统
US6505305B1 (en) Fail-over of multiple memory blocks in multiple memory modules in computer system
US6785835B2 (en) Raid memory
US6854070B2 (en) Hot-upgrade/hot-add memory
US7320086B2 (en) Error indication in a raid memory system
US6684292B2 (en) Memory module resync
JP2514208B2 (ja) ホットスタンドバイメモリ−コピ−方式
US20090044044A1 (en) Device and method for correcting errors in a system having at least two execution units having registers
EP0514075A2 (en) Fault tolerant processing section with dynamically reconfigurable voting
EP2377039B1 (en) Error detection in a multi-processor data processing system
US6640282B2 (en) Hot replace power control sequence logic
JP7351933B2 (ja) エラーリカバリ方法及び装置
JP6098778B2 (ja) 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
US7155568B2 (en) Transaction generator for initialization, rebuild, and verify of memory
US9141485B2 (en) Storage device, control device and data protection method
JP2001249911A (ja) データ転送方法及びデータ処理システム
US20150286544A1 (en) Fault tolerance in a multi-core circuit
JP3748117B2 (ja) 鏡像化メモリ用エラー検出システム
JP5099342B2 (ja) Plc用の部品実装基板
US20200272533A1 (en) Detecting memory mismatch between lockstep systems using a memory signature
US20020065987A1 (en) Control logic for memory modification tracking
CN111190774A (zh) 一种多核处理器可配置双模冗余结构
JPH07182189A (ja) 計算機システム及びプロセッサチップ及び障害復旧方法
JP4146045B2 (ja) 電子計算機
CN117795466A (zh) 使用子命令的存取请求管理

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200407

Termination date: 20210627

CF01 Termination of patent right due to non-payment of annual fee