Nvram的數(shù)據傳輸方法和裝置的制造方法
【技術領域】
[0001 ]本發(fā)明涉及計算機技術領域,尤其涉及NVRAM的數(shù)據傳輸方法和裝置。
【背景技術】
[0002]存儲系統(tǒng)通常以“寫回”的方式處理寫操作:存儲系統(tǒng)將數(shù)據存儲在緩存后,立即應答寫操作的發(fā)起者,然后在后臺將緩存中的數(shù)據回刷到磁盤中。為了應對存儲服務器異常宕機造成緩存中數(shù)據丟失的風險,會基于非易失性隨機訪問設備處理寫操作:存儲系統(tǒng)將數(shù)據存儲在緩存中,并將緩存中的數(shù)據同步到非易失性隨機訪問設備后再應答寫操作的發(fā)起者,然后在后臺將非易失性隨機訪問設備中的數(shù)據回刷到磁盤中,數(shù)據寫入磁盤結束后回收該數(shù)據占用的非易失性隨機訪問設備中的空間。此種方式下,基于非易失性隨機訪問設備的數(shù)據傳輸方法的執(zhí)行效率直接影響數(shù)據寫操作的處理效率。
[0003]NVRAM(Non_Volatile Random Access Memory,非易失性隨機訪問存儲器)是一種常用非易失性隨機訪問設備。NVRAM進行數(shù)據傳輸時,對每一個數(shù)據,均通過PCIe(Peripheral Component Interface Express,總線和接口標準)接口,以DMA(DirectMemory Access,直接內存存取)的方式實現(xiàn)數(shù)據傳輸。數(shù)據傳輸過程包括:數(shù)據傳輸準備階段和數(shù)據傳輸執(zhí)行階段。其中,數(shù)據傳輸準備階段用于進行協(xié)議交互等數(shù)據傳輸前的準備工作。數(shù)據傳輸準備階段會占用一定時間(如15微秒-20微秒),對于不大于IM(兆)小塊數(shù)據,數(shù)據傳輸準備階段的延遲在整個數(shù)據傳輸過程中占有較大比例。
[0004]在處理大量的并發(fā)小塊數(shù)據寫操作時,由于對每個小塊數(shù)據均執(zhí)行數(shù)據傳輸準備階段和數(shù)據傳輸執(zhí)行階段,造成大量時間耗費在各小塊數(shù)據的數(shù)據傳輸準備階段。
【發(fā)明內容】
[0005]為解決上述問題,本發(fā)明實施例提出了一種NVRAM的數(shù)據傳輸方法和裝置。
[0006]—方面,本發(fā)明實施例提供了一種非易失性隨機訪問存儲器NVRAM的數(shù)據傳輸方法,包括:
[0007]接收數(shù)據;
[0008]根據所述數(shù)據的數(shù)據量判斷是否達到傳輸條件;
[0009]若達到傳輸條件,則將所述數(shù)據傳輸至NVRAM。
[0010]可選地,所述根據所述數(shù)據的數(shù)據量判斷是否達到傳輸條件,包括:
[0011 ]當所述數(shù)據的數(shù)據量大于I兆M時,判斷達到傳輸條件;
[0012]當所述數(shù)據的數(shù)據量不大于IM時,確定數(shù)據傳輸列表中各數(shù)據的數(shù)據總量,當所述數(shù)據的數(shù)據量與所述數(shù)據總量的和大于IM時,判斷達到傳輸條件,所述數(shù)據傳輸列表中存放接收到,但未傳輸至NVRAM的數(shù)據;
[0013]或者,
[0014]當所述數(shù)據的數(shù)據量不大于IM時,確定所述數(shù)據的第一接收時間及所述數(shù)據傳輸列表中各數(shù)據的第二接收時間,當所述第一接收時間與最早的第二接收時間的時間差達到預設時間差時,判斷達到傳輸條件。
[0015]可選地,所述根據所述數(shù)據的數(shù)據量判斷是否達到傳輸條件之后,還包括:
[0016]若未達到傳輸條件,則將所述數(shù)據存放于數(shù)據傳輸列表中。
[0017]可選地,執(zhí)行所述接收數(shù)據步驟之前,還包括:
[0018]確定NVRAM的可用空間,當所述數(shù)據的數(shù)據量不大于所述NVRAM的可用空間時,執(zhí)行所述接收數(shù)據的步驟;
[0019]或者,
[0020]確定所述數(shù)據傳輸列表中各數(shù)據的數(shù)據總量和NVRAM的可用空間,當所述數(shù)據的數(shù)據量與所述數(shù)據傳輸列表中各數(shù)據的數(shù)據總量之和不大于所述NVRAM的可用空間時,執(zhí)行所述接收數(shù)據的步驟。
[0021 ] 可選地,所述將所述數(shù)據傳輸至NVRAM,包括:
[0022]將所述數(shù)據傳輸列表中數(shù)據與所述數(shù)據聚合;
[0023]將聚合后的數(shù)據傳輸至NVRAM。
[0024]另一方面,本發(fā)明實施例提供了一種非易失性隨機訪問存儲器NVRAM的數(shù)據傳輸裝置,包括:
[0025]接收模塊,用于接收數(shù)據;
[0026]判斷模塊,用于根據所述接收模塊接收到的數(shù)據的數(shù)據量判斷是否達到傳輸條件;
[0027]傳輸模塊,用于當所述判斷模塊判斷達到傳輸條件時,將所述數(shù)據傳輸至NVRAM。
[0028]可選地,所述判斷模塊,用于當所述數(shù)據的數(shù)據量大于I兆M時,判斷達到傳輸條件;當所述數(shù)據的數(shù)據量不大于IM時,確定數(shù)據傳輸列表中各數(shù)據的數(shù)據總量,當所述數(shù)據的數(shù)據量與所述數(shù)據總量的和大于IM時,判斷達到傳輸條件,所述數(shù)據傳輸列表中存放接收到,但未傳輸至NVRAM的數(shù)據;或者,當所述數(shù)據的數(shù)據量不大于IM時,確定所述數(shù)據的第一接收時間及所述數(shù)據傳輸列表中各數(shù)據的第二接收時間,當所述第一接收時間與最早的第二接收時間的時間差達到預設時間差時,判斷達到傳輸條件。
[0029]可選地,所述裝置,還包括:
[0030]存放模塊,用于當未達到傳輸條件時,將所述數(shù)據存放于數(shù)據傳輸列表中。
[0031]可選地,所述接收模塊,用于確定NVRAM的可用空間,當所述數(shù)據的數(shù)據量不大于所述NVRAM的可用空間時,執(zhí)行所述接收數(shù)據的步驟;
[0032]或者,
[0033]所述接收模塊,用于確定所述數(shù)據傳輸列表中各數(shù)據的數(shù)據總量和NVRAM的可用空間,當所述數(shù)據的數(shù)據量與所述數(shù)據傳輸列表中各數(shù)據的數(shù)據總量之和不大于所述NVRAM的可用空間時,執(zhí)行所述接收數(shù)據的步驟。
[0034]可選地,所述傳輸模塊,包括:
[0035]聚合單元,用于將所述數(shù)據傳輸列表中數(shù)據與所述數(shù)據聚合;
[0036]傳輸單元,用于將所述聚合單元聚合后的數(shù)據傳輸至NVRAM。
[0037]有益效果如下:
[0038]接收數(shù)據后,并不傳輸該數(shù)據,而是根據數(shù)據的數(shù)據量判斷是否達到傳輸條件,若達到傳輸條件,則將數(shù)據傳輸至NVRAM。本發(fā)明在對大量的并發(fā)小塊數(shù)據進行寫操作時,減少了數(shù)據傳輸次數(shù),也即減少了執(zhí)行數(shù)據傳輸準備階段的次數(shù),進而縮短了數(shù)據傳輸?shù)钠骄鶗r延,提升NVRAM的數(shù)據傳輸效率。
【附圖說明】
[0039]下面將參照附圖描述本發(fā)明的具體實施例,其中:
[0040]圖1示出了本發(fā)明一種實施例中提供的一種NVRAM的數(shù)據傳輸方法的流程示意圖;
[0041]圖2示出了本發(fā)明另一種實施例中提供的另一種NVRAM的數(shù)據傳輸方法的流程示意圖;
[0042]圖3示出了本發(fā)明另一種實施例中提供的一種存儲系統(tǒng)中寫操作處理場景下NVRAM的數(shù)據傳輸方法的流程示意圖;
[0043]圖4示出了本發(fā)明另一種實施例中提供的一種NVRAM的數(shù)據傳輸組織的結構示意圖;
[0044]圖5示出了本發(fā)明另一種實施例中提供的另一種NVRAM的數(shù)據傳輸組織的結構示意圖;
[0045]圖6示出了本發(fā)明另一種實施例中提供的一種傳輸模塊的結構示意圖。
【具體實施方式】
[0046]為了使本發(fā)明的技術方案及優(yōu)點更加清楚明白,以下結合附圖對本發(fā)明的示例性實施例進行進一步詳細的說明,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是所有實施例的窮舉。并且在不沖突的情況下,本說明中的實施例及實施例中的特征可以互相結合。
[0047]NVRAM(Non-Volatile Random Access Memory,非易失性隨機訪問存儲器)進行數(shù)據傳輸過程包括:數(shù)據傳輸準備階段和數(shù)據傳輸執(zhí)行階段。數(shù)據傳輸準備階段耗時較長,對于數(shù)據量不大于IM(兆)的小塊數(shù)據,數(shù)據傳輸準備階段占用數(shù)據傳輸時間的較大比例。在處理大量的并發(fā)小塊數(shù)據寫操作時,上述由于對每個小塊數(shù)據均執(zhí)行數(shù)據傳輸準備階段和數(shù)據傳輸執(zhí)行階段,造成大量時間耗費在各小塊數(shù)據的數(shù)據傳輸準備階段。為了小塊數(shù)據傳輸時,縮短數(shù)據傳輸準備階段所耗時間,提升NVRAM的數(shù)據傳輸效率,本發(fā)明提出了一種NVRAM的數(shù)據傳輸方法,該方法應用于一種終端,該終端上運行有NVRAM的數(shù)據傳輸裝置,該NVRAM的數(shù)據傳輸裝置如下述圖4至圖6任一圖所示的實施例所述的NVRAM的數(shù)據傳輸裝置。該NVRAM的數(shù)據傳輸裝置可以接收數(shù)據后,并不傳輸該數(shù)據,而是根據數(shù)據的數(shù)據量判斷是否達到傳輸條件,若達到傳輸條件,則將數(shù)據傳輸至NVRAM,減少了數(shù)據傳輸次數(shù),也即減少了執(zhí)行數(shù)據傳輸準備階段的次數(shù),進而縮短了數(shù)據傳輸?shù)钠骄鶗r延,提升NVRAM的數(shù)據傳輸效率。
[0048]結合上述實施環(huán)境,參見圖1所示的實施例,本實施例提供了一種NVRAM的數(shù)據傳輸方法,本實施例提供的方法流程具體如下:
[0049]101:接收數(shù)據;
[0050]102:根據數(shù)據的數(shù)據量判斷是否達到傳輸條件;
[0051]可選地,根據數(shù)據的數(shù)據量判斷是否達到傳輸條件,包括:
[0052]當數(shù)