專利名稱:由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng)的制作方法
技術領域:
本實用新型涉及存儲器的數據存取方案,尤其涉及一種利用緩存裝置與存儲器進行協同存儲來減少由于直接將數據 寫入存儲器或從存儲器讀取數據所產生的機械損耗和功率損耗。
背景技術:
隨著信息處理技術的發(fā)展,各種數據業(yè)務系統(tǒng)被設計為用于使人們能夠容易地獲取并使用數據。在各種數據業(yè)務系統(tǒng)中,均需要設置存儲器來進行數據的存儲。由于使用數據業(yè)務系統(tǒng)的用戶數量不斷增加,而每個用戶對數據存取的需求也愈加頻繁,因此,現有的存儲器(通常為硬盤裝置)不得不經歷大量的數據讀取和寫入操作。然而,存儲器驅動裝置本身的物理結構決定了它在電機加速旋轉和磁頭頻繁拾取期間不僅產生材料上的損耗,而且將產生較高的耗電,并生成較多的熱量。這種結構上帶來的較大損耗難以通過機械上的改進來降低或避免,因此,數據存儲器的使用壽命和損耗情況成為很多數據業(yè)務系統(tǒng)在設計和使用方面的受限因素。此外,目前的緩存裝置多為RAM(隨機存取存儲器),其上存儲的數據將在掉電的情況下丟失。緩存裝置通常被用來作為與CPU(中央處理單元)進行高速數據交換的存儲器,它因為存取速度快而先于存儲器(例如,硬盤)與CPU交換數據,以便于CPU的工作不必受制于存儲器的緩慢存取速度。由此可見,在現有技術中,緩存裝置僅被用作單純的工作緩沖區(qū),即,設置緩存裝置是為了利用其所具有的極快的存取速度,從而將緩存裝置作為硬盤存儲和外界接口之間的緩沖器。也就是說,由于硬盤的數據傳輸速度相較于CPU的接口傳輸速度要緩慢很多,因此,緩存裝置在數據處理過程中起到一個緩沖的作用,其中存儲的數據將在掉電的情況下丟失。由此可見,在現有技術中,存儲器由于本身的機械結構而在電機加速旋轉和磁頭頻繁拾取期間產生較高的損耗,并生成較多的能量。在數據的傳輸期間,存儲器這種損耗大的缺陷尚無有效的方式予以克服。
實用新型內容本實用新型的目的在于提供一種能夠通過緩存裝置與存儲器進行協同存儲來減少存儲器的機械損耗和功率損耗,并提高數據存取速度的設備和系統(tǒng)。根據本實用新型的一方面,提供一種用于控制存儲器與非易失性緩存裝置進行協同存儲的設備,所述設備包括與非易失性緩存裝置連接的存儲狀態(tài)檢測單元,用于在用戶請求讀寫用戶數據時,檢測非易失性緩存裝置的存儲狀態(tài);與讀寫控制單元連接的數據轉移觸發(fā)單元,用于根據數據在存儲器與非易失性緩存裝置之間轉移的數據轉移條件來產生數據轉移觸發(fā)信號;以及分別與存儲器、非易失性緩存裝置、存儲狀態(tài)檢測單元和數據轉移觸發(fā)單元連接的讀寫控制單元,用于基于由存儲狀態(tài)檢測單元檢測到的存儲狀態(tài),針對存儲器或非易失性緩存裝置來讀寫所述用戶數據,并根據由數據轉移觸發(fā)單元產生的數據轉移觸發(fā)信號來控制存儲器與非易失性緩存裝置之間的數據轉移。在沒有進行用戶數據讀寫或數據轉移期間,所述存儲器處于休眠狀態(tài)。[0008]所述存儲狀態(tài)檢測單元還可與存儲器連接,以檢測存儲器或非易失性緩存裝置是否處于可進行存取的可用狀態(tài)。所述設備還可包括分別與存儲器、非易失性緩存裝置和讀寫控制單元連接的異常處理單元,用于在存儲器和非易失性緩存裝置之一出現異常狀態(tài)時,控制所述讀寫控制單元針對未出現異常狀態(tài)的存儲器或非易失性緩存裝置來讀寫所述用戶數據。存儲器可以是由多個存儲單元組成的陣列。所述設備還可包括與讀寫控制單元連接的數據暫存模塊,用于在針對存儲器或非易失性緩存裝置均無法實現用戶數據的讀寫時,暫存相應的用戶請求或用戶數據,以便隨后與恢復的存儲器或非易失性緩存裝置進行用戶數據的讀寫。根據本實用新型的另一方面,提供一種由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng),所述系統(tǒng)包括存儲器,用于存儲數據;非易失性緩存裝置,用于與存儲器協同地存儲數據;以及分別與存儲器和非易失性緩存裝置連接的協同存儲控制設備,所述協同存儲控制設備包括與非易失性緩存裝置連接的存儲狀態(tài)檢測單元,用于在用戶請求讀寫用戶數據時,檢測非易失性緩存裝置的存儲狀態(tài);與讀寫控制單元連接的數據轉移觸發(fā)單元,用于根據數據在存儲器與非易失性緩存裝置之間轉移的數據轉移條件來產生數據轉移觸發(fā)信號;以及分別與存儲器、非易失性緩存裝置、存儲狀態(tài)檢測單元和數據轉移觸發(fā)單元連接的讀寫控制單元,用于基于由存儲狀態(tài)檢測單元檢測到的存儲狀態(tài),針對存儲器或非易失性緩存裝置來讀寫所述用戶數據,并根據由數據轉移觸發(fā)單元產生的數據轉移觸發(fā)信號來控制存儲器與非易失性緩存裝置之間的數據轉移。
通過
以下結合附圖進行的對實施例的描述,本實用新型的上述和/或其它目的和優(yōu)點將會變得更加清楚,其中圖I示出根據本實用新型示例性實施例的由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng);圖2示出根據本實用新型示例性實施例的用于控制存儲器與非易失性緩存裝置進行協同存儲的設備;以及圖3示出由圖2所示的協同存儲控制設備來控制存儲器與非易失性緩存裝置進行協同存儲的操作流程圖。
具體實施方式
現將詳細描述本實用新型的實施例,所述實施例的示例在附圖中示出,其中,相同的標號始終指的是相同的部件。以下將通過參照附圖來說明所述實施例,以便解釋本實用新型。圖I示出根據本實用新型示例性實施例的由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng)。如圖I所示,由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng)包括存儲器100、非易失性緩存裝置200和分別與存儲器100與非易失性緩存裝置200連接的協同存儲控制設備300。存儲器100用于存儲數據,作為示例,所述存儲器100可以是諸如硬盤的大容量存儲裝置。作為可選方式,所述存儲器100可以是由多個存儲單元組成的陣列。非易失性緩存裝置200用于與存儲器100協同地存儲數據。例如,這里的非易失性緩存裝置200可以是新型的固態(tài)盤(solid state disc),固態(tài)盤的使用不需要電機加速旋轉的過程,也不需要使用磁頭,因此,能夠實現快速隨機讀取,延遲時間極小,同時在工作狀態(tài)下的功耗和發(fā)熱量較低。協同存儲控制設備300用于在用戶請求讀寫用戶數據時,檢測非易失性緩存裝置200的存儲狀態(tài)。并且,所述協同存儲控制設備300還用于根據數據在存儲器100與非易失性緩存裝置200之間轉移的數據轉移條件來產生數據轉移觸發(fā)信號?;跈z測到的存儲狀態(tài),所述協同存儲控制設備300確定針對存儲器100和非易失性緩存裝置200中的哪一個來讀寫 所述用戶數據,并根據產生的數據轉移觸發(fā)信號來控制存儲器100與非易失性緩存裝置200之間的數據轉移。如上所述,本實用新型利用協同存儲控制設備300來控制存儲器100與非易失性緩存裝置200進行協同存儲,以便在合理有效的控制機制下,主要利用非易失性緩存裝置200作為中間裝置與用戶裝置進行數據存取,從而最大程度地利用緩存裝置200速度快損耗低的優(yōu)點。這樣,存儲器100不需要每次都直接與用戶裝置進行數據的存取,其可以在大多數時間處于休眠狀態(tài)。所述存儲器100僅當滿足一定的數據轉移條件時被喚醒,然后與緩存裝置200進行批量的數據轉移,此時,可優(yōu)選地采用順序轉移的方式,一次性轉移大量數據,從而使得存儲器100由于數據存取產生的損耗最小化。以下將參照圖2來描述根據本實用新型示例性實施例的用于控制存儲器與非易失性緩存裝置進行協同存儲的設備。如圖2所示,根據本實用新型示例性實施例的協同存儲控制設備300包括與非易失性緩存裝置200連接的存儲狀態(tài)檢測單元310,用于在用戶請求讀寫用戶數據時,檢測非易失性緩存裝置200的存儲狀態(tài);與讀寫控制單元330連接的數據轉移觸發(fā)單元320,用于根據數據在存儲器100與非易失性緩存裝置200之間轉移的數據轉移條件來產生數據轉移觸發(fā)信號;以及分別與存儲器100、非易失性緩存裝置200、存儲狀態(tài)檢測單元310和數據轉移觸發(fā)單元320連接的讀寫控制單元330,用于基于由存儲狀態(tài)檢測單元310檢測到的存儲狀態(tài),針對存儲器100或非易失性緩存裝置200來讀寫所述用戶數據,并根據由數據轉移觸發(fā)單元320產生的數據轉移觸發(fā)信號來控制存儲器100與非易失性緩存裝置200之間的數據轉移。此外,作為優(yōu)選方式,根據本實用新型示例性實施例的協同存儲控制設備300還可包括異常處理單元(未示出),該異常處理單元分別與存儲器100、非易失性緩存裝置200和讀寫控制單元330連接,以用于在存儲器100和非易失性緩存裝置200之一出現異常狀態(tài)(例如,出現異常的讀寫失敗情況)時,控制所述讀寫控制單元330針對未出現故障的存儲器100或非易失性緩存裝置200來讀寫所述用戶數據。作為示例,如果存儲器100是由多個存儲單元組成的陣列,則異常處理單元還可用于當所述陣列中的存儲單元之一出現異常狀態(tài)時,控制所述讀寫控制單元330針對未出現故障的存儲單元來讀寫所述用戶數據。此外,作為優(yōu)選方式,根據本實用新型示例性實施例的協同存儲控制設備300還可包括數據暫存模塊(未示出),該數據暫存模塊與讀寫控制單元330連接,以用于在針對存儲器100或非易失性緩存裝置200均無法實現用戶數據的讀寫時,暫存相應的用戶請求或用戶數據,以便隨后與恢復的存儲器100或非易失性緩存裝置200進行用戶數據的讀寫。[0023]應理解上述協同存儲控制設備300的內部結構僅僅是示例性的,對于本領域技術人員而言,可對協同存儲控制設備300的上述結構進行各種等同的變型,例如,除了將所述數據暫存模塊設置為單獨的模塊之外,也可將其設置于存儲狀態(tài)檢測單元310、讀寫控制單元330或數據轉移觸發(fā)單元320的內部。此外,上述存儲狀態(tài)檢測單元310、讀寫控制單元330、數據轉移觸發(fā)單元320以及異常處理單元或數據暫存模塊可被進一步合并或拆分,只要其構成的協同存儲控制設備300完成了實質上等同的操作即可。以下將結合圖3來描述由圖2所示的協同存儲控制設備300來控制存儲器100與非易失性緩存裝置200進行協同存儲的操作流程。在根據本實用新型示例性實施例的協同存儲方案中,由協同存儲控制設備300對用戶數據的存取進行調度控制,從而每當用戶請求進行讀寫操作時,由非易失性緩存裝置200主要負責對用戶數據進行讀寫,而存儲器100多數時間處于休眠狀態(tài)。此外,當滿足預定的數據轉移觸發(fā)條件時,協同存儲控制設備300控制數據在存儲器100與非易失性緩存裝置200之間進行轉移。具體說來,在步驟S100,存儲狀態(tài)檢測單元310從用戶接收讀寫用戶數據的請求。這里,用戶可通過各種輸入方式將用于讀取或寫入用戶數據的請求輸入存儲狀態(tài)檢測單元310。當存儲狀態(tài)檢測單元310在步驟SlOO接收到用戶的讀寫請求之后,所述存儲狀態(tài)檢測單元310在步驟S200檢測非易失性緩存裝置200的存儲狀態(tài)。作為示例,所述存儲狀態(tài)檢測單元310可在接收到寫入用戶數據的請求時,檢測非易失性緩存裝置200中是否還留有足夠寫入所述用戶數據的空間。此外,所述存儲狀態(tài)檢測單元310可在接收到讀取用戶數據的請求時,檢測非易失性緩存裝置200中是否已經存有所述用戶數據。另外,作為優(yōu)選方式,為了避免與存儲器100和非易失性緩存裝置200之間的其他操作(例如,正在進行存儲器100與非易失性緩存裝置200之間的數據轉移)相沖突,所述存儲狀態(tài)檢測單元310還可與存儲器100連接,以檢測存儲器100或非易失性緩存裝置200是否處于可進行存取的可用狀態(tài),只有當存儲器100或非易失性緩存裝置200處于可進行存取的可用狀態(tài)時,讀寫控制單元330才會針對存儲器100或非易失性緩存裝置200來讀寫用戶數據。在步驟S300,讀寫控制單元330基于存儲狀態(tài)檢測單元310在步驟S200檢測到的存儲狀態(tài),針對存儲器100或非易失性緩存裝置200來讀寫所述用戶數據。具體說來,當用戶請求寫入用戶數據時,如果存儲狀態(tài)檢測單元310在步驟S200檢測到非易失性緩存裝置200中有足夠的可用空間,則讀寫控制單元330將用戶數據寫入非易失性緩存裝置200。如果存儲狀態(tài)檢測單元310在步驟S200檢測到非易失性緩存裝置200中沒有足夠的可用空間來存儲用戶數據,則讀寫控制單元330可喚醒存儲器100以將用戶數據直接寫入存儲器100。根據本實用新型的示例性實施例,可將存儲狀態(tài)檢測單元310檢測到非易失性緩存裝置200中沒有足夠的可用空間的情況作為數據在存儲器100與非易失性緩存裝置200之間轉移的數據轉移條件,該數據轉移條件將促使數據轉移觸發(fā)單元320產生數據轉移觸發(fā)信號,從而讀寫控制單元330在接收到數據轉移觸發(fā)信號后,將存儲在非易失性緩存裝置200的數據轉移至喚醒的存儲器100。在這種情況下,作為可選方式,讀寫控制單元330可在上述數據轉移完成之后,將用戶數據寫入存儲器100或非易失性緩存裝置200,或者,在將用戶數據寫入存儲器100之后再執(zhí)行上述數據轉移。、[0030]另一方面,當用戶請求讀取用戶數據時,如果存儲狀態(tài)檢測單元310在步驟S200檢測到非易失性緩存裝置200中已經存有所請求的用戶數據,則讀寫控制單元330直接從非易失性緩存裝置200讀取所述用戶數據。如果存儲狀態(tài)檢測單元310在步驟S200檢測到非易失性緩存裝置200中未存有所請求的用戶數據,則讀寫控制單元330可喚醒存儲器100以直接從存儲器100讀取所述用戶數據。根據本實用新型的示例性實施例,非易失性緩存裝置200中預先存儲的被用于讀取的數據可根據用戶讀取數據的統(tǒng)計情況來確定,也就是說,對于用戶頻繁讀取的數據,例如元數據,監(jiān)控錄像段描述數據等,可將其存儲在非易失性緩存裝置200中。為此,所述協同存儲控制設備300例如,通過數據轉移觸發(fā)單元320可對用戶讀取數據的情況進行統(tǒng)計,以判斷出哪些數據是經常被讀取的數據。根據統(tǒng)計出的用戶讀取數據的情況,所述協同存儲控制設備300 可確定將被預先存儲到非易失性緩存裝置200的數據。相應地,可根據連續(xù)統(tǒng)計的最新的用戶數據讀取情況對已經存儲到非易失性緩存裝置200中的數據進行更新。作為優(yōu)選方式,當協同存儲控制設備300將數據預先存儲在非易失性緩存裝置200時,還可對用戶將可能讀取的數據進行預測并將預測的數據一同預先存儲在非易失性緩存裝置200中。例如,存儲在用戶頻繁讀取的數據周圍的數據或與所述頻繁讀取的數據關聯較大的其它數據可同時被預先存儲在非易失性緩存裝置200中。作為優(yōu)選方式,所述讀寫控制單元330可進行控制,以將用戶數據寫入非易失性緩存裝置200中專門設置的數據寫入區(qū)域中,并將從存儲器100讀取的數據預先存儲在非易失性緩存裝置200中專門設置的數據讀取區(qū)域中,其中,所述數據寫入區(qū)域與數據讀取區(qū)域彼此分離,以進一步實現對協同存儲的高效管理。在根據本實用新型示例性實施例的數據協同存儲方案中,由具有一定容量的非易失性緩存裝置200充當用戶裝置與存儲器100之間的中間裝置,從而使得存儲器100可以在大多數時間處于休眠狀態(tài)。所述存儲器100在滿足一定的數據轉移條件時被喚醒,然后與緩存裝置200進行批量的數據轉移。例如,在步驟S400,由讀寫控制單元330根據由數據轉移觸發(fā)單元320產生的數據轉移觸發(fā)信號來控制存儲器100與非易失性緩存裝置200之間的數據轉移。應注意數據轉移的步驟雖然在圖3中被示為在步驟S300之后執(zhí)行,但是,本實用新型并不受限于此,數據轉移的操作可在滿足數據轉移條件的任何時間被執(zhí)行。具體說來,數據轉移觸發(fā)單元320根據數據在存儲器100與非易失性緩存裝置200之間轉移的數據轉移條件來產生所述數據轉移觸發(fā)信號,除去之前描述的由存儲狀態(tài)檢測單元300檢測的存儲狀態(tài)(例如,非易失性緩存裝置200已沒有足夠空間)可被作為促使數據轉移的條件之外,本實用新型還可采用以下條件中的任一條件或若干條件的組合來作為產生數據轉移觸發(fā)信號的前提。第一、根據本實用新型的示例性實施例,可將預先設置的時間作為產生數據轉移觸發(fā)信號的數據轉移條件。例如,作為通常在白天進行用戶數據存取的系統(tǒng)而言,可將深夜的某個時間點(例如,午夜12點)作為進行數據轉移的條件。即,每當午夜12點時,數據轉移觸發(fā)單元320可產生數據轉移觸發(fā)信號,從而促使讀寫控制單元300將存儲在非易失性緩存裝置200中的數據批量寫到存儲器100中,并且/或者根據用戶讀取數據的統(tǒng)計情況,將存儲器100中的部分數據預先存儲在非易失性緩存裝置200中。第二、根據本實用新型的另一示例性實施例,可將非易失性緩存裝置200的數據存儲狀態(tài)作為產生數據轉移觸發(fā)信號的數據轉移條件。例如,當存儲狀態(tài)檢測單元310檢測出非易失性存儲裝置200的存儲空間不足時,數據轉移觸發(fā)單元320可產生數據轉移觸發(fā)信號,從而促使讀寫控制單元300將存儲在非易失性緩存裝置200中的數據批量寫入存儲器100中。這里,可根據需要來設置進行存儲狀態(tài)檢測的時間,例如,可定時檢測、在用戶請求寫入用戶數據時檢測、或者根據用戶輸入的檢測請求進行檢測。第三、根據本實用新型的另一示例性實施例,可根據用戶讀取數據的統(tǒng)計情況,將非易失性存儲裝置200中預先存儲的數據與用戶近期讀取的數據的偏離程度作為產生數據轉移觸發(fā)信號的數據轉移條件。例如,當由存儲狀態(tài)檢測單元310檢測出非易失性存儲裝置200中存儲的數據與用戶近期讀取的數據嚴重不符時,數據轉移觸發(fā)單元320可產生數據轉移觸發(fā)信號,從而促使讀寫控制單元300將用戶近期頻繁讀取的數據(以及所述數據周圍的數據或與所述數據關聯的其它數據)寫到非易失性存儲裝置200中,以便更新非易失性存儲裝置200中所存儲的被用于讀取的數據。 第四、根據本實用新型的另一示例性實施例,可將用戶輸入的數據轉移指示直接作為產生數據轉移觸發(fā)信號的數據轉移條件。例如,當存儲狀態(tài)檢測單元310檢測到用戶輸入的數據轉移指示時,數據轉移觸發(fā)單元320可產生數據轉移觸發(fā)信號,從而促使讀寫控制單元300將存儲在非易失性緩存裝置200中的數據批量寫到存儲器100中,或將存儲器100中的部分數據預先存儲到非易失性緩存裝置200中。如上所述,在根據本實用新型示例性實施例的數據協同存儲方案中,通過非易失性緩存裝置與存儲器進行協同存儲來減少存儲器的機械損耗和功率損耗,并提高數據存取速度。在大多數時間,存儲器可處于休眠狀態(tài),不必直接與用戶裝置進行數據傳輸,這不僅減少了機械運動帶來的損耗,而且節(jié)約了系統(tǒng)整體的耗電量。此外,在確定預先存儲到非易失性緩存裝置的數據時,可通過連續(xù)統(tǒng)計用戶的數據使用頻率,根據數據之間的位置關聯或其它相關性來確定預先存儲的數據,并基于用戶的數據讀取情況來不斷更新預先存儲的數據,從而進一步提高整個系統(tǒng)的協作性。在根據本實用新型示例性實施例的協同存儲控制設備中,通過監(jiān)測非易失性緩存裝置的存儲狀態(tài),結合存儲器的工作狀態(tài)以及用戶對數據的存取習慣,可有效地調度數據在用戶裝置、存儲器和非易失性緩存裝置之間的存取,其中,存儲器和非易失性緩存裝置之間的數據轉移采取批量“刷”寫的處理方式,從而進一步減少損耗,延長系統(tǒng)的使用壽命。此外,通過將非易失性緩存裝置中的區(qū)域劃分為用戶數據的讀取區(qū)域和寫入區(qū)域,可進一步提高數據存取的可靠性。另外,通過設置異常處理單元,可在存儲器和非易失性緩存裝置之一出現異常狀態(tài)時,針對未出現故障的存儲器或非易失性緩存裝置來讀寫所述用戶數據。通過在數據協同設備中設置數據暫存模塊,可在針對存儲器或非易失性緩存裝置均無法實現用戶數據的讀寫時,暫存相應的用戶請求或用戶數據,以便隨后與恢復的存儲器或非易失性緩存裝置進行用戶數據的讀寫,從而進一步提高系統(tǒng)中數據讀寫的可靠性。本實用新型的以上各個實施例僅僅是示例性的,而本實用新型并不受限于此。本領域技術人員應該理解在不脫離本實用新型的原理和精神的情況下,可對這些實施例進行改變,其中,本實用新型的范圍在權利要求及其等同物中限定。
權利要求1.一種由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng),其特征在于,所述系統(tǒng)包括存儲器,用于存儲數據,其中,在沒有進行用戶數據讀寫或數據轉移期間,所述存儲器處于休眠狀態(tài);非易失性緩存裝置,用于與存儲器協同地存儲數據;以及分別與存儲器和非易失性緩存裝置連接的協同存儲控制設備,所述協同存儲控制設備用于控制存儲器與非易失性緩存裝置進行協同存儲。
2.如權利要求I所述的系統(tǒng),其特征在于,存儲器是由多個存儲單元組成的陣列。
專利摘要提供一種用于由存儲器與非易失性緩存裝置進行協同存儲的系統(tǒng),所述系統(tǒng)包括存儲器,用于存儲數據,其中,在沒有進行用戶數據讀寫或數據轉移期間,所述存儲器處于休眠狀態(tài);非易失性緩存裝置,用于與存儲器協同地存儲數據;以及分別與存儲器和非易失性緩存裝置連接的協同存儲控制設備,所述協同存儲控制設備用于控制存儲器與非易失性緩存裝置進行協同存儲。
文檔編號G06F12/08GK202362772SQ20112036362
公開日2012年8月1日 申請日期2011年9月26日 優(yōu)先權日2011年9月26日
發(fā)明者嚴杰, 周娟娟, 祝夭龍 申請人:北京邦諾存儲科技有限公司