JP6527951B2 - データバックアップ装置及び方法 - Google Patents
データバックアップ装置及び方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 70
- 230000015654 memory Effects 0.000 claims description 305
- 230000034994 death Effects 0.000 claims description 77
- 231100000517 death Toxicity 0.000 claims description 77
- 230000004083 survival effect Effects 0.000 claims description 24
- 238000010586 diagram Methods 0.000 description 9
- 230000003068 static effect Effects 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 239000003990 capacitor Substances 0.000 description 2
- 230000006837 decompression Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000004146 energy storage Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 241000255925 Diptera Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
Classifications
-
- 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
- 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
-
- 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/1456—Hardware arrangements for backup
-
- 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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring 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
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- 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/061—Improving I/O performance
-
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2015—Redundant power supplies
-
- 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/88—Monitoring involving counting
-
- 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/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/62—Details of cache specific to multiprocessor cache arrangements
- G06F2212/621—Coherency 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
揮発性メモリユニットは、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におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測すること、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より大きくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
揮発性メモリユニットは、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は、データバックアップ装置が電源オフになった時点である。
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より小さくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測すること、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より大きくない場合、マイクロプロセッサにより、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
揮発性メモリユニットは、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は、データバックアップ装置が電源オフになった時点である。
現在のデータ操作に対応するキャッシュブロックが生存状態にあるとプロセッサが決定した場合、第1データセレクタは、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロックを見つけ、時点T0における見つかったキャッシュブロックのアクセス順序識別子を取得し、第1デコーダは、アクセス順序識別子に対応する第1カウンタを取得するために、取得されたアクセス順序識別子をデコードするか、或いは、
現在のデータ操作に対応するキャッシュブロックが死亡状態にあるとプロセッサが決定した場合、第2データセレクタは、現在のデータ操作に対応するキャッシュブロックのアドレスに従って、対応するキャッシュブロックを見つけ、時点T0における見つかったキャッシュブロックのアクセス順序識別子を取得し、第2デコーダは、アクセス順序識別子に対応する第2カウンタを取得するために、時点T0における取得されたアクセス順序識別子をデコードし、次に、第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における各初期アクセス順序識別子に対応する比を予め設定された閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが生存状態にあるか死亡状態にあるかを予測するステップであり、時点T1は、データバックアップ装置が電源オフになった時点であるステップと、
生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップと
を含む。
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測するステップ、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果が予め設定された閾値より大きくない場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するステップを含む。
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む。
揮発性メモリユニットは、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は、データバックアップ装置が電源オフになった時点であるステップと、
生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップと
を含む。
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より小さくない場合、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測するステップ、又は
時点T0におけるN個の初期アクセス順序識別子のうちアクセス順序識別子に対応する比較結果がアクセス順序識別子閾値より大きくない場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するステップを含む。
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む。
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
データバックアップ装置が時点T0において電源オンになった後に、プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
データバックアップ装置が時点T1において電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始し、時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を予め設定された閾値と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするように構成される。
プロセッサは、現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される。
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、或いは、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が予め設定された閾値より小さい場合、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するように具体的に構成される。
第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、第1アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、第2アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
データバックアップ装置が時点T0において電源オンになった後に、プロセッサは、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
データバックアップ装置が時点T1において電源オフになった後に、マイクロプロセッサは、メモリに給電するためにバックアップ電源を開始し、時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、時点T0におけるN個の初期アクセス順序識別子及び時点T0におけるN個の初期アクセス順序識別子にそれぞれ対応する計算された比に従って、共通アクセス順序識別子と共通比との間の共通関係を確立し、共通関係に従って、共通比が1対2であるときの対応する共通アクセス順序識別子を決定し、時点T0における各初期アクセス順序識別子を決定された共通アクセス順序識別子と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするように構成され、時点T1は、データバックアップ装置が電源オフになった時点である。
プロセッサは、現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される。
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さくない場合、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さい場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測するように具体的に構成される。
第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、マイクロプロセッサは、第1アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定し、
第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、マイクロプロセッサは、第2アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定する。
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
この方法は、
データバックアップ装置が時点T0において電源オンになった後に、
不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
データバックアップ装置が時点T1において電源オフになった後に、
メモリに給電するためにバックアップ電源を開始するステップと、
時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップと
を含む。
揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することである。
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、或いは、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が予め設定された閾値より小さい場合、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む。
揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
この方法は、
データバックアップ装置が時点T0において電源オンになった後に、
不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復し、揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、現在のデータ操作に対応するキャッシュブロックが生存キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントするか、或いは、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、現在のデータ操作に対応するキャッシュブロックが死亡キャッシュブロックであると決定し、時点T0において現在のデータ操作に対応するキャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
メモリに給電するためにバックアップ電源を開始するステップと、
時点T0における初期アクセス順序識別子に対応する死亡キャッシュブロックの数量及び時点T0における初期アクセス順序識別子に対応する生存キャッシュブロックの数量に従って、時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
時点T0におけるN個の初期アクセス順序識別子及び時点T0におけるN個の初期アクセス順序識別子にそれぞれ対応する計算された比に従って、共通アクセス順序識別子と共通比との間の共通関係を確立し、共通関係に従って、共通比が1対2であるときの対応する共通アクセス順序識別子を決定するステップと、
時点T0における各初期アクセス順序識別子を決定された共通アクセス順序識別子と比較し、時点T0における各初期アクセス順序識別子に対応する比較結果に従って、不揮発性メモリユニット内のキャッシュブロックが時点T1において生存状態にあるか死亡状態にあるかを予測し、生存状態にあると予測されたキャッシュブロックのデータを不揮発性メモリユニットにバックアップするステップであり、時点T1は、データバックアップ装置が電源オフになった時点であるステップと
を含む。
揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することである。
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さくない場合、マイクロプロセッサにより、第1アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測し、
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が決定された共通アクセス順序識別子より小さい場合、マイクロプロセッサにより、第2アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを具体的に含む。
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが死亡状態にあると更に決定され、
各キャッシュブロックは、状態識別子で構成され、不揮発性メモリユニット内にバックアップされたデータを揮発性メモリユニットに回復した後に、この方法は、
揮発性メモリユニット内の各キャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済でないことに設定し、いずれかのカウントの後に、現在のデータ操作に対応するキャッシュブロックの状態識別子を、キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックがアクセスされ、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、具体的には、
現在のデータ操作に対応するキャッシュブロックが追い出され、現在のデータ操作に対応するキャッシュブロックの状態識別子が、キャッシュブロックがサンプリング済でないことである場合、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することである。
死亡状態にあると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、死亡キャッシュブロック記録テーブルに記録された、死亡状態にあると予測されたキャッシュブロックについての情報に従って、現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックであるか、生存状態にあると予測されたキャッシュブロックであるかを決定するステップと、
現在のバックアップ対象のキャッシュブロックが生存状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
現在のバックアップ対象のキャッシュブロックが死亡状態にあると予測されたキャッシュブロックである場合、現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップを含む。
実施例1は、図4に示すデータバックアップ装置30を提供する。データバックアップ装置30は、メモリ31とプロセッサ32とを含み、メモリ31は、揮発性メモリユニット310と、不揮発性メモリユニット311と、バックアップ電源312と、マイクロプロセッサ315と、カウントユニット316とを含む。データバックアップ装置30が電源オフになった後に、バックアップ電源312がメモリ30に給電するために開始され、これにより、揮発性メモリユニット310内のデータを不揮発性メモリユニット311にバックアップする。
実施例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は、データバックアップ装置70を提供する。図7に示すように、データバックアップ装置70は、メモリ71とプロセッサ72とを含む。プロセッサ72は、メモリ71内のデータへのアクセスを制御する。メモリ71は、揮発性メモリユニット710と、不揮発性メモリユニット711と、バックアップ電源712と、予測モジュール713とを含む。データバックアップ装置70が電源オンになった後に、不揮発性メモリユニット711内にバックアップされたデータが回復される。データバックアップ装置70が電源オフになった後に、バックアップ電源712は、メモリ70に給電するために開始される。予測モジュール713は、揮発性メモリユニット710内の死亡ブロックを予測するように構成される。
揮発性メモリユニット710は、実施例1における揮発性メモリユニット310と同じ構造であり、詳細はここでは再び説明しない。
プロセッサ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の状態識別子を、キャッシュブロックがサンプリング済であることに変更する。
実施例4は、データバックアップ装置に適用されるデータバックアップ方法を提供する。データバックアップ装置の構造は、実施例1におけるデータバックアップ装置の構造と同じであり、詳細はここでは再び説明しない。
時点T0におけるN個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が、死亡ブロックにより占有される割合が予め設定された閾値より小さくないことである場合、アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測すること、又は
時点T0におけるN個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が、死亡ブロックにより占有される割合が予め設定された閾値より小さい場合、アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測することを含む。
アクセス順序識別子を有するキャッシュブロックが死亡状態にあると予測した後に、アクセス順序識別子を有しており、死亡状態にあると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが生存状態にあると更に決定され、
アクセス順序識別子を有するキャッシュブロックが生存状態にあると予測した後に、アクセス順序識別子を有しており、生存状態にあると予測されたキャッシュブロックの中で、有効性識別子が無効であるキャッシュブロックが死亡状態にあると更に決定される。
実施例5は、データバックアップ装置に適用されるデータバックアップ方法を提供する。データバックアップ装置の構造は、実施例2におけるデータバックアップ装置の構造と同じであり、詳細はここでは再び説明しない。
Claims (26)
- メモリとプロセッサとを含むデータバックアップ装置であり、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含むデータバックアップ装置であって、
前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
前記データバックアップ装置が時点T0において電源オンになった後に、前記プロセッサは、前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントし、前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするように構成され、
前記データバックアップ装置が時点T1において電源オフになった後に、前記マイクロプロセッサは、前記メモリに給電するために前記バックアップ電源を開始し、前記時点T0における前記初期アクセス順序識別子に対応する前記死亡キャッシュブロックの数量及び前記時点T0における前記初期アクセス順序識別子に対応する前記生存キャッシュブロックの数量に従って、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算し、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を予め設定された閾値と比較し、前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが前記時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするように構成されるデータバックアップ装置。 - 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記プロセッサは、前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子を、前記キャッシュブロックがサンプリング済であることに変更するように更に構成され、
前記プロセッサは、前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される、請求項1に記載のデータバックアップ装置。 - 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが前記時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測する間に、前記マイクロプロセッサは、
前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が前記予め設定された閾値より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、
前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記予め設定された閾値より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測するように構成される、請求項1又は2に記載のデータバックアップ装置。 - 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第1アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると更に決定し、
前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第2アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると更に決定する、請求項3に記載のデータバックアップ装置。 - 前記マイクロプロセッサにより、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップすることは、前記マイクロプロセッサにより、前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定し、前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む、請求項1乃至4のうちいずれか1項に記載のデータバックアップ装置。
- 前記予め設定された閾値は0.5である、請求項5に記載のデータバックアップ装置。
- メモリとプロセッサとを含むデータバックアップ装置であり、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含むデータバックアップ装置であって、
前記揮発性メモリユニットは、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は、前記データバックアップ装置が電源オフになった時点であるデータバックアップ装置。 - 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記プロセッサは、前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子を、前記キャッシュブロックがサンプリング済であることに変更するように更に構成され、
前記プロセッサは、前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定するか、或いは、前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定するように更に構成される、請求項7に記載のデータバックアップ装置。 - 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記不揮発性メモリユニット内のキャッシュブロックが前記時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測する間に、前記マイクロプロセッサは、
前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、
前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測するように構成される、請求項7又は8に記載のデータバックアップ装置。 - 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第1アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると更に決定し、
前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記マイクロプロセッサは、前記第2アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると更に決定する、請求項9に記載のデータバックアップ装置。 - 前記マイクロプロセッサにより、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップすることは、前記マイクロプロセッサにより、前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定し、前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするか、或いは、前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップすることを含む、請求項7乃至10のうちいずれか1項に記載のデータバックアップ装置。
- データバックアップ装置に適用されるデータバックアップ方法であり、前記データバックアップ装置は、メモリを含み、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含むデータバックアップ方法であって、
前記揮発性メモリユニットは、M個のキャッシュブロックセットを含み、各キャッシュブロックセットは、N個のキャッシュブロックを含み、M≧1、N>1であり、各キャッシュブロックは、アクセス順序識別子を有し、前記アクセス順序識別子は、キャッシュブロックがキャッシュブロックセット内でアクセスされる順序を示すために使用され、前記M個のキャッシュブロックセットの全てのキャッシュブロックセット内で同じアクセス順序を有するキャッシュブロックは、同じアクセス順序識別子を有し、
前記方法は、
前記データバックアップ装置が時点T0において電源オンになった後に、
前記不揮発性メモリユニット内にバックアップされたデータを前記揮発性メモリユニットに回復し、前記揮発性メモリユニット上でデータ操作を実行し、現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされる場合、前記現在のデータ操作に対応する前記キャッシュブロックが生存キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する生存キャッシュブロックをカウントし、前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出される場合、前記現在のデータ操作に対応する前記キャッシュブロックが死亡キャッシュブロックであると決定し、前記時点T0において前記現在のデータ操作に対応する前記キャッシュブロックの初期アクセス順序識別子に対応する死亡キャッシュブロックをカウントするステップと、
前記データバックアップ装置が時点T1において電源オフになった後に、
前記メモリに給電するために前記バックアップ電源を開始するステップと、
前記時点T0における前記初期アクセス順序識別子に対応する前記死亡キャッシュブロックの数量及び前記時点T0における前記初期アクセス順序識別子に対応する前記生存キャッシュブロックの数量に従って、前記時点T0における各初期アクセス順序識別子に対応するキャッシュブロック状態比を計算するステップと、
前記時点T 0 における各初期アクセス順序識別子に対応するキャッシュブロック状態比を予め設定された閾値と比較するステップと、
前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記時点T 0 における初期アクセス順序識別子ごとに、前記不揮発性メモリユニット内の同じ初期アクセス順序識別子を有するキャッシュブロックのそれぞれが前記時点T1において生存キャッシュブロックであるか死亡キャッシュブロックであるかを予測し、前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップと
を含むデータバックアップ方法。 - 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記方法は、
前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子をサンプリング済であるように変更するステップを更に含み、
前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、
前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、
前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定することを含む、請求項12に記載のデータバックアップ方法。 - 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記不揮発性メモリユニット内のキャッシュブロックが時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測することは、
前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が予め設定された閾値より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、或いは、
前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記予め設定された閾値より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測することを含む、請求項12又は13に記載のデータバックアップ方法。 - 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
前記アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると決定するステップを更に含み、
前記アクセス順序識別子を有する前記キャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると決定するステップを更に含む、請求項14に記載のデータバックアップ方法。 - 前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップは、
前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定するステップと、
前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップと
を含む、請求項12乃至15のうちいずれか1項に記載のデータバックアップ方法。 - 前記予め設定された閾値は0.5である、請求項14に記載のデータバックアップ方法。
- データバックアップ装置に適用されるデータバックアップ方法であり、前記データバックアップ装置は、メモリを含み、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、バックアップ電源とを含むデータバックアップ方法であって、
前記揮発性メモリユニットは、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は、前記データバックアップ装置が電源オフになった時点であるステップと
を含むデータバックアップ方法。 - 各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記方法は、
前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子をサンプリング済に変更するステップを更に含み、
前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、
前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、
前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定することである、請求項18に記載のデータバックアップ方法。 - 前記時点T0における各初期アクセス順序識別子に対応する比較結果に従って、前記不揮発性メモリユニット内のキャッシュブロックが時点T1において前記生存キャッシュブロックであるか前記死亡キャッシュブロックであるかを予測することは、
前記時点T0における前記N個の初期アクセス順序識別子のうち第1アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さくない場合、前記第1アクセス順序識別子を有するキャッシュブロックが前記死亡キャッシュブロックであると予測し、
前記時点T0における前記N個の初期アクセス順序識別子のうち第2アクセス順序識別子に対応する比較結果が前記決定された共通アクセス順序識別子より小さい場合、前記第2アクセス順序識別子を有するキャッシュブロックが前記生存キャッシュブロックであると予測することを含む、請求項18又は19に記載のデータバックアップ方法。 - 各キャッシュブロックは、有効ブロック識別子とダーティブロック識別子とを更に含み、前記有効ブロック識別子は、前記キャッシュブロックが有効であるか否かを識別するために使用され、前記ダーティブロック識別子は、前記キャッシュブロックがダーティブロックであるか否かを識別するために使用され、
前記アクセス順序識別子を有する前記キャッシュブロックが前記死亡キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記死亡キャッシュブロックであると予測されたキャッシュブロックの中で、ダーティブロック識別子が有効であるキャッシュブロックが前記生存キャッシュブロックであると決定するステップを更に含み、
前記アクセス順序識別子を有する前記キャッシュブロックが前記生存キャッシュブロックであると予測した後に、前記方法は、前記アクセス順序識別子を有しており、前記生存キャッシュブロックであると予測されたキャッシュブロックの中で、有効ブロック識別子が無効であるキャッシュブロックが前記死亡キャッシュブロックであると決定するステップを更に含み、
各キャッシュブロックは、状態識別子で構成され、前記不揮発性メモリユニット内にバックアップされた前記データを前記揮発性メモリユニットに回復した後に、前記方法は、
前記揮発性メモリユニット内の各キャッシュブロックの状態識別子を未サンプリングであるように設定し、いずれかのカウントを実行した後に、前記現在のデータ操作に対応するキャッシュブロックの状態識別子を、前記キャッシュブロックがサンプリング済であることに変更するステップを更に含み、
前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初にアクセスされると決定することは、
前記現在のデータ操作に対応する前記キャッシュブロックがアクセスされ、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初にアクセスされると決定することであり、
前記現在のデータ操作に対応するキャッシュブロックが電源オンの後に最初に追い出されると決定することは、
前記現在のデータ操作に対応する前記キャッシュブロックが追い出され、前記現在のデータ操作に対応する前記キャッシュブロックの前記状態識別子が未サンプリングである場合、前記現在のデータ操作に対応する前記キャッシュブロックが電源オンの後に最初に追い出されると決定することである、請求項20に記載のデータバックアップ方法。 - 前記生存キャッシュブロックであると予測されたキャッシュブロックのデータを前記不揮発性メモリユニットにバックアップするステップは、
前記死亡キャッシュブロックであると予測されたキャッシュブロックについての情報を死亡キャッシュブロック記録テーブルに記録し、前記死亡キャッシュブロック記録テーブルに記録された、前記死亡キャッシュブロックであると予測された前記キャッシュブロックについての前記情報に従って、現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックであるか、前記生存キャッシュブロックであると予測されたキャッシュブロックであるかを決定するステップと、
前記現在のバックアップ対象のキャッシュブロックが前記生存キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータをバックアップするステップ、又は、
前記現在のバックアップ対象のキャッシュブロックが前記死亡キャッシュブロックであると予測されたキャッシュブロックである場合、前記現在のバックアップ対象のキャッシュブロック内のデータのバックアップをスキップするステップを含む、請求項18乃至21のうちいずれか1項に記載のデータバックアップ方法。 - メモリとプロセッサとを含むデータバックアップ装置であり、前記メモリは、揮発性メモリユニットと、不揮発性メモリユニットと、マイクロプロセッサと、バックアップ電源とを含むデータバックアップ装置であって、
前記揮発性メモリユニットは、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は、前記データバックアップ装置が電源オフになった時点であるデータバックアップ装置。 - 前記第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に記載のデータバックアップ装置。 - プログラムコードを記憶したコンピュータ読み取り可能記憶媒体であって、
前記プログラムコードに含まれる命令は、請求項12乃至17のうちいずれか1項に記載の方法を実行するために使用されるコンピュータ読み取り可能記憶媒体。 - プログラムコードを記憶したコンピュータ読み取り可能記憶媒体であって、
前記プログラムコードに含まれる命令は、請求項18乃至22のうちいずれか1項に記載の方法を実行するために使用されるコンピュータ読み取り可能記憶媒体。
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)
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)
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 |
-
2016
- 2016-02-23 CN CN201610099237.9A patent/CN105938447B/zh active Active
- 2016-03-02 EP EP16761044.3A patent/EP3255547B1/en active Active
- 2016-03-02 KR KR1020177025831A patent/KR102063738B1/ko active IP Right Grant
- 2016-03-02 JP JP2017546776A patent/JP6527951B2/ja active Active
-
2017
- 2017-09-06 US US15/696,183 patent/US10203906B2/en active Active
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 |