JP2011519460A - チェックポイントデータの不揮発性メモリへの保存 - Google Patents

チェックポイントデータの不揮発性メモリへの保存 Download PDF

Info

Publication number
JP2011519460A
JP2011519460A JP2011507392A JP2011507392A JP2011519460A JP 2011519460 A JP2011519460 A JP 2011519460A JP 2011507392 A JP2011507392 A JP 2011507392A JP 2011507392 A JP2011507392 A JP 2011507392A JP 2011519460 A JP2011519460 A JP 2011519460A
Authority
JP
Japan
Prior art keywords
volatile memory
data
checkpoint
application
memory
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.)
Pending
Application number
JP2011507392A
Other languages
English (en)
Inventor
ジュピー・ノーマン
デイビス・アラン
アガワル・ニディ
カウフマン・リチャード
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2011519460A publication Critical patent/JP2011519460A/ja
Pending legal-status Critical Current

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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • 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/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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
    • G06F11/2046Error 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 where the redundant components share persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Retry When Errors Occur (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

チェックポイントデータを不揮発性メモリに保存するための方法及びシステムが説明される。一実施形態によれば、データ保存方法は、処理回路部を使用してアプリケーションを実行すること、及び、実行中に、アプリケーションの実行によって生成されたデータを揮発性メモリに書き込むことを含む。データを書き込んだ後に、チェックポイントの表示が提供される。表示が提供された後、この方法は、揮発性メモリから不揮発性メモリへデータをコピーすること、及び、コピー後に、アプリケーションの実行を続行することを含む。
【選択図】図1

Description

開示の態様は、チェックポイントデータを不揮発性メモリに保存することに関する。
半導体製造技術が、常に小さな特徴サイズに縮小し続けるにつれて、ハードウェアの障害率(fault rate)は、増加すると予想される。
一過性エラー及びハードエラーの少なくとも2つのタイプの故障が起こり得る。一過性エラーは、一時的ではあり得るが、わずかな時間の間持続する場合がある。ハードエラーは永続的であり得る。
一過性エラーは、多くの原因を有する場合がある。
例示的な一過性エラーには、電源変動、熱的効果、アルファ粒子衝突によるトランジスタ障害、及び、クロストーク、環境雑音による干渉に起因したワイヤ障害、及び/又は信号完全性問題が含まれる。
ハードエラーの原因には、例えば、プロセス変動及び過度の熱の組み合わせによって引き起こされるトランジスタ故障、並びに、ワイヤ材料の臨界電流密度を超えることによって引き起こされる製造欠陥又は金属マイグレーションによるワイヤ故障が含まれる。
ハードエラー及び一過性エラーの双方は、細かなレベルの粒度又は大きなレベルの粒度のいずれかで冗長メカニズムを使用して内部で訂正され得る。
きめ細かなメカニズムには、メモリコンポーネントのエラー訂正符号、パケット伝送チャネル上での巡回冗長符号、及びディスクシステムにおける消去符号化方式が含まれる。
きめの大きなメカニズムには、同じ命令を実行するように複数のプロセッサを構成し、次いでそれら複数のプロセッサからの実行結果を比較して正しい結果を判断することが含まれる。
このような場合、同じ命令を実行するプロセッサの個数は、エラーを検出するために2つ以上であるべきである。
プロセッサの個数が2つである場合、エラーを検出することができる。
プロセッサの個数が3つ以上である場合、エラーの検出及び訂正の双方を行うことができる。
しかしながら、このような冗長メカニズムを使用することは、大規模並列システムでは法外に高価になるおそれがある。
大規模並列システムは、単一の長期実行アプリケーションを実行するプロセッサのクラスタを含む場合がある。
いくつかの場合に、大規模並列システムは、単一の長期実行アプリケーションを数日又は数週間の間実行する数百万個の集積回路を含む場合がある。
これらの大規模並列システムは、アプリケーションの中間状態を1つ又は複数のディスクに保存することによって、アプリケーションを定期的にチェックポイントすることができる。
障害の場合、計算をロールバックし、計算の最初からではなく最も近時に記録されたチェックポイントから計算を再開することができ、数時間又は数日の計算時間を節減できる可能性がある。
その結果、半導体製造技術の特徴サイズが減少し、障害率が増加するにつれて、少なくとも何らかのコンピューティングアレンジメント(例えば、大規模並列システム)でのチェックポイントの使用が、ますます重要になってくる可能性がある。
既知のシステムは、チェックポイントデータをディスクに書き込む。
しかしながら、ディスクの帯域幅及びディスクのアクセス時間は、コンピューティングシステムの要求に遅れずに付いていくほど十分迅速に改善されない場合がある。
さらに、ディスク等の機械的な媒体を使用してデータをチェックポイントする際に消費される電力量は大きな欠点である。
開示のいくつかの態様によれば、チェックポイントデータを不揮発性メモリに保存するための方法及びシステムが説明される。
一態様によれば、データ保存方法は、処理回路部を使用してアプリケーションを実行することと、実行中にアプリケーションの実行によって生成されたデータを揮発性メモリに書き込むこととを含む。
上記方法はまた、不揮発性メモリへの書き込み後に、チェックポイントの表示(例えば、チェックポイント完了の表示)を提供することを含む。
チェックポイントの表示の提供後に、上記方法は、揮発性メモリから不揮発性メモリへデータをコピーすること、及び、コピー後にアプリケーションの実行を続行することを含む。
いくつかの実施の形態においては、不揮発性メモリは、ソリッドステートメモリ及び/又はランダムアクセスメモリとすることができる。
実行の続行に続いて、上記方法は、いくつかの実施の形態においては、アプリケーションの実行におけるエラーを検出することを含む。
検出に応答して、不揮発性メモリから揮発性メモリへデータがコピーされる。
続いて、揮発性メモリに保存されたコピーされたデータを使用して、チェックポイントからアプリケーションを実行することができる。
他の態様によれば、データ保存方法は、1つ又は複数のアプリケーションの実行に関連したチェックポイントの表示を受け取ること、及び、受け取りに応答して、揮発性メモリから不揮発性メモリへの、1つ又は複数のアプリケーションの実行に起因するデータのコピーを開始することを含む。
いくつかの実施形態では、表示は、データが保存されている揮発性メモリ内のロケーションを記述し得る。
他の態様によれば、コンピュータシステムは処理回路部及びメモリモジュールを備える。
処理回路部は、アプリケーションの命令を処理するように構成される。
メモリモジュールは、アプリケーションの命令の前記処理中に処理回路部によって生成されたデータを保存するように構成された揮発性メモリを備え得る。
メモリモジュールは、揮発性メモリからデータを受け取り、データを保存するように構成された不揮発性メモリも備え得る。
一実施形態では、処理回路部は、チェックポイントが示されていることに応答して、揮発性メモリから不揮発性メモリへのデータのコピーを開始するように構成される。
一実施形態では、個々のデュアルインラインメモリモジュール(DIMM)が、不揮発性メモリのすべて又は一部及び揮発性メモリのすべて又は一部を含むように、不揮発性メモリ及び揮発性メモリを1つ又は複数のDIMMに編成することができる。
一実施形態では、不揮発性メモリは、複数の集積回路チップを含むことができ、データのコピーは、複数の集積回路チップの第1のものへのデータの第1のサブセットのコピー及び複数の集積回路チップの第2のものへのデータの第2のサブセットのコピーを同時に行うことを含むことができる。
他の実施形態及び態様は、以下の論述から明らかになるように説明される。
一実施形態による処理システムのブロック図である。 一実施形態によるコンピュータシステムのブロック図である。 一実施形態によるメモリモジュールのブロック図である。 一実施形態による処理システムのブロック図である。
本開示は、チェックポイントデータを不揮発性メモリに保存する処理システム、コンピュータ、プロセッサ、及びコンピュータシステム等の装置、並びにチェックポイントデータを不揮発性メモリに保存する方法を含むコンピュータ方法を対象にする。
開示のいくつかの態様によれば、アプリケーションが、処理回路を使用して実行される。
アプリケーションの実行がチェックポイントに達したとき、一実施形態では、アプリケーションのさらなる実行がサスペンドされ得る。
揮発性メモリに保存されたアプリケーションに関係したデータは、不揮発性メモリ内へコピーされ得る。
いくつかの実施形態では、不揮発性メモリは、NAND FLASH又は相変化メモリ等のソリッドステート不揮発性メモリであり得る。
不揮発性メモリは、加えて又は代替的に、ランダムアクセスメモリであり得る。
一実施形態では、データが一旦コピーされると、アプリケーションの実行をレジュームすることができる。
エラーがアプリケーションの実行中に発生した場合、不揮発性メモリに保存されたデータを揮発性メモリ内へコピーして戻すことができる。
データが揮発性メモリに一旦復元されると、アプリケーションをチェックポイントから再開することができる。
他の実施形態又は代替的な実施形態は以下で論述される。
図1を参照して、一実施形態による処理システム100が示されている。
システム100は、処理回路部102、メモリモジュール106、及びディスクストレージ108を含む。
図1の実施形態は、1つの可能な実施形態を示すために提供されたものであり、これよりも少ないコンポーネント、これよりも多くのコンポーネント、又は代替的なコンポーネントを含む他の実施形態が可能である。
加えて、図1のいくつかのコンポーネントを結合してもよい。
一実施形態では、システム100は、単一のコンピュータであり得る。
この実施形態では、処理回路部102は、1つのプロセッサ110を含むことができるが、相互接続114を含まない場合があり、大規模相互接続122と通信しない場合がある。相互接続114及び大規模相互接続122の双方は、想像線で示され、以下でさらに説明される。
この実施形態では、プロセッサ110は、シングルコアプロセッサ又はマルチコアプロセッサであり得る。
別の実施形態では、システム100は、プロセッサクラスタであり得る。
この実施形態では、処理回路部102は、複数のプロセッサを含むことができる。
図1には、プロセッサ110及びプロセッサ112の2つのプロセッサしか示されていないが、処理回路部102は、3つ以上のプロセッサを含むことができる。
いくつかの場合に、処理回路部102のこれらのプロセッサは、単一のアプリケーションを同時に実行することができる。
その結果として、アプリケーションが並列に実行され得る。
この実施形態では、処理回路部102は、プロセッサ110と112との間の通信及びアプリケーションの実行の連係を可能にする相互接続114を含むことができる。
さらに、さまざまな実施形態では、図2に関して以下でさらに説明するように、処理回路部102は、大規模相互接続122を介して他のプロセッサクラスタ(同じく、このアプリケーションを実行している場合がある)と通信することができる。
メモリモジュール106は、一実施形態では、揮発性メモリ116及び不揮発性メモリ118を含む。
揮発性メモリ116は、処理回路部102によって生成されたデータ及びディスクストレージ108からリトリーブされたデータを保存することができる。
このようなデータは、本明細書では、アプリケーションデータと呼ばれる。
揮発性メモリ116は、電子的技法、磁気的技法、光学的技法、電磁気的技法、又は情報を保存するための他の技法を使用して複数の異なる方法で具現化され得る。
いくつかの具体的な例には、DRAM及びSRAMが含まれるが、これらに限定されるものではない。
一実施形態では、揮発性メモリ116は、処理回路部102によって実施されるプログラミングを保存することができる。
不揮発性メモリ118は、揮発性メモリ116から受け取ったチェックポイントデータを保存する。
チェックポイントデータは、アプリケーションデータと同じ場合もあるし、アプリケーションデータのサブセットの場合もある。
いくつかの実施形態では、不揮発性メモリ118は、たとえ電力が不揮発性メモリ118に提供されなくても、チェックポイントデータを永続的に保存することができる。
上述したように、アプリケーションデータ及びチェックポイントデータは、一実施形態ではメモリに保存される。
メモリでの保存には、集積回路ストレージ媒体にデータを保存することが含まれる。
一実施形態では、不揮発性メモリ118は、ソリッドステート及び/又はランダムアクセスの不揮発性メモリ(例えば、NAND FLASH、FeRAM(強磁性体RAM)、MRAM(磁気抵抗RAM)、PCRAM(相変化RAM)、RRAM(抵抗変化型RAM)、プローブストレージ、及びNRAM(ナノチューブRAM))であり得る。
一実施形態では、不揮発性メモリ118からのチェックポイントデータの読み出しは、可動部品を使用しない。
別の実施形態では、不揮発性メモリ118は、ランダムな順序でアクセスされ得る。
さらに、不揮発性メモリ188は、データが、以前アクセスされたデータに関係していようといまいと、不揮発性メモリ118内のデータの物理的なロケーションにかかわらず、実質的に一定の時間でデータを返すことができる。
一実施形態では、処理回路部102は、チェックポイント管理モジュール104を含む。
チェックポイント管理モジュール104は、一実施形態では、チェックポイントオペレーションを制御及び実施するように構成される。
例えば、チェックポイント管理モジュール104は、揮発性メモリ116から不揮発性メモリ118へのチェックポイントデータのコピー及び不揮発性メモリ118から揮発性メモリ116へのチェックポイントデータのコピーを制御することができる。
チェックポイント管理モジュール104は、一実施形態では、プロセッサ等の処理回路部を含むことができる。
他の実施形態では、チェックポイント管理モジュール104は、プロセッサ110及び/又はプロセッサ112において(例えば、マイクロコード又はソフトウェアとして)具現化され得る。
例として、処理回路部102は、ディスクストレージ108(例えば、1つ又は複数のハードディスク)によって保存されたアプリケーションを実行することができる。
このアプリケーションは、複数の命令を含むことができる。
命令のいくつか又はすべては、ディスクストレージ108から揮発性メモリ116内へコピーされ得る。
命令のいくつか又はすべては、処理回路部102がそれら命令を処理できるように、その後、揮発性メモリ116から処理回路部102へ転送され得る。
命令の処理の結果として、処理回路部102は、揮発性メモリ116又はディスクストレージ108からアプリケーションデータをリトリーブすることができ、且つ/又は揮発性メモリ116又はディスクストレージ108にアプリケーションデータを書き込むことができる。
その結果、アプリケーションの命令が処理回路部102によって処理されているとき、揮発性メモリ116及び/又はディスクストレージ108のコンテンツは変化し得る。
特定の時点における揮発性メモリ116のコンテンツのいくつか又はすべては、チェックポイントデータとして保存され得る。
例えば、処理回路部102がアプリケーションの1つ又は複数の初期命令を処理した後、揮発性メモリ116に保存されたチェックポイントデータ(アプリケーションデータのすべての場合もあるし、サブセットの場合もある)は、揮発性メモリ116以外のロケーションへコピーされ得る。
チェックポイントデータが一旦コピーされると、処理回路部102は、アプリケーションの1つ又は複数の次の命令の処理に移ることができる。
後に、初期命令の処理に続いて、アプリケーションの実行中にエラーが発生したか否かを判断することができる。
エラーから回復するために、保存されたチェックポイントデータを揮発性メモリ116に戻すことができ、処理回路部102は、アプリケーションの実行を次の命令から始めて再開することができる。
一実施形態では、チェックポイント管理モジュール104は、チェックポイントデータの保存を管理することができる。
一実施形態では、チェックポイント管理モジュール104は、1つ又は複数のアプリケーションの実行に関連したチェックポイントの表示を処理回路部102から受け取ることができる。
チェックポイントオペレーションを実行する表示は、説明例において以下で論述するように、異なるソースによって提供され得且つ/又は異なる開始基準について提供され得る。
処理回路部102は、処理回路部102の1つ又は複数のキャッシュメモリ(図示せず)のコンテンツを揮発性メモリ116にフラッシュした後に、この表示をチェックポイント管理モジュール104に提供することができる。
処理回路部102内のさまざまなエンティティの1つ又は複数が、この表示を提供することができる。
例えば、オペレーティングシステム、仮想マシン、ハイパーバイザ、又はアプリケーションが、チェックポイントの表示を生成することができる。
表示を生成するための基準の他のソースが可能であり、以下で論述される。
表示を受け取ったことに応答して、チェックポイント管理モジュール104は、揮発性メモリ116によって保存されたアプリケーションデータのすべて又は一部の不揮発性メモリ118へのコピーを開始することができる。
一実施形態では、チェックポイントデータが揮発性メモリ116から不揮発性メモリ118へコピーされている間チェックポイントされているアプリケーション(複数可)のアプリケーションデータが変化しないように、表示をチェックポイント管理モジュール104に提供する前又は提供した後に、処理回路部102は、チェックポイントされているアプリケーション(複数可)の実行をサスペンドすることができる。
いくつかの実施形態では、処理回路部102は、揮発性メモリ116及び不揮発性メモリ118にアプリケーションデータを書き込むことができる。
他の実施形態では、処理回路部102は、揮発性メモリ116にはアプリケーションデータを書き込むことができるが、不揮発性メモリ118にはアプリケーションデータを書き込むことができない場合がある。
しかしながら、チェックポイントデータは、揮発性メモリ116から不揮発性メモリ118へコピーされ得る。
したがって、チェックポイントデータを不揮発性メモリ118内に書き込むには、チェックポイントデータを最初に揮発性メモリ116内に書き込むことが必要な場合がある。
揮発性メモリ116及び不揮発性メモリ118の相対的な容量は、任意の適切な構成で構成され得る。
例えば、チェックポイントオペレーションの完了直前にエラーが発生する場合があるので、一実施形態では、不揮発性メモリ118がチェックポイントデータの2セットを保存できるように、不揮発性メモリ118は、揮発性メモリ116の少なくとも2倍の容量を有することができる。
加えて、少なくとも一実施形態では、異なるチェックポイントに対応する多数の異なるチェックポイントデータを不揮発性メモリ118に同時に保存することもできる。
チェックポイント表示は、揮発性メモリ116によって保存されたアプリケーションデータのどの部分がチェックポイントデータであるのかを指定することができる。
例えば、この表示は、揮発性メモリ116によって保存されたアプリケーションデータの実質的にすべてがチェックポイントデータであること、特定のアプリケーションにのみ関係したアプリケーションデータがチェックポイントデータであること、及び/又は揮発性メモリ116の特定のロケーション内のアプリケーションデータがチェックポイントデータであることを示すことができる。
一実施形態では、この表示は、チェックポイントデータを記述するセーブベクトル(save vector)を含むことができる。
一実施形態では、処理回路部102は、揮発性メモリ116及び不揮発性メモリ118を制御することによって、揮発性メモリ116から不揮発性メモリ118へのチェックポイントデータのコピーを実施することができる。
例えば、処理回路部102は、制御信号又は制御命令を揮発性メモリ116及び不揮発性メモリ118に提供することができる。
別の実施形態では、チェックポイント管理モジュール104が、メモリ116及び118を制御することによって、チェックポイントデータのコピーを実施することができる。
チェックポイント管理モジュール104は、チェックポイントデータの不揮発性メモリ118へのコピーが一旦成功すると、処理回路部102に通知することができる。
別の実施形態では、メモリモジュール106は、別個の処理回路部(図示せず)を含むことができ、処理回路部102又はチェックポイント管理モジュール104は、チェックポイントデータを記述する情報(例えば、チェックポイントデータが保存されている揮発性メモリ116のロケーション)をこのような処理回路部に提供して、チェックポイントデータを不揮発性メモリ118へコピーするようにこのような処理回路部に命令することができる。
メモリモジュール106のこの処理回路部は、チェックポイントデータの不揮発性メモリ118へのコピーが一旦成功すると、チェックポイント管理モジュール104及び/又は処理回路部102に通知することができる。
チェックポイント制御モジュール104は、チェックポイントデータの不揮発性メモリ118へのコピーが成功したものと判断した後、チェックポイントデータが不揮発性メモリ118へコピーされたことを処理回路部102に通知することができる。
これに応答して、処理回路部102は、チェックポイントデータが不揮発性メモリ118へコピーされていた間、処理回路部102が前にサスペンドしていたアプリケーション(複数可)の実行を続行することができる。
システム100は、アプリケーションの実行中、チェックポイントデータを不揮発性メモリ118に保存する上述した方法を複数回繰り返すことができる。
上述したように、いくつかの手法を使用して、チェックポイントをいつ生成すべきかを決定することができる。
一手法によれば、チェックポイントデータは、定期的に保存され得、処理回路部102によって実行されている複数のアプリケーションについて保存され得る。
この実施形態では、(例えば、処理回路部102によって実行されるオペレーティングシステム、仮想マシン、ハイパーバイザ等を介して)処理回路部102は、上述したように、チェックポイントをチェックポイント管理モジュール104に定期的に示すことができる。
チェックポイントオペレーションの周期は、いくつかの例では、タイマ割り込みによって制御され得るし、定期的なオペレーティングシステムの介入によって制御され得る。
一実施形態では、揮発性メモリ116によって保存されたアプリケーションデータの実質的にすべてを不揮発性メモリ118へコピーすることができる。
代替的に、処理回路部102によって実行されている1つのアプリケーションのみに関係したアプリケーションデータを不揮発性メモリ118へコピーすることができる。
この手法は、自動チェックポイントと呼ばれる場合がある。
別の手法によれば、処理回路部102によって実行されているアプリケーションは、チェックポイントデータをいつ生成すべきかを決定することができる。
一実施形態では、アプリケーションは、どのアプリケーションデータをチェックポイントデータとして保存すべきか及びそのチェックポイントデータをいつ保存すべきかを指定することができる。
一実施形態では、アプリケーションは、チェックポイント命令を含むことができる。
アプリケーションがチェックポイント命令によって境界を定められた複数の命令セクションに分割されるように、アプリケーション全体を通じてチェックポイント命令を配置することができる。
一実施形態では、特定の計算又は機能を実行する複数の命令セクションの終わりにチェックポイント命令を位置決めすることができる。
例えば、アプリケーションが、口座残高を更新する銀行取引アプリケーションである場合、アプリケーションは、口座残高を更新する命令の直後にチェックポイント命令を含むことができる。
別の実施形態では、アプリケーションは、条件が満たされたことに応答してチェックポイントが生成されるように要求することができる。
この手法は、アプリケーションチェックポイントと呼ばれる場合がある。
チェックポイントデータが保存され、アプリケーションの実行がレジュームされたことに続いて、処理回路部102及び/又はチェックポイント管理モジュール104は、(例えば、冗長計算チェックを介して)アプリケーションの実行のエラーを検出することができる。
一実施形態では、処理回路部102は、エラーを検出すると、アプリケーションのさらなる実行をサスペンドすることができる。
エラーから回復するために、不揮発性メモリ118に保存されたチェックポイントデータに関連したチェックポイントから始めてアプリケーションを再実行することができる。
エラーの検出に応答して、チェックポイント管理モジュール104は、不揮発性メモリ118から揮発性メモリ116へチェックポイントデータをコピーすることができる。
チェックポイントデータが揮発性メモリ116に一旦コピーされると、チェックポイント管理モジュール104は、処理回路部102に通知することができる。
処理回路部102は、その後、チェックポイントデータを使用して、アプリケーションをチェックポイントから始めて再実行することができる。
このチェックポイントデータは、この時点では、揮発性メモリ116において処理回路部102に利用可能である。
一実施形態では、チェックポイントデータは、複数のアプリケーションのチェックポイントデータとされ得、検出されたエラーは、これら複数のアプリケーションのすべてに影響を与える場合がある。
この実施形態では、チェックポイントデータが一旦復元されると、複数のアプリケーションのそれぞれをチェックポイントから始めて再実行することができる。
図2を参照して、大規模コンピュータシステム200が示されている。
システム200は、図1に関して上述した複数の処理システム100を含む。
一実施形態では、システム100は、単一のアプリケーションを並列に実行するのに使用され得るし、異なるアプリケーションを実行するのに使用され得る。
単一のアプリケーションを並列に実行することによって、1つのプロセッサ又は1つのプロセッサクラスタ上での単一のアプリケーションの実行を上回る大きな速度の利点を提供することができる。
システム200は、追加の処理システムを含むことができる。
これら追加の処理システムは、簡単にするために図示されていない。
一実施形態では、システム200は、管理ノード204、大規模相互接続122、I/Oノード206、ネットワーク208、及びストレージ回路部210も含む。
一実施形態では、管理ノード204は、単一のアプリケーションのどの部分が処理システムによって実行されるべきかを決定することができる。
管理ノード204は、大規模相互接続122を介して処理システム100と通信することができる。
アプリケーションの実行中、処理システム100及び/又は処理システム202は、ストレージ回路部210にデータを保存することができる。
それを行うために、処理システムは、大規模相互接続122及びI/Oノード206を介してストレージ回路部210へデータを送信することができる。
同様に、処理システムは、大規模相互接続122及びI/Oノード206を介してストレージ回路部210からデータをリトリーブすることもできる。
例えば、処理システム100は、ディスクストレージ108からストレージ回路部210へデータを移動させることができる。
ストレージ回路部210は、ディスクストレージ108よりも大きな容量を有することができる。
いくつかの実施形態では、処理システム100及び202は、I/Oノード206及びネットワーク208を介して他のコンピュータシステムと通信することができる。
一実施形態では、ネットワーク208はインターネットとすることができる。
一実施形態では、ストレージ回路部210は、不揮発性メモリを含むことができ、管理ノード204は、大規模相互接続122を介して、処理システム100からストレージ回路部210の不揮発性メモリへのチェックポイントデータのコピーを開始することができる。
次に図1に戻って、メモリモジュール106は、チェックポイントデータをシリアルにコピーするのではなく、並列に、揮発性メモリ116に保存されたチェックポイントデータの異なる部分を不揮発性メモリ118へ同時にコピーするように、構成され得る。
これを行うことによって、揮発性メモリ116から不揮発性メモリ118へチェックポイントデータをコピーするのに使用される時間量を大幅に削減することができる。
図3を参照して、メモリモジュール106の一実施形態が示されている。
開示する実施形態は、単に例示にすぎず、他の実施形態が可能である。
描写された実施形態では、メモリモジュール106は、3つのデュアルインラインメモリモジュール(DIMM)302、304、及び306を含む。
もちろん、メモリモジュール106は、2つ以下のDIMM又は4つ以上のDIMMを含むことができ、3つのDIMMは簡単にするために示されている。
代替的に又は加えて、メモリモジュール106は、DIMM以外の他の形態のメモリを含むこともできる。
DIMM302、304、及び306のそれぞれは、揮発性メモリ116の一部及び不揮発性メモリ118の一部を含むことができる。
図3に示すように、DIMM302は、揮発性メモリ(VM)308及び不揮発性メモリ(NVM)310を含み、DIMM304は、揮発性メモリ(VM)312及び不揮発性メモリ(NVM)314を含み、DIMM306は、揮発性メモリ(VM)316及び不揮発性メモリ(NVM)318を含む。
揮発性メモリ308、312、及び316は、それぞれ、図1の揮発性メモリ116の異なる部分であり得る。
同様に、不揮発性メモリ310、314、及び318は、それぞれ、図1の不揮発性メモリ118の異なる部分であり得る。
一実施形態では、DIMM302、304、及び306のそれぞれは、異なる回路ボードであり得る。
さらに、揮発性メモリ308、312、及び316は、それぞれ、2つ以上の集積回路を含むことができ、不揮発性メモリ310、314、及び318は、それぞれ、2つ以上の集積回路を含むことができる。
したがって、例えば、DIMM302は、揮発性メモリ308を構成する複数の揮発性メモリ集積回路、及び不揮発性メモリ310を構成する複数の不揮発性メモリ集積回路を含むことができる。
DIMM302、304、及び306のそれぞれは、異なるアプリケーションデータを保存することができる。
その結果、チェックポイントに遭遇したとき、チェックポイント管理モジュール104は、揮発性メモリ308から不揮発性メモリ310へのチェックポイントデータのコピー、揮発性メモリ312から不揮発性メモリ314へのチェックポイントデータのコピー、及び揮発性メモリ316から不揮発性メモリ318へのチェックポイントデータのコピーを開始することができる。
一実施形態では、チェックポイント管理モジュール104は、十分にバッファリングされた(fully-buffered)DIMM制御プロトコルを使用してDIMM302、304、及び306と通信することができる。
一実施形態では、チェックポイント管理モジュール104及び/又は処理回路部102は、DIM302、304、及び306のそれぞれと個別に通信して、揮発性メモリ116から不揮発性メモリ118へのチェックポイントデータのコピーを開始することができる。
DIMM302は、DIMM304及び306とは独立に、揮発性メモリ308と不揮発性メモリ310との間でデータをコピーすることができる。
実際には、チェックポイントデータの第1の部分を揮発性メモリ308から不揮発性メモリ310へコピーすることができ、その間、チェックポイントデータの第2の部分が、揮発性メモリ312から不揮発性メモリ314へコピーされており、またその間、チェックポイントデータの第3の部分が、揮発性メモリ316から不揮発性メモリ318へコピーされている。
これを行うことによって、第1の部分がコピーされるまでチェックポイントデータの第2の部分のコピーを待機し、第2の部分がコピーされるまでチェックポイントデータの第3の部分のコピーを待機するよりも大幅に高速化することができる。
同様の手法は、チェックポイントデータを不揮発性メモリ118から揮発性メモリ116へ復元するときも使用され得る。
この手法によれば、チェックポイント管理モジュール104及び/又は処理回路部102は、不揮発性メモリ118から揮発性メモリ116へのチェックポイントデータのコピーを開始するために、DIMM302、304、及び306のそれぞれと個別に通信することができる。
同時に、チェックポイントデータの第1の部分を不揮発性メモリ310から揮発性メモリ308へコピーすることができ、チェックポイントデータの第2の部分を不揮発性メモリ314から揮発性メモリ312へコピーすることができ、チェックポイントの第3の部分を不揮発性メモリ318から揮発性メモリ316へコピーすることができる。
図4を参照して、処理システム100の一代替的な実施形態が、システム100aとして示されている。
この実施形態では、図1に示す処理回路部102の実施形態が含むように、処理回路部102は、プロセッサ110及び112並びに相互接続114を含む。
加えて、処理回路部102は、それぞれのプロセッサを個別に含むことができるノースブリッジ402及びサウスブリッジ404も含む。
ノースブリッジ402は、相互接続114を介してプロセッサ110及び112から制御トランザクション及び/又はデータトランザクションを受信することができる。
各トランザクションについて、ノースブリッジ402は、そのトランザクションがメモリモジュール106を宛先としているのか、ディスクストレージ108を宛先としているのか、それとも大規模相互接続122を宛先としているのかを判断することができる。
トランザクションがメモリモジュール106を宛先としている場合、ノースブリッジ402は、そのトランザクションをメモリモジュール106へ転送することができる。
トランザクションがディスクストレージ108又は大規模相互接続122を宛先としている場合、ノースブリッジ402は、そのトランザクションをサウスブリッジ404へ転送することができ、サウスブリッジ404は、その後、トランザクションをディスクストレージ108又は大規模相互接続122のいずれかへ転送することができる。
サウスブリッジ404は、ディスクストレージ108又は大規模相互接続122のいずれかに適切なプロトコルに要求を変換することができる。
一実施形態では、ノースブリッジ402は、チェックポイント管理モジュール104を含む。
この実施形態では、チェックポイント管理モジュール104は、実行のためにプロセッサ110及び/又はプロセッサ112へ転送される命令を保存することができる。
代替的に又は加えて、ノースブリッジ401は、チェックポイント管理モジュール104のすべて又は一部を実施する制御ロジックを含むことができる。
代替的に、別の実施形態では、チェックポイント管理モジュール104は、プロセッサ110及び/又はプロセッサ112によって処理される命令として(例えば、隠匿された(concealed)ハイパーバイザ又はファイアウォールとして)実施され得る。
上述した開示のシステム及び方法とは対照的に、不揮発性メモリを含まない他のコンピュータシステムは、揮発性メモリからディスクストレージへチェックポイントデータをコピーすることができ、エラーの場合にディスクストレージから揮発性メモリへチェックポイントデータをリトリーブすることができる。
チェックポイントデータをディスクストレージではなく不揮発性メモリに保存することによって、これらの他のコンピュータシステムを上回るいくつかの利点を提供することができる。
一実施形態では、不揮発性メモリはディスクストレージよりもはるかに高速であり得るので、チェックポイントデータを不揮発性メモリに保存することは、チェックポイントデータをディスクストレージに保存するよりも、2桁以上(an order magnitude)高速であり得る。
さらに、チェックポイントデータは、揮発性メモリと不揮発性メモリとの間で並列にコピーされ得る。
揮発性メモリと不揮発性メモリとの間の物理的な距離が揮発性メモリとディスクストレージとの間の物理的な距離よりもはるかに小さい場合があるので、チェックポイントデータを不揮発性メモリに保存することは、チェックポイントデータをディスクストレージに保存ことよりも、より少ないエネルギーを消費し得る。
この物理的な距離が短いことによって、レイテンシも削減することができる。
さらに、ディスクストレージと対照的に、不揮発性メモリは可動部品を含まない場合があるので、チェックポイントデータを不揮発性メモリに保存することは、チェックポイントデータをディスクストレージに保存することよりも、より少ないエネルギーを消費し得る。
チェックポイントを不揮発性メモリから復元するのに使用される時間量がディスクストレージからチェックポイントを復元させるのに使用される時間量よりも大幅に少ない場合があるので、チェックポイントデータをディスクストレージに書き込むのではなく、チェックポイントデータを不揮発性メモリに書き込む結果として、プロセッサシステム又はプロセッサクラスタの可用性を増加させることができる。
さらに、ディスクストレージは不揮発性メモリが受けない(可動部品の使用による)機械的故障モードを受けるので、チェックポイントデータを不揮発性メモリに保存する結果、チェックポイントデータをディスクストレージに保存するよりもエラーを少なくすることができる。
一実施形態では、プロセッサシステムの可用性計算は、プロセッサシステムの計画外のダウンタイム量を伴う場合がある。
エラーの検出に続いてチェックポイントデータを揮発性メモリに復元するのに費やす時間は、計画外のダウンタイムと考えられ得る。
不揮発性メモリから揮発性メモリへチェックポイントデータを復元することはディスクストレージから揮発性メモリへチェックポイントデータを復元するよりも高速であり得るので、不揮発性メモリにチェックポイントするときの計画外のダウンタイムの量は、ディスクストレージにチェックポイントするときの計画外のダウンタイムの量よりも少ない場合がある。
プロセッサシステムの一例の可用性の式を、可用性=1/(1+エラー率×計画外のダウンタイム)とすることができる。
例として、毎年1000個のエラーが発生し、ディスクストレージからチェックポイントデータを復元するときの1エラー当たりのダウンタイムが3秒である場合、プロセッサシステムの可用性を、99.999%よりも小さいが、99.99%よりも大きくすることができ、したがって、「フォーナインズ(four nines)」の信頼性を有すると言われる場合がある。
これとは対照的に、不揮発性メモリを使用すると、不揮発性メモリからチェックポイントデータを復元するときの1チェックポイント当たりのダウンタイムが300ミリ秒である場合、システムの可用性を、99.9999%よりも小さいが99.999%よりも大きくすることができ、したがって、「ファイブナインズ(five nines)」の信頼性を有すると言われる場合がある。
プロセッサシステムの計画外のダウンタイムを減少させることに加えて、チェックポイントデータをディスクストレージではなく不揮発性メモリに書き込むことによって、プロセッサシステムの計画内のダウンタイムの量も減少させ得る。
上記で論述したように、プロセッサシステムによるアプリケーションの実行は、チェックポイントデータが不揮発性メモリに書き込まれている間、サスペンドされ得る。
アプリケーションがサスペンドされている時間量は、プロセッサシステムの計画内のダウンタイムと考えられ得る。
チェックポイントデータを不揮発性メモリに書き込むのに要する時間は少ないので、チェックポイントデータを不揮発性メモリに書き込むことによって、チェックポイントデータをディスクストレージに書き込むことと比較して、プロセッサシステムの計画内のダウンタイムの量を大幅に減少させることができる。
開示した実施形態は、単に例として与えられたものにすぎず、求める保護は、開示した実施形態に限定されるべきではなく、それどころか、添付の特許請求の範囲の範囲によってのみ限定されるべきである。
さらに、本明細書の態様は、開示の例示の実施形態の作成及び/又はオペレーションの指針として提示されたものである。
本願の出願人(複数可)は、これらの説明した例示の実施形態を、明示的に開示した発明的態様に加えて、さらなる発明的態様も含み、開示し、説明しているものと考える。
例えば、追加の発明的態様は、例示の実施形態で説明した特徴よりも少ない特徴、多い特徴、及び/又は代替的な特徴を含むことができる。
より具体的な例では、出願人は、この開示を、明示的に開示した方法よりも少ないステップ、多いステップ、及び/又は代替的なステップを含む方法だけでなく、明示的に開示した構造よりも小さな構造、大きな構造、及び/又は代替的な構造を含む装置も含み、開示し、説明しているものと考える。
100 システム
102 処理回路部
104 チェックポイント管理モジュール
106 メモリモジュール
108 ディスクストレージ
110、112 プロセッサ
114 相互接続
116 揮発性メモリ
118 不揮発性メモリ
122 大規模相互接続
204 管理ノード
206 I/Oノード
208 ネットワーク
210 ストレージ回路部
402 ノースブリッジ
404 サウスブリッジ

Claims (20)

  1. 処理回路部を使用してアプリケーションを実行することと、
    前記実行中に、前記アプリケーションの前記実行によって生成されたデータを揮発性メモリに書き込むことと、
    前記書き込み後に、チェックポイントの表示を提供することと、
    前記提供後に、前記揮発性メモリから不揮発性メモリへ前記データをコピーすることと、
    前記コピー後に、前記アプリケーションの前記実行を続行することと
    を含むデータ保存方法。
  2. 前記コピー中に、前記アプリケーションの前記実行をサスペンドすること
    をさらに含む請求項1に記載の方法。
  3. 前記実行の前記続行に続いて、前記アプリケーションの前記実行におけるエラーを検出することと、
    前記検出に応答して、前記不揮発性メモリから前記揮発性メモリへ前記データをコピーすることと、
    前記不揮発性メモリから前記揮発性メモリへの前記データの前記コピーの後に、前記揮発性メモリに保存された前記コピーされたデータを使用して、前記チェックポイントから前記アプリケーションを実行することと
    をさらに含む請求項2に記載の方法。
  4. 前記不揮発性メモリは、ソリッドステートメモリを備える
    請求項1に記載の方法。
  5. 前記不揮発性メモリは、ランダムアクセスメモリを備える
    請求項1に記載の方法。
  6. 前記不揮発性メモリは、複数の集積回路チップを備え、
    前記データの前記コピーすることは、
    前記複数の集積回路チップの第1のものへの前記データの第1のサブセットをコピーすること及び前記複数の集積回路チップの第2のものへの前記データの第2のサブセットをコピーすることを同時に行うこと
    を含む
    請求項1に記載の方法。
  7. 前記チェックポイントの前記表示の前記提供は、
    前記処理回路部が前記アプリケーションの一部の実行を完了したことに応答して、前記表示を提供すること
    を含む
    請求項1に記載の方法。
  8. 前記提供することは、
    前記処理回路部によって実行されるオペレーティングシステムを使用して前記表示を提供すること
    を含む
    請求項1に記載の方法。
  9. 1つ又は複数のアプリケーションの実行に関連したチェックポイントの表示を受け取ることと、
    前記受け取りに応答して、揮発性メモリから不揮発性メモリへの、前記1つ又は複数のアプリケーションの実行に起因するデータのコピーを開始することと
    を含むデータ保存方法。
  10. 前記受け取ることは、
    処理回路部から受け取ること
    を含み、
    該方法は、
    前記データが前記不揮発性メモリへコピーされたものと判断することと、
    前記データが前記不揮発性メモリへコピーされたことを前記処理回路部に通知すること
    をさらに含む
    請求項9に記載の方法。
  11. 前記不揮発性メモリは、不揮発性ソリッドステートメモリであり、
    前記不揮発性ソリッドステートメモリ及び前記揮発性メモリは、共に、単一のデュアルインラインメモリモジュール(DIMM)の一部である
    請求項9に記載の方法。
  12. 前記表示は、前記データが保存されている前記揮発性メモリ内のロケーションを記述する
    請求項9に記載の方法。
  13. 第1のDIMMが、前記不揮発性メモリの第1の部分及び前記揮発性メモリの第1の部分を備え、
    第2のDIMMが、前記不揮発性メモリの第2の部分及び前記揮発性メモリの第2の部分を備え、
    前記コピーを前記開始することは、
    前記第1のDIMM上において前記揮発性メモリの前記第1の部分から前記不揮発性メモリの前記第1の部分へのコピーを第1に開始することと、
    前記第2のDIMM上において前記揮発性メモリの前記第2の部分から前記不揮発性メモリの前記第2の部分へのコピーを第2に開始することと
    を含む
    請求項9に記載の方法。
  14. アプリケーションの命令を処理するように構成された処理回路部と、
    メモリモジュールであって、
    前記アプリケーションの前記命令の前記処理中に前記処理回路部によって生成されたデータを保存するように構成された揮発性メモリ、及び
    前記揮発性メモリから前記データを受け取り、前記データを保存するように構成された不揮発性メモリ
    を備えるメモリモジュールと
    を備え、
    前記処理回路部は、チェックポイントが示されていることに応答して、前記揮発性メモリから前記不揮発性メモリへの前記データのコピーを開始するように構成される
    コンピュータシステム。
  15. 前記チェックポイントは、前記処理回路部が前記アプリケーションの前記命令を処理することに基づいて示される
    請求項14に記載のシステム。
  16. 前記メモリモジュールは、前記データの異なる部分を前記不揮発性メモリへ並列に同時にコピーするように構成される
    請求項14に記載のシステム。
  17. 前記処理回路部は、前記アプリケーションの前記実行中にエラーが検出されることに応答して、前記不揮発性メモリから前記揮発性メモリへの前記データのコピーを開始するようにさらに構成される
    請求項14に記載のシステム。
  18. 前記処理回路部は、大規模相互接続を介して他の処理回路部と通信するように構成され、
    該他の処理回路部も、前記アプリケーションの前記命令を実行するように構成される
    請求項14に記載のシステム。
  19. 前記揮発性メモリは、複数の集積回路チップを備え、該複数の集積回路チップの各集積回路チップは、前記データの異なる部分を保存し、
    前記処理回路部は、前記複数の集積回路チップから前記不揮発性メモリへのデータの前記部分のコピーを同時に開始するように構成される
    請求項14に記載のシステム。
  20. 前記メモリモジュールは、複数のDIMMを備え、各DIMMは、前記揮発性メモリの異なる部分及び前記不揮発性メモリの異なる部分を備え、
    前記複数のDIMMの個々のDIMMは、前記複数のDIMMの他のDIMMとは独立に、該個々のDIMMの前記不揮発性メモリ部分に保存されたデータを該個々のDIMMの前記揮発性メモリ部分へコピーするように構成される
    請求項14に記載のシステム。
JP2011507392A 2008-05-01 2008-05-01 チェックポイントデータの不揮発性メモリへの保存 Pending JP2011519460A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/062154 WO2009134264A1 (en) 2008-05-01 2008-05-01 Storing checkpoint data in non-volatile memory

Publications (1)

Publication Number Publication Date
JP2011519460A true JP2011519460A (ja) 2011-07-07

Family

ID=41255291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011507392A Pending JP2011519460A (ja) 2008-05-01 2008-05-01 チェックポイントデータの不揮発性メモリへの保存

Country Status (6)

Country Link
US (1) US20110113208A1 (ja)
EP (1) EP2271987A4 (ja)
JP (1) JP2011519460A (ja)
KR (1) KR101470994B1 (ja)
CN (1) CN102016808B (ja)
WO (1) WO2009134264A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5337916B1 (ja) * 2012-09-25 2013-11-06 株式会社東芝 情報処理システム
JP2014203306A (ja) * 2013-04-05 2014-10-27 富士ゼロックス株式会社 情報処理装置およびプログラム
JP2017531837A (ja) * 2014-10-23 2017-10-26 サムテック インコーポレイテッドSamtec,Inc. アクティブデバイスの残り寿命を近似する方法
WO2019003336A1 (ja) * 2017-06-28 2019-01-03 株式会社Fuji 部品装着機用ヘッド

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8381032B2 (en) * 2008-08-06 2013-02-19 O'shantel Software L.L.C. System-directed checkpointing implementation using a hypervisor layer
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
US8468524B2 (en) * 2010-10-13 2013-06-18 Lsi Corporation Inter-virtual machine time profiling of I/O transactions
US8713379B2 (en) 2011-02-08 2014-04-29 Diablo Technologies Inc. System and method of interfacing co-processors and input/output devices via a main memory system
US9495398B2 (en) 2011-02-18 2016-11-15 International Business Machines Corporation Index for hybrid database
US9170744B1 (en) 2011-04-06 2015-10-27 P4tents1, LLC Computer program product for controlling a flash/DRAM/embedded DRAM-equipped system
US9176671B1 (en) 2011-04-06 2015-11-03 P4tents1, LLC Fetching data between thread execution in a flash/DRAM/embedded DRAM-equipped system
US8930647B1 (en) 2011-04-06 2015-01-06 P4tents1, LLC Multiple class memory systems
US9158546B1 (en) 2011-04-06 2015-10-13 P4tents1, LLC Computer program product for fetching from a first physical memory between an execution of a plurality of threads associated with a second physical memory
US9164679B2 (en) 2011-04-06 2015-10-20 Patents1, Llc System, method and computer program product for multi-thread operation involving first memory of a first memory class and second memory of a second memory class
CN102184141A (zh) * 2011-05-05 2011-09-14 曙光信息产业(北京)有限公司 检查点数据的存储方法和装置
US8468317B2 (en) * 2011-06-07 2013-06-18 Agiga Tech Inc. Apparatus and method for improved data restore in a memory system
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
WO2013101038A1 (en) * 2011-12-29 2013-07-04 Intel Corporation Heterogeneous memory die stacking for energy efficient computing
CN104081362B (zh) * 2012-03-02 2017-06-23 慧与发展有限责任合伙企业 使用多级单元实现版本存储器的方法和装置
US10467116B2 (en) * 2012-06-08 2019-11-05 Hewlett Packard Enterprise Development Lp Checkpointing using FPGA
GB2505185A (en) 2012-08-21 2014-02-26 Ibm Creating a backup image of a first memory space in a second memory space.
WO2014035377A1 (en) * 2012-08-28 2014-03-06 Hewlett-Packard Development Company, L.P. High performance persistent memory
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US10114908B2 (en) * 2012-11-13 2018-10-30 International Business Machines Corporation Hybrid table implementation by using buffer pool as permanent in-memory storage for memory-resident data
CN104798060A (zh) * 2013-01-30 2015-07-22 惠普发展公司,有限责任合伙企业 存储器模块中数据的运行时备份
US9195542B2 (en) 2013-04-29 2015-11-24 Amazon Technologies, Inc. Selectively persisting application program data from system memory to non-volatile data storage
EP3028151A1 (en) * 2013-07-31 2016-06-08 Hewlett Packard Enterprise Development LP Versioned memory implementation
GB2533342A (en) * 2014-12-17 2016-06-22 Ibm Checkpointing module and method for storing checkpoints
US10126950B2 (en) * 2014-12-22 2018-11-13 Intel Corporation Allocating and configuring persistent memory
US10061376B2 (en) * 2015-06-26 2018-08-28 Intel Corporation Opportunistic power management for managing intermittent power available to data processing device having semi-non-volatile memory or non-volatile memory
US10387259B2 (en) * 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
US10163508B2 (en) 2016-02-26 2018-12-25 Intel Corporation Supporting multiple memory types in a memory slot
US10394310B2 (en) * 2016-06-06 2019-08-27 Dell Products, Lp System and method for sleeping states using non-volatile memory components
US10606513B2 (en) 2017-12-06 2020-03-31 Western Digital Technologies, Inc. Volatility management for non-volatile memory device
US11579770B2 (en) * 2018-03-15 2023-02-14 Western Digital Technologies, Inc. Volatility management for memory device
US10884776B2 (en) * 2018-04-27 2021-01-05 International Business Machines Corporation Seamless virtual machine halt and restart on a server
US11157319B2 (en) 2018-06-06 2021-10-26 Western Digital Technologies, Inc. Processor with processor memory pairs for improved process switching and methods thereof
KR20200031886A (ko) 2018-09-17 2020-03-25 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200122522A (ko) 2019-04-18 2020-10-28 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR20200122875A (ko) 2019-04-19 2020-10-28 에스케이하이닉스 주식회사 컨트롤러 및 그 동작 방법
KR102566152B1 (ko) 2021-12-29 2023-08-10 전병호 솔라셀 led램프 모듈

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04136742U (ja) * 1991-06-12 1992-12-18 日本電気アイシーマイコンシステム株式会社 メモリ装置
JPH1031610A (ja) * 1996-02-16 1998-02-03 Korea Electron Telecommun データベースのデータ回復装置及びその方法
JP2005309683A (ja) * 2004-04-20 2005-11-04 Toshiba Corp メモリシステム
US20070180217A1 (en) * 2006-01-27 2007-08-02 Silicon Graphics, Inc. Translation lookaside buffer checkpoint system
JP2008003691A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 計算機のプロセス回復方法、チェックポイントリスタートシステム
JP2008502953A (ja) * 2003-11-17 2008-01-31 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630047A (en) * 1995-09-12 1997-05-13 Lucent Technologies Inc. Method for software error recovery using consistent global checkpoints
US5712971A (en) * 1995-12-11 1998-01-27 Ab Initio Software Corporation Methods and systems for reconstructing the state of a computation
US6336161B1 (en) * 1995-12-15 2002-01-01 Texas Instruments Incorporated Computer configuration system and method with state and restoration from non-volatile semiconductor memory
US6795966B1 (en) * 1998-05-15 2004-09-21 Vmware, Inc. Mechanism for restoring, porting, replicating and checkpointing computer systems using state extraction
US7058849B2 (en) * 2002-07-02 2006-06-06 Micron Technology, Inc. Use of non-volatile memory to perform rollback function
US7634687B2 (en) * 2005-01-13 2009-12-15 Microsoft Corporation Checkpoint restart system and method
WO2008051940A2 (en) * 2006-10-23 2008-05-02 Virident Systems, Inc. Methods and apparatus of dual inline memory modules for flash memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04136742U (ja) * 1991-06-12 1992-12-18 日本電気アイシーマイコンシステム株式会社 メモリ装置
JPH1031610A (ja) * 1996-02-16 1998-02-03 Korea Electron Telecommun データベースのデータ回復装置及びその方法
JP2008502953A (ja) * 2003-11-17 2008-01-31 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレイテッド 分散システムにおけるトランスペアレントなチェックポインティング及びプロセス移行
JP2005309683A (ja) * 2004-04-20 2005-11-04 Toshiba Corp メモリシステム
US20070180217A1 (en) * 2006-01-27 2007-08-02 Silicon Graphics, Inc. Translation lookaside buffer checkpoint system
JP2008003691A (ja) * 2006-06-20 2008-01-10 Hitachi Ltd 計算機のプロセス回復方法、チェックポイントリスタートシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5337916B1 (ja) * 2012-09-25 2013-11-06 株式会社東芝 情報処理システム
WO2014049691A1 (ja) * 2012-09-25 2014-04-03 株式会社東芝 情報処理システム
JP2014203306A (ja) * 2013-04-05 2014-10-27 富士ゼロックス株式会社 情報処理装置およびプログラム
JP2017531837A (ja) * 2014-10-23 2017-10-26 サムテック インコーポレイテッドSamtec,Inc. アクティブデバイスの残り寿命を近似する方法
WO2019003336A1 (ja) * 2017-06-28 2019-01-03 株式会社Fuji 部品装着機用ヘッド
JPWO2019003336A1 (ja) * 2017-06-28 2020-02-27 株式会社Fuji 部品装着機用ヘッド

Also Published As

Publication number Publication date
EP2271987A1 (en) 2011-01-12
CN102016808B (zh) 2016-08-10
CN102016808A (zh) 2011-04-13
KR101470994B1 (ko) 2014-12-09
EP2271987A4 (en) 2011-04-20
US20110113208A1 (en) 2011-05-12
WO2009134264A1 (en) 2009-11-05
KR20110002064A (ko) 2011-01-06

Similar Documents

Publication Publication Date Title
JP2011519460A (ja) チェックポイントデータの不揮発性メモリへの保存
US10642685B2 (en) Cache memory and processor system
JP6956115B2 (ja) インテグラルポストパッケージリペア
US8533526B2 (en) Performing redundant memory hopping
EP2348413B1 (en) Controlling memory redundancy in a system
CN103959253B (zh) 基于硬件的存储器迁移和重新同步方法及系统
US20100106904A1 (en) Shadow raid cache memory
GB2480522A (en) A method of reading a non-volatile solid state memory
CN115509955A (zh) 预测性数据存储分级存储器系统及方法
KR20150032659A (ko) 이중 포트 버퍼를 구비한 메모리 모듈
TW201636859A (zh) 記憶體系統、記憶體模組及其操作方法
CN104798059B (zh) 在检查点外部处理写入数据的多个计算机系统
KR102674032B1 (ko) 리페어 동작을 수행하는 메모리 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
TWI510912B (zh) 多核電路中之容錯
Chi et al. Using multi-level cell STT-RAM for fast and energy-efficient local checkpointing
CN112306737A (zh) 控制易失性存储器装置的修复的方法和存储装置
US9954557B2 (en) Variable width error correction
WO2018004928A1 (en) Techniques for write commands to a storage device
US9147499B2 (en) Memory operation of paired memory devices
WO2017039598A1 (en) Physical memory region backup of a volatile memory to a non-volatile memory
CN111949217A (zh) 超融合一体机及其软件定义存储sds处理方法和系统
US11281277B2 (en) Power management for partial cache line information storage between memories
JP4146045B2 (ja) 電子計算機
TW200826107A (en) Method for protecting data of storage device
US20180033469A1 (en) Memory device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120921

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120927

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130430

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130509

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20130621

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150220