JP6527951B2 - データバックアップ装置及び方法 - Google Patents

データバックアップ装置及び方法 Download PDF

Info

Publication number
JP6527951B2
JP6527951B2 JP2017546776A JP2017546776A JP6527951B2 JP 6527951 B2 JP6527951 B2 JP 6527951B2 JP 2017546776 A JP2017546776 A JP 2017546776A JP 2017546776 A JP2017546776 A JP 2017546776A JP 6527951 B2 JP6527951 B2 JP 6527951B2
Authority
JP
Japan
Prior art keywords
cache block
identifier
cache
block
time
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
Application number
JP2017546776A
Other languages
English (en)
Other versions
JP2018511123A (ja
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority claimed from PCT/CN2016/075290 external-priority patent/WO2016141817A1/zh
Publication of JP2018511123A publication Critical patent/JP2018511123A/ja
Application granted granted Critical
Publication of JP6527951B2 publication Critical patent/JP6527951B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • 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/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/1441Resetting or repowering
    • 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/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/2015Redundant power supplies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/885Monitoring specific for caches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

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)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Security & Cryptography (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Retry When Errors Occur (AREA)

Description

本発明は、データバックアップ技術の分野に関し、特にメモリデータバックアップ装置及び方法に関する。
近年、大型マルチコアコンピューティングシステム(例えば、マルチコアGPU)の進展により、高密度且つ高性能オンチップキャッシュの要求が増加している。比較的高い漏れ電流及び比較的低い集積度のため、スタティックランダムアクセスメモリ(static random access memory、SRAM)に基づく従来のキャッシュ構造は、高性能処理システムの進展を制限するボトルネックになっている。対照的に、新型の不揮発性メモリ(Nonvolatile Memory、NVM)は、コンポーネントの抵抗を使用することによりデータを記憶し、理論的には、より高い集積度を達成し、極めて低い漏れ電流も達成することができ、したがって、従来のSRAMに取って代わる理想的な材料として考えられている。
しかし、NVMがキャッシュ材料として直接使用される場合、書き込み電力消費、書き込み待ち時間及び書き込み耐久性の問題が生じる可能性があり、これらは、高速キャッシュへのNVMの適用を制限する。SRAM及びNVMの双方を含むメモリ構造として、不揮発性SRAMは、作業モードでデータを記憶するためにSRAMを使用し、電力停止時にデータをNVMユニットにバックアップすることができる。しかし、電力停止後に、不揮発性SRAMは、データをバックアップするための電力を供給するために、比較的大きいオンチップエネルギー蓄積コンデンサを必要とし、このコンデンサは、比較的高いチップ面積オーバーヘッド及びコストオーバーヘッドをもたらす可能性がある。さらに、大きい記憶容量は、並列バックアップ処理において生成される高いピーク電流を伴い、これは、システム安定性を低減する。他方、直列バックアップ方式では、バックアップデータ量が増加すると共に、バックアップ時間が増加し、システム性能に影響を与え、バックアップ処理において比較的高いデータ冗長性を引き起こす。
既存のバックアップ方法では、図1に示すようなセグメンテーション並列圧縮アーキテクチャ(SPaC)が使用される。SRAM内のデータは、複数のセグメントに分割され、次に、圧縮モジュールがランレングス符号化を用いることによりデータの各セグメントを圧縮し、次に、圧縮されたデータがNVMユニットに記憶される。この圧縮バックアップ方法では、SRAM内の全てのデータが圧縮され、したがって、比較的高い程度のデータ冗長性が存在する。さらに、この方法が使用される場合、それぞれデータバックアップの前及びデータ回復の前に圧縮及び解凍操作が必要となる。したがって、データ量がより大きく増加すると、より長い圧縮及び解凍時間が必要となり、これは、システム性能に影響を与える。
本発明の実施例は、バックバップデータ量を低減し、バックアップ効率を改善するためのデータバックアップ装置及び方法を提供する。
本発明の実施例の第1態様は、データバックアップ装置を提供し、データバックアップ装置は、メモリとプロセッサとを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックセットは、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために、同じグループのN個のアクセス順序識別子を使用し、各キャッシュブロックのアクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序の変更と共に更新され、各キャッシュブロックは、状態識別子で更に構成され、各状態識別子は、キャッシュブロックがサンプリング済であるか否かを識別するために使用され、
データバックアップ装置は、カウントユニットを更に含み、カウントユニットは、N個のカウンタグループを含み、各カウンタグループは、1つの第1カウンタと1つの第2カウンタとを含み、N個のカウンタグループは、N個のアクセス順序識別子と1対1の対応にあり、
データバックアップ装置が電源オンになった後に、プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得及び記録し、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定するように構成され、時点T0は、データバックアップ装置が電源オンになった時点であり、プロセッサは、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックがアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第1カウンタ上でカウントを実行するか、或いは、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックが追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第2カウンタ上でカウントを実行し、カウンタ上でのいずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するように構成され、
データバックアップ装置が電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始し、N個のカウンタグループのカウントを読み取り、時点T0における各初期アクセス順序識別子に対応するカウンタグループ内の第2カウンタのカウントの、時点T0における初期アクセス順序識別子に対応するカウンタグループ内にある第1カウンタ及び第2カウンタの和に対する比を計算し、時点T0における各初期アクセス順序識別子に対応する比を予め設定された閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするように構成され、時点T1は、データバックアップ装置が電源オフになった時点である。
時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測することは、
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測すること、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より大きくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
さらに、本発明の実施例の第1態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
さらに、本発明の実施例の第1態様によれば、マイクロプロセッサにより、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップすることは、マイクロプロセッサにより、死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定し、現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む。
さらに、本発明の実施例の第1態様によれば、予め設定された閾値は0.5である。
本発明の実施例の第2態様は、データバックアップ装置を提供し、データバックアップ装置は、メモリとプロセッサとを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックセットは、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために、同じグループのN個のアクセス順序識別子を使用し、各キャッシュブロックのアクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序の変更と共に更新され、各キャッシュブロックは、状態識別子で更に構成され、各状態識別子は、キャッシュブロックがサンプリング済であるか否かを識別するために使用され、
データバックアップ装置は、カウントユニットを更に含み、カウントユニットは、N個のカウンタグループを含み、各カウンタグループは、1つの第1カウンタと1つの第2カウンタとを含み、N個のカウンタグループは、N個のアクセス順序識別子と1対1の対応にあり、
データバックアップ装置が電源オンになった後に、プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得及び記録し、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定するように構成され、時点T0は、データバックアップ装置が電源オンになった時点であり、プロセッサは、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックがアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第1カウンタ上でカウントを実行するか、或いは、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックが追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第2カウンタ上でカウントを実行し、カウンタ上でのいずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するように構成され、
データバックアップ装置が電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始し、N個のカウンタグループのカウントを読み取り、時点T0における各初期アクセス順序識別子に対応するカウンタグループ内の第2カウンタのカウントの、時点T0における初期アクセス順序識別子に対応するカウンタグループ内にある第1カウンタ及び第2カウンタの和に対する比を計算し、時点T0におけるN個の初期アクセス順序識別子にそれぞれ対応する比に従って、比が1対2であるときの対応するアクセス順序識別子閾値を決定し、時点T0における各初期アクセス順序識別子をアクセス順序識別子閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするように構成され、時点T1は、データバックアップ装置が電源オフになった時点である。
さらに、本発明の実施例の第2態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測することは、
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より小さくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測すること、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より大きくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
さらに、本発明の実施例の第2態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
さらに、本発明の実施例の第2態様によれば、マイクロプロセッサにより、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップすることは、マイクロプロセッサにより、死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定し、現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む。
本発明の実施例の第3態様は、データバックアップ装置を提供し、データバックアップ装置は、メモリとプロセッサとを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックセットは、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために、同じグループのN個のアクセス順序識別子を使用し、各キャッシュブロックのアクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序の変更と共に更新され、各キャッシュブロックは、最近使用ビットRUBと状態ビットとを含み、最近使用ビットRUBは、キャッシュブロックのアクセス順序識別子を記憶するために使用され状態ビットは、状態識別子を記憶し、状態識別子は、キャッシュブロックがサンプリング済であるか否かを識別し、
メモリは、
第1アドレッシングデバイス及び第2アドレッシングデバイスであり、第1アドレッシングデバイス及び第2アドレッシングデバイスの入力端は、共に各キャッシュブロックに接続される第1アドレッシングデバイス及び第2アドレッシングデバイスと、
カウントユニットであり、カウントユニットは、N個のカウンタグループを含み、N個のカウンタグループは、N個のアクセス順序識別子と1対1の対応にあり、各カウンタグループは、1つの第1カウンタと1つの第2カウンタとを含み、第1カウンタの入力端は、第1アドレッシングデバイスの出力端に接続され、第2カウンタの入力端は、第2アドレッシングデバイスの出力端に接続されるカウントユニットと
を更に含み、
データバックアップ装置が電源オンになった後に、
プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得し、初期アクセス順序識別子をキャッシュブロックの最近使用ビットRUBに記録し、揮発性メモリユニット内の各キャッシュブロックの状態ビットを無効に設定するように構成され、時点T0は、データバックアップ装置が電源オンになった時点であり、
プロセッサは、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックがアクセスされると決定した場合、プロセッサは、現在のデータ操作に対応するキャッシュブロックが生存状態にあると決定し、次に、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロックを見つけるために第1アドレッシングデバイスを制御し、時点T0において見つかったキャッシュブロックのアクセス順序識別子を取得し、時点T0における取得されたアクセス順序識別子に従って、時点T0におけるアクセス順序識別子に対応する第1カウンタを取得し、第1カウンタ上でカウントを実行するように更に構成され、プロセッサは、キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するか、或いは、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックが追い出されると決定した場合、現在のデータ操作に対応するキャッシュブロックが死亡状態にあると決定し、第2アドレッシングデバイスは、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロックを見つけ、時点T0における見つかったキャッシュブロックのアクセス順序識別子を取得し、時点T0における取得されたアクセス順序識別子に従って、時点T0におけるアクセス順序識別子に対応する第2カウンタを取得し、第2カウンタ上でカウントを実行し、プロセッサは、キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更し、
メモリは、
N個のカウンタグループ内の第1カウンタの出力端にそれぞれ接続されたN個のシフト器と、
N個の比較器であり、各比較器は、カウンタグループ内の第2カウンタの出力端及びカウンタグループ内の第1カウンタに接続されたシフト器の出力端にそれぞれ接続された2つの入力端を有するN個の比較器と
を更に含み、
データバックアップ装置が電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始するように構成され、各シフト器は、予め設定された閾値に従って、シフト器に接続された第1カウンタをシフトし、各比較器は、比較器に接続された第2カウンタからの入力と、比較器に接続されたシフト器からの入力とを比較し、マイクロプロセッサは、各アクセス順序識別子に対応する比較器の出力結果に従って、不揮発性メモリユニット内の各キャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップし、時点T1は、データバックアップ装置が電源オフになった時点である。
本発明の実施例の第3態様では、第1アドレッシングデバイスは、第1データセレクタと第1デコーダとを含み、第2アドレッシングデバイスは、第2データセレクタと第2デコーダとを含み、第1データセレクタ及び第2データセレクタの入力端は、共に各キャッシュブロックに接続され、第1デコーダ及び第2デコーダの入力端は、それぞれ第1データセレクタ及び第2データセレクタの出力端に接続され、第1デコーダ及び第2デコーダの出力端は、それぞれ各カウンタグループ内の第1カウンタの入力端及びカウンタグループ内の第2カウンタの入力端に接続され、
現在のデータ操作に対応するキャッシュブロックが生存状態にあるとプロセッサが決定した場合、第1データセレクタは、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロックを見つけ、時点T0における見つかったキャッシュブロックのアクセス順序識別子を取得し、第1デコーダは、アクセス順序識別子に対応する第1カウンタを取得するために、取得されたアクセス順序識別子をデコードするか、或いは、
現在のデータ操作に対応するキャッシュブロックが死亡状態にあるとプロセッサが決定した場合、第2データセレクタは、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロックを見つけ、時点T0における見つかったキャッシュブロックのアクセス順序識別子を取得し、第2デコーダは、アクセス順序識別子に対応する第2カウンタを取得するために、時点T0における取得されたアクセス順序識別子をデコードし、次に、第2カウンタ上でカウントを実行する。
本発明の実施例の第4態様は、データバックアップ装置に適用されるデータバックアップ方法を提供し、データバックアップ装置は、メモリを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックセットは、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために、同じグループのN個のアクセス順序識別子を使用し、各キャッシュブロックのアクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序の変更と共に更新され、各キャッシュブロックは、状態識別子で更に構成され、各状態識別子は、キャッシュブロックがサンプリング済であるか否かを識別するために使用され、
データバックアップ装置は、カウントユニットを更に含み、カウントユニットは、N個のカウンタグループを含み、各カウンタグループは、1つの第1カウンタと1つの第2カウンタとを含み、N個のカウンタグループは、N個のアクセス順序識別子と1対1の対応にあり、
この方法は、
データバックアップ装置が電源オンになった後に、
不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得及び記録し、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定するステップであり、時点T0は、データバックアップ装置が電源オンになった時点であるステップと、
揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックがアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第1カウンタ上でカウントを実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに更新するか、或いは、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックが追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第2カウンタ上でカウントを実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに更新するステップと、
データバックアップ装置が電源オフになった後に、
メモリに給電するためにバックアップ電源を開始するステップと、
N個のカウンタグループのカウントを読み取り、時点T0における各初期アクセス順序識別子に対応するカウンタグループ内の第2カウンタのカウントの、時点T0における初期アクセス順序識別子に対応するカウンタグループ内にある第1カウンタ及び第2カウンタの和に対する比を計算するステップと、
時点T0における各初期アクセス順序識別子に対応する比を予め設定された閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが生存状態にあるか死亡状態にあるかを予測するステップであり、時点T1は、データバックアップ装置が電源オフになった時点であるステップと、
生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップと
を含む。
さらに、本発明の実施例の第4態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測するステップは、
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測するステップ、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より大きくない場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するステップを含む。
さらに、本発明の実施例の第4態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
さらに、本発明の実施例の第4態様によれば、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップは、
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む。
さらに、本発明の実施例の第4態様によれば、予め設定された閾値は0.5である。
本発明の実施例の第5態様は、データバックアップ装置に適用されるデータバックアップ方法を提供し、データバックアップ装置は、メモリを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックセットは、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために、同じグループのN個のアクセス順序識別子を使用し、各キャッシュブロックのアクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序の変更と共に更新され、各キャッシュブロックは、状態識別子で更に構成され、各状態識別子は、キャッシュブロックがサンプリング済であるか否かを識別するために使用され、
データバックアップ装置は、カウントユニットを更に含み、カウントユニットは、N個のカウンタグループを含み、各カウンタグループは、1つの第1カウンタと1つの第2カウンタとを含み、N個のカウンタグループは、N個のアクセス順序識別子と1対1の対応にあり、
この方法は、
データバックアップ装置が電源オンになった後に、
不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得及び記録し、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定するステップであり、時点T0は、データバックアップ装置が電源オンになった時点であるステップと、
揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックがアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第1カウンタ上でカウントを実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに更新するか、或いは、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックが追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第2カウンタ上でカウントを実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに更新するステップと、
データバックアップ装置が電源オフになった後に、
メモリに給電するためにバックアップ電源を開始するステップと、
N個のカウンタグループのカウントを読み取り、時点T0における各初期アクセス順序識別子に対応するカウンタグループ内の第2カウンタのカウントの、時点T0における初期アクセス順序識別子に対応するカウンタグループ内にある第1カウンタ及び第2カウンタの和に対する比を計算するステップと、
時点T0におけるN個の初期アクセス順序識別子にそれぞれ対応する比に従って、比が1対2であるときの対応するアクセス順序識別子閾値を決定し、時点T0における各初期アクセス順序識別子をアクセス順序識別子閾値と比較するステップと、
時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが生存状態にあるか死亡状態にあるかを予測するステップであり、時点T1は、データバックアップ装置が電源オフになった時点であるステップと、
生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップと
を含む。
さらに、本発明の実施例の第5態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測するステップは、
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より小さくない場合、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測するステップ、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より大きくない場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するステップを含む。
さらに、本発明の実施例の第5態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
さらに、本発明の実施例の第5態様によれば、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップは、
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む。
本発明の実施例の第6態様は、メモリとプロセッサとを含むデータバックアップ装置を提供し、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
データバックアップ装置が時点T0において電源オンになった後に、プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
データバックアップ装置が時点T1において電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始し、時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を予め設定された閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするように構成される。
さらに、本発明の実施例の第6態様によれば、各キャッシュブロックは、状態識別子で構成され、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復した後に、プロセッサは、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するように更に構成され、
プロセッサは、現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される。
さらに、本発明の実施例の第6態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測する間に、マイクロプロセッサは、
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、或いは、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が予め設定された閾値より小さい場合、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するように具体的に構成される。
さらに、本発明の実施例の第6態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、第1アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、第2アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
さらに、本発明の実施例の第6態様によれば、マイクロプロセッサにより、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップすることは、マイクロプロセッサにより、死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定し、現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む。
さらに、本発明の実施例の第6態様によれば、予め設定された閾値は0.5である。
本発明の実施例の第7態様は、データバックアップ装置を提供し、データバックアップ装置は、メモリとプロセッサとを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
データバックアップ装置が時点T0において電源オンになった後に、プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
データバックアップ装置が時点T1において電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始し、時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、時点T0におけるN個の初期アクセス順序識別子及び時点T0におけるN個の初期アクセス順序識別子にそれぞれ対応する計算された比に従って、共通アクセス順序識別子と共通比との間の共通関係を確立し、共通関係に従って、共通比が1対2であるときの対応する共通アクセス順序識別子を決定し、時点T0における各初期アクセス順序識別子を決定された共通アクセス順序識別子と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするように構成され、時点T1は、データバックアップ装置が電源オフになった時点である。
さらに、本発明の実施例の第7態様によれば、各キャッシュブロックは、状態識別子で構成され、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復した後に、プロセッサは、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するように更に構成され、
プロセッサは、現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される。
さらに、本発明の実施例の第7態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測する間に、マイクロプロセッサは、
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さくない場合、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さい場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するように具体的に構成される。
さらに、本発明の実施例の第7態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、第1アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、第2アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
さらに、本発明の実施例の第7態様によれば、マイクロプロセッサにより、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップすることは、マイクロプロセッサにより、死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定し、現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む。
本発明の実施例の第8態様は、データバックアップ装置に適用されるデータバックアップ方法を提供し、データバックアップ装置は、メモリを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
この方法は、
データバックアップ装置が時点T0において電源オンになった後に、
不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
データバックアップ装置が時点T1において電源オフになった後に、
メモリに給電するためにバックアップ電源を開始するステップと
点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップと
を含む。
さらに、本発明の実施例の第8態様によれば、各キャッシュブロックは、状態識別子で構成され、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復した後に、この方法は、
揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することである。
さらに、本発明の実施例の第8態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測することは、
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、或いは、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が予め設定された閾値より小さい場合、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
さらに、本発明の実施例の第8態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
さらに、本発明の実施例の第8態様によれば、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップは、
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む。
さらに、本発明の実施例の第8態様によれば、予め設定された閾値は0.5である。
本発明の実施例の第9態様は、データバックアップ装置に適用されるデータバックアップ方法を提供し、データバックアップ装置は、メモリを含み、メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含み、
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
この方法は、
データバックアップ装置が時点T0において電源オンになった後に、
不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
メモリに給電するためにバックアップ電源を開始するステップと、
時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
時点T0におけるN個の初期アクセス順序識別子及び時点T0におけるN個の初期アクセス順序識別子にそれぞれ対応する計算された比に従って、共通アクセス順序識別子と共通比との間の共通関係を確立し、共通関係に従って、共通比が1対2であるときの対応する共通アクセス順序識別子を決定するステップと、
時点T0における各初期アクセス順序識別子を決定された共通アクセス順序識別子と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップであり、時点T1は、データバックアップ装置が電源オフになった時点であるステップと
を含む。
さらに、本発明の実施例の第9態様によれば、各キャッシュブロックは、状態識別子で構成され、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復した後に、この方法は、
揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することである。
さらに、本発明の実施例の第9態様によれば、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測することは、
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さくない場合、マイクロプロセッサにより、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さい場合、マイクロプロセッサにより、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを具体的に含む。
さらに、本発明の実施例の第9態様によれば、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定され、
各キャッシュブロックは、状態識別子で構成され、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復した後に、この方法は、
揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することである。
さらに、本発明の実施例の第9態様によれば、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップは、
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップを含む。
本発明の実施例におけるデータバックアップ装置及び方法によれば、データバックアップ装置が電源オンになった場合、死亡ブロックの数量及び生存ブロックの数量がカウントされ、死亡ブロック及び生存ブロックは、データバックアップ装置が電源オンになった時点での順序アクセス識別子に対応することが認識され得る。データバックアップ装置が電源オフになった後に、順序アクセス識別子に対応するサンプリング済のキャッシュブロックの総量の中で電源オン時点に各順序アクセス識別子に対応する死亡ブロックにより占有される割合は、データバックアップ装置が電源オンになった時点における順序アクセス識別子に対応する死亡ブロック及び生存ブロックのカウントされた数量に従って計算される。計算された割合は、予め設定された閾値と比較され、揮発性メモリユニット内の死亡ブロックは、比較結果に従って予測される。バックアップ中に、死亡ブロックであると予測されたキャッシュブロックはバックアップされず、これは、バックアップデータ量を低減し、バックアップ効率を改善する。
本発明の実施例又は従来技術における技術的解決策をより明確に説明するために、以下に、実施例又は従来技術を説明するために必要な添付図面について簡単に説明する。明らかに、以下の説明における添付図面は、本発明の単にいくつかの実施例を示しているに過ぎず、当業者は、依然として創造的取り組みなしにこれらの添付図面から他の図面を導き得る。
従来技術において不揮発性スタティックランダムアクセスメモリ内の揮発性メモリユニット内のデータを不揮発性スタティックランダムアクセスメモリ内の不揮発性メモリユニットにバックアップするための方法の概略図である。 4ウェイ・セットアソシアティブ・メモリにおける順序アクセス識別子の概略図である。 キャッシュブロックがアクセスされた後の4ウェイ・セットアソシアティブ・メモリにおける変更された順序アクセス識別子の概略図である。 本発明の実施例1において提供されるデータバックアップ装置の構成図である。 本発明の実施例1に従ってデータバックアップ装置が電源オンになったときに計算される、各アクセス順序識別子に対応する、割合により表される比の概略図である。 本発明の実施例2に従ってアクセス順序識別子に対応する計算された割合の分布に基づいてアクセス順序識別子閾値を決定する概略図である。 本発明の実施例3において提供されるデータバックアップ装置の構成図である。 本発明の実施例3において提供されるデータバックアップ装置の予測モジュールの構成図である。 本発明の実施例4において提供されるデータバックアップ方法に従ったデータ統計のための方法のフローチャートである。 本発明の実施例4において提供されるデータバックアップ方法に従ってデータをバックアップするための方法のフローチャートである。 本発明の実施例5において提供されるデータバックアップ方法に従ってデータをバックアップするための方法のフローチャートである。
以下に、本発明の実施例における添付図面を参照して、本発明の実施例における技術的解決策について明確且つ完全に説明する。明らかに、説明する実施例は、本発明の実施例の単なる一部であり、全部ではない。創造的取り組みなしに本発明の実施例に基づいて当業者により取得される全ての他の実施例は、本発明の保護範囲内に入るものとする。
本発明の実施例において提供される技術的解決策は、主に、不揮発性メモリユニット及び揮発性メモリユニットの双方を有するメモリ、例えば、不揮発性スタティックランダムアクセスメモリ(Nonvolatile Static Random Access Memory、NV-SRAM)に適用される。メモリとしてこのような構造のメモリを使用する電子装置が電源オフになった後に、揮発性メモリユニット内のデータを不揮発性メモリユニットにバックアップするために、バックアップ電源がメモリに給電するために使用されてもよい。便宜的な説明のため、本発明について説明するために、NV-SRAMが以下の実施例における例として使用される。しかし、本発明が適用されるメモリは、NV-SRAMに限定されず、同じ構造の他のメモリもまた、本発明に開示された範囲に含まれる点に留意すべきである。
NV-SRAMでは、揮発性メモリユニットは、スタティックランダムアクセスメモリ(Static Random Access Memory、SRAM)であり、不揮発性メモリユニットは、相変化ランダムアクセスメモリ(Phase-change Random Access memory、PCM)であり、バックアップ電源は、オンチップエネルギー蓄積コンデンサである。
本発明の実施例による揮発性メモリユニットの構成図である図2に示すように、揮発性メモリユニットは、Nウェイ・セットアソシアティブ・メモリである。Nウェイ・セットアソシアティブは、揮発性メモリユニットのキャッシュブロックがN個のウェイ及びM個のセットにグループ化され、各セットがN個のキャッシュブロックを有し、Nは1より大きく、Mは1以上であることを意味する。便宜的な説明のため、4ウェイ・セットアソシアティブ揮発性メモリユニットが、ここでの説明のための例として使用され、すなわち、各セットは、4つのキャッシュブロックを有する。一般的に、Nウェイ・セットアソシアティブ・メモリユニットは、最長時間未使用(Least Recently Used、LRU)置換アルゴリズムを使用し、すなわち、各セット内の全てのキャッシュブロックがデータで完全に書き込まれたときに、新たなデータが揮発性メモリユニットに書き込まれる必要がある場合、キャッシュブロック内で最近最も使用されていないデータが低クラスメモリに置換される。データが低クラスメモリに置換されたキャッシュブロックは、追い出された(evicted)キャッシュブロックとして考えられてもよい。実施例では、追い出されたキャッシュブロックは、死亡状態のキャッシュブロック、すなわち、死亡ブロック(Dead block)として考えられる。さらに、無効なブロックとしてマーキングされたいくつかのキャッシュブロックは、有効なデータを記憶せず、これらのキャッシュブロックもまた、死亡ブロックとして考えられてもよい。メモリ内のキャッシュブロックがデータ上の読み取り/書き込み操作のためにアクセス(reference)される場合、アクセスされるキャッシュブロックは、生存状態のキャッシュブロック、すなわち、生存ブロック(Live block)であると考えられてもよい。
LRUアルゴリズムでは、一般的に、各セット内のキャッシュブロックのアクセス順序を識別するために、アクセス順序識別子が使用される。アクセス順序識別子は、各キャッシュブロックの最近使用ビット(recently used bit、RUB)を使用することにより設定されてもよい。メモリがNウェイ・セットアソシアティブ・メモリである場合、キャッシュブロックセット内の同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有する。各キャッシュブロックのアクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序の変更と共に更新される。より大きいアクセス順序識別子の値は、最後のアクセス時点と現在の時点との間のより長い間隔を示す。しかし、反対の順序もまた、異なる実施例において使用されてもよく、すなわち、より大きいアクセス順序識別子の値は、最後のアクセス時点と現在の時点との間のより短い間隔を示す。具体的な設定は、実際の状況に従って実行されてもよい。図1に示すように、各キャッシュブロック上の数字は、各セット内のキャッシュブロックのアクセス順序を示し、アクセス順序識別子の値は、各キャッシュブロックのアクセス状態に従って動的に変更されてもよい。図3に示すように、第1セット内のキャッシュブロックのアクセス順序が例として使用される。アクセス前に、キャッシュブロックのアクセス順序識別子は、第1ウェイから第4ウェイへの順序に従って、それぞれ0、1、2及び3であり、第3ウェイのキャッシュブロックがアクセスされる場合、キャッシュブロックのアクセス順序識別子は、1、2、0及び3に変更される。
本発明の実施例における揮発性メモリユニットは、代替として、フルアソシアティブ構造のメモリでもよい。すなわち、揮発性メモリユニット内の全てのキャッシュブロックは、キャッシュブロックの1つのセットとして使用されてもよい。
一般的に、電子装置が電源オフになった後に、揮発性メモリユニット内の死亡ブロック内のデータをバックアップすることは不要である。これらの死亡ブロックが事前に認識されることができれば、電子装置が電源オフになった後に、バックアップされる必要のあるデータの量が低減されることができ、これは、バックアップ効率を改善する。本発明の実施例において提供される技術的解決策では、電子装置が電源オフになった後に、揮発性メモリユニット内の死亡ブロックは、電子装置が電源オンであるときに取得された統計値に従って予測されることができ、死亡ブロック内のデータは、データバックアップ中にバックアップされず、これは、バックアップデータ量を低減し、バックアップ効率を改善する。
以下に、本発明において提供される技術的解決策を異なる観点から説明するために、異なる実施例を使用する。
実施例1
実施例1は、図4に示すデータバックアップ装置30を提供する。データバックアップ装置30は、メモリ31とプロセッサ32とを含み、メモリ31は、揮発性メモリユニット310と、不揮発性メモリユニット311と、バックアップ電源312と、マイクロプロセッサ315と、カウントユニット316とを含む。データバックアップ装置30が電源オフになった後に、バックアップ電源312がメモリ30に給電するために開始され、これにより、揮発性メモリユニット310内のデータを不揮発性メモリユニット311にバックアップする。
揮発性メモリユニット310は、M個(M≧1)のキャッシュブロックセット313を含み、各キャッシュブロックセット313は、N個(N>1)のキャッシュブロック314を含む。キャッシュブロックセット313内で同じアクセス順序を有するキャッシュブロック314は、同じアクセス順序識別子を有し、各キャッシュブロック314のアクセス順序識別子は、キャッシュブロック314がキャッシュブロックセット313内でアクセスされる順序の変更と共に更新される。各キャッシュブロックのアクセス順序識別子は、キャッシュブロック314のRUBに記憶されてもよく、或いはテーブルに記録されてもよい。
各キャッシュブロック314は、状態識別子で更に構成され、各状態識別子は、キャッシュブロック314がサンプリング済であるか否かを識別するために使用される。この実施例では、サンプリング統計は、揮発性メモリユニット310内のキャッシュブロック314上で収集される必要があり、各キャッシュブロック314は、一回のみサンプリングされることができる。キャッシュブロック314がサンプリング済であるか否かは、状態識別子を設定することにより識別される。サンプリングされているキャッシュブロックについては、キャッシュブロックの状態識別子は、キャッシュブロックがサンプリング済であることに変更されてもよい。状態識別子がサンプリング済であるキャッシュブロック314は、もはやサンプリングされない。
カウントユニット316は、N個のカウンタグループ317を含み、各カウンタグループ317は、1つの第1カウンタ318と1つの第2カウンタ319とを含み、N個のカウンタグループ317は、N個のアクセス順序識別子と1対1の対応にある。カウントユニット316により実行される機能は、以下に詳細に記載される。
データバックアップ装置30が電源オンになった後に、プロセッサ32は、不揮発性メモリユニット311内にバックアップされたデータを揮発性メモリユニット310に回復し、時点T0において各キャッシュブロックセット313内の各キャッシュブロック314のアクセス順序識別子を取得及び記録し、揮発性メモリユニット310内の各キャッシュブロック314の状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、時点T0は、データバックアップ装置が電源オンになった時点である。
この実施例では、各キャッシュブロック314の時点T0におけるアクセス順序識別子は、データバックアップ装置30が最後に電源オフになったときのキャッシュブロック314のアクセス順序識別子である。すなわち、電源オンになった後に毎回、データバックアップ装置30は、不揮発性メモリユニット311内にバックアップされたデータを揮発性メモリユニット310に回復するだけでなく、データバックアップ装置30が最後に電源オフになった時間の各キャッシュブロック314のアクセス順序識別子も回復する。さらに、電源オンになった後に毎回、データバックアップ装置30はまた、各キャッシュブロック314の状態識別子を、キャッシュブロックがサンプリング済でないこととして初期化してもよい。
プロセッサ32は、揮発性メモリユニット310上でデータ操作を実行するように更に構成される。データ操作は、読み取り、書き込み、削除又は置換のような、揮発性メモリユニット310内のキャッシュブロック314に記憶されたデータ上で実行される操作である。データ操作を実行するときに、プロセッサ32は、データ操作に対応するデータ操作要求内のアドレス情報に従って、データ操作に対応するキャッシュブロック314を取得する。データ操作に対応するキャッシュブロック314が決定された後に、キャッシュブロックの状態識別子が決定されてもよい。
現在のデータ操作に対応するキャッシュブロック314の状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロック314がアクセスされる場合、現在のデータ操作に対応するキャッシュブロック314は、生存状態にあり、時点T0において現在のデータ操作に対応するキャッシュブロック314の初期アクセス順序識別子に対応する第1カウンタ318上でカウントが実行され、キャッシュブロック314の状態識別子は、キャッシュブロックがサンプリング済であることに更新される。現在のデータ操作に対応するキャッシュブロック314の状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロック314が追い出される場合、現在のデータ操作に対応するキャッシュブロック314は、死亡状態にあり、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第2カウンタ319上でカウントが実行され、現在のデータ操作に対応するキャッシュブロック314の状態識別子は、キャッシュブロックがサンプリング済であることに変更される。
この実施例では、生存状態のキャッシュブロック314は、生存ブロックであり、死亡状態のキャッシュブロック314は、死亡ブロックである。生存ブロック及び死亡ブロックの定義については、前述の説明を参照し、詳細はここでは再び説明しない。さらに、この実施例におけるサンプリング済のキャッシュブロック314は、データバックアップ装置30が電源オンになった後に最初にアクセスされるキャッシュブロック314と、データバックアップ装置30が電源オンになった後に最初に追い出されるキャッシュブロック314である。
この実施例では、図2に示すように、各キャッシュブロック314は、キャッシュブロックセット313内のキャッシュブロック314のアクセス順序を識別するために使用されるアクセス順序識別子を有し、したがって、複数のキャッシュブロックセット内の複数のキャッシュブロック314は、同じアクセス順序識別子を有する。各アクセス順序識別子に対応する第1カウンタ318は、アクセス順序識別子を有するサンプリング済のキャッシュブロック314の中で生存ブロックの数量をカウントするために使用され、各アクセス順序識別子に対応する第2カウンタは、アクセス順序識別子を有するサンプリング済のキャッシュブロック314の中で死亡ブロックの数量をカウントするために使用される。
図2から、特定のキャッシュブロック314のアクセス順序識別子が、キャッシュブロックがアクセスされる前に「3」である場合、キャッシュブロック314のアクセス順序識別子は、キャッシュブロックがアクセスされた後に「0」に更新されることが認識され得る。サンプリング済のキャッシュブロック314は、まだアクセスされていないため、アクセスの初回に、キャッシュブロック314のアクセス順序識別子は、依然として時点T0におけるアクセス順序識別子であり、「3」であると想定される。キャッシュブロックがアクセスされた後に、キャッシュブロック314のアクセス順序識別子は、「0」に変更される。ここで、プロセッサ32は、時点T0においてまだ変更されていないアクセス順序識別子、すなわち、「0」ではなく「3」を取得する。
この実施例では、第1カウンタ318及び第2カウンタ319により収集された統計は、データバックアップ装置30が電源オフになった後にゼロにリセットされない。したがって、データバックアップ装置30が次回電源オンになった後に、統計は、今回収集された統計に基づいて収集され得る。このように、より多くのキャッシュブロック314がサンプリングされてもよく、したがって、より正確な予測結果が取得される。
データバックアップ装置30が電源オフになった後に、マイクロプロセッサ315は、メモリ31に給電するためにバックアップ電源312を開始し、N個のカウンタグループ317のカウントを読み取り、各アクセス順序識別子に対応するカウンタグループ317内の第2カウンタ319のカウントの、アクセス順序識別子に対応するカウンタグループ317内にある第1カウンタ318及び第2カウンタ319の和に対する比を計算し、各アクセス順序識別子に対応する比を予め設定された閾値と比較し、各アクセス順序識別子に対応する比較結果に従って、比較結果に対応するアクセス順序識別子を有する各キャッシュブロック314が生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニット311にバックアップする。
この実施例では、第1カウンタ318及び第2カウンタ319の和は、各アクセス順序識別子に対応するカウントされた死亡ブロックと、アクセス順序識別子に対応するカウントされた生存ブロックとの和、すなわち、順序アクセス識別子を有するサンプリング済のキャッシュブロック314の総量である。したがって、マイクロプロセッサ315が計算するものは、同じアクセス順序識別子を有するサンプリング済のキャッシュブロックの中で死亡ブロックにより占有される割合である。
図5に示すように、図5は、各アクセス順序識別子に対応する、割合により表される計算された比の概略図である。アクセス順序識別子0に対応する死亡ブロックにより占有される割合は5%であり、アクセス順序識別子1に対応する死亡ブロックにより占有される割合は25%であり、アクセス順序識別子2に対応する死亡ブロックにより占有される割合は45%であり、アクセス順序識別子3に対応する死亡ブロックにより占有される割合は95%である。
各アクセス順序識別子に対応するカウンタグループ317内の第2カウンタ319のカウントの、アクセス順序識別子に対応するカウンタグループ317内にある第1カウンタ318及び第2カウンタ319の和に対する比の計算に加えて、代替として、各アクセス順序識別子に対応するカウンタグループ317内の第2カウンタ319のカウントの、アクセス順序識別子に対応するカウンタグループ317の第1カウンタ318に対する比、すなわち、死亡ブロックの生存ブロックに対する比が計算されてもよく、或いは、各アクセス順序識別子に対応するカウンタグループ317内の第1カウンタ318の、アクセス順序識別子に対応するカウンタグループ317内にある第1カウンタ318及び第2カウンタ319の和に対する比、すなわち、同じアクセス順序識別子を有するサンプリング済のキャッシュブロックの中で生存ブロックにより占有される割合が計算されてもよい。異なる比の計算方式に従って、異なる予め設定された閾値が選択されてもよい。すなわち、この実施例では、各初期アクセス順序識別子に対応するキャッシュブロック状態比は、初期アクセス順序に対応する死亡キャッシュブロックの数量と、初期アクセス順序に対応する生存キャッシュブロックの数量とに従って計算されてもよい。キャッシュブロック状態比は、死亡ブロックの生存ブロックに対する比、死亡ブロックにより占有される割合、又は生存ブロックにより占有される割合でもよい。
図5に示す例では、同じアクセス順序識別子を有するサンプリング済のキャッシュブロックの中で死亡ブロックにより占有される割合が計算され、予め設定された閾値が80%である場合、各アクセス順序識別子に対応する割合が予め設定された閾値と比較された後に、アクセス順序識別子01及び2に対応する比較結果が、全て予め設定された閾値より小さく、アクセス順序識別子3に対応する比較結果が、予め設定された閾値より小さくないことが認識され得る。
各アクセス順序識別子に対応する比較結果に従って、比較結果に対応するアクセス順序識別子を有する各キャッシュブロック314が生存状態にあるか死亡状態にあるかを予測するための1つの方式は以下の通りである。
N個のアクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、マイクロプロセッサ315により、アクセス順序識別子を有するキャッシュブロック314が死亡状態にあると予測し、N個のアクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より小さい場合、マイクロプロセッサ315により、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測する。
図5に示す例では、アクセス順序識別子4に対応する比較結果が予め設定された閾値より小さくないため、揮発性メモリユニット310内でアクセス順序識別子4を有するキャッシュブロック314が全て死亡ブロックであると予測されてもよい。
前述の実施例における技術的解決策は、死亡ブロックのための予測であるため、誤差が必然的に存在する。一般的に、誤差は、2つの種類、すなわち、偽陰性誤差及び偽陽性誤差に分類されてもよい。偽陰性誤差は、死亡ブロックが生存ブロックとして決定されることを意味する。この種類の誤差は、電気エネルギーの不要な消費を生じる。電源の電気エネルギーが限られている場合、これは、生存ブロックをバックアップするために電気エネルギーを浪費し、生存ブロックの喪失は、データの喪失を引き起こし、これは、システム性能に影響を与える。偽陽性誤差は、生存ブロックが死亡ブロックとして決定されることを意味する。この種類の誤差は、生存ブロック内のデータのドロップを引き起こし、これは、システム性能に影響を与える。したがって、ユーザは、異なる要件に従って予め設定された閾値を選択してもよく、具体的には、以下の要件に従って設定を実行してもよい。
バックアップ電源の電気エネルギーがデータバックアップをサポートするのに十分であり、システム性能に高い要件が存在する場合、偽陰性誤差を制御し、より多くのキャッシュブロックをバックアップし、データ喪失を低減するために、より高い予め設定された閾値が選択されてもよい。
システムのリアルタイム性能の要件が比較的低い一方で、バックアップ電源の電気エネルギーが十分でなく、場合によってはデータの完全バックアップをサポートすることができない場合、偽陽性誤差を制御し、できるだけ多くの死亡ブロックをドロップし、バックアップ電源の電気エネルギーがデータバックアップをサポートできないときに引き起こされるバックアップ障害を防止するために、より低い予め設定された閾値が選択される。
全体誤差が最小化され、すなわち、偽陰性誤差及び偽陽性誤差の和が最小化される。理論的分析によれば、死亡ブロックにより占有される割合が50%である場合、全体誤差は最低である。
誤差を更に低減するために、各アクセス順序識別子に対応する比較結果に従って、比較結果に対応するアクセス順序識別子を有する各キャッシュブロック314が生存状態にあるか死亡状態にあるかを予測するために、他の方式が提供され、すなわち、以下の通りである。
各キャッシュブロック314は、有効ブロック識別子とダーティブロック識別子とを更に含む。有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用される。
N個のアクセス順序識別子のうちアクセス順序識別子に対応する比較結果が、死亡ブロックにより占有される割合が予め設定された閾値より小さくないことである場合、マイクロプロセッサ315は、アクセス順序識別子を有するキャッシュブロック314を取得し、アクセス順序識別子を有するキャッシュブロック314の中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあり、ダーティブロック識別子が無効であるキャッシュブロックが死亡状態にあると予測する。
N個のアクセス順序識別子のうちアクセス順序識別子に対応する比較結果が、死亡ブロックにより占有される割合が予め設定された閾値より小さいことである場合、マイクロプロセッサ315は、アクセス順序識別子を有するキャッシュブロック314を取得し、アクセス順序識別子を有するキャッシュブロック314の中で、有効ブロック識別子が有効であるキャッシュブロック314が生存状態にあり、有効ブロック識別子が無効であるキャッシュブロック314が死亡状態にあると予測する。
このように、いくつかの死亡ブロックは、生存ブロックとして前もって決定されたキャッシュブロックから、有効ブロック識別子に従って見つけられ、いくつかの生存ブロックは、死亡ブロックとして前もって決定されたキャッシュブロックから、ダーティブロック識別子に従って見つけられ、これにより、予測誤差が更に低減される。
さらに、マイクロプロセッサ315により、生存状態にあると予測されたキャッシュブロック314のデータを不揮発性メモリユニット311にバックアップすることは、マイクロプロセッサ315により、死亡状態にあると予測されたキャッシュブロック314についての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロック314についての情報に従って、現在のバックアップ対象のキャッシュブロック314が死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定し、現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、現在のバックアップ対象のキャッシュブロック314が死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む。
実施例2
実施例2は、データバックアップ装置を提供する。実施例2において提供されるデータバックアップ装置は、実施例1におけるデータバックアップ装置と類似している。相違は、マイクロプロセッサ315が各アクセス順序識別子に対応するカウンタグループ317内の第2カウンタ319のカウントの、アクセス順序識別子に対応するカウンタグループ317内にある第1カウンタ318及び第2カウンタ319の和に対する比を計算した後に、時点T0におけるN個のアクセス順序識別子及び時点T0におけるN個のアクセス順序識別子にそれぞれ対応する計算された比に従って、共通アクセス順序識別子と共通比との間の共通関係が確立される点にある。図6に示すように、まず、共通アクセス順序識別子がX軸であり、共通比(百分率)がY軸である座標系が確立される。共通アクセス順序識別子は、アクセス順序識別子0、1、2及び3を含み、他の対応する比も含む。共通比は、Y軸上の5%、25%、45%及び95%のように、アクセス順序識別子0、1、2及び3にそれぞれ対応する計算された比を含み、他の値も含む。(0,5%)、(1,25%)、(2,45%)及び(3,95%)の点が座標系から取得される。これらの点は、共通順序識別子及び共通比のための共通関係曲線601を形成するように接続される。このように、関係曲線601を使用することにより、共通比が1対2(50%、すなわち、比が50%であるときに全体誤差が最低である)であるときの対応する共通アクセス順序識別子THが決定されてもよい。各アクセス順序識別子は、決定された共通アクセス順序識別子THと比較され、比較結果に対応するアクセス順序識別子を有するキャッシュブロックが生存状態のキャッシュブロックであるか、死亡状態のキャッシュブロックであるかは、各アクセス順序識別子に対応する比較結果に従って決定される。具体的には、アクセス順序識別子のうち第1アクセス順序識別子が共通アクセス順序識別子THより小さくない場合、マイクロプロセッサは、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測する。アクセス順序識別子のうち第2アクセス順序識別子が共通アクセス順序識別子THより小さい場合、マイクロプロセッサは、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測する。他のコンポーネントの機能は、実施例1のものと同じであり、詳細はここでは再び説明しない。
実施例3
実施例3は、データバックアップ装置70を提供する。図7に示すように、データバックアップ装置70は、メモリ71とプロセッサ72とを含む。プロセッサ72は、メモリ71内のデータへのアクセスを制御する。メモリ71は、揮発性メモリユニット710と、不揮発性メモリユニット711と、バックアップ電源712と、予測モジュール713とを含む。データバックアップ装置70が電源オンになった後に、不揮発性メモリユニット711内にバックアップされたデータが回復される。データバックアップ装置70が電源オフになった後に、バックアップ電源712は、メモリ70に給電するために開始される。予測モジュール713は、揮発性メモリユニット710内の死亡ブロックを予測するように構成される。
揮発性メモリユニット710は、実施例1における揮発性メモリユニット310と同じ構造であり、詳細はここでは再び説明しない。
揮発性メモリユニット710は、実施例1における揮発性メモリユニット310と同じ構造であり、詳細はここでは再び説明しない。
図8に示すように、各キャッシュブロック714は、RUB715と、有効性ビット716と、ダーティブロックビット717と、状態ビット718と、タグ719とを含む。RUB715は、アクセス順序識別子を記憶するために使用される。有効性ビット716は、キャッシュブロックの有効性識別子を記憶するために使用される。ダーティブロックビット717は、ダーティブロック識別子を記憶するために使用され、状態ビット718は、状態識別子を記憶するために使用される。タグ719は、キャッシュブロックのタグである。データアクセス要求が存在する場合、対応するキャッシュブロック714は、アクセス要求内のデータアドレスをタグとマッチングさせることにより見つけられてもよい。
予測モジュール713は、揮発性メモリユニット710に接続され、揮発性メモリユニット710内の死亡ブロックを予測するように構成される。予測モジュール713は、第1アドレッシングデバイス721と第2アドレッシングデバイス720とを含む。第1アドレッシングデバイス721及び第2アドレッシングデバイス720の入力端は、共に各キャッシュブロック714に接続される。
予測モジュール713は、カウントユニット(図面に図示せず)を更に含む。カウントユニットは、N個のカウンタグループ(図面に図示せず)を含む。N個のカウンタグループは、N個のアクセス順序識別子と1対1の対応を有する。各カウンタグループは、1つの第1カウンタ7136と1つの第2カウンタ7135とを含む。第1カウンタ7136の入力端は、第1アドレッシングデバイス721の出力端に接続され、第2カウンタ7135の入力端は、第2アドレッシングデバイス720の出力端に接続される。
データバックアップ装置70が電源オンになった後に、
プロセッサ72は、不揮発性メモリユニット711内にバックアップされたデータを揮発性メモリユニット710に回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロック714の初期アクセス順序識別子を取得し、初期アクセス順序識別子をキャッシュブロック714の最近使用ビットRUBに記録し、揮発性メモリユニット710内の各キャッシュブロック714の状態ビットを無効に設定するように構成され、時点T0は、データバックアップ装置70が電源オンになった時点であり、
プロセッサ72は、揮発性メモリユニット上でデータ操作を実行し、
現在のデータ操作に対応するキャッシュブロック714の状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロック714がアクセスされると決定した場合、プロセッサ72は、現在のデータ操作に対応するキャッシュブロック714が生存状態にあると決定し、次に、現在のデータ操作に対応するキャッシュブロック714のアドレスに従って、対応するキャッシュブロック714を見つけるために第1アドレッシングデバイス721を制御し、時点T0において見つかったキャッシュブロック714のアクセス順序識別子を取得し、時点T0における取得されたアクセス順序識別子に従って、順序アクセス識別子に対応する第1カウンタ7136を取得し、第1カウンタ7136上でカウントを実行するように更に構成され、プロセッサ72は、キャッシュブロック714の状態識別子を、キャッシュブロックがサンプリング済であることに変更するか、或いは、
現在のデータ操作に対応するキャッシュブロック714の状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロック714が追い出されると決定した場合、現在のデータ操作に対応するキャッシュブロック714が死亡状態にあると決定し、第2アドレッシングデバイス720は、現在のデータ操作に対応するキャッシュブロック714のアドレスに従って、対応するキャッシュブロック714を見つけ、時点T0における見つかったキャッシュブロック714のアクセス順序識別子を取得し、時点T0における取得されたアクセス順序識別子に従って、順序アクセス識別子に対応する第2カウンタ7135を取得し、第2カウンタ7135上でカウントを実行し、プロセッサ72は、キャッシュブロック714の状態識別子を、キャッシュブロックがサンプリング済であることに変更する。
予測モジュール713は、N個のシフト器7137とN個の比較器7138とを更に含む。N個のシフト器7137は、第1カウンタ7136の出力端にそれぞれ接続される。N個の比較器7138の各比較器7138は、カウンタグループ内の第2カウンタ7135の出力端及びカウンタグループ内の第1カウンタ7136に接続されたシフト器7137の出力端にそれぞれ接続された2つの入力端を有する。
データバックアップ装置70が電源オフになった後に、マイクロプロセッサ7139は、メモリ71に給電するためにバックアップ電源712を開始し、各シフト器7137は、予め設定された閾値に従って、シフト器に接続された第1カウンタ7136をシフトし、各比較器7138は、比較器に接続された第2カウンタ7135からの入力と、比較器に接続されたシフト器7137からの入力とを比較し、マイクロプロセッサ7139は、各アクセス順序識別子に対応する比較器7138の出力結果に従って、比較器7138に対応するアクセス順序識別子を有する各キャッシュブロック714が生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロック714内のデータを不揮発性メモリユニット711にバックアップする。
この実施例では、第1アドレッシングデバイス721は、第1データセレクタ7132と第1デコーダ7134とを含み、第2アドレッシングデバイス720は、第2データセレクタ7131と第2デコーダ7133とを含み、第1データセレクタ7132及び第2データセレクタ7131の入力端は、共に各キャッシュブロック714に接続され、第1デコーダ7134及び第2デコーダ7133の入力端は、それぞれ第1データセレクタ7132及び第2データセレクタ7131の出力端に接続され、第1デコーダ7134及び第2デコーダ7133の出力端は、それぞれ各カウンタグループ内の第1カウンタ7136の入力端及びカウンタグループ内の第2カウンタグループ7135の入力端に接続される。
現在のデータ操作に対応するキャッシュブロック714が生存状態にあるとプロセッサ72が決定した場合、第1データセレクタ7132は、現在のデータ操作に対応するキャッシュブロック714のアドレスに従って、対応するキャッシュブロックを見つけ、時点T0における見つかったキャッシュブロック714のアクセス順序識別子を取得し、第1デコーダ7134は、順序アクセス識別子に対応する第1カウンタ7136を取得するために、取得されたアクセス順序識別子をデコードする。
現在のデータ操作に対応するキャッシュブロック714が死亡状態にあるとプロセッサ72が決定した場合、第2データセレクタ7131は、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロック714を見つけ、時点T0における見つかったキャッシュブロックのアクセス順序識別子を取得し、第2デコーダは、順序アクセス識別子に対応する第2カウンタ7135を取得するために、時点T0における取得されたアクセス順序識別子をデコードし、次に、第2カウンタ7135上でカウントを実行する。
実施例4
実施例4は、データバックアップ装置に適用されるデータバックアップ方法を提供する。データバックアップ装置の構造は、実施例1におけるデータバックアップ装置の構造と同じであり、詳細はここでは再び説明しない。
データバックアップ方法は、2つの部分を含む。1つの部分は、データ統計であり、1つの部分は、データバックアップである。データ統計は、データバックアップ装置が電源オンになったときに実行され、データバックアップは、データバックアップ装置が電源オフになったときに実行される。
図9に示すように、図9は、データバックアップ装置が電源オンになったときに実行されるデータ統計のフローチャートである。データ統計部分は以下を含む。
ステップS901:不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得及び記録し、揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、時点T0は、データバックアップ装置が電源オンになった時点である。
ステップS902:揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックがアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第1カウンタ上でカウントを実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに更新する。
ステップS903:現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことであり、データ操作に対応するキャッシュブロックが追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡状態にあると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する第2カウンタ上でカウントを実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに更新する。
図10に示すように、図10は、データバックアップ装置が電源オフになったときに実行されるデータバックアップ方法のフローチャートである。データバックアップ方法は以下を含む。
ステップS1001:メモリに給電するためにバックアップ電源を開始する。
ステップS1002:N個のカウンタグループのカウントを読み取り、初期アクセス順序に対応する死亡キャッシュブロックの数量及び初期アクセス順序に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、キャッシュブロック状態比は、死亡ブロックの生存ブロックに対する比、死亡ブロックにより占有される割合、又は生存ブロックにより占有される割合でもよい。
ステップS1003:時点T0における各初期アクセス順序識別子に対応する比を予め設定された閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、時点T1は、データバックアップ装置が電源オフになった時点である。
ステップS1004:生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップする。
さらに、ステップS1003において、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが生存状態にあるか死亡状態にあるかを予測することは、
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が、死亡ブロックにより占有される割合が予め設定された閾値より小さくないことである場合、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測すること、又は
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が、死亡ブロックにより占有される割合が予め設定された閾値より小さい場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
さらに、各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含む。有効ブロック識別子は、キャッシュブロックが有効であるか否かを識別するために使用され、ダーティブロック識別子は、キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効性識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
実施例5
実施例5は、データバックアップ装置に適用されるデータバックアップ方法を提供する。データバックアップ装置の構造は、実施例2におけるデータバックアップ装置の構造と同じであり、詳細はここでは再び説明しない。
データバックアップ方法は、2つの部分を含む。1つの部分は、データ統計方法であり、1つの部分は、データバックアップ方法である。データ統計方法は、データバックアップ装置が電源オンになったときに実行され、実施例4で説明したデータ統計方法と同じである。詳細はここでは再び説明しない。
データバックアップ方法は、データバックアップ装置が電源オフになったときに実行される。
図11に示すように、図11は、データバックアップ装置が電源オフになったときに実行されるデータバックアップ方法のフローチャートである。この実施例におけるデータバックアップ方法内のステップS1101、S1102及びS1104は、実施例4におけるデータバックアップ方法内のステップS1001、S1002及びS1004と同じである。相違はステップS1103のみにある。この実施例では、ステップS1103において、時点T0におけるN個のアクセス順序識別子及び時点T0におけるN個のアクセス順序識別子にそれぞれ対応する計算された比に従って、共通アクセス順序識別子と共通比との間の共通関係が確立され、共通比が1対2(50%、すなわち、比が50%であるときに全体誤差が最低である)であるときの対応する共通アクセス順序識別子THが、共通関係に従って決定される。共通関係の決定については、実施例6における図6の関係する説明を参照し、詳細はここでは再び説明しない。時点T0における各初期アクセス順序識別子は、共通アクセス順序識別子THと比較され、次に、時点T1において不揮発性メモリユニット内のキャッシュブロックが生存状態にあるか死亡状態にあるかは、時点T0における各初期アクセス順序識別子に対応する比較結果に従って予測され、時点T1は、データバックアップ装置が電源オフになった時点である。具体的には、アクセス順序識別子のうち第1アクセス順序識別子が共通アクセス順序識別子THより小さくない場合、マイクロプロセッサは、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、初期アクセス順序識別子のうち第2アクセス順序識別子が共通アクセス順序識別子THより小さい場合、マイクロプロセッサは、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測する。他の部分は、実施例4におけるものと同じであり、詳細はここでは再び説明しない。当業者は、実施例における方法のステップの全部又は一部が関係するハードウェアに命令するプログラムにより実現されてもよいことを理解し得る。プログラムは、コンピュータ読み取り可能記憶媒体に記憶されてもよい。記憶媒体は、ROM、RAM、磁気ディスク又は光ディスクを含んでもよい。
本発明の実施例において提供されるデータバックアップ装置及び方法について詳細に説明した。本発明の原理及び実現方式は、具体的な例を使用することによりここに記載されている。前述の実施例についての説明は、単に本発明の方法及び核心の概念を理解することに役立てるために提供されている。さらに、当業者は、本発明の概念に基づいて具体的な実現方式及び適用範囲に変更を行うことができる。したがって、この明細書の内容は、本発明における限定として解釈されないものとする。

Claims (26)

  1. メモリとプロセッサとを含むデータバックアップ装置であり、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含むデータバックアップ装置であって、
    前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
    前記データバックアップ装置が時点T0において電源オンになった後に、前記プロセッサは、前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントし、前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
    前記データバックアップ装置が時点T1において電源オフになった後に、前記マイクロプロセッサは、前記メモリに給電するために前記バックアップ電源を開始し、前記時点T0における前記初期アクセス順序識別子に対応する前記死亡キャッシュブロックの数量及び前記時点T0における前記初期アクセス順序識別子に対応する前記生存キャッシュブロックの数量に従って、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を予め設定された閾値と比較し、前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが前記時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするように構成されるデータバックアップ装置。
  2. 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記プロセッサは、前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子を、前記キャッシュブロックがサンプリング済であることに変更するように更に構成され、
    前記プロセッサは、前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される、請求項1に記載のデータバックアップ装置。
  3. 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが前記時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測する間に、前記マイクロプロセッサは、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が前記予め設定された閾値より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記予め設定された閾値より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測するように構成される、請求項1又は2に記載のデータバックアップ装置。
  4. 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
    前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第1アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると更に決定し、
    前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第2アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると更に決定する、請求項3に記載のデータバックアップ装置。
  5. 前記マイクロプロセッサにより、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップすることは、前記マイクロプロセッサにより、前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定し、前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む、請求項1乃至4のうちいずれか1項に記載のデータバックアップ装置。
  6. 前記予め設定された閾値は0.5である、請求項5に記載のデータバックアップ装置。
  7. メモリとプロセッサとを含むデータバックアップ装置であり、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含むデータバックアップ装置であって、
    前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
    前記データバックアップ装置が時点T0において電源オンになった後に、前記プロセッサは、前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントし、前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
    前記データバックアップ装置が時点T1において電源オフになった後に、前記マイクロプロセッサは、前記メモリに給電するために前記バックアップ電源を開始し、前記時点T0における前記初期アクセス順序識別子に対応する前記死亡キャッシュブロックの数量及び前記時点T0における前記初期アクセス順序識別子に対応する前記生存キャッシュブロックの数量に従って、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、前記時点T0における前記N個の初期アクセス順序識別子と、前記時点T0における前記N個の初期アクセス順序識別子にそれぞれ対応する前記計算されたキャッシュブロック状態との間の関係に従って、共通アクセス順序識別子と共通比との間の共通関係を確立し、前記共通関係に従って、前記共通比が1対2であるときの対応する共通アクセス順序識別子を決定し、前記時点T0における各初期アクセス順序識別子を前記決定された共通アクセス順序識別子と比較し、前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするように構成され、前記時点T1は、前記データバックアップ装置が電源オフになった時点であるデータバックアップ装置。
  8. 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記プロセッサは、前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子を、前記キャッシュブロックがサンプリング済であることに変更するように更に構成され、
    前記プロセッサは、前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される、請求項7に記載のデータバックアップ装置。
  9. 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記不揮発性メモリユニット内のキャッシュブロックが前記時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測する間に、前記マイクロプロセッサは、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測するように構成される、請求項7又は8に記載のデータバックアップ装置。
  10. 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
    前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第1アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると更に決定し、
    前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第2アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると更に決定する、請求項9に記載のデータバックアップ装置。
  11. 前記マイクロプロセッサにより、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップすることは、前記マイクロプロセッサにより、前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定し、前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む、請求項7乃至10のうちいずれか1項に記載のデータバックアップ装置。
  12. データバックアップ装置に適用されるデータバックアップ方法であり、前記データバックアップ装置は、メモリを含み、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含むデータバックアップ方法であって、
    前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
    前記方法は、
    前記データバックアップ装置が時点T0において電源オンになった後に、
    前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントし、前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
    前記データバックアップ装置が時点T1において電源オフになった後に、
    前記メモリに給電するために前記バックアップ電源を開始するステップと、
    前記時点T0における前記初期アクセス順序識別子に対応する前記死亡キャッシュブロックの数量及び前記時点T0における前記初期アクセス順序識別子に対応する前記生存キャッシュブロックの数量に従って、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
    前記時点T 0 における各初期アクセス順序識別子に対応するキャッシュブロック状態比を予め設定された閾値と比較するステップと、
    前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが前記時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップと
    を含むデータバックアップ方法。
  13. 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記方法は、
    前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子をサンプリング済であるように変更するステップを更に含み、
    前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、
    前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
    前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、
    前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定することを含む、請求項12に記載のデータバックアップ方法。
  14. 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記不揮発性メモリユニット内のキャッシュブロックが時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測することは、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、或いは、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記予め設定された閾値より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測することを含む、請求項12又は13に記載のデータバックアップ方法。
  15. 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
    前記アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると決定するステップを更に含み、
    前記アクセス順序識別子を有する前記キャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると決定するステップを更に含む、請求項14に記載のデータバックアップ方法。
  16. 前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップは、
    前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定するステップと、
    前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
    前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
    を含む、請求項12乃至15のうちいずれか1項に記載のデータバックアップ方法。
  17. 前記予め設定された閾値は0.5である、請求項14に記載のデータバックアップ方法。
  18. データバックアップ装置に適用されるデータバックアップ方法であり、前記データバックアップ装置は、メモリを含み、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含むデータバックアップ方法であって、
    前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
    前記方法は、
    前記データバックアップ装置が時点T0において電源オンになった後に、
    前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
    前記データバックアップ装置が時点T1において電源オフになった後に、
    前記メモリに給電するために前記バックアップ電源を開始するステップと、
    前記時点T0における前記初期アクセス順序識別子に対応する前記死亡キャッシュブロックの数量及び前記時点T0における前記初期アクセス順序識別子に対応する前記生存キャッシュブロックの数量に従って、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
    前記時点T0における前記N個の初期アクセス順序識別子と、前記時点T0における前記N個の初期アクセス順序識別子にそれぞれ対応する前記計算されたキャッシュブロック状態との間の関係に従って、共通アクセス順序識別子と共通比との間の共通関係を確立し、前記共通関係に従って、前記共通比が1対2であるときの対応する共通アクセス順序識別子を決定するステップと、
    前記時点T0における各初期アクセス順序識別子を前記決定された共通アクセス順序識別子と比較し、前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップであり、前記時点T1は、前記データバックアップ装置が電源オフになった時点であるステップと
    を含むデータバックアップ方法。
  19. 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記方法は、
    前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子をサンプリング済に変更するステップを更に含み、
    前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、
    前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
    前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、
    前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定することである、請求項18に記載のデータバックアップ方法。
  20. 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記不揮発性メモリユニット内のキャッシュブロックが時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測することは、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、
    前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測することを含む、請求項18又は19に記載のデータバックアップ方法。
  21. 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
    前記アクセス順序識別子を有する前記キャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると決定するステップを更に含み、
    前記アクセス順序識別子を有する前記キャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると決定するステップを更に含み、
    各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記方法は、
    前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子を、前記キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
    前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、
    前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
    前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、
    前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定することである、請求項20に記載のデータバックアップ方法。
  22. 前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップは、
    前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定するステップと、
    前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
    前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップを含む、請求項18乃至21のうちいずれか1項に記載のデータバックアップ方法。
  23. メモリとプロセッサとを含むデータバックアップ装置であり、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含むデータバックアップ装置であって、
    前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
    前記メモリは、
    第1アドレッシングデバイス及び第2アドレッシングデバイスであり、前記第1アドレッシングデバイス及び前記第2アドレッシングデバイスの入力端は、共に各キャッシュブロックに接続される第1アドレッシングデバイス及び第2アドレッシングデバイスと、
    カウントユニットであり、前記カウントユニットは、N個のカウンタグループを含み、前記N個のカウンタグループは、前記N個のアクセス順序識別子と1対1の対応にあり、各カウンタグループは、1つの第1カウンタと1つの第2カウンタとを含み、前記第1カウンタの入力端は、前記第1アドレッシングデバイスの出力端に接続され、前記第2カウンタの入力端は、前記第2アドレッシングデバイスの出力端に接続されるカウントユニットと
    を更に含み、
    前記データバックアップ装置が電源オンになった後に、
    前記プロセッサは、前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、時点T0において各キャッシュブロックセット内の各キャッシュブロックの初期アクセス順序識別子を取得し、前記初期アクセス順序識別子を前記キャッシュブロックの最近使用ビットRUBに記録し、前記揮発性メモリユニット内の各キャッシュブロックの状態ビットを無効に設定するように構成され、前記時点T0は、前記データバックアップ装置が電源オンになった時点であり、
    前記プロセッサは、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックの状態識別子が未サンプリングであり、前記データ操作に対応する前記キャッシュブロックがアクセスされると決定した場合、前記プロセッサは、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、次に、前記現在のデータ操作に対応する前記キャッシュブロックのアドレスに従って、前記対応するキャッシュブロックを見つけるために前記第1アドレッシングデバイスを制御し、前記時点T0において前記見つかったキャッシュブロックのアクセス順序識別子を取得し、前記時点T0における前記取得されたアクセス順序識別子に従って、前記時点T0における前記アクセス順序識別子に対応する第1カウンタを取得し、前記第1カウンタ上でカウントを実行するように更に構成され、前記プロセッサは、前記キャッシュブロックの前記状態識別子を、サンプリング済に変更するか、或いは、前記現在のデータ操作に対応するキャッシュブロックの状態識別子が未サンプリングであり、前記データ操作に対応する前記キャッシュブロックが追い出されると決定した場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記第2アドレッシングデバイスは、前記現在のデータ操作に対応する前記キャッシュブロックのアドレスに従って、前記対応するキャッシュブロックを見つけ、前記時点T0における前記見つかったキャッシュブロックのアクセス順序識別子を取得し、前記時点T0における前記取得されたアクセス順序識別子に従って、前記時点T0における前記アクセス順序識別子に対応する第2カウンタを取得し、前記第2カウンタ上でカウントを実行し、前記プロセッサは、前記キャッシュブロックの前記状態識別子を、前記キャッシュブロックがサンプリング済であることに変更し、
    前記メモリは、
    前記N個のカウンタグループ内の第1カウンタの出力端にそれぞれ接続されたN個のシフト器と、
    N個の比較器であり、各比較器は、カウンタグループ内の第2カウンタの出力端及び前記カウンタグループ内の第1カウンタに接続されたシフト器の出力端にそれぞれ接続された2つの入力端を有するN個の比較器と
    を更に含み、
    前記データバックアップ装置が電源オフになった後に、前記マイクロプロセッサは、前記メモリに給電するために前記バックアップ電源を開始するように構成され、各シフト器は、予め設定された閾値に従って、前記シフト器に接続された第1カウンタをシフトし、各比較器は、前記比較器に接続された第2カウンタからの入力と、前記比較器に接続されたシフト器からの入力とを比較し、前記マイクロプロセッサは、各アクセス順序識別子に対応する比較器の出力結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップし、前記時点T1は、前記データバックアップ装置が電源オフになった時点であるデータバックアップ装置。
  24. 前記第1アドレッシングデバイスは、第1データセレクタと第1デコーダとを含み、前記第2アドレッシングデバイスは、第2データセレクタと第2デコーダとを含み、前記第1データセレクタ及び前記第2データセレクタの入力端は、共に各キャッシュブロックに接続され、前記第1デコーダ及び前記第2デコーダの入力端は、それぞれ前記第1データセレクタ及び前記第2データセレクタの出力端に接続され、前記第1デコーダ及び前記第2デコーダの出力端は、それぞれ各カウンタグループ内の第1カウンタ及び第2カウンタの入力端に接続され、
    前記現在のデータ操作に対応する前記キャッシュブロックが前記生存キャッシュブロックであると前記プロセッサが決定した場合、前記第1データセレクタは、前記現在のデータ操作に対応する前記キャッシュブロックの前記アドレスに従って、前記対応するキャッシュブロックを見つけ、前記時点T0における前記見つかったキャッシュブロックの前記アクセス順序識別子を取得し、前記第1デコーダは、前記アクセス順序識別子に対応する第1カウンタを取得するために、前記時点T 0 における前記取得されたアクセス順序識別子をデコードし、
    前記現在のデータ操作に対応する前記キャッシュブロックが前記死亡キャッシュブロックであると前記プロセッサが決定した場合、前記第2データセレクタは、前記現在のデータ操作に対応する前記キャッシュブロックの前記アドレスに従って、前記対応するキャッシュブロックを見つけ、前記時点T0における前記見つかったキャッシュブロックの前記アクセス順序識別子を取得し、前記第2デコーダは、前記アクセス順序識別子に対応する第2カウンタを取得するために、前記時点T0における前記取得されたアクセス順序識別子をデコードし、次に、前記第2カウンタ上でカウントを実行する、請求項23に記載のデータバックアップ装置。
  25. プログラムコードを記憶したコンピュータ読み取り可能記憶媒体であって、
    前記プログラムコードに含まれる命令は、請求項12乃至17のうちいずれか1項に記載の方法を実行するために使用されるコンピュータ読み取り可能記憶媒体。
  26. プログラムコードを記憶したコンピュータ読み取り可能記憶媒体であって、
    前記プログラムコードに含まれる命令は、請求項18乃至22のうちいずれか1項に記載の方法を実行するために使用されるコンピュータ読み取り可能記憶媒体。
JP2017546776A 2015-03-06 2016-03-02 データバックアップ装置及び方法 Active JP6527951B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201510100395.7 2015-03-06
CN201510100395 2015-03-06
CN201610099237.9 2016-02-23
CN201610099237.9A CN105938447B (zh) 2015-03-06 2016-02-23 数据备份装置及方法
PCT/CN2016/075290 WO2016141817A1 (zh) 2015-03-06 2016-03-02 数据备份装置及方法

Publications (2)

Publication Number Publication Date
JP2018511123A JP2018511123A (ja) 2018-04-19
JP6527951B2 true JP6527951B2 (ja) 2019-06-12

Family

ID=57152901

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017546776A Active JP6527951B2 (ja) 2015-03-06 2016-03-02 データバックアップ装置及び方法

Country Status (5)

Country Link
US (1) US10203906B2 (ja)
EP (1) EP3255547B1 (ja)
JP (1) JP6527951B2 (ja)
KR (1) KR102063738B1 (ja)
CN (1) CN105938447B (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108664214B (zh) * 2017-03-31 2023-05-16 北京忆恒创源科技股份有限公司 用于固态存储设备的分布式缓存的掉电处理方法与装置
CN109725825B (zh) * 2017-10-27 2022-03-11 伊姆西Ip控股有限责任公司 用于管理缓存的方法、设备和计算机程序产品
KR102627873B1 (ko) * 2018-10-25 2024-01-23 에스케이하이닉스 주식회사 메모리 장치, 이를 포함하는 메모리 시스템 및 그것의 동작 방법
CN110032526B (zh) * 2019-04-16 2021-10-15 苏州浪潮智能科技有限公司 一种基于非易失性介质的页缓存方法、系统及设备
US11334141B2 (en) * 2020-01-31 2022-05-17 Dell Products L.P. System and method for dynamic power control based on a cache size in volatile memory
CN117472795A (zh) * 2020-05-29 2024-01-30 超聚变数字技术有限公司 存储介质管理方法及服务器

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6647462B1 (en) * 2000-06-29 2003-11-11 Motorola, Inc. Apparatus and a method for providing decoded information
US6804799B2 (en) * 2001-06-26 2004-10-12 Advanced Micro Devices, Inc. Using type bits to track storage of ECC and predecode bits in a level two cache
US20060212644A1 (en) * 2005-03-21 2006-09-21 Acton John D Non-volatile backup for data cache
JP4437489B2 (ja) * 2006-10-25 2010-03-24 株式会社日立製作所 揮発性キャッシュメモリと不揮発性メモリとを備えたストレージシステム
US8074034B2 (en) * 2007-07-25 2011-12-06 Agiga Tech Inc. Hybrid nonvolatile ram
US7861041B2 (en) * 2007-09-04 2010-12-28 Advanced Micro Devices, Inc. Second chance replacement mechanism for a highly associative cache memory of a processor
US8464002B2 (en) * 2009-10-14 2013-06-11 Board Of Regents Of The University Of Texas System Burst-based cache dead block prediction
US8856456B2 (en) * 2011-06-09 2014-10-07 Apple Inc. Systems, methods, and devices for cache block coherence
CN103135735B (zh) * 2011-11-25 2017-01-25 航天信息股份有限公司 一种掉电保护的控制方法及系统
US8930624B2 (en) * 2012-03-05 2015-01-06 International Business Machines Corporation Adaptive cache promotions in a two level caching system
CN103049070B (zh) * 2012-12-27 2015-09-02 加弘科技咨询(上海)有限公司 缓存数据的掉电保护方法及计算机设备
CN103092774A (zh) 2013-01-04 2013-05-08 北京北大众志微系统科技有限责任公司 一种处理器末级高速缓存的管理系统及方法
WO2014143053A1 (en) 2013-03-15 2014-09-18 Intel Corporation Dead block predictors for cooperative execution in the last level cache
US9218134B2 (en) * 2013-07-02 2015-12-22 GlobalFoundries, Inc. Read based temporal locality compression
CN103678178B (zh) * 2013-10-10 2017-06-09 华为技术有限公司 一种存储系统的掉电处理方法及系统
US9990289B2 (en) * 2014-09-19 2018-06-05 Advanced Micro Devices, Inc. System and method for repurposing dead cache blocks
EP3126987A4 (en) * 2015-02-26 2017-11-22 Strato Scale Ltd. Using access-frequency hierarchy for selection of eviction destination
US10324959B2 (en) * 2016-09-20 2019-06-18 Futurewei Technologies, Inc. Garbage collection in storage system

Also Published As

Publication number Publication date
US20180074716A1 (en) 2018-03-15
EP3255547A4 (en) 2018-03-28
JP2018511123A (ja) 2018-04-19
EP3255547A1 (en) 2017-12-13
KR102063738B1 (ko) 2020-01-08
US10203906B2 (en) 2019-02-12
KR20170117532A (ko) 2017-10-23
EP3255547B1 (en) 2019-06-05
CN105938447B (zh) 2018-12-14
CN105938447A (zh) 2016-09-14

Similar Documents

Publication Publication Date Title
JP6527951B2 (ja) データバックアップ装置及び方法
KR102229648B1 (ko) 저장 클래스 메모리를 위한 웨어 레벨링의 장치 및 방법
CN102483714B (zh) 恢复闪存存储器设备中的索引页的系统及方法
US10067881B2 (en) Compression and caching for logical-to-physical storage address mapping tables
CN110832590A (zh) 在基于相变存储器的存储设备中减轻写入放大的方法和系统
CN110018971B (zh) 缓存替换技术
KR20070068796A (ko) 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
WO2014118822A1 (en) Storage system and cache control method
WO2012116369A2 (en) Apparatus, system, and method for managing contents of a cache
KR20040034388A (ko) 컴퓨터 시스템 및 캐시 라인 대체 방법
CN104503703B (zh) 缓存的处理方法和装置
US11237758B2 (en) Apparatus and method of wear leveling for storage class memory using address cache
WO2013166101A1 (en) Managing buffer memory
US9792228B2 (en) Enhancing lifetime of non-volatile cache by injecting random replacement policy
CN106055679A (zh) 一种多层次缓存感知型索引方法
WO2016141817A1 (zh) 数据备份装置及方法
CN114415942B (zh) L2p映射表重建方法及固态硬盘
CN112306911B (zh) Cache替换方法、装置及计算机可读存储介质
JP6760916B2 (ja) ストレージコントローラ、ストレージアレイ装置、データ格納方法、およびプログラム
KR101079367B1 (ko) 플래시 메모리를 사용하는 raid 저장 장치에서 패리티 데이터 관리 방법 및 그 장치
KR102668086B1 (ko) 비휘발성 메모리 모듈을 포함하는 컴퓨팅 시스템
US11630728B2 (en) Data processing method for AFA storage device to restore data protection capability and the AFA storage device utilizing the same
US10853267B2 (en) Adaptive method for selecting a cache line replacement algorithm in a direct-mapped cache
Pratibha Flash Translation layer used for mapping schemes like BAST and FAST
CN118567562A (zh) 一种基于学习索引的数据重删方法和系统

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180727

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180904

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181129

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: 20190513

R150 Certificate of patent or registration of utility model

Ref document number: 6527951

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