數(shù)據(jù)處理方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)處理方法及裝置,方法包括:通過獲取操作系統(tǒng)發(fā)送的第一寫入指令,接著,根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,然后,根據(jù)第一熱度值,將數(shù)據(jù)寫入第二存儲地址,從而實現(xiàn)了將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,從而減少了有效數(shù)據(jù)的搬移,提高了系統(tǒng)的性能,進而減少了系統(tǒng)的額外損耗,提高了系統(tǒng)的壽命。
【專利說明】數(shù)據(jù)處理方法及裝置
【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,特別是涉及一種數(shù)據(jù)處理方法及裝置。
【背景技術】
[0002]通過對網(wǎng)上業(yè)務數(shù)據(jù)和個人計算機數(shù)據(jù)訪問量的統(tǒng)計,可以獲知80%的訪問量集中在20%的空間內。
[0003]在現(xiàn)有技術中,存儲介質NAND FLASH的讀寫是以page為單位,而擦是以塊為單位,當數(shù)據(jù)被訪問一次以后,原來物理地址處的老數(shù)據(jù)則標記為無效,系統(tǒng)重新找一個未被寫入的空白page來存放被更新后的數(shù)據(jù),再將邏輯地址指向新的page,從而完成了數(shù)據(jù)的更新過程。隨著數(shù)據(jù)不斷地被更新,系統(tǒng)可以啟動垃圾回收機制(GC)將各個塊上未被更新的有效數(shù)據(jù)進行整合,并將為該page中的據(jù)塊寫入另一個新的空白塊中,接著,將該數(shù)據(jù)塊擦除為新的空白塊,以供下一次與入。
[0004]然而,存儲系統(tǒng)可以啟動垃圾回收機制(GC)將各個塊上未被更新的有效數(shù)據(jù)進行整合的過程中,數(shù)據(jù)塊中既有無效數(shù)據(jù)也有有效數(shù)據(jù),造成在啟動垃圾回收機制時,需要將有效數(shù)據(jù)移到其他空白塊中,從而造成系統(tǒng)內額外的讀寫操作,進而產(chǎn)生了存儲系統(tǒng)的損耗。
【發(fā)明內容】
[0005]本發(fā)明實施例提供一種數(shù)據(jù)處理方法及裝置,用以減少存儲系統(tǒng)的損耗。
[0006]第一個方面,本發(fā)明實施例提供了一種數(shù)據(jù)處理方法,包括:
[0007]獲取操作系統(tǒng)發(fā)送的第一寫入指令,所述第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,所述第一寫入指令攜帶所述數(shù)據(jù);
[0008]根據(jù)所述第一寫入指令,確定第一存儲地址的第一熱度值,所述第一存儲地址為所述第一寫入指令準備將所述數(shù)據(jù)寫入所述存儲介質的地址,所述第一熱度值為標識對所述第一存儲地址進行操作的頻繁程度;
[0009]根據(jù)所述第一熱度值,將所述數(shù)據(jù)寫入所述存儲介質的第二存儲地址,所述第一熱度值在所述第二存儲地址對應的所述第二熱度值的范圍內。
[0010]在第一種可能的實現(xiàn)方式中,所述根據(jù)所述第一寫入指令,確定存儲地址的第一熱度值,包括:
[0011]根據(jù)所述第一寫入指令,確定所述第一存儲地址;
[0012]根據(jù)所述第一存儲地址,確定所述第一存儲地址的第一熱度值。
[0013]結合第一個方面或是第一個方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第一寫入指令包括待寫入的所述數(shù)據(jù)的起始地址和所述數(shù)據(jù)的長度;
[0014]所述根據(jù)所述第一寫入指令,確定第一存儲地址的第一熱度值,包括:
[0015]根據(jù)所述數(shù)據(jù)的所述起始地址和所述讀寫數(shù)據(jù)的長度,確定準備將所述數(shù)據(jù)寫入所述存儲介質中邏輯頁單元的頁單元地址;[0016]根據(jù)所述頁單元地址,確定所述邏輯頁單元的第一熱度值。
[0017]結合第一個方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述根據(jù)所述頁單元地址,確定所述邏輯頁單元的第一熱度值,包括:
[0018]將所述頁單元地址添加在熱權值鏈表中鏈頭的位置,所述熱權值鏈表包括多個子節(jié),并且每個所述子節(jié)對應一個熱權值,每個所述子節(jié)包括每個操作指令進行操作的邏輯頁單元的信息,其中,所述熱權值鏈表包括所述鏈頭和鏈尾;
[0019]將所述熱權值鏈表中每個所述頁單元地址對應的熱權值進行相加求和,獲得所述
第一熱度值。
[0020]結合第一個方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述將所述邏輯頁單元的所述頁地址信息添加在熱權值鏈表中的鏈頭位置之前,還包括:
[0021]刪除存儲在所述熱權值鏈表中所述鏈尾中存儲的頁單元地址;
[0022]將所述熱權值鏈表中沒有刪除的所述頁單元地址向所述鏈尾的位置移動一個節(jié)點。
[0023]結合第一個方面至第一個方面的第四種可能的任意一實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,所述根據(jù)所述第一熱度值,將所述數(shù)據(jù)寫入第二存儲地址之后,還包括:
[0024]將所述第二存儲地址的信息發(fā)送給所述操作系統(tǒng)。
[0025]第二個方面,本發(fā)明實施例提供了一種數(shù)據(jù)處理裝置,包括:
[0026]獲取模塊,用于獲取操作系統(tǒng)發(fā)送的第一寫入指令,所述第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,所述第一寫入指令攜帶所述數(shù)據(jù);
[0027]處理模塊,用于根據(jù)所述第一寫入指令,確定第一存儲地址的第一熱度值,所述第一存儲地址為所述第一寫入指令準備將所述數(shù)據(jù)寫入所述存儲介質的地址,所述第一熱度值為標識對所述第一存儲地址進行操作的頻繁程度;
[0028]寫入模塊,用于根據(jù)所述第一熱度值,將所述數(shù)據(jù)寫入所述存儲介質的第二存儲地址,所述第一熱度值在所述第二存儲地址對應的所述第二熱度值的范圍內。
[0029]在第一種可能的實現(xiàn)方式中,所述處理模塊,具體用于根據(jù)所述第一寫入指令,確定所述第一存儲地址;根據(jù)所述第一存儲地址,確定所述第一存儲地址的第一熱度值。
[0030]結合第二個方面或是第二個方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第一寫入指令包括待寫入的所述數(shù)據(jù)的起始地址和所述數(shù)據(jù)的長度;
[0031]所述處理模塊,具體用于根據(jù)所述數(shù)據(jù)的所述起始地址和所述讀寫數(shù)據(jù)的長度,確定準備將所述數(shù)據(jù)寫入所述存儲介質中邏輯頁單元的頁單元地址;根據(jù)所述頁單元地址,確定所述邏輯頁單元的第一熱度值。
[0032]結合第二個方面的第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述處理模塊,還用于將所述頁單元地址添加在熱權值鏈表中鏈頭的位置,所述熱權值鏈表包括多個子節(jié),并且每個所述子節(jié)對應一個熱權值,每個所述子節(jié)包括每個操作指令進行操作的邏輯頁單元的信息,其中,所述熱權值鏈表包括所述鏈頭和鏈尾;將所述熱權值鏈表中每個所述頁單元地址對應的熱權值進行相加求和,獲得所述第一熱度值。
[0033]結合第二個方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述處理模塊,還用于刪除存儲在所述熱權值鏈表中所述鏈尾中存儲的頁單元地址;將所述熱權值鏈表中沒有刪除的所述頁單元地址向所述鏈尾的位置移動一個節(jié)點。[0034]結合第二個方面至第二個方面的第四種可能的任意一實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,還包括:發(fā)送模塊;
[0035]所述發(fā)送模塊,用于將所述第二存儲地址的信息發(fā)送給所述操作系統(tǒng)。
[0036]本發(fā)明實施例提供的數(shù)據(jù)處理方法及裝置,通過獲取操作系統(tǒng)發(fā)送的第一寫入指令,接著,根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,然后,根據(jù)第一熱度值,將數(shù)據(jù)寫入第二存儲地址,從而實現(xiàn)了將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,提高了系統(tǒng)進行垃圾回收的效率,并提高了各物理塊的使用可靠性,從而減少了存儲系統(tǒng)的損耗。
【專利附圖】
【附圖說明】
[0037]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0038]圖1為本發(fā)明實施例提供的一種數(shù)據(jù)處理方法流程圖;
[0039]圖2為本發(fā)明實施例提供的另一種數(shù)據(jù)處理方法流程圖;
[0040]圖3為本發(fā)明實施例提供的一種熱權值鏈表的結構不意圖;
[0041]圖4為本發(fā)明實施例提供的一種數(shù)據(jù)處理裝置的結構示意圖;
[0042]圖5為本發(fā)明實施例提供的另一種數(shù)據(jù)處理裝置的結構示意圖。
【具體實施方式】
[0043]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有付出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0044]本發(fā)明實施例提供的數(shù)據(jù)處理方法可以應用于將寫入數(shù)據(jù)存儲到存儲系統(tǒng)的過程,其中,本實施例提供的數(shù)據(jù)處理方法具體可以通過數(shù)據(jù)處理裝置來執(zhí)行,該數(shù)據(jù)處理裝置可以采用軟件和/或硬件的方式來實現(xiàn)。以下對本實施例提供的數(shù)據(jù)處理方法和裝置進行詳細地說明。
[0045]圖1為本發(fā)明實施例提供的一種數(shù)據(jù)處理方法流程圖。如圖1所示,本實施例提供的數(shù)據(jù)處理方法包括:
[0046]S101、獲取操作系統(tǒng)發(fā)送的第一寫入指令。
[0047]在本實施例中,在操作系統(tǒng)發(fā)送第一寫入指令時,數(shù)據(jù)處理裝置可以在閃存轉換層(Flash translation layer,以下簡稱為FTL)獲取操作系統(tǒng)發(fā)送的第一寫入指令。其中,該第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,該第一寫入指令包括該數(shù)據(jù),即準備寫入存儲介質的數(shù)據(jù)。
[0048]S102、根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值。
[0049]在本實施例中,數(shù)據(jù)處理裝置可以根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,其中,第一存儲地址為第一寫入指令準備將數(shù)據(jù)寫入存儲介質的地址,第一熱度值為標識對第一存儲地址進行操作的頻繁程度。也就是說,在預設時長內,或是對存儲介質進行操作的預設次數(shù)內,數(shù)據(jù)處理裝置可以確定對第一存儲地址進行操作的第一熱度值,即操作系統(tǒng)對第一存儲地址的操作頻繁程度,該操作可以理解為讀取第一存儲地址所存儲的數(shù)據(jù)。
[0050]本實施例中的該第一存儲地址可以是存儲介質中的至少一個地址,該地址可以為物理地址,也可以為邏輯地址。需要說明的是,該邏輯地址是對用戶可見的,通過邏輯地址與物理地址的對應關系,即通過輯地址與物理地址之間的映射表,獲得該邏輯地址對應的物理地址,該物理地址為存儲介質的實際地址。
[0051 ] S103、根據(jù)第一熱度值,將數(shù)據(jù)寫入存儲介質的第二存儲地址。
[0052]本實施例的第一熱度值在第二存儲地址對應的第二熱度值的范圍內。
[0053]具體的,數(shù)據(jù)處理裝置可以根據(jù)預設時間內或是預設次數(shù)內,確定操作系統(tǒng)所發(fā)送指令對第一地址的操作頻繁程度,也就是,第一熱度值,接著,將該第一寫入指令準備寫入的數(shù)據(jù)寫入與第一熱度值對應的第二地址中。進一步的,可以根據(jù)第二地址所處的內存塊壽命確定寫入數(shù)據(jù)對應第一地址的熱度值,例如,第一熱度值較高,則可以將該數(shù)據(jù)寫入壽命較短的地址中。實現(xiàn)了將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,從而系統(tǒng)在對同一個物理塊進行擦寫時,不需要搬移部分數(shù)據(jù),從而實現(xiàn)同一物理塊的擦寫壽命接近。
[0054]本實施例提供的數(shù)據(jù)處理方法,通過獲取操作系統(tǒng)發(fā)送的第一寫入指令,接著,根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,然后,根據(jù)第一熱度值,將數(shù)據(jù)寫入第二存儲地址,實現(xiàn)了將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,從而減少了有效數(shù)據(jù)的搬移,提聞了系統(tǒng)的性能,進而減少了系統(tǒng)的額外損耗,提聞了系統(tǒng)的壽命。
[0055]在上述實施例的基礎上,在S103之后,還可以包括:
[0056]將第二存儲地址的信息發(fā)送給操作系統(tǒng)。
[0057]在本實施例中,數(shù)據(jù)實際寫入的該第二存儲地址與第一寫入指令準備寫入的第一存儲地址,可能相同,也可能不同,因此,在數(shù)據(jù)處理裝置將數(shù)據(jù)寫入到第二存儲地址之后,需要將第二存儲地址的信息發(fā)送給操作系統(tǒng),以便在將來讀取該數(shù)據(jù)時,確定該數(shù)據(jù)實際存儲的地址。
[0058]進一步的,在上述實施例的基礎上,S102具體可以包括:
[0059]根據(jù)第一寫入指令,確定第一存儲地址。
[0060]根據(jù)第一存儲地址,確定第一存儲地址的第一熱度值。
[0061]舉例來講,第一寫入指令中可以包括準備將數(shù)據(jù)寫入存儲介質的首地址以及該數(shù)據(jù)的長度,例如,該首地址為邏輯地址,若需要將該數(shù)據(jù)寫入該存儲介質的多個邏輯地址中,可以根據(jù)該首地址以及該數(shù)據(jù)的長度,確定該數(shù)據(jù)準備寫入存儲介質的邏輯地址,即第一存儲地址,接著,數(shù)據(jù)處理裝置可以根據(jù)該第一存儲地址,確定該第一存儲地址的第一熱度值。
[0062]圖2為本發(fā)明實施例提供的另一種數(shù)據(jù)處理方法流程圖。圖3為本發(fā)明實施例提供的一種熱權值鏈表的結構示意圖。如圖2所示,本實施例提供的數(shù)據(jù)處理方法,可以具體包括:
[0063]S201、獲取操作系統(tǒng)發(fā)送的第一寫入指令。
[0064]在本實施例中,該第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,該第一寫入指令包括該數(shù)據(jù),即準備寫入存儲介質的數(shù)據(jù)。[0065]S202、根據(jù)該數(shù)據(jù)的起始地址和該數(shù)據(jù)的長度,確定準備將該數(shù)據(jù)寫入存儲介質中邏輯頁單元的頁單元地址。
[0066]在本實施例中,第一寫入指令中可以包括準備將數(shù)據(jù)寫入存儲介質的首地址以及該數(shù)據(jù)的長度,該地址為邏輯地址,若需要將該數(shù)據(jù)寫入該存儲介質的多個邏輯地址中,可以根據(jù)該首地址以及該數(shù)據(jù)的長度,確定該數(shù)據(jù)準備寫入存儲介質的邏輯地址,即邏輯頁單元的頁單元地址。
[0067]需要說明的是,本實施例中的存儲介質包括有至少一個用于存儲數(shù)據(jù)的數(shù)據(jù)塊,該數(shù)據(jù)塊可用于存儲數(shù)據(jù)的大小固定,每個數(shù)據(jù)塊包括有至少一個頁(page),而且,每個頁包括有多個邏輯頁單元,并且每個邏輯頁單元用一個邏輯地址表示,即頁單元地址,例如,NAND FLASH中的每個頁包括16個頁單元,每個頁為8K,每個頁單元(sector)為512B,并且該16個頁單元的地址使用16個連續(xù)的邏輯LBA地址來表示。
[0068]S203、將頁單元地址添加在熱權值鏈表中鏈頭的位置。
[0069]在本實施例中,如圖3所示,該熱權值鏈表包括多個子節(jié),并且每個子節(jié)可以對應一個熱權值,每個子節(jié)包括每個操作指令進行操作的頁單元地址,其中,熱權值鏈表包括鏈頭和鏈尾。
[0070]舉例來講,若該頁單元地址的個數(shù)為多個,則將該頁單元地址中包括的等多個地址分別添加在鏈頭的子節(jié)中。如圖3所示,將頁單元地址70、71、72添加在鏈頭的子節(jié)中。
[0071]S204、將熱權值鏈表中每個頁單元地址對應的熱權值進行相加求和,獲得第一熱度值。
[0072]本實施例中,該頁單元地址為第一寫入指令準備將數(shù)據(jù)寫入存儲介質的地址。
[0073]舉例來講,頁單元地址70對應的熱權值分別為4、6、7,因此,該頁單元地址70的熱權值為4+6+7,即熱權值為17 ;以此類推,計算出該頁單元地址的熱權值。
[0074]需要說明的是,本實施例的熱權值鏈表中每個熱權值可根據(jù)距離鏈頭或是鏈尾的距離進行設定,也可以按照等差數(shù)列或是等比數(shù)列,以及本領域技術人員可以想到的方式進行設定,在此對熱權值設定不做限制。
[0075]S205、根據(jù)第一熱度值,將數(shù)據(jù)寫入存儲介質的第二存儲地址。
[0076]本實施例的第一熱度值在第二存儲地址對應的第二熱度值的范圍內。
[0077]在本實施例中,通過根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,并根據(jù)第一熱度值,將數(shù)據(jù)寫入存儲介質的第二存儲地址中,從而實現(xiàn)將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,提高了系統(tǒng)進行垃圾回收的效率,并提高了各物理塊的使用壽命,進而減少了存儲系統(tǒng)的損耗。
[0078]在上述實施例的基礎上,在S203之前,還可以包括:
[0079]刪除存儲在熱權值鏈表中鏈尾中存儲的頁單元地址;
[0080]將熱權值鏈表中沒有刪除的頁單元地址向鏈尾的位置移動一個節(jié)點。
[0081]進一步的,在上述實施例的基礎上,在S205之后,還可以包括
[0082]將第二存儲地址的信息發(fā)送給操作系統(tǒng)。
[0083]具體的,根據(jù)第一熱度值,將數(shù)據(jù)寫入第二存儲地址之后,數(shù)據(jù)處理裝置需要將實際存儲數(shù)據(jù)的第二存儲地址告知操作系統(tǒng),從而使操作系統(tǒng)確定第一寫入指令實際寫入數(shù)據(jù)的地址。[0084]圖4為本發(fā)明實施例提供的一種數(shù)據(jù)處理裝置的結構示意圖。如圖4所示,該數(shù)據(jù)處理裝置包括:獲取模塊41、處理模塊42和寫入模塊43。其中,
[0085]獲取模塊41,用于獲取操作系統(tǒng)發(fā)送的第一寫入指令,第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,第一寫入指令攜帶數(shù)據(jù);
[0086]處理模塊42,用于根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,第一存儲地址為第一寫入指令準備將數(shù)據(jù)寫入存儲介質的地址,第一熱度值為標識對第一存儲地址進行操作的頻繁程度;
[0087]寫入模塊43,用于根據(jù)第一熱度值,將數(shù)據(jù)寫入存儲介質的第二存儲地址,第一熱度值在第二存儲地址對應的第二熱度值的范圍內。
[0088]本實施例提供的數(shù)據(jù)處理方法,通過獲取操作系統(tǒng)發(fā)送的第一寫入指令,接著,根據(jù)第一寫入指令,確定第一存儲地址的第一熱度值,然后,根據(jù)第一熱度值,將數(shù)據(jù)寫入第二存儲地址,從而實現(xiàn)了將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,從而減少了有效數(shù)據(jù)的搬移,提聞了系統(tǒng)的性能,進而減少了系統(tǒng)的額外損耗,提聞了系統(tǒng)的壽命。
[0089]在上述實施例的基礎上,處理模塊42,具體用于根據(jù)第一寫入指令,確定第一存儲地址;根據(jù)第一存儲地址,確定第一存儲地址的第一熱度值。
[0090]進一步的,在上述實施例的基礎上,該第一寫入指令包括待寫入的數(shù)據(jù)的起始地址和數(shù)據(jù)的長度;
[0091]處理模塊42,具體用于根據(jù)所述數(shù)據(jù)的所述起始地址和所述讀寫數(shù)據(jù)的長度,確定準備將所述數(shù)據(jù)寫入所述存儲介質中邏輯頁單元的頁單元地址;根據(jù)所述頁單元地址,確定所述邏輯頁單元的第一熱度值。
[0092]在上述實施例的基礎上,處理模塊42,還用于將頁單元地址添加在熱權值鏈表中鏈頭的位置,熱權值鏈表包括多個子節(jié),并且每個子節(jié)對應一個熱權值,每個子節(jié)包括每個操作指令進行操作的邏輯頁單元的信息,其中,熱權值鏈表包括鏈頭和鏈尾;將熱權值鏈表中每個頁單元地址對應的熱權值進行相加求和,獲得第一熱度值。
[0093]進一步的,在上述實施例的基礎上,處理模塊42,還用于刪除存儲在熱權值鏈表中鏈尾中存儲的頁單元地址;將熱權值鏈表中沒有刪除的頁單元地址向鏈尾的位置移動一個節(jié)點。
[0094]圖5為本發(fā)明實施例提供的另一種數(shù)據(jù)處理裝置的結構示意圖。如圖5所示,該數(shù)據(jù)處理裝置還包括:發(fā)送模塊44 ;其中,該發(fā)送模塊44,用于將第二存儲地址的信息發(fā)送給操作系統(tǒng)。
[0095]從而實現(xiàn)了將熱度值接近的數(shù)據(jù)存儲在同一個物理塊中,提高了系統(tǒng)進行垃圾回收的效率,并提高了各物理塊的使用可靠性,從而減少了存儲系統(tǒng)的損耗。
[0096]本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的裝置實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。
[0097]本領域普通技術人員可以理解:實施例中的裝置中的模塊可以按照實施例描述分布于實施例的裝置中,也可以進行相應變化位于不同于本實施例的一個或多個裝置中。上述實施例的單元可以合并為一個單元,也可以進一步拆分成多個子模塊。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中?;谶@樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備
[0098](可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-OnlyMemory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質。
[0099]本領域普通技術人員可以理解:附圖只是一個實施例的示意圖,附圖中的模塊或流程并不一定是實施本發(fā)明所必須的。
[0100]最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
【權利要求】
1.一種數(shù)據(jù)處理方法,其特征在于,包括: 獲取操作系統(tǒng)發(fā)送的第一寫入指令,所述第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,所述第一寫入指令攜帶所述數(shù)據(jù); 根據(jù)所述第一寫入指令,確定第一存儲地址的第一熱度值,所述第一存儲地址為所述第一寫入指令準備將所述數(shù)據(jù)寫入所述存儲介質的地址,所述第一熱度值為標識對所述第一存儲地址進行操作的頻繁程度; 根據(jù)所述第一熱度值,將所述數(shù)據(jù)寫入所述存儲介質的第二存儲地址,所述第一熱度值在所述第二存儲地址對應的所述第二熱度值的范圍內。
2.根據(jù)權利要求1所述的方法,其特征在于,所述根據(jù)所述第一寫入指令,確定存儲地址的第一熱度值,包括: 根據(jù)所述第一寫入指令,確定所述第一存儲地址; 根據(jù)所述第一存儲地址,確定所述第一存儲地址的第一熱度值。
3.根據(jù)權利要求1或2所述的方法,其特征在于,所述第一寫入指令包括待寫入的所述數(shù)據(jù)的起始地址和所述數(shù)據(jù)的長度; 所述根據(jù)所述第一寫入指令,確定第一存儲地址的第一熱度值,包括: 根據(jù)所述數(shù)據(jù)的所述起始地址和所述讀寫數(shù)據(jù)的長度,確定準備將所述數(shù)據(jù)寫入所述存儲介質中邏輯頁單元的頁單元地址; 根據(jù)所述頁單元地址, 確定所述邏輯頁單元的第一熱度值。
4.根據(jù)權利要求3所述的方法,其特征在于,所述根據(jù)所述頁單元地址,確定所述邏輯頁單元的第一熱度值,包括: 將所述頁單元地址添加在熱權值鏈表中鏈頭的位置,所述熱權值鏈表包括多個子節(jié),并且每個所述子節(jié)對應一個熱權值,每個所述子節(jié)包括每個操作指令進行操作的邏輯頁單元的信息,其中,所述熱權值鏈表包括所述鏈頭和鏈尾; 將所述熱權值鏈表中每個所述頁單元地址對應的熱權值進行相加求和,獲得所述第一熱度值。
5.根據(jù)權利要求4所述的方法,其特征在于,所述將所述邏輯頁單元的所述頁地址信息添加在熱權值鏈表中的鏈頭位置之前,還包括: 刪除存儲在所述熱權值鏈表中所述鏈尾中存儲的頁單元地址; 將所述熱權值鏈表中沒有刪除的所述頁單元地址向所述鏈尾的位置移動一個節(jié)點。
6.根據(jù)權利要求1-5任一項所述的方法,其特征在于,所述根據(jù)所述第一熱度值,將所述數(shù)據(jù)寫入第二存儲地址之后,還包括: 將所述第二存儲地址的信息發(fā)送給所述操作系統(tǒng)。
7.一種數(shù)據(jù)處理裝置,其特征在于,包括: 獲取模塊,用于獲取操作系統(tǒng)發(fā)送的第一寫入指令,所述第一寫入指令為準備將數(shù)據(jù)寫入存儲介質的指令,所述第一寫入指令攜帶所述數(shù)據(jù); 處理模塊,用于根據(jù)所述第一寫入指令,確定第一存儲地址的第一熱度值,所述第一存儲地址為所述第一寫入指令準備將所述數(shù)據(jù)寫入所述存儲介質的地址,所述第一熱度值為標識對所述第一存儲地址進行操作的頻繁程度; 寫入模塊,用于根據(jù)所述第一熱度值,將所述數(shù)據(jù)寫入所述存儲介質的第二存儲地址,所述第一熱度值在所述第二存儲地址對應的所述第二熱度值的范圍內。
8.根據(jù)權利要求7所述的裝置,其特征在于,所述處理模塊,具體用于根據(jù)所述第一寫入指令,確定所述第一存儲地址;根據(jù)所述第一存儲地址,確定所述第一存儲地址的第一熱度值。
9.根據(jù)權利要求7或8所述的裝置,其特征在于,所述第一寫入指令包括待寫入的所述數(shù)據(jù)的起始地址和所述數(shù)據(jù)的長度; 所述處理模塊,具體用于根據(jù)所述數(shù)據(jù)的所述起始地址和所述讀寫數(shù)據(jù)的長度,確定準備將所述數(shù)據(jù)寫入所述存儲介質中邏輯頁單元的頁單元地址;根據(jù)所述頁單元地址,確定所述邏輯頁單元的第一熱度值。
10.根據(jù)權利要求9所述的裝置,其特征在于,所述處理模塊,還用于將所述頁單元地址添加在熱權值鏈表中鏈頭的位置,所述熱權值鏈表包括多個子節(jié),并且每個所述子節(jié)對應一個熱權值,每個所述子節(jié)包括每個操作指令進行操作的邏輯頁單元的信息,其中,所述熱權值鏈表包括所述鏈頭和鏈尾;將所述熱權值鏈表中每個所述頁單元地址對應的熱權值進行相加求和,獲得所述第一熱度值。
11.根據(jù)權利要求10所述的裝置,其特征在于,所述處理模塊,還用于刪除存儲在所述熱權值鏈表中所述鏈尾中存儲的頁單元地址;將所述熱權值鏈表中沒有刪除的所述頁單元地址向所述鏈尾的位置移動一個節(jié)點。
12.根據(jù)權利要求7-11任一項所述的裝置,其特征在于,還包括:發(fā)送模塊; 所述發(fā)送模塊,用于將所述第二存儲地址的信息發(fā)送給所述操作系統(tǒng)。
【文檔編號】G06F12/02GK103645991SQ201310598402
【公開日】2014年3月19日 申請日期:2013年11月22日 優(yōu)先權日:2013年11月22日
【發(fā)明者】陽佶宏, 袁其云 申請人:華為技術有限公司