JP6529617B2 - システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 - Google Patents
システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 Download PDFInfo
- Publication number
- JP6529617B2 JP6529617B2 JP2018000459A JP2018000459A JP6529617B2 JP 6529617 B2 JP6529617 B2 JP 6529617B2 JP 2018000459 A JP2018000459 A JP 2018000459A JP 2018000459 A JP2018000459 A JP 2018000459A JP 6529617 B2 JP6529617 B2 JP 6529617B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- application
- memory
- backup
- application data
- 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.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims description 324
- 238000013500 data storage Methods 0.000 title claims description 148
- 230000014759 maintenance of location Effects 0.000 title description 31
- 238000003860 storage Methods 0.000 claims description 107
- 238000000034 method Methods 0.000 claims description 63
- 238000004891 communication Methods 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 16
- 230000004044 response Effects 0.000 claims description 12
- 230000009977 dual effect Effects 0.000 claims description 7
- 230000003213 activating effect Effects 0.000 claims 1
- 238000011084 recovery Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000001360 synchronised effect Effects 0.000 description 5
- 230000000717 retained effect Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000007420 reactivation Effects 0.000 description 1
- 238000012419 revalidation Methods 0.000 description 1
- 229920000638 styrene acrylonitrile Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Retry When Errors Occur (AREA)
- Stored Programmes (AREA)
Description
条項1.
1つ以上のプロセッサと、
システム障害が発生した場合に、システムメモリにアプリケーションプログラム用に格納されている所定範囲のアプリケーションデータを、前記システムメモリに格納されている前記所定範囲のアプリケーションデータを不揮発性データストレージにコピーすることにより保持するように構成される特殊メモリシステムと、
プログラム命令を格納する前記システムメモリと、を備え、前記プログラム命令群が前記1つ以上のプロセッサにより実行されるとシステムレベルコンポーネントが実行され、該システムレベルコンポーネントは、
指示を前記アプリケーションプログラムに出して、前記システムメモリに格納されている前記所定範囲のアプリケーションデータを保持するものとして処理することができるようにし、
システム障害が発生した場合に、前記システムメモリに前記アプリケーションプログラム用に格納されている前記所定範囲のアプリケーションデータに関するデータバックアップを有効化し、
システム障害から復旧すると、前記システムメモリに格納されて前記不揮発性データストレージに移行される前記所定範囲のアプリケーションデータのその後のデータバックアップを無効化するように構成される、
システム。
条項2.
前記システムレベルコンポーネントは更に、
前記システム障害から復旧すると、前記不揮発性データストレージに格納されて前記システムメモリに移行される前記所定範囲のアプリケーションデータのうちの少なくとも幾つかのアプリケーションデータの復元を指示して、前記アプリケーションプログラムからアクセスすることができるように構成される、条項1に記載のシステム。
条項3.
前記システムレベルコンポーネントは更に、
その後のデータの保持を前記無効化した後、前記システムメモリに格納されて前記不揮発性データストレージに移行される前記所定範囲のアプリケーションデータに関するデータバックアップを再有効化するように構成される、条項2に記載のシステム。
条項4.
前記特殊メモリシステムはメモリバックアップコントローラを備え、該メモリバックアップコントローラは、
前記システム障害を検出し、
前記システム障害を検出すると、前記システムメモリに格納されている残りのデータを前記不揮発性データストレージデバイスにコピーすることなく、前記所定範囲のアプリケーションデータを前記システムメモリから前記不揮発性データストレージデバイスにコピーするように構成され、
前記有効化、前記無効化、前記指示、及び前記再有効化は、前記メモリバックアップコントローラに対して指示される、条項3に記載のシステム。
条項5.
システムを実行するコンピューティングデバイスによって実行し、前記実行する際に、
アプリケーションデータオブジェクトをシステムメモリに格納しているアプリケーションプログラムに指示して、前記アプリケーションデータオブジェクトを保持するものとして処理することができるようにし、
システム障害が発生した場合に、前記システムメモリに格納されている前記アプリケーションデータオブジェクトに関するデータバックアップを有効化して、前記アプリケーションプログラム用の前記アプリケーションデータオブジェクトを保持し、前記データバックアップにより、前記システムメモリに格納されている前記アプリケーションデータオブジェクトを不揮発性データストレージにコピーし、
システム障害から復旧すると、前記システムメモリに格納されて前記不揮発性データストレージに移行される前記アプリケーションデータオブジェクトに関するその後のデータバックアップを無効化する、
方法。
条項6.
更に、前記システム障害から復旧すると、前記不揮発性データストレージに格納されて前記システムメモリに移行される前記アプリケーションデータオブジェクトのうちの少なくとも幾つかのデータオブジェクトの復元を指示して、前記アプリケーションプログラムからアクセスすることができるようにする、条項5に記載の方法。
条項7.
前記システム障害から復旧する前の前記システムメモリ内の前記アプリケーションデータオブジェクトの1つ以上のストレージロケーションは、前記不揮発性データストレージに格納されて前記システムメモリに移行される前記アプリケーションデータオブジェクトのうちの前記少なくとも幾つかの復元の前記指示が行われるときの前記アプリケーションデータオブジェクトの前記システムメモリ内の1つ以上の別のストレージロケーションとは異なる、条項6に記載の方法。
条項8.
更に、前記無効化の後、前記システムメモリに格納されて前記不揮発性データストレージに移行される前記アプリケーションデータオブジェクトに関するデータバックアップを再有効化する、条項6に記載の方法。
条項9.
更に、前記指示、前記無効化、前記指示、及び前記再有効化を、前記アプリケーションプログラムを含む複数のアプリケーションプログラムのうちの少なくとも1つに対応する複数のアプリケーションデータオブジェクトのうちの異なるアプリケーションデータオブジェクトについて個別に実行する、条項8に記載の方法。
条項10.
メモリバックアップコントローラが、前記システムメモリと前記不揮発性データストレージとの間の通信を指示し、前記有効化、前記無効化、前記指示、及び前記再有効化では、アプリケーションプログラミングインターフェース(API)の一部が、前記メモリバックアップコントローラによる前記有効化、前記無効化、前記指示、及び前記再有効化の実行を指示する、条項8に記載の方法。
条項11.
システム障害が発生した場合に、前記システムメモリに格納されている前記アプリケーションデータオブジェクトに関するデータバックアップを前記有効化して、前記1つ以上のアプリケーションプログラム用の前記アプリケーションデータオブジェクトを保持する際に、
前記アプリケーションデータオブジェクトを格納している前記システムメモリ内の1つ以上のストレージロケーションを特定して有効化することによりデータバックアップを行い、
前記システム障害が検出されると、前記メモリバックアップコントローラに指示して、前記システムメモリ内に特定される前記1つ以上のストレージロケーションに関するデータバックアップ動作を、前記不揮発性データストレージ内の1つ以上のバックアップロケーションに対して実行し、そして
前記アプリケーションデータオブジェクトに関するマッピング情報を更新して、前記アプリケーションデータオブジェクトに関して特定される前記1つ以上のストレージロケーションを前記1つ以上のバックアップロケーションにリンクさせる、条項10に記載の方法。
条項12.
前記不揮発性データストレージに格納されて前記システムメモリに移行される前記アプリケーションデータオブジェクトのうちの少なくとも幾つかの前記復元を前記指示して、前記アプリケーションプログラムからアクセスすることができるようにする際に、
前記マッピング情報に少なくとも部分的に基づいて、前記アプリケーションデータオブジェクトを格納している前記不揮発性データストレージ内の前記1つ以上のバックアップロケーション、及び前記システムメモリ内の前記1つ以上のストレージロケーションを特定して、バックアップ済みの前記アプリケーションデータオブジェクトを前記不揮発性データストレージに格納し、
前記メモリバックアップコントローラに指示して、データを不揮発性データストレージ内に特定される前記バックアップロケーションから前記システムメモリ内に特定される前記ストレージロケーションにコピーする、条項11に記載の方法。
条項13.
システム障害が発生した場合に、前記システムメモリに格納されている前記アプリケーションデータオブジェクトに関するデータバックアップを前記有効化して、前記アプリケーションプログラム用の前記アプリケーションデータオブジェクトを保持する際に、更に、前記不揮発性データストレージにコピーするときに、前記アプリケーションデータオブジェクトの暗号化を暗号化方式に従って指示し、
前記不揮発性データストレージに格納されて前記システムメモリに移行される前記アプリケーションデータオブジェクトの復元を前記指示して、前記アプリケーションプログラムからアクセスすることができるようにする際に、更に、前記システムメモリにコピーするときに、前記アプリケーションデータオブジェクトの復号化を前記暗号化方式に従って指示する、条項12に記載の方法。
条項14.
更に、前記不揮発性データストレージから、前記アプリケーションデータオブジェクトのうちの少なくとも幾つかを読み出して、前記アプリケーションプログラムを復元する、条項5に記載の方法。
条項15.
更に、前記システムメモリ及び前記不揮発性データストレージが一体となって、1つ以上の不揮発性デュアルインラインメモリモジュール(NV−DIMM)を構成する、条項5に記載の方法。
条項16.
前記アプリケーションデータオブジェクトは、前記1つ以上の不揮発性デュアルインラインメモリモジュール(NV−DIMM)のうちの1つに格納される所定範囲のシステムメモリである、条項12に記載の方法。
条項17.
前記コンピューティングデバイスは、分散ストレージシステムのストレージノードを実現し、前記アプリケーションプログラムは、前記ストレージノードに関するデータ管理動作を実行し、そして前記システムメモリ内の前記アプリケーションデータオブジェクトは、前記ストレージノードのデータベースに格納されているデータに関するアクセス動作を格納して、前記格納アクセス動作を行う旨のアクノリッジメントをデータベースシステムに送信する永続的なトランザクションログとして機能する、条項5に記載の方法。
条項18.
プログラム命令を格納する非一時的なコンピュータ可読記憶媒体であって、プログラム命令がコンピューティングデバイスによって実行されるとシステムが実行され、該システムは、
所定範囲のアプリケーションデータをシステムメモリに格納しているアプリケーションプログラムに指示して、前記所定範囲のアプリケーションデータを保持するものとして処理することができるようにし、
システム障害が発生した場合に、前記システムメモリに格納されている前記所定範囲のアプリケーションデータに関するデータバックアップを有効化して、前記アプリケーションプログラム用の前記所定範囲のアプリケーションデータを保持し、前記データバックアップにより、前記システムメモリに格納されている前記所定範囲のアプリケーションデータを不揮発性データストレージにコピーし、
システム障害から復旧すると、前記システムメモリに格納されて前記不揮発性データストレージに移行される前記所定範囲のアプリケーションデータに関するその後のデータバックアップを無効化するように構成される、非一時的なコンピュータ可読記憶媒体。
条項19.
メモリバックアップコントローラが、前記システムメモリと前記不揮発性データストレージとの間の通信を指示し、前記プログラム命令は前記コンピューティングデバイスにより実行されると更に、前記システム障害から復旧すると、前記メモリバックアップコントローラに指示して、前記不揮発性データストレージに格納されて前記システムメモリに移行される前記所定範囲のアプリケーションデータのうちの少なくとも幾つかを復元することにより、前記アプリケーションプログラムからアクセスすることができるようにする、条項18に記載の非一時的なコンピュータ可読記憶媒体。
条項20.
前記プログラム命令は前記コンピューティングデバイスにより実行されると更に、前記無効化の後、前記システムメモリに格納されて前記不揮発性データストレージに移行される前記所定範囲のアプリケーションデータに関するデータバックアップを再有効化する、条項18に記載の非一時的なコンピュータ可読記憶媒体。
条項21.
前記指示、前記有効化、前記無効化、及び前記再有効化は、前記コンピューティングデバイスによりオペレーティングシステムプログラムの一部として実行される、条項20に記載の非一時的なコンピュータ可読記憶媒体。
条項22.
前記コンピューティングデバイスは、分散ストレージシステムのストレージノードを実現し、前記アプリケーションプログラムは、前記ストレージノードに関するデータ管理動作を実行し、そして前記システムメモリ内の前記所定範囲のアプリケーションデータは、前記ストレージノードのデータベースに格納されているデータに関する書き込み動作を格納して、前記格納書き込み動作を行う旨のアクノリッジメントをデータベースシステムに送信する永続的なリドゥーログとして機能する、条項18に記載の非一時的なコンピュータ可読記憶媒体。
条項23.
前記システムメモリ及び前記不揮発性データストレージが一体となって、不揮発性ランダムアクセスメモリを構成する、条項18に記載の非一時的なコンピュータ可読記憶媒体。
結論
Claims (15)
- 1つ以上のプロセッサと、
不揮発性データストレージと、
プログラム命令を格納するシステムメモリと、
を備えるシステムであって、前記プログラム命令は、前記1つ以上のプロセッサによって実行されたときに、メモリバックアップコントローラを実装し、
前記メモリバックアップコントローラは、
システム障害の前に、インターフェースを介して、前記1つ以上のプロセッサで実行されるアプリケーションプログラムから、前記システムメモリに格納されたアプリケーションデータオブジェクトを前記システム障害の後に保持するための要求を受信し、
前記要求の受信に応答して、前記システムメモリに格納された前記アプリケーションデータオブジェクトに対するデータバックアップを有効化し、前記データバックアップは、前記システム障害の後に、前記システムメモリ内のデータバックアップが有効化されていない他のデータをコピーせずに、前記アプリケーションプログラムに対応する前記アプリケーションデータオブジェクトを前記システムメモリから前記不揮発性データストレージにコピーする、
ように構成される、
システム。 - 前記メモリバックアップコントローラは、
前記システム障害から復旧すると、前記アプリケーションプログラムがアクセスできるようにするために、前記不揮発性データストレージに格納されたアプリケーションデータの範囲のうちの少なくともいくつかの、前記システムメモリへの復元を指示する、
ようにさらに構成される、請求項1に記載のシステム。 - 前記メモリバックアップコントローラは、
前記システム障害から復旧すると、前記システムメモリに格納されたアプリケーションデータの範囲の、前記不揮発性データストレージへのその後のデータバックアップを無効化する、
ようにさらに構成される、請求項1に記載のシステム。 - 前記インターフェースは、前記メモリバックアップコントローラによる前記有効化の実行を指示するアプリケーションプログラミングインターフェース(API)である、請求項1に記載のシステム。
- 前記メモリバックアップコントローラは、前記受信及び前記有効化を、前記アプリケーションプログラムを含む複数のアプリケーションプログラムのうちの少なくとも1つに対応する複数のアプリケーションデータオブジェクトのうちの異なるアプリケーションデータオブジェクトについて、個別にさらに実行する、
ように構成される、請求項1に記載のシステム。 - システム障害が発生した場合に、前記システムメモリに格納された前記アプリケーションデータオブジェクトに対するデータバックアップを有効化して、前記アプリケーションプログラムに対応する前記アプリケーションデータオブジェクトを保持するために、前記メモリバックアップコントローラは、
前記アプリケーションデータオブジェクトを格納している前記システムメモリ内の1つ以上のストレージロケーションを特定してデータバックアップのために有効化し、
前記システム障害が検出されると、前記システムメモリの前記特定された1つ以上のストレージロケーションに対応する前記不揮発性データストレージの1つ以上のバックアップロケーションへのデータバックアップ動作を実行し、
前記アプリケーションデータオブジェクトに対するマッピング情報を更新して、前記アプリケーションデータオブジェクトに対応する前記特定された1つ以上のストレージロケーションを前記1つ以上のバックアップロケーションにリンクさせる、
ようにさらに構成される、請求項1に記載のシステム。 - 前記メモリバックアップコントローラは、
前記アプリケーションプログラムがアクセスすることができるようにするために、前記不揮発性データストレージに格納された前記アプリケーションデータオブジェクトのうちの少なくともいくつかの、前記システムメモリへの復元を指示するようにさらに構成され、前記メモリバックアップコントローラは、
前記マッピング情報に少なくとも部分的に基づいて、前記不揮発性データストレージにバックアップされた前記アプリケーションデータオブジェクトを格納するために、前記アプリケーションデータオブジェクトが格納された前記不揮発性ストレージの前記1つ以上のバックアップロケーションと、前記システムメモリの前記1つ以上のストレージロケーションとを特定し、
データを、不揮発性データストレージにおける前記特定されたバックアップロケーションから、前記システムメモリにおける前記特定されたストレージロケーションにコピーする、
ようにさらに構成される、請求項6に記載のシステム。 - システムを実装するコンピューティングデバイスによって実行される方法であって、
システム障害の前に、インターフェースを介して、前記コンピューティングデバイスにおいて実行されるアプリケーションプログラムから、システムメモリ内のアプリケーションデータオブジェクトを前記システム障害の後に保持するための要求を受信することと、
前記要求の受信に応答して、前記システムメモリに格納された前記アプリケーションメモリに対するデータバックアップを有効化することであって、前記データバックアップは、前記システム障害の後に、前記システムメモリ内のデータバックアップが有効化されていない他のデータをコピーせずに前記アプリケーションプログラムに対応する前記アプリケーションデータオブジェクトをコピーするものである、前記有効化することと、
を備える、
前記方法。 - システム障害から復旧すると、前記システムメモリに格納された前記アプリケーションデータオブジェクトに対する前記不揮発性データストレージへのその後のデータバックアップを無効化する、
ことをさらに備える、請求項8に記載の方法。 - 前記受信すること及び前記有効化することを、前記アプリケーションプログラムを含む複数のアプリケーションプログラムのうちの少なくとも1つに対する複数のアプリケーションデータオブジェクトのうちの異なるアプリケーションデータオブジェクトについて個別に実行する、
ことをさらに備える、請求項8に記載の方法。 - メモリバックアップコントローラは、前記システムメモリと前記不揮発性データストレージとの間の通信を指示し、前記インターフェースは、前記メモリバックアップコントローラによって前記有効化の前記実行を指示するアプリケーションプログラムインターフェース(API)である、請求項8に記載の方法。
- システム障害が発生した場合に、前記アプリケーションプログラムに対応する前記アプリケーションデータオブジェクトを保持するための、前記システムメモリに格納された前記アプリケーションデータオブジェクトに対する前記データバックアップの前記有効化は、
前記アプリケーションデータオブジェクトを格納している前記システムメモリ内の1つ以上のストレージロケーションを特定してデータバックアップのために有効化し、
メモリバックアップコントローラに、前記システム障害が検出されると、前記システムメモリの前記特定された1つ以上のストレージロケーションに対応する前記不揮発性データストレージの1つ以上のバックアップロケーションへのデータバックアップ動作を実行することを指示し、
前記アプリケーションデータオブジェクトに対するマッピング情報を更新して、前記アプリケーションデータオブジェクトに対応する前記特定された1つ以上のストレージロケーションを前記1つ以上のバックアップロケーションにリンクさせる、
ことを備える、請求項8に記載の方法。 - 前記アプリケーションプログラムがアクセスすることができるようにするために、前記不揮発性データストレージに格納された前記アプリケーションデータオブジェクトのうちの少なくともいくつかの、前記システムメモリへの復元を指示することをさらに備え、前記指示することは、
前記マッピング情報に少なくとも部分的に基づいて、前記不揮発性データストレージにバックアップされた前記アプリケーションデータオブジェクトを格納するために、前記アプリケーションデータオブジェクトが格納された前記不揮発性ストレージの前記1つ以上のバックアップロケーションと、前記システムメモリの前記1つ以上のストレージロケーションとを特定し、
前記メモリバックアップコントローラに指示して、データを、不揮発性データストレージにおける前記特定されたバックアップロケーションから、システムメモリにおける前記特定されたストレージロケーションにコピーする、
ことを備える、請求項12に記載の方法。 - システム障害が発生した場合に、前記システムメモリに格納されている前記アプリケーションデータオブジェクトに対するデータバックアップを前記有効化して、前記アプリケーションプログラム用の前記アプリケーションデータオブジェクトを保持する際に、さらに、前記不揮発性データストレージにコピーするときに、前記アプリケーションデータオブジェクトの暗号化を暗号化方式に従って指示することを備え、
前記不揮発性データストレージに格納されて前記システムメモリに移行される前記アプリケーションデータオブジェクトの復元を前記指示して、前記アプリケーションプログラムからアクセスすることができるようにする際に、さらに、前記システムメモリにコピーするときに、前記アプリケーションデータオブジェクトの復号化を前記暗号化方式に従って指示する、請求項13に記載の方法。 - 前記システムメモリ及び前記不揮発性データストレージが一体として、1つ以上の不揮発性デュアルインラインメモリモジュール(NV−DIMM)を備える、請求項8に記載の方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/872,530 | 2013-04-29 | ||
US13/872,530 US9195542B2 (en) | 2013-04-29 | 2013-04-29 | Selectively persisting application program data from system memory to non-volatile data storage |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016510830A Division JP6310061B2 (ja) | 2013-04-29 | 2014-04-29 | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018055727A JP2018055727A (ja) | 2018-04-05 |
JP6529617B2 true JP6529617B2 (ja) | 2019-06-12 |
Family
ID=51790288
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016510830A Active JP6310061B2 (ja) | 2013-04-29 | 2014-04-29 | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 |
JP2018000459A Active JP6529617B2 (ja) | 2013-04-29 | 2018-01-05 | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016510830A Active JP6310061B2 (ja) | 2013-04-29 | 2014-04-29 | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9195542B2 (ja) |
EP (1) | EP2992439B1 (ja) |
JP (2) | JP6310061B2 (ja) |
CN (1) | CN105164657B (ja) |
CA (1) | CA2910175C (ja) |
WO (1) | WO2014179333A1 (ja) |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103795749B (zh) * | 2012-10-30 | 2017-03-01 | 国际商业机器公司 | 用于诊断运行在云环境中的软件产品的问题的方法和装置 |
US9195542B2 (en) * | 2013-04-29 | 2015-11-24 | Amazon Technologies, Inc. | Selectively persisting application program data from system memory to non-volatile data storage |
US9552260B2 (en) * | 2014-06-02 | 2017-01-24 | Red Hat, Inc. | Using an object retain block in a virtual machine |
US9934008B2 (en) * | 2014-06-18 | 2018-04-03 | Netapp, Inc. | Methods for facilitating persistent storage of in-memory databases and devices thereof |
US9854041B1 (en) * | 2014-09-30 | 2017-12-26 | Amazon Technologies, Inc. | Reducing network traffic when replicating memory data across hosts |
US11782601B2 (en) | 2015-01-20 | 2023-10-10 | Ultrata, Llc | Object memory instruction set |
CN112214424B (zh) | 2015-01-20 | 2024-04-05 | 乌尔特拉塔有限责任公司 | 对象存储器结构、处理节点、存储器对象存储和管理方法 |
US9971542B2 (en) | 2015-06-09 | 2018-05-15 | Ultrata, Llc | Infinite memory fabric streams and APIs |
US9886210B2 (en) | 2015-06-09 | 2018-02-06 | Ultrata, Llc | Infinite memory fabric hardware implementation with router |
US10698628B2 (en) | 2015-06-09 | 2020-06-30 | Ultrata, Llc | Infinite memory fabric hardware implementation with memory |
US9619329B2 (en) | 2015-06-22 | 2017-04-11 | International Business Machines Corporation | Converting volatile memory module devices to flashless non-volatile memory module devices |
CN106406493B (zh) * | 2015-07-30 | 2020-04-28 | 华为技术有限公司 | 能降低功耗的电子装置及降低电子装置功耗的方法 |
US10846219B2 (en) * | 2015-07-31 | 2020-11-24 | Hewlett Packard Enterprise Development Lp | Data copy to non-volatile memory |
JP6479608B2 (ja) * | 2015-08-28 | 2019-03-06 | 東芝メモリ株式会社 | メモリ装置およびメモリ制御方法 |
US10725689B2 (en) * | 2015-08-31 | 2020-07-28 | Hewlett Packard Enterprise Development Lp | Physical memory region backup of a volatile memory to a non-volatile memory |
US10241683B2 (en) * | 2015-10-26 | 2019-03-26 | Nxp Usa, Inc. | Non-volatile RAM system |
JP6424797B2 (ja) * | 2015-11-02 | 2018-11-21 | 株式会社デンソー | 車載装置 |
WO2017100288A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc. | Memory fabric operations and coherency using fault tolerant objects |
US10235063B2 (en) | 2015-12-08 | 2019-03-19 | Ultrata, Llc | Memory fabric operations and coherency using fault tolerant objects |
CA3006773A1 (en) | 2015-12-08 | 2017-06-15 | Ultrata, Llc | Memory fabric software implementation |
US10241676B2 (en) * | 2015-12-08 | 2019-03-26 | Ultrata, Llc | Memory fabric software implementation |
US10015274B2 (en) * | 2015-12-31 | 2018-07-03 | International Business Machines Corporation | Enhanced storage clients |
US10591902B2 (en) * | 2016-01-03 | 2020-03-17 | Purdue Research Foundation | Microcontroller energy management system |
US10169155B2 (en) * | 2016-03-30 | 2019-01-01 | EMC IP Holding Company LLC | System and method for synchronization in a cluster environment |
US10725508B2 (en) * | 2016-06-01 | 2020-07-28 | Hewlett Packard Enterprise Development Lp | Responding to data backup operation |
US20180032409A1 (en) | 2016-07-26 | 2018-02-01 | Netapp, Inc. | Backup and recovery of application data of an application executing in a virtual machine |
US9996291B1 (en) * | 2016-07-29 | 2018-06-12 | EMC IP Holding Company LLC | Storage system with solid-state storage device having enhanced write bandwidth operating mode |
US20180059933A1 (en) * | 2016-08-26 | 2018-03-01 | Sandisk Technologies Llc | Electrically-Buffered NV-DIMM and Method for Use Therewith |
US10025714B2 (en) * | 2016-09-30 | 2018-07-17 | Super Micro Computer, Inc. | Memory type range register with write-back cache strategy for NVDIMM memory locations |
US10839904B2 (en) | 2016-12-09 | 2020-11-17 | Rambus Inc. | Memory module for platform with non-volatile storage |
WO2019050418A1 (en) | 2017-09-11 | 2019-03-14 | Nyriad Limited | COMPRESSION OF DATA BASED ON A DICTIONARY |
US10929235B2 (en) * | 2017-10-27 | 2021-02-23 | Vmware, Inc. | Application high availability via crash-consistent asynchronous replication of persistent data |
KR102353859B1 (ko) * | 2017-11-01 | 2022-01-19 | 삼성전자주식회사 | 컴퓨팅 장치 및 비휘발성 듀얼 인라인 메모리 모듈 |
CN110413207B (zh) * | 2018-04-28 | 2023-02-17 | 伊姆西Ip控股有限责任公司 | 降低存储系统的数据恢复时间的方法、设备和程序产品 |
US20190042372A1 (en) * | 2018-06-19 | 2019-02-07 | Intel Corporation | Method and apparatus to recover data stored in persistent memory in a failed node of a computer cluster |
US11055013B2 (en) * | 2019-01-25 | 2021-07-06 | International Business Machines Corporation | Recovering from data loss using copy services relationships between volumes |
US11307950B2 (en) * | 2019-02-08 | 2022-04-19 | NeuShield, Inc. | Computing device health monitoring system and methods |
US11379249B2 (en) * | 2019-05-08 | 2022-07-05 | Distech Controls Inc. | Computing device providing fail-safe execution of a service |
US11360694B2 (en) | 2019-05-08 | 2022-06-14 | Distech Controls Inc. | Method providing resilient execution of a service on a computing device |
EP3852505B1 (en) | 2020-01-17 | 2023-12-06 | Aptiv Technologies Limited | Electronic control unit |
EP3866013A1 (en) | 2020-02-11 | 2021-08-18 | Aptiv Technologies Limited | Data logging system for collecting and storing input data |
US11803444B1 (en) | 2022-06-15 | 2023-10-31 | Micron Technology, Inc. | Cooperative memory subsystem data recovery |
WO2024040502A1 (en) * | 2022-08-25 | 2024-02-29 | Intel Corporation | Apparatus, device, method, and computer program for persisting memory recovery actions |
CN117112520B (zh) * | 2023-04-10 | 2024-09-20 | 荣耀终端有限公司 | 一种日志处理方法和电子设备 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11167794A (ja) * | 1997-12-03 | 1999-06-22 | Toshiba Corp | 半導体記憶装置及びそのバックアップ方法 |
KR20030036131A (ko) * | 2000-01-07 | 2003-05-09 | 톰슨 라이센싱 소시에떼 아노님 | 코드 갱신 중 정전이 발생했을 때 애플리케이션 코드를백업하기 위한 방법 및 장치 |
EP1277115A2 (en) | 2000-04-14 | 2003-01-22 | Stratus Technologies Bermuda, Ltd. | Methods and apparatus for persistent volatile computer memory and related applications thereof |
US6675295B1 (en) * | 2000-06-19 | 2004-01-06 | Microsoft Corporation | Method and computer system for detecting and correcting a failure in a computer application program during startup |
US6948038B2 (en) * | 2001-07-24 | 2005-09-20 | Microsoft Corporation | System and method for backing up and restoring data |
US6829581B2 (en) * | 2001-07-31 | 2004-12-07 | Matsushita Electric Industrial Co., Ltd. | Method for prosody generation by unit selection from an imitation speech database |
JP4662743B2 (ja) * | 2004-09-13 | 2011-03-30 | Necインフロンティア株式会社 | データ2重化システム |
US7761678B1 (en) * | 2004-09-29 | 2010-07-20 | Verisign, Inc. | Method and apparatus for an improved file repository |
US8688800B2 (en) | 2005-10-05 | 2014-04-01 | Hewlett-Packard Development Company, L.P. | Remote configuration of persistent memory system ATT tables |
US7725446B2 (en) | 2005-12-19 | 2010-05-25 | International Business Machines Corporation | Commitment of transactions in a distributed system |
US8677037B1 (en) * | 2007-08-30 | 2014-03-18 | Virident Systems, Inc. | Memory apparatus for early write termination and power failure |
JP2009157756A (ja) * | 2007-12-27 | 2009-07-16 | Toshiba Corp | 情報処理装置およびデータ復旧方法 |
JP5232516B2 (ja) * | 2008-03-27 | 2013-07-10 | 株式会社日立製作所 | ディスクアレイ装置 |
WO2009134264A1 (en) | 2008-05-01 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Storing checkpoint data in non-volatile memory |
US9098396B2 (en) * | 2009-02-13 | 2015-08-04 | Sandisk Il Ltd. | Enhancement of efficiency in power failure handling in flash memory |
US8209290B1 (en) * | 2009-03-11 | 2012-06-26 | Symantec Corporation | Generic granular restore of application data from a volume image backup |
JP2010224732A (ja) * | 2009-03-23 | 2010-10-07 | Konica Minolta Business Technologies Inc | 情報処理装置 |
JP2011039804A (ja) * | 2009-08-12 | 2011-02-24 | Hitachi Ltd | 障害内容に基づくバックアップ管理方法 |
CN102576605B (zh) * | 2009-11-17 | 2016-01-20 | 马维尔国际贸易有限公司 | 接地屏蔽电容器 |
JP5378308B2 (ja) * | 2010-06-23 | 2013-12-25 | レノボ・シンガポール・プライベート・リミテッド | メイン・メモリのバックアップ方法およびデータ保護システム |
US8812908B2 (en) * | 2010-09-22 | 2014-08-19 | Microsoft Corporation | Fast, non-write-cycle-limited persistent memory for secure containers |
WO2012083308A2 (en) | 2010-12-17 | 2012-06-21 | Fusion-Io, Inc. | Apparatus, system, and method for persistent data management on a non-volatile storage media |
US8738843B2 (en) | 2010-12-20 | 2014-05-27 | Lsi Corporation | Data manipulation during memory backup |
US9251005B2 (en) * | 2010-12-20 | 2016-02-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Power isolation for memory backup |
US8468317B2 (en) | 2011-06-07 | 2013-06-18 | Agiga Tech Inc. | Apparatus and method for improved data restore in a memory system |
US9195542B2 (en) * | 2013-04-29 | 2015-11-24 | Amazon Technologies, Inc. | Selectively persisting application program data from system memory to non-volatile data storage |
-
2013
- 2013-04-29 US US13/872,530 patent/US9195542B2/en active Active
-
2014
- 2014-04-29 WO PCT/US2014/035904 patent/WO2014179333A1/en active Application Filing
- 2014-04-29 CA CA2910175A patent/CA2910175C/en active Active
- 2014-04-29 CN CN201480024007.5A patent/CN105164657B/zh active Active
- 2014-04-29 JP JP2016510830A patent/JP6310061B2/ja active Active
- 2014-04-29 EP EP14791127.5A patent/EP2992439B1/en active Active
-
2015
- 2015-11-23 US US14/949,644 patent/US10089191B2/en active Active
-
2018
- 2018-01-05 JP JP2018000459A patent/JP6529617B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
EP2992439B1 (en) | 2022-06-08 |
WO2014179333A1 (en) | 2014-11-06 |
JP2016517122A (ja) | 2016-06-09 |
EP2992439A4 (en) | 2017-01-11 |
US10089191B2 (en) | 2018-10-02 |
US9195542B2 (en) | 2015-11-24 |
EP2992439A1 (en) | 2016-03-09 |
US20140325116A1 (en) | 2014-10-30 |
CN105164657A (zh) | 2015-12-16 |
CA2910175C (en) | 2021-01-26 |
JP2018055727A (ja) | 2018-04-05 |
CA2910175A1 (en) | 2014-11-06 |
JP6310061B2 (ja) | 2018-04-11 |
US20160077930A1 (en) | 2016-03-17 |
CN105164657B (zh) | 2018-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6529617B2 (ja) | システムメモリから不揮発性データストレージに移行されるアプリケーションプログラムデータの選択的保持 | |
JP6556911B2 (ja) | 注釈付きアトミック書き込み操作を行う方法および装置 | |
US20190102262A1 (en) | Automated continuous checkpointing | |
US10049036B2 (en) | Reliable distributed messaging using non-volatile system memory | |
US20210064234A1 (en) | Systems, devices, and methods for implementing in-memory computing | |
US10169577B1 (en) | Systems and methods for detecting modification attacks on shared physical memory | |
US9760480B1 (en) | Enhanced logging using non-volatile system memory | |
JP2004127294A (ja) | 仮想記憶システムおよびその動作方法 | |
US9378218B2 (en) | Apparatus and method for enabling clients to participate in data storage in distributed file system | |
Jung et al. | nvramdisk: A transactional block device driver for non-volatile ram | |
US12045142B2 (en) | Memory image capture | |
US20190227884A1 (en) | Data loss prevention for integrated memory buffer of a self encrypting drive | |
JP2004127295A (ja) | 仮想記憶システムおよびその動作方法 | |
US7165160B2 (en) | Computing system with memory mirroring and snapshot reliability | |
JP2008204460A (ja) | ディスク・パーティションのほぼ瞬時のバックアップおよび復元 | |
US11068353B1 (en) | Systems and methods for selectively restoring files from virtual machine backup images | |
US9251020B1 (en) | Systems and methods for file-level replication | |
US11409451B2 (en) | Systems, methods, and storage media for using the otherwise-unutilized storage space on a storage device | |
US11321002B2 (en) | Converting a virtual volume between volume types | |
US8745340B2 (en) | Reduction of communication and efficient failover processing in distributed shared memory-based application | |
US10089220B1 (en) | Saving state information resulting from non-idempotent operations in non-volatile system memory | |
US20150356108A1 (en) | Storage system and storage system control method | |
US10372607B2 (en) | Systems and methods for improving the efficiency of point-in-time representations of databases | |
US11074003B2 (en) | Storage system and restoration method | |
KR102403063B1 (ko) | 모바일 디바이스 및 모바일 디바이스의 메모리 관리 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181127 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190227 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190514 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6529617 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |