數據備份裝置及方法
【專利摘要】本發明提供一種的數據備份裝置及方法。該數據備份方法在數據備份裝置上電時,統計數據備份裝置在上電時刻的順序訪問標識對應的死亡塊與生存塊的數量,在數據備份裝置掉電后,根據所統計的數據備份裝置在上電時刻的順序訪問標識對應的死亡塊與生存塊的數量計算上電時刻的每個順序訪問標識對應的死亡塊占每個順序訪問標識對應所采樣的緩存塊總數的比值,并將所計算的比值與一預設閾值比較,根據比較結果預測易失存儲單元中的死亡塊,在備份時,不對預測為死亡塊的緩存塊進行備份,從而減少了數據備份量,提高備份效率。
【專利說明】
數據備份裝置及方法
技術領域
[0001]本發明涉及數據備份技術領域,特別涉及存儲器的數據備份裝置及方法。
【背景技術】
[0002]近年來,隨著大型多核計算系統(如多核GPU)的發展,高密度、高性能片上緩存的需求日益增加。傳統的基于靜態隨機存儲器(static random access memory,SRAM)的緩存結構由于具有較大的泄露電流和較低的集成度,已經成為限制高性能處理系統發展的瓶頸。而新型的非易失存儲單元(NonvolatiIe Memory,NVM)通過器件的阻值來存儲數據,理論上可以達到更高的集成度,同時具有極低的泄露電流,因此被認為是替代傳統的SRAM的理想材料。
[0003]但是,直接使用NVM作為緩存材料,則會出現寫功耗、寫延時和寫容限的問題,限制了其在高速緩存中的應用。非易失SRAM是一種同時包括SRAM和NVM的存儲結構,在工作模式下采用SRAM進行數據的存儲,在掉電時能夠將數據備份到NVM單元中。然而,在掉電后,非易失SRAM需要一個較大的片上儲能電容供電以進行數據的備份,所述電容會引入較大的芯片面積開銷和成本開銷。另外,隨著存儲容量的增大,并行備份的過程會產生大的峰值電流,從而降低系統的穩定性,而串行備份方式的備份時間會隨著備份數據量的增長而增大,影響系統性能,且備份過程是有較大的數據冗余。
[0004]現有的一種備份方法為分段并行壓縮架構(SPaC),如圖1所示,為將SRAM中的數據分為多段,然后通過壓縮模塊對每段數據通過游程編碼進行壓縮,再將壓縮后的數據存儲在NVM單元中。在這種壓縮備份方法中,會對SRAM中的所有數據進行壓縮,所以具有較高的數據冗余度;另外,采用這種方法需要在備份和恢復數據前分別進行壓縮、解壓縮的操作,隨著數據量的增大,會需要較長的壓縮和解壓縮時間,從而對系統性能造成影響。
【發明內容】
[0005]本發明實施例提供數據備份裝置及方法,減少數據備份量,提高備份效率。
[0006]本發明實施例第一方面提供一種數據備份裝置,所述數據備份裝置包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源;
[0007]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M>= 1,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣;
[0008]所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應;
[0009]在所述數據備份裝置上電后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;所述處理器還用于對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,并在任何一次對計數器計數之后將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0010]在所述數據備份裝置掉電后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值,將每個To時刻的初始訪問順序標識對應的比值分別與預設閾值進行比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。
[0011]所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括:
[0012]當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述預設閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為死亡態;或
[0013]當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述預設閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存態。
[0014]進一步地,在本發明實施例的第一方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0015]所述微處理器預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0016]所述微處理器預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0017]進一步地,在本發明實施例的第一方面中,所述微處理器將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:所述微處理器將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0018]進一步地,在本發明實施例的第一方面中,所述預設閾值為0.5。
[0019]本發明實施例的第二方面提供一種數據備份裝置,所述數據備份裝置包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源;
[0020]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中M> = I,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣;
[0021 ]所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應;
[0022]在所述數據備份裝置上電后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;所述處理器還用于對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,并在任何一次對計數器計數之后將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0023]在所述數據備份裝置掉電后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值,根據所述N個TO時刻的初始訪問順序標識各自對應的所述比值確定所述比值為I比2時對應的一訪問順序標識閾值,將每個To時刻的初始訪問順序標識與所述訪問順序標識閾值比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。
[0024]進一步地,在本發明實施例的第二方面中,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括:
[0025]當所述N個Tο時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述訪問順序標識閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為死亡態;
[0026]當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述訪問順序標識閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存態。
[0027]進一步地,在本發明實施例的第二方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;所述微處理器預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0028]所述微處理器預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0029]進一步地,在本發明實施例的第二方面中,所述微處理器將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:所述微處理器將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0030]本發明實施例的第三方面提供一種數據備份裝置,所述數據備份裝置包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源;
[0031 ]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = I,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新,每個緩存塊包括最近使用位RUB及狀態位,所述最近使用位RUB用來存儲每個緩存塊的所述訪問順序標識,所述狀態位存儲狀態標識,所述狀態標識標識每個緩存塊是否被米樣;
[0032]所述存儲器還包括:
[0033]第一尋址器及第二尋址器,所述第一尋址器與第二尋址器的輸入端分別與每個緩存塊相連;
[0034]計數單元,所述計數單元包含N個計數器組,所述N個計數器組與所述N個訪問順序標識一一對應,每個計數器組包含一個第一計數器和一個第二計數器,所述第一計數器的輸入端與所述第一尋址器的輸出端連接,所述第二計數器的輸入端與所述第二尋址器的輸出端連接;
[0035]在所述數據備份裝置上電后:
[0036]所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識至每個緩存塊的最近使用位RUB中,并將所述易失存儲單元中的每個緩存塊的狀態位設置為無效,所述To時刻為所述數據備份裝置上電的時刻;
[0037]所述處理器還用于對所述易失存儲單元進行數據操作;
[0038]當所述處理器確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態,則控制所述第一尋址器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,獲取所找到的緩存塊在To時刻的訪問順序標識,然后根據所獲取的所述To時刻的訪問順序標識,獲取所述T0時刻的順序訪問標識對應的第一計數器,然后對所述第一計數器進行計數,所述處理器將所述緩存塊的狀態標識變更為已采樣;
[0039]當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,所述第二尋址器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,獲取找到的緩存塊在To時刻的訪問順序標識,根據所獲取的To時刻的訪問順序標識,獲取所述To時刻的順序訪問標識對應的第二計數器,然后對所述第二計數器進行計數,所述處理器將所述緩存塊的狀態標識變更為已采樣;
[0040]所述存儲器還包括:
[0041]N個移位器,分別與所述N個計數器組中的第一計數器的輸出端連接;
[0042]N個比較器,每個比較器具有兩個輸入端,分別連接一計數器組中的第二計數器的輸出端,及第一計數器所連接的移位器的輸出端;
[0043]在所述數據備份裝置掉電后,所述微處理器用于啟動所述備用電源為所述存儲器供電,每個移位器根據預設閾值對與其連接的第一計數器進行移位,每個比較器對與其連接的第二計數器的輸入與移位器的輸入進行比較,所述微處理器根據每個訪問順序標識對應的比較器的輸出結果分別預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。
[0044]本發明實施例的第三方面中,所述所述第一尋址器包括第一數據選擇器與第一解碼器,所述第二尋址器包括第二數據選擇器與第二解碼器,所述第一數據選擇器與第二選擇單元的輸入端同時連接至每個緩存塊;所述第一解碼器及第二解碼器的輸入端分別與第一數據選擇器及第二數據選擇器的輸出端連接,所述第一解碼器及第二解碼器的輸出端分別與每個計數器組的第一計數器的輸入端及第二計數器組的輸入端相連;
[0045]當所述處理器確定所述當前數據操作對應的緩存塊為生存態時,所述第一數據選擇器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,獲取所找到的緩存塊在T0時刻的訪問順序標識,所述第一解碼器對所獲取的訪問順序標識進行解碼,獲取所述順序訪問標識對應的第一計數器;
[0046]當所述處理器確定所述當前數據操作對應的緩存塊為死亡態,所述第二數據選擇器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,并獲取找到的緩存塊在To時刻的訪問順序標識,所述第二解碼器對所獲取的To時刻的訪問順序標識進行解碼以獲取所述順序訪問標識對應的第二計數器,然后對所述第二計數器進行計數。
[0047]本發明實施例的第四方面提供一種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源;
[0048]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,其中M>=I,N〉I,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣;
[0049]所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應;
[0050]所述方法包括:
[0051 ]在所述數據備份裝置上電后:
[0052]將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;
[0053]對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣;
[0054]當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣;
[0055]在所述數據備份裝置掉電后:
[0056]啟動所述備用電源為所述存儲器供電;
[0057]讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值;
[0058]將每個To時刻的初始訪問順序標識對應的比值分別與預設閾值進行比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊為生存態還是死亡態,所述Tl時刻為所述數據備份裝置掉電的時刻;
[0059]將預測為生存態的緩存塊的數據備份到所述非易失存儲單元。
[0060]進一步地,在本發明實施例的第四方面中,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括:
[0061]當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述預設閾值時,預測具有所述訪問順序標識的緩存塊為死亡態;或
[0062]當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述預設閾值時,預測具有所述訪問順序標識的緩存塊為生存態。
[0063]進一步地,在本發明實施例的第四方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0064]在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0065]在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0066]進一步地,在本發明實施例的第四方面中,所述將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:
[0067]將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊;
[0068]如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份;
[0069]如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0070]進一步地,在本發明實施例的第四方面中,所述預設閾值為0.5。
[0071]本發明實施例的第五方面提供一種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源;
[0072]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,其中M>=I,N〉I,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣;
[0073]所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應;
[0074]所述方法包括:
[0075]在所述數據備份裝置上電后:
[0076]將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;
[0077]對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣;
[0078]當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣;
[0079]在所述數據備份裝置掉電后:
[0080]啟動所述備用電源為所述存儲器供電;
[0081]讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值;
[0082]根據所述N個To時刻的初始訪問順序標識各自對應的所述比值確定所述比值為I比2時對應的一訪問順序標識閾值,將每個To時刻的初始訪問順序標識與所述訪問順序標識閾值比較;
[0083]根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊為生存態還是死亡態;所述Tl時刻為所述數據備份裝置掉電的時刻;
[0084]將預測為生存態的緩存塊的數據備份到所述非易失存儲單元。
[0085]進一步地,在本發明實施例的第五方面中,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括:
[0086]當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述訪問順序標識閾值時,預測具有所述訪問順序標識的緩存塊為死亡態;
[0087 ]當所述N個T ο時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述訪問順序標識閾值時,預測具有所述訪問順序標識的緩存塊為生存態。
[0088]進一步地,在本發明實施例的第五方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0089]在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0090]在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0091]進一步地,在本發明實施例的第五方面中,所述將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:
[0092]將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊;
[0093]如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份;
[0094]如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0095]本發明實施例的第六方面提供一種數據備份裝置,包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源;
[0096]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M>= I,N〉I,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識;
[0097]在所述數據備份裝置上電的To時刻后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數,當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數;
[0098]在所述數據備份裝置掉電的Tl時刻后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值,將每個To時刻的初始訪問順序標識對應的緩存塊狀態比值分別與預設閾值進行比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態緩存塊還是死亡態緩存塊,將預測為生存態緩存塊的數據備份到所述非易失存儲單元。
[0099]進一步地,在本發明實施例的第六方面中,所述每個緩存塊設置有狀態標識,在將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,所述處理器還用于將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0100]所述處理器還用于在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問,在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。
[0101 ]進一步地,在本發明實施例的第六方面中,在根據To時刻的每個初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態緩存塊還是死亡態緩存塊時,所述微處理器具體用于:
[0102]當所述To時刻的N個初始訪問順序標識中的第一訪問順序標識對應的比較結果不小于所述預設閾值時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態;或
[0103]當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所述預設閾值時,所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態。
[0104]進一步地,在本發明實施例的第六方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0105]所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述第一訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0106]所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述第二訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡
??τ O
[0107]進一步地,在本發明實施例的第六方面中,所述微處理器將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:所述微處理器將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0108]進一步地,在本發明實施例的第六方面中,所述預設閾值為0.5。
[0109]本發明實施例的第七方面提供一種數據備份裝置,一種數據備份裝置,包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源;
[0110]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,Μ>= I,N〉I,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識;
[0111]在所述數據備份裝置上電的To時刻后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數,當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數;
[0112]在所述數據備份裝置掉電的Tl時刻后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值,根據所述N個TO時刻的初始訪問順序標識與所計算的所述N個TO時刻的初始訪問順序標識各自的所述比值建立通用訪問順序標識與通用比值的通用關系,根據所述通用關系確定所述通用比值為I比2時對應的通用訪問順序標識,將每個To時刻的初始訪問順序標識分別與所述確定的通用訪問順序標識比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。
[0113]進一步地,在本發明實施例的第七方面中,所述每個緩存塊設置有狀態標識,在將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,所述處理器還用于將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0114]所述處理器還用于在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問,在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。
[0115]進一步地,在本發明實施例的第七方面中,在根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態時,所述微處理器具體用于:
[0116]當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果為不小于所確定的通用訪問順序標識時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態;
[0117]當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所確定的通用訪問順序標識時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存態。
[0118]進一步地,在本發明實施例的第七方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0119]所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述第一訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0120]所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述第二訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡
??τ O
[0121]進一步地,在本發明實施例的第七方面中,所述微處理器將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:所述微處理器將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0122]本發明實施例的第八方面提供一種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源;
[0123]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,Μ>= I,N〉I,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識;
[0124]所述方法包括:
[0125]在所述數據備份裝置上電的To時刻后:
[0126]將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作;
[0127]當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數;
[0128]當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數;
[0129]在所述數據備份裝置掉電的的1\時刻后:
[0130]啟動所述備用電源為所述存儲器供電;
[0131 ]分別計算每個To時刻的初始訪問順序標識對應的緩存塊狀態比值;
[0132]根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值;
[0133]根據To時刻的每個初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態緩存塊還是死亡態緩存塊,將預測為生存態緩存塊的數據備份到所述非易失存儲單元。
[0134]進一步地,在本發明實施例的第八方面中,所述每個緩存塊設置有狀態標識,在所述將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,還包括:
[0135]將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0136]所述確定所述當前數據操作對應的緩存塊在上電后第一次被回收具體為:
[0137]在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問;
[0138]所述確定當前數據操作對應的緩存塊在上電后第一次被回收具體為:
[0139]在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。
[0140]進一步地,在本發明實施例的第八方面中,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括:
[0141]當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果不小于所述預設閾值時,預測具有所述第一訪問順序標識的緩存塊為死亡態;或
[0142]當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所述預設閾值時,預測具有所述第一訪問順序標識的緩存塊為生存態。
[0143]進一步地,在本發明實施例的第八方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0144]在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0145]在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0146]進一步地,在本發明實施例的第八方面中,所述將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:
[0147]將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊;
[0148]如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份;
[0149]如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0150]進一步地,在本發明實施例的第八方面中,所述預設閾值為0.5。
[0151]本發明實施例的第九方面提供一種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源;
[0152]所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M>= I,N〉I,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識;
[0153]所述方法包括:
[0154]在所述數據備份裝置上電的To時刻后:
[0155]將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作;
[0156]當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數;
[0157]當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數;
[0158]啟動所述備用電源為所述存儲器供電;
[0159]根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值;
[0? 60]根據所述N個TO時刻的初始訪問順序標識與所計算的所述N個TO時刻的初始訪問順序標識各自的所述比值建立通用訪問順序標識與通用比值的通用關系,根據所述通用關系確定所述通用比值為I比2時對應的通用訪問順序標識;
[0161]每個To時刻的初始訪問順序標識分別與所確定的通用訪問順序標識比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。
[0162]進一步地,在本發明實施例的第九方面中,所述每個緩存塊設置有狀態標識,在所述將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,還包括:
[0163]將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0164]所述確定所述當前數據操作對應的緩存塊在上電后第一次被回收具體為:
[0165]在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問;
[0166]所述確定當前數據操作對應的緩存塊在上電后第一次被回收具體為:
[0167]在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。
[0168]進一步地,在本發明實施例的第九方面中,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,具體包括:
[0169]當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果為不小于所確定的通用訪問順序標識時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態;
[0170]當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所確定的通用訪問順序標識時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存態。
[0171]進一步地,在本發明實施例的第九方面中,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0172]在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0173]在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0174]所述每個緩存塊設置有狀態標識,在所述將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,還包括:
[0175]將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣;
[0176]所述確定所述當前數據操作對應的緩存塊在上電后第一次被回收具體為:
[0177]在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問;
[0178]所述確定當前數據操作對應的緩存塊在上電后第一次被回收具體為:
[0179]在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。
[0180]進一步地,在本發明實施例的第九方面中,所述將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:
[0181]將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊;
[0182]如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份;
[0183]如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0184]可見本發明實施例的數據備份裝置及方法,在數據備份裝置上電時,統計數據備份裝置在上電時刻的順序訪問標識對應的死亡塊與生存塊的數量,在數據備份裝置掉電后,根據所統計的數據備份裝置在上電時刻的順序訪問標識對應的死亡塊與生存塊的數量計算上電時刻的每個順序訪問標識對應的死亡塊占每個順序訪問標識對應所采樣的緩存塊總數的比值,并將所計算的比值與一預設閾值比較,根據比較結果預測易失存儲單元中的死亡塊,在備份時,不對預測為死亡塊的緩存塊進行備份,從而減少了數據備份量,提高備份效率。
【附圖說明】
[0185]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
[0186]圖1為現有技術中將非易失靜態隨機存儲器中的易失存儲單元中的數據備份至非易失存儲單元中的方法的示意圖。
[0187]圖2為四路組相聯的存儲器中的順序訪問標識的示意圖。
[0188]圖3為四路組相聯的存儲器中的順序訪問標識在緩存塊被訪問后變更的示意圖。
[0189]圖4為本發明第一實施例中提供的數據備份裝置的結構圖。
[0190]圖5為本發明第一實施例中所述數據備份裝置在上電時所統計的每個訪問順序標識對應的以比率表示的比值的示意圖。
[0191]圖6為本發明第二實施例中通過所統計的各個訪問順序標識對應的比率的分布確定一訪問順序標識閾值的示意圖。
[0192]圖7為本發明第三實施例中提供的數據備份裝置的結構圖。
[0193]圖8為本發明第三實施例中提供的數據備份裝置的預測模塊的結構圖。
[0194]圖9為本發明第四實施例中提供的數據備份方法中進行數據統計的方法的流程圖。
[0195]圖10為本發明第四實施例中提供的數據備份方法中進行數據備份的方法的流程圖。
[0196]圖11為本發明第五實施例中提供的數據備份方法中進行數據備份的方法的流程圖。
【具體實施方式】
[0197]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0198]本發明實施例所提供的技術方案主要應用于同時具有非易失存儲單元與易失存儲單元的存儲器,如非易失靜態隨機存儲器(Nonvolati Ie Static Random AccessMem0ry,NV-SRAM),在采用這種結構的存儲器作為內存的電子裝置掉電后,可通過存儲器上的備用電源給存儲器供電,以將易失存儲單元中的數據備份至非易失存儲單元中。為了方便描述,在以下實施例中以NV-SRAM為例對本發明進行說明,但需要說明的是,本發明所應用的存儲器并不限于NV-SRAM,其他具有相同結構的存儲器也包含在本發明所揭露的范圍內。
[0199]NV-SRAM中的易失存儲單元為靜態隨機存儲器(Static Random Access Memory,SRAM),非易失存儲單元為相變存儲器(Phase-change Random Access memory,PCM),備用電源為片上儲能電容。
[0200]如圖2所示,為本發明實施例中的一種易失存儲單元的結構圖,所述易失存儲單元為N路組相聯的存儲器,N路組相聯即為所述易失存儲單元的緩存塊被劃分為N路及M組,每組具有N個緩存塊,其中N大于I,M大于等于I。為方便描述,在此以4路組相聯的易失存儲單元為例進行說明,即每組具有4個緩存塊。一般,N路組相聯的存儲單元采用的是最近最少使用(Least Recent Used,LRU)的替換算法,即在每組中的各緩存塊都寫滿數據時,當有新的數據需要寫入易失存儲單元時,則將最近最少使用的緩存塊中的數據替換至低級存儲器,數據被替換至低級存儲器的緩存塊可以被認為是被回收(Evicted)的緩存塊,本實施例中,被回收的緩存塊被認為是處于死亡態的緩存塊,即死亡塊(Dead block),另外一些被標記為無效塊的緩存塊,其中未存儲有效數據,這些緩存塊也可以被當做死亡塊,而當對數據進行讀寫操作時,對存儲器中的緩存塊進行訪問(reference)時,則可認為被訪問的緩存塊是處于生存態的緩存塊,即生存塊(Live block)。
[0201 ]在LRU算法中,一般通過訪問順序標識來標識每組中的緩存塊的訪問順序。所述訪問順序標識可通過每個緩存塊的最近使用位(recent used bit,RUB)設置。若所述存儲器為N路組相聯存儲器,則每組緩存塊中訪問順序相同的緩存塊具有相同的訪問順序標識,,每個緩存塊的訪問順序標識隨著每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新。訪問順序標識的值越大表示緩存塊上一次的訪問時刻離當前時刻距離越遠,但在不同的實施例中,也可以是相反的順序,即訪問順序標識的值越大表示緩存塊上一次的訪問時刻離當前時刻距離越近,具體可根據實際情況進行設定。如圖1所示,每個緩存塊上的數字即表示所述緩存塊在每組中的訪問順序,所述訪問順序標識的值可根據每個緩存塊的訪問情況動態變化。如圖3所示,以第一組中的緩存塊的訪問順序為例,在訪問前,各緩存塊的訪問順序標識按1-4路的順序分別為:O、1、2、3,當第三路的緩存塊被訪問時,則各路緩存塊的訪問順序標識變化為1、2、O、3。
[0202]本發明的實施例中的易失存儲單元也可為全相聯結構的存儲器,即易失存儲單元中的所有的緩存塊可以當做一組緩存塊。
[0203]—般,在電子裝置掉電后,易失存儲單元中的死亡塊中的數據是沒有必要進行備份的,如果能提前識別出這些死亡塊,則在電子裝置掉電后,可以減少需要備份的數據量,從而提高備份效率。本發明的實施例所提供的技術方案即可在電子裝置掉電后,根據電子裝置上電期間的統計值預測出易失存儲單元中的死亡塊,在數據備份時,不對死亡塊中的數據備份,從而減少備份數據量,提高備份效率。
[0204]下面將通過不同的實施例對本發明所提供的技術方案從不同的方面進行描述。
[0205]第一實施例
[0206]第一實施例提供如圖4所示的一種數據備份裝置30,所述數據備份裝置30包括存儲器11及處理器32,所述存儲器31包括易失存儲單元310、非易失存儲單元311、備用電源312、微處理器315、及計數單元316。在所述數據備份裝置30掉電后,所述備用電源312啟動為所述存儲器30供電,以將所述易失存儲單元310中的數據備份至非易失存儲單元311中。
[0207]所述易失存儲單元310包括M(M> = I)個緩存塊組313,每個緩存塊組313包括N(N>I)個緩存塊314。所述每個緩存塊組313中訪問順序相同的緩存塊314具有相同的訪問順序標識,所述每個緩存塊314的訪問順序標識隨著所述每個緩存塊314所在的緩存塊組313的緩存塊314被訪問的順序的變化而更新。每個緩存塊的訪問順序標識可存儲在緩存塊314的RUB中,也可記錄在表中。
[0208]所述每個緩存塊314還設置有狀態標識,每個狀態標識用于標識所述緩存塊314是否被采樣。本實施例中需要對易失存儲單元310中的緩存塊314進行采樣統計,且每個緩存塊314只能采樣一次,所以通過設置狀態標識來標識該緩存塊314是否被采樣,已經被采樣的緩存塊,可將所述緩存塊的狀態標識更改為已采樣,對狀態標識為已采樣的緩存塊314不再進行采樣。
[0209]所述計數單元316包含N個計數器組317,每個計數器組317包含一個第一計數器318和一個第二計數器319,所述N個計數器組317與所述N個訪問順序標識一一對應。關于計數單元316所執行的功能將在下文做詳細描述。
[0210]在所述數據備份裝置30上電后,所述處理器32將備份在所述非易失存儲單元311中的數據恢復到所述易失存儲單元310中,獲取并記錄所述每個緩存塊組313中的每個緩存塊314在To時刻的訪問順序標識,并將所述易失存儲單元310中的每個緩存塊314的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻。
[0211]在本實施例中,每個緩存塊314在To時刻的訪問順序標識即為數據備份裝置30在上次掉電時各個緩存塊314的訪問順序標識,即所述數據備份裝置30在每次上電后,將備份在所述非易失存儲單元311中的數據恢復到所述易失存儲單元310中的同時,還會將數據備份裝置30在上次掉電時的每個緩存塊314的訪問順序標識進行恢復。另外,所述數據備份裝置30在每次上電后,還會初始化每個緩存塊314的狀態標識設置為未采樣。
[0212]所述處理器32還用于對所述易失存儲單元310進行數據操作。所述數據操作即為對易失存儲單元310中各緩存塊314中存儲的數據進行讀、寫、刪除、替換等操作。在進行數據操作時,所述處理器32根據數據操作對應的數據操作請求中的地址信息獲取數據操作對應的緩存塊314。在確定數據操作對應的緩存塊314后,即可確定該緩存塊的狀態標識。
[0213]當確定當前數據操作對應的緩存塊314的狀態標識為未采樣且本次數據操作對應的緩存塊314被訪問時,確定所述當前數據操作對應的緩存塊314為生存態,并對所述當前數據操作對應的緩存塊314在To時刻的初始訪問順序標識所對應的第一計數器318進行計數,并將所述緩存塊314的狀態標識更新為已采樣。當確定所述當前數據操作對應的緩存塊314的狀態標識為未采樣且本次數據操作對應的緩存塊314被回收時,確定所述當前數據操作對應的緩存塊314為死亡態,并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數319進行計數,所述當前數據操作的緩存塊314的狀態標識變更為已采樣。
[0214]本實施例中,處于生存態的緩存塊314即為生存塊,處于死亡態的緩存塊314即為死亡塊,關于生存塊與死亡塊的定義請參照前文描述,在此不再贅述。另外,本實施例中所采樣的緩存塊314為在所述數據備份裝置30上電后,第一次被訪問的緩存塊314及第一次被回收的緩存塊314。
[0215]本實施例中,如圖2所示,由于每個緩存塊314都具有一個訪問順序標識,用來標識所述緩存塊314在一緩存塊組313中被訪問的順序,如此在多個緩存塊組中,多個緩存塊314則具有相同的訪問順序標識。每個訪問順序標識對應的第一計數器318即用于統計所采樣的具有所述訪問順序標識的緩存塊314中生存塊的數量,每個訪問順序標識對應的第二計數器即用于統計所采樣的具有所述訪問順序標識的緩存塊314中的死亡塊的數量。
[0216]由圖2的描述可知,若某一緩存塊314被訪問前的訪問順序標識為“3”,則在被訪問后,其訪問順序標識會被更新為“O”。被采樣的緩存塊314由于還沒有被訪問過,所以在第一次被訪問時,其訪問順序標識仍然為To時刻的訪問順序標識,假設為“3”,在被訪問后,其訪問順序標識會被變更為“O”。再此,處理器32所獲取的是未被變更的To時刻的訪問順序標識,即是“3”,而不是“O”。
[0217]在本實施例中,所述第一計數器318及第二計數器319所統計的數據在所述數據備份裝置30掉電后不會清零,如此,所述數據備份裝置30在下次上電之后,可在本次統計的數據的基礎上進行統計,如此,可以增加所采樣的緩存塊314的數量,從而獲得更準確的預測結果。
[0218]在所述數據備份裝置30掉電后,所述微處理器315啟動所述備用電源312為所述存儲器31供電,并讀取所述N個計數器組317的計數,分別計算每個訪問順序標識對應的計數器組317中的第二計數器319與每個訪問順序標識對應的計數器組317中的第一計數器318和第二計數器319之和的比值,將每個訪問順序標識對應的比值分別與預設閾值進行比較,根據每個訪問順序標識對應的比較結果分別預測具有所述比較結果對應的訪問順序標識的緩存塊314為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元311中。
[0219]本實施例中,所述第一計數器318和第二計數器319之和即為所統計的每個訪問順序標識對應死亡塊及生存塊之和,即所采樣的具有所述順序訪問標識的緩存塊314的總的數量,如此,微處理器315所計算的為在所采樣的具有同樣訪問順序標識的緩存塊中,死亡塊所占的比例。
[0220]如圖5所示,為所統計的每個訪問順序標識對應的以比率表示的比值的示意圖,訪問順序標識O對應的死亡塊所占的比例5%,訪問順序標識I對應死亡塊所占的比例為25%,訪問順序標識2對應的死亡塊所占的比例為45%,訪問順序標識3對應的死亡塊所占的比例為 95%。
[0221]除了計算每個訪問順序標識對應的計數器組317中的第二計數器319與每個訪問順序標識對應的計數器組317中的第一計數器318和第二計數器319之和的比值外,還可以計算每個訪問順序標識對應的計數器組317中的第二計數器319與第一計數器318的比值,即死亡塊與生存塊的比值,或者還可以計算每個訪問順序標識對應的計數器組317中的第一計數器318與每個訪問順序標識對應的計數器組317中的第一計數器318和第二計數器319之和的比值,即在所采樣的具有同樣訪問順序標識的緩存塊中,生存塊所占的比例。根據不同的比值的計算方式,可以選擇不同的預設閾值。即在本實施例中,可以根據每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算每個初始訪問順序標識對應的緩存塊狀態比值,所述緩存塊狀態比值可以是死亡塊與生存塊的比值、死亡塊所占的比例、或生存塊所占的比例。
[0222]在圖5所示的例子中,若所計算的為在所采樣的具有同樣訪問順序標識的緩存塊中,死亡塊所占的比例,且所述預設閾值為80%時,則在將每個訪問順序標識對應的比率與所述預設閾值進行比較后可知,訪問順序標識1、2、及3對應的比較結果都為小于所述預設閾值,而訪問順序標識4對應的比較結果為不小于所述預設閾值。
[0223]根據每個訪問順序標識對應的比較結果分別預測具有所述比較結果對應的訪問順序標識的緩存塊314為生存態還是死亡態的一種方式為:
[0224]當所述N個訪問順序標識中的訪問順序標識對應的比較結果不小于所述預設閾值時,所述微處理器315預測具有所述訪問順序標識的緩存塊314為死亡態,當所述N個訪問順序標識中的訪問順序標識對應的比較結果小于所述預設閾值時,所述微處理器315預測具有所述訪問順序標識的緩存塊為生存態。
[0225]在圖5所示的例子中,由于訪問順序標識4對應的比較結果為不小于預設閾值,則可以預測出易失存儲單元310中具有所述訪問順序標識4的緩存塊314都是死亡塊。
[0226]由于上面實施例中的技術方案為對死亡塊的預測,則必然存在誤差,一般誤差可以分為兩類,即誤報誤差和虛警誤差,誤報誤差為將死亡塊判斷為生存塊,這種錯誤會造成不必要的電能消耗,在電源電能受限的情況下,會浪費備份生存塊的電能,而丟失生存塊會造成數據的丟失,影響系統性能。而虛警誤差為將生存塊判斷為死亡塊,這種錯誤會造成生存塊中的數據被丟棄,影響系統性能。所以用戶可以根據不同的需求選擇預設閾值,具體可根據如下需求進行設置:
[0227]如果備用電源的電能足夠支持數據的備份,而系統性能需求較高時,可以選擇較高的預設閾值,以控制誤報誤差,備份更多的緩存塊,減少數據的丟失。
[0228]如果備用電源的電能不夠大時,可能無法支持數據的完全備份,而系統實時性需求較低,則選擇較低的預設閾值,以控制虛警誤差,盡可能多地丟棄死亡塊,防止備用電源的電能無法支持數據的備份,造成備份失敗。
[0229]最小化整體誤差,即最小化誤報誤差和虛警誤差的和。理論分析表明,死亡塊所占的比率為50 %時,整體誤差最小。
[0230]為了進一步減少誤差,提供另外一種根據每個訪問順序標識對應的比較結果分別預測具有所述比較結果對應的訪問順序標識的緩存塊314為生存態還是死亡態的方式,SP:
[0231]每個緩存塊314還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0232]當所述N個訪問順序標識中的訪問順序標識對應的比較結果為死亡塊所占的比率不小于所述預設閾值時,所述微處理器315獲取具有所述訪問順序標識的緩存塊314,并預測具有所述訪問順序標識的緩存塊314中所述臟塊標識有效的緩存塊為生存態,所述臟塊標識無效的緩存塊為死亡態;
[0233]當所述N個訪問順序標識中的訪問順序標識對應的比較結果為所述死亡塊所占的比率小于所述預設閾值時,所述微處理器315獲取具有所述訪問順序標識的緩存塊314,并預測具有所述訪問順序標識的緩存塊314中所述有效塊標識有效的緩存塊314為生存態,所述有效塊標識無效的緩存塊314為死亡態。
[0234]如此,通過在被初步判定為生存塊的緩存塊中,通過無效塊標識找出一些死亡塊,而在被初步判定為死亡塊的緩存塊中,通過臟塊標識找出一些生存塊,如此可進一步減少預測誤差。
[0235]另外所述微處理器315將預測為生存態的緩存塊314的數據備份到所述非易失存儲單元311包括:所述微處理器315將預測為死亡態的緩存塊314的信息記錄在一死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊314是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊314是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊314是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
[0236]第二實施例
[0237]第二實施例提供一種數據備份裝置,第二實施例所提供的數據備份裝置與第一實施例中的數據備份裝置相似,區別在于,在所微處理器315計算每個訪問順序標識對應的計數器組317中的第二計數器319與每個訪問順序標識對應的計數器組317中的第一計數器318和第二計數器319之和的比值后,根據所述N個TO時刻的訪問順序標識與所計算的所述N個TO時刻的訪問順序標識各自的所述比值建立通用訪問順序標識與通用比值的通用關系,如圖6所示,首先以通用訪問順序標識為X軸,以通用比值(百分比)為Y軸建立坐標系,所述通用訪問順序標識包括所述訪問順序標識O、1、2、3,但也包括其他任意值,所述通用比值包括所計算的所述訪問順序標識O、1、2、3各自對應的比值,例如5 %、25 %、為45 %及95 %為Y軸,但也包括其他任意值。在所述坐標系中取點(0,5%)、(1,25%)、(2,45%)及(3,95%),連接上述各點則形成通用順序標識與通用比值的通用關系曲線601,如此,通過所述關系曲線601,即可確定所述通用比值為I比2 (50 %,在所述比值為50 %時,總體誤差最小)時對應的通用訪問順序標識TH,將每個訪問順序標識與所述確定的通用訪問順序標識TH比較,然后根據每個訪問順序標識對應的比較結果判斷具有所述比較結果對應的訪問順序標識的緩存塊生存狀態的緩存塊還是死亡狀態的緩存塊。具體地,當所述訪問順序標識中的第一訪問順序標識不小于所述通用訪問順序標識TH時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態;當所述訪問順序標識中的第二訪問順序標識小于對所述通用訪問順序標識TH時,所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態,其他元件的功能與第一實施例中的相同,在此不再贅述。
[0238]第三實施例
[0239]第三實施例提供一種數據備份裝置70,如圖7所示,所述數據備份裝置70包括存儲器71及處理器72,所述處理器72控制所述存儲器71中數據的存取。所述存儲器70包括易失存儲單元710、非易失存儲單元711、備用電源712及預測模塊713。在數據備份裝置70上電后,恢復備份在非易失存儲單元711中的數據,所述備用電源712在數據備份裝置70掉電后啟動,給所述存儲器70供電。所述預測模塊713用于預測易失存儲單元710中的死亡塊。
[0240]所述易失存儲單元710與實施例1中的易失存儲單元310的結構相同,在此不再贅述。
[0241 ] 如圖8所示,每個緩存塊714包括RUB715、有效位716、臟塊位717、狀態位718及tag標記719。所述RUB715用于存儲訪問順序標識,所述有效位716用于存儲所述緩存塊的有效標識,所述臟塊位717用于存儲臟塊標識,所述狀態位718用于存儲狀態標識。所述tag標記719為緩存塊的標記,在有數據訪問請求時,可根據訪問請求中的數據地址與所述tag標記匹配找到相應的緩存塊714。
[0242]所述預測模塊713與所述易失存儲單元710相連,用于預測易失存儲單元710中的死亡塊。所述預測模塊713包括第一尋址器721及第二尋址器720,所述第一尋址器721與第二尋址器720的輸入端分別與每個緩存塊714相連。
[0243]所述預測模塊713還包括計數單元(圖未示),所述技術單元包含N個計數器組(圖未示),所述N個計數器組與所述N個訪問順序標識一一對應,每個計數器組包含一個第一計數器7136和一個第二計數器7135,所述第一計數器7136的輸入端與所述第一尋址器721的輸出端連接,所述第二計數器7135的輸入端與所述第二尋址器720的輸出端連接;
[0244]在所述數據備份裝置70上電后:
[0245]所述處理器71用于將備份在所述非易失存儲單元711中的數據恢復到所述易失存儲單元710中,獲取并記錄所述每個緩存塊組中的每個緩存塊714在To時刻的初始訪問順序標識至每個緩存塊714的最近使用位RUB中,并將所述易失存儲單元710中的每個緩存塊714的狀態位設置為無效,所述To時刻為所述數據備份裝置70上電的時刻;
[0246]所述處理器71還用于對所述易失存儲單元進行數據操作;
[0247]當所述處理器71確定當前數據操作對應的緩存塊714的狀態標識為未采樣且本次數據操作對應的緩存塊714被訪問時,則確定所述當前數據操作對應的緩存塊714為生存態,則控制所述第一尋址器721根據當前數據操作對應的緩存塊714的地址找到對應的緩存塊714,獲取所找到的緩存塊714在To時刻的訪問順序標識,并根據所獲取的To時刻的訪問順序標識獲取所述順序訪問標識對應的第一計數器7136,然后對所述第一計數器7136進行計數,所述處理器71將所述緩存塊714的狀態標識變更為已采樣;
[0248]當確定所述當前數據操作對應的緩存塊714的狀態標識為未采樣且本次數據操作對應的緩存塊714被回收時,確定所述當前數據操作對應的緩存塊714為死亡態,所述第二尋址器720根據當前數據操作對應的緩存塊714的地址找到對應的緩存塊714,獲取找到的緩存塊714在To時刻的訪問順序標識,并根據所獲取的To時刻的訪問順序標識獲取所述順序訪問標識對應的第二計數器7135,然后對所述第二計數器7135進行計數,所述處理器71將所述緩存塊714的狀態標識變更為已采樣。
[0249]所述預測模塊713還包括N個移位器7137及N個比較器7138,所述N個移位器7137分別與所述第一計數器7136的輸出端連接。所述N個比較器7138中的每個比較器7138具有兩個輸入端,分別連接一計數器組中的第二計數器7135的輸出端,及第一計數器7136所連接的移位器7137的輸出端。
[0250]在所述數據備份裝置70掉電后,所述微處理器7139啟動所述備用電源712為所述存儲器71供電,每個移位器7137根據預設閾值對與其連接的第一計數器7136進行移位,每個比較器7138對與其連接的第二計數器7135的輸入與移位器7138的輸入進行比較,所述微處理器7139根據每個訪問順序標識對應的比較器7138的輸出結果分別預測具有所述比較器7138對應的訪問順序標識的緩存塊714為生存態還是死亡態,將預測為生存態的緩存塊714的數據備份到所述非易失存儲單元711中。
[0251]本實施例中,所述第一尋址器721包括第一數據選擇器7132與第一解碼器7134,所述第二尋址器720包括第二數據選擇器7131與第二解碼器7133,所述第一數據選擇器7132與第二數據選擇器7131的輸入端同時連接至每個緩存塊714;所述第一解碼器7134及第二解碼器7133的輸入端分別與第一數據選擇器7132及第二數據選擇器7131的輸出端連接,所述第一解碼器7134及第二解碼器7133的輸出端分別與每個計數器組的第一計數器7136的輸入端及第二計數器組7135的輸入端相連;
[0252]當所述處理器71確定所述當前數據操作對應的緩存塊714為生存態時,所述第一數據選擇器7132根據當前數據操作對應的緩存塊的地址找到對應的緩存塊714,獲取所找到的緩存塊714在To時刻的訪問順序標識,所述第一解碼器7134對所獲取的訪問順序標識進行解碼,獲取所述順序訪問標識對應的第一計數器7136;
[0253]當所述處理器71確定所述當前數據操作對應的緩存塊714為死亡態,所述第二數據選擇器7131根據當前數據操作對應的緩存塊的地址找到對應的緩存塊714,并獲取找到的緩存塊在To時刻的訪問順序標識,所述第二解碼器對所獲取的To時刻的訪問順序標識進行解碼以獲取所述順序訪問標識對應的第二計數器7135,然后對所述第二計數器7135進行計數。
[0254]第四實施例
[0255]第四實施例提供一種應用于數據備份裝置的數據備份方法。所述數據備份裝置的結構與第一實施例的數據備份裝置的結構相同,在此不再贅述。
[0256]所述數據備份方法包括兩部分,一部分為數據統計方法,一部分為數據備份方法。所述數據統計方法在所述數據備份裝置上電時執行,所述數據備份方法在在所述數據備份裝置掉電時執行。
[0257]如圖9所示,為所述數據備份裝置上電時,所執行的數據統計方法的流程圖。所述數據統計方法包括:
[0258]步驟S901,將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;
[0259]步驟S902,對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣;
[0260]步驟S903,當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣。
[0261]如圖10所示,為所述數據備份裝置掉電時,所執行的數據備份方法的流程圖。所述數據備份方法包括:
[0262]步驟S1001,啟動所述備用電源為所述存儲器供電;
[0263]步驟S1002,讀取所述N個計數器組的計數,根據每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算每個TO時刻的初始訪問順序初始訪問順序標識對應的緩存塊狀態比值,所述緩存塊狀態比值可以是死亡塊與生存塊的比值、死亡塊所占的比例、或生存塊所占的比例;
[0264]步驟S1003,將每個To時刻的初始訪問順序標識對應的比值分別與預設閾值進行比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,所述Tl時刻為所述數據備份裝置掉電的時刻;
[0265]步驟S1004,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元。
[0266]進一步地,在所述步驟S1003中,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊為生存態還是死亡態,包括:
[0267]當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果為所述死亡塊所占的比率不小于所述預設閾值時,預測具有所述訪問順序標識的緩存塊為死亡態;或
[0268]當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果為所述死亡塊所占的比率小于所述預設閾值時,預測具有所述訪問順序標識的緩存塊為生存
??τ O
[0269]進一步地,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊;
[0270]在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態;
[0271]在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。
[0272]第五實施例
[0273]第五實施例提供一種應用于數據備份裝置的數據備份方法。所述數據備份裝置的結構與所述第二實施例的數據備份裝置的結構相同,在此不再贅述。
[0274]所述數據備份方法包括兩部分,一部分為數據統計方法,一部分為數據備份方法。所述數據統計方法在所述數據備份裝置上電時執行,與第四實施例中描述的數據統計方法相同,在此不再贅述。
[0275]所述數據備份方法在在所述數據備份裝置掉電時執行。
[0276]如圖11所示,為所述數據備份裝置掉電時,所執行的數據備份方法的流程圖。本實施例中的數據備份方法中的步驟SI 101、S1102、及SI 104與第四實施例中的數據備份方法中的步驟S1001、S1002、及S1004相同,區別僅在于步驟S1103,本實施例中,在步驟S1103中,根據所述N個TO時刻的訪問順序標識與所計算的所述N個TO時刻的訪問順序標識各自的所述比值建立的通用訪問順序標識與通用比值的通用關系,通過所述通用關系確定所述通用比值為I比2(50%,在所述比值為50 %時,總體誤差最小)時對應的通用訪問順序標識TH,所述通用關系的確定,請參考第二實施例中圖6相關的描述,在此不再贅述。將每個To時刻的初始訪問順序標識與所述通用訪問順序標識TH比較,然后根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態;所述Tl時刻為所述數據備份裝置掉電的時刻,具體地,當所述訪問順序標識中的第一訪問順序標識不小于所述通用訪問順序標識TH時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態;當所述訪問順序標識中的第二訪問順序標識小于對所述通用訪問順序標識TH時,所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態。其他部分與第四實施例相同,在此不再贅述。
[0277]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬件來完成,所述程序可以存儲于一計算機可讀存儲介質中,存儲介質可以包括:R0M、RAM、磁盤或光盤等。
[0278]以上對本發明實施例所提供的數據備份裝置及方法進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【主權項】
1.一種數據備份裝置,包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = 1,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣; 所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應; 在所述數據備份裝置上電后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;所述處理器還用于對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,并在任何一次對計數器計數之后將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 在所述數據備份裝置掉電后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值,將每個To時刻的初始訪問順序標識對應的比值分別與預設閾值進行比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。2.如權利要求1所述的數據備份裝置,其特征在于,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括: 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述預設閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為死亡態;或 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述預設閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存態。3.一種數據備份裝置,包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中M> = I,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣; 所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應; 在所述數據備份裝置上電后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻;所述處理器還用于對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,并在任何一次對計數器計數之后將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 在所述數據備份裝置掉電后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值,根據所述N個TO時刻的初始訪問順序標識各自對應的所述比值確定所述比值為I比2時對應的一訪問順序標識閾值,將每個To時刻的初始訪問順序標識與所述訪問順序標識閾值比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。4.如權利要求3所述的數據備份裝置,其特征在于,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括: 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述訪問順序標識閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為死亡態; 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述訪問順序標識閾值時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存態。5.一種數據備份裝置,包括:存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = 1,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新,每個緩存塊包括最近使用位RUB及狀態位,所述最近使用位RUB用來存儲每個緩存塊的所述訪問順序標識,所述狀態位存儲狀態標識,所述狀態標識標識每個緩存塊是否被米樣; 所述存儲器還包括: 第一尋址器及第二尋址器,所述第一尋址器與第二尋址器的輸入端分別與每個緩存塊相連; 計數單元,所述計數單元包含N個計數器組,所述N個計數器組與所述N個訪問順序標識一一對應,每個計數器組包含一個第一計數器和一個第二計數器,所述第一計數器的輸入端與所述第一尋址器的輸出端連接,所述第二計數器的輸入端與所述第二尋址器的輸出端連接; 在所述數據備份裝置上電后: 所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識至每個緩存塊的最近使用位RUB中,并將所述易失存儲單元中的每個緩存塊的狀態位設置為無效,所述To時刻為所述數據備份裝置上電的時刻; 所述處理器還用于對所述易失存儲單元進行數據操作; 當所述處理器確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態,則控制所述第一尋址器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,獲取所找到的緩存塊在To時刻的訪問順序標識,然后根據所獲取的所述To時刻的訪問順序標識,獲取所述To時刻的順序訪問標識對應的第一計數器,然后對所述第一計數器進行計數,所述處理器將所述緩存塊的狀態標識變更為已采樣; 當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,所述第二尋址器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,獲取找到的緩存塊在To時刻的訪問順序標識,根據所獲取的To時刻的訪問順序標識,獲取所述To時刻的順序訪問標識對應的第二計數器,然后對所述第二計數器進行計數,所述處理器將所述緩存塊的狀態標識變更為已米樣; 所述存儲器還包括: N個移位器,分別與所述N個計數器組中的第一計數器的輸出端連接; N個比較器,每個比較器具有兩個輸入端,分別連接一計數器組中的第二計數器的輸出端,及第一計數器所連接的移位器的輸出端; 在所述數據備份裝置掉電后,所述微處理器用于啟動所述備用電源為所述存儲器供電,每個移位器根據預設閾值對與其連接的第一計數器進行移位,每個比較器對與其連接的第二計數器的輸入與移位器的輸入進行比較,所述微處理器根據每個訪問順序標識對應的比較器的輸出結果分別預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。6.如權利要求5所述的數據備份裝置,其特征在于,所述第一尋址器包括第一數據選擇器與第一解碼器,所述第二尋址器包括第二數據選擇器與第二解碼器,所述第一數據選擇器與第二選擇單元的輸入端同時連接至每個緩存塊;所述第一解碼器及第二解碼器的輸入端分別與第一數據選擇器及第二數據選擇器的輸出端連接,所述第一解碼器及第二解碼器的輸出端分別與每個計數器組的第一計數器的輸入端及第二計數器組的輸入端相連;當所述處理器確定所述當前數據操作對應的緩存塊為生存態時,所述第一數據選擇器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,獲取所找到的緩存塊在To時刻的訪問順序標識,所述第一解碼器對所獲取的訪問順序標識進行解碼,獲取所述順序訪問標識對應的第一計數器; 當所述處理器確定所述當前數據操作對應的緩存塊為死亡態,所述第二數據選擇器根據當前數據操作對應的緩存塊的地址找到對應的緩存塊,并獲取找到的緩存塊在To時刻的訪問順序標識,所述第二解碼器對所獲取的To時刻的訪問順序標識進行解碼以獲取所述順序訪問標識對應的第二計數器,然后對所述第二計數器進行計數。7.—種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,其中M> = I,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣; 所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應; 所述方法包括: 在所述數據備份裝置上電后: 將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻; 對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣; 當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣; 在所述數據備份裝置掉電后: 啟動所述備用電源為所述存儲器供電; 讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值; 將每個To時刻的初始訪問順序標識對應的比值分別與預設閾值進行比較,根據每個T0時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊為生存態還是死亡態,所述Tl時刻為所述數據備份裝置掉電的時刻; 將預測為生存態的緩存塊的數據備份到所述非易失存儲單元。8.如權利要求7所述的數據備份方法,其特征在于,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括: 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述預設閾值時,預測具有所述訪問順序標識的緩存塊為死亡態;或 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述預設閾值時,預測具有所述訪問順序標識的緩存塊為生存態。9.一種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,其中M> = I,N>1,所述每個緩存塊組采用相同的一組N個訪問順序標識來表示所述每個緩存塊組中的每個緩存塊的被訪問的順序,所述每個緩存塊的訪問順序標識隨著所述每個緩存塊所在的緩存塊組的緩存塊被訪問的順序的變化而更新;所述每個緩存塊還設置有狀態標識,每個狀態標識用于標識所述每個緩存塊是否被采樣; 所述數據備份裝置還包括計數單元,所述計數單元包含N個計數器組,每個計數器組包含一個第一計數器和一個第二計數器,所述N個計數器組與所述N個訪問順序標識一一對應; 所述方法包括: 在所述數據備份裝置上電后: 將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,獲取并記錄所述每個緩存塊組中的每個緩存塊在To時刻的初始訪問順序標識,并將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,所述To時刻為所述數據備份裝置上電的時刻; 對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被訪問時,確定所述當前數據操作對應的緩存塊為生存態并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第一計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣; 當確定所述當前數據操作對應的緩存塊的狀態標識為未采樣且本次數據操作對應的緩存塊被回收時,確定所述當前數據操作對應的緩存塊為死亡態,并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的第二計數器進行計數,將當前數據操作對應的緩存塊的狀態標識更新為已采樣; 在所述數據備份裝置掉電后: 啟動所述備用電源為所述存儲器供電; 讀取所述N個計數器組的計數,分別計算每個To時刻的初始訪問順序標識對應的計數器組中的第二計數器與每個To時刻的初始訪問順序標識對應的計數器組中的第一計數器和第二計數器之和的比值; 根據所述N個To時刻的初始訪問順序標識各自對應的所述比值確定所述比值為I比2時對應的一訪問順序標識閾值,將每個T O時刻的初始訪問順序標識與所述訪問順序標識閾值比較; 根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊為生存態還是死亡態;所述Tl時刻為所述數據備份裝置掉電的時刻; 將預測為生存態的緩存塊的數據備份到所述非易失存儲單元。10.如權利要求9所述的數據備份方法,其特征在于,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括: 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不小于所述訪問順序標識閾值時,預測具有所述訪問順序標識的緩存塊為死亡態; 當所述N個To時刻的初始訪問順序標識中的訪問順序標識對應的比較結果不大于所述訪問順序標識閾值時,預測具有所述訪問順序標識的緩存塊為生存態。11.一種數據備份裝置,包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = 1,N>1,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識; 在所述數據備份裝置上電的To時刻后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數,當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數; 在所述數據備份裝置掉電的Tl時刻后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值,將每個To時刻的初始訪問順序標識對應的緩存塊狀態比值分別與預設閾值進行比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態緩存塊還是死亡態緩存塊,將預測為生存態緩存塊的數據備份到所述非易失存儲單元。12.如權利要求11所述的數據備份裝置,其特征在于,所述每個緩存塊設置有狀態標識,在將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,所述處理器還用于將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 所述處理器還用于在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問,在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。13.如權利要求11或12所述的數據備份裝置,其特征在于,在根據To時刻的每個初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態緩存塊還是死亡態緩存塊時,所述微處理器具體用于: 當所述To時刻的N個初始訪問順序標識中的第一訪問順序標識對應的比較結果不小于所述預設閾值時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態;或 當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所述預設閾值時,所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態。14.如權利要求13所述的數據備份裝置,其特征在于,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊; 所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述第一訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態; 所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述第二訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。15.如權利要求11至14中任一項所述的數據備份裝置,其特征在于,所述微處理器將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:所述微處理器將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。16.如權利要求1所述的數據備份裝置,其特征在于,所述預設閾值為0.5。17.—種數據備份裝置,包括存儲器和處理器,所述存儲器包括易失存儲單元、非易失存儲單元、微處理器及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = 1,N>1,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識; 在所述數據備份裝置上電的To時刻后,所述處理器用于將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作,當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數,當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數; 在所述數據備份裝置掉電的Tl時刻后,所述微處理器用于啟動所述備用電源為所述存儲器供電,以及根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值,根據所述N個TO時刻的初始訪問順序標識與所計算的所述N個TO時刻的初始訪問順序標識各自的所述比值建立通用訪問順序標識與通用比值的通用關系,根據所述通用關系確定所述通用比值為I比2時對應的通用訪問順序標識,將每個To時刻的初始訪問順序標識分別與所述確定的通用訪問順序標識比較,根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。18.如權利要求17所述的數據備份裝置,其特征在于,所述每個緩存塊設置有狀態標識,在將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,所述處理器還用于將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 所述處理器還用于在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問,在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。19.如權利要求17或18所述的數據備份裝置,其特征在于,在根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態時,所述微處理器具體用于: 當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果為不小于所確定的通用訪問順序標識時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態; 當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所確定的通用訪問順序標識時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存??τ O20.如權利要求19所述的數據備份裝置,其特征在于,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊; 所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述第一訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態; 所述微處理器預測具有所述第二訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述第二訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。21.如權利要求17至20中任一項所述的數據備份裝置,其特征在于,所述微處理器將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括:所述微處理器將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊,如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份,如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。22.—種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = 1,N>1,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識; 所述方法包括: 在所述數據備份裝置上電的To時刻后: 將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作; 當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數; 當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數; 在所述數據備份裝置掉電的的!^時刻后: 啟動所述備用電源為所述存儲器供電; 分別計算每個To時刻的初始訪問順序標識對應的緩存塊狀態比值; 根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值; 根據To時刻的每個初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態緩存塊還是死亡態緩存塊,將預測為生存態緩存塊的數據備份到所述非易失存儲單元。23.如權利要求22所述的數據備份方法,其特征在于,所述每個緩存塊設置有狀態標識,在所述將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,還包括: 將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 所述確定所述當前數據操作對應的緩存塊在上電后第一次被回收具體為: 在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問; 所述確定當前數據操作對應的緩存塊在上電后第一次被回收具體為: 在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。24.如權利要求22或23所述的數據備份方法,其特征在于,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,包括: 當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果不小于所述預設閾值時,預測具有所述第一訪問順序標識的緩存塊為死亡態;或 當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所述預設閾值時,預測具有所述第一訪問順序標識的緩存塊為生存態。25.如權利要求24所述的數據備份方法,其特征在于,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊; 在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態; 在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。26.如權利要求22至25中任一項所述的數據備份方法,其特征在于,所述將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括: 將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊; 如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份; 如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。27.如權利要求22至26所述的數據備份方法,其特征在于,所述預設閾值為0.5。28.—種應用于數據備份裝置的數據備份方法,所述數據備份裝置包括存儲器,所述存儲器包括易失存儲單元、非易失存儲單元、及備用電源; 所述易失存儲單元包括M個緩存塊組,每個緩存塊組包括N個緩存塊,其中,M> = 1,N>1,每個緩存塊具有訪問順序標識,所述訪問順序標識用于表示每個緩存塊在所述每個緩存塊組中被訪問的順序,所述M個緩存塊組中的每個緩存塊組中訪問順序相同的緩存塊具有相同的訪問順序標識; 所述方法包括: 在所述數據備份裝置上電的To時刻后: 將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中,對所述易失存儲單元進行數據操作; 當確定當前數據操作對應的緩存塊在上電后第一次被訪問時,確定所述當前數據操作對應的緩存塊為生存態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的生存態緩存塊計數; 當確定所述當前數據操作對應的緩存塊在上電后第一次被回收時,確定所述當前數據操作對應的緩存塊為死亡態緩存塊并對所述當前數據操作對應的緩存塊在To時刻的初始訪問順序標識所對應的死亡態緩存塊進行計數; 啟動所述備用電源為所述存儲器供電; 根據To時刻的每個初始訪問順序所對應的所述死亡態緩存塊的數量與所述生存態緩存塊的數量分別計算To時刻的每個初始訪問順序標識對應的緩存塊狀態比值; 根據所述N個TO時刻的初始訪問順序標識與所計算的所述N個TO時刻的初始訪問順序標識各自的所述比值建立通用訪問順序標識與通用比值的通用關系,根據所述通用關系確定所述通用比值為I比2時對應的通用訪問順序標識; 每個To時刻的初始訪問順序標識分別與所確定的通用訪問順序標識比較,根據每個T0時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,將預測為生存態的緩存塊的數據備份到所述非易失存儲單元,所述Tl時刻為所述數據備份裝置掉電的時刻。29.如權利要求28所述的數據備份方法,其特征在于,所述每個緩存塊設置有狀態標識,在所述將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,還包括: 將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 所述確定所述當前數據操作對應的緩存塊在上電后第一次被回收具體為: 在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問; 所述確定當前數據操作對應的緩存塊在上電后第一次被回收具體為: 在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。30.如權利要求28或29所述的數據備份方法,其特征在于,所述根據每個To時刻的初始訪問順序標識對應的比較結果預測所述非易失存儲單元中的緩存塊在Tl時刻為生存態還是死亡態,具體包括: 當所述N個To時刻的初始訪問順序標識中的第一訪問順序標識對應的比較結果為不小于所確定的通用訪問順序標識時,所述微處理器預測具有所述第一訪問順序標識的緩存塊為死亡態; 當所述N個To時刻的初始訪問順序標識中的第二訪問順序標識對應的比較結果小于所確定的通用訪問順序標識時,所述微處理器預測具有所述訪問順序標識的緩存塊為生存??τ O31.如權利要求30所述的數據備份方法,其特征在于,每個緩存塊還包括有效塊標識及臟塊標識,所述有效塊標識用于標識所述緩存塊是否有效,所述臟塊標識用于標識所述緩存塊是否為臟塊; 在所述預測具有所述訪問順序標識的緩存塊為死亡態之后,進一步判斷具有所述訪問順序標識的預測為死亡態的緩存塊的臟塊標識有效的緩存塊為生存態; 在所述預測具有所述訪問順序標識的緩存塊為生存態之后,進一步判斷具有所述訪問順序標識的預測為生存態的緩存塊的有效標識無效的緩存塊為死亡態。 所述每個緩存塊設置有狀態標識,在所述將備份在所述非易失存儲單元中的數據恢復到所述易失存儲單元中之后,還包括: 將所述易失存儲單元中的每個緩存塊的狀態標識設置為未采樣,在對任何一次計數之后,將所述當前數據操作的緩存塊的狀態標識變更為已采樣; 所述確定所述當前數據操作對應的緩存塊在上電后第一次被回收具體為: 在當前數據操作對應的緩存塊被訪問,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被訪問; 所述確定當前數據操作對應的緩存塊在上電后第一次被回收具體為: 在當前數據操作對應的緩存塊被回收,且當前數據操作對應的緩存塊的狀態標識為未采樣時,則確定當前數據操作對應的緩存塊在上電后第一次被回收。32.如權利要求28至31中任一項所述的數據備份方法,其特征在于,所述將預測為生存態的緩存塊的數據備份到所述非易失存儲單元包括: 將預測為死亡態的緩存塊的信息記錄在死亡態緩存塊記錄表中,根據所述死亡態緩存塊記錄表中記錄的所述預測為死亡態的緩存塊信息確定當前待備份的緩存塊是預測為死亡態的緩存塊還是為預測為生存態的緩存塊; 如果確定當前待備份的緩存塊是被預測為生存態的緩存塊,則對當前待備份的緩存塊中的數據進行備份; 如果確定當前待備份的緩存塊是被預測為死亡態的緩存塊,則不對當前待備份的緩存塊中的數據進行備份。
【文檔編號】G06F11/14GK105938447SQ201610099237
【公開日】2016年9月14日
【申請日】2016年2月23日
【發明人】李和和, 劉勇攀, 趙慶行, 羅嶸, 楊華中
【申請人】華為技術有限公司, 清華大學