一種分層存儲(chǔ)管理方法、裝置及存儲(chǔ)系統(tǒng)的制作方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)了一種分層存儲(chǔ)管理方法、裝置及存儲(chǔ)系統(tǒng),其中方法包括:在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;x按照從大到小的順序依次從N取到2,逐層對(duì)第x中間層中虛擬塊的熱度值進(jìn)行更新;y按照從小到大的順序依次從2取到N且y取整數(shù),逐層從目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊;對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí),采用本方案可以提高對(duì)所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí)進(jìn)行更新的效率,從而減小存儲(chǔ)系統(tǒng)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
【專利說(shuō)明】-種分層存儲(chǔ)管理方法、裝置及存儲(chǔ)系統(tǒng)
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)據(jù)存儲(chǔ)【技術(shù)領(lǐng)域】,尤其涉及一種分層存儲(chǔ)管理方法、裝置及存儲(chǔ)系 統(tǒng)。
【背景技術(shù)】
[0002] 在存儲(chǔ)領(lǐng)域中,一個(gè)存儲(chǔ)系統(tǒng)可能含有多種因存儲(chǔ)介質(zhì)不同和/或接口不同而導(dǎo) 致訪問(wèn)速度存在差異的存儲(chǔ)器。為了避免非重要數(shù)據(jù)在高性能的存儲(chǔ)設(shè)備上占用較多空 間,增強(qiáng)系統(tǒng)的存儲(chǔ)性能,以降低系統(tǒng)成本,通常將存儲(chǔ)系統(tǒng)中存儲(chǔ)的數(shù)據(jù)劃分成多個(gè)數(shù)據(jù) 塊,并將熱度值較高的數(shù)據(jù)塊遷移到訪問(wèn)速度較快的存儲(chǔ)層、將熱度值較低的數(shù)據(jù)塊遷移 到訪問(wèn)速度較慢的存儲(chǔ)層,其中數(shù)據(jù)塊的熱度值需結(jié)合該數(shù)據(jù)塊的訪問(wèn)次數(shù)、訪問(wèn)頻率和/ 或訪問(wèn)間隔等元信息來(lái)計(jì)算得到,其中,數(shù)據(jù)塊的熱度值與該數(shù)據(jù)塊被訪問(wèn)的頻率相關(guān),被 訪問(wèn)頻率越高的數(shù)據(jù)塊的熱度值越大,被訪問(wèn)頻率越低的數(shù)據(jù)塊的熱度值越小。
[0003] 現(xiàn)有的分層存儲(chǔ)管理方法主要是:每次進(jìn)行數(shù)據(jù)遷移時(shí)遍歷整個(gè)存儲(chǔ)系統(tǒng)所有數(shù) 據(jù)塊,確定所有數(shù)據(jù)塊中每一數(shù)據(jù)塊的熱度值,根據(jù)該所有數(shù)據(jù)塊中每一數(shù)據(jù)塊的熱度值, 確定出需要進(jìn)行升級(jí)的數(shù)據(jù)塊。這種方式的缺點(diǎn)在于:由于一般存儲(chǔ)系統(tǒng)中數(shù)據(jù)塊數(shù)量極 多,若每次進(jìn)行數(shù)據(jù)遷移時(shí)都對(duì)所有的數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),將會(huì)導(dǎo)致非常大的內(nèi)存開(kāi)銷。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明所要解決的技術(shù)問(wèn)題在于,提供一種分層存儲(chǔ)管理方法、裝置和存儲(chǔ)系統(tǒng), 可減小存儲(chǔ)系統(tǒng)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0005] 為了解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例第一方面提供了一種分層存儲(chǔ)管理方法, 應(yīng)用于存儲(chǔ)系統(tǒng),所述存儲(chǔ)系統(tǒng)包括至少L個(gè)數(shù)據(jù)塊且所述存儲(chǔ)系統(tǒng)包括N個(gè)中間層,N為 整數(shù),其中,L彡3且L為整數(shù),所述L個(gè)數(shù)據(jù)塊被分配到位于第N中間層的an個(gè)第N虛擬 塊中,所述an個(gè)第N虛擬塊中每一第N虛擬塊包括至少一個(gè)數(shù)據(jù)塊,其中,2 <an <L且an 為整數(shù);X按照從大到小的順序依次從N取到2,且所述X取整數(shù),對(duì)于所述X的每一個(gè)取值 對(duì)應(yīng)的第X中間層的ax個(gè)第X虛擬塊,被分配到位于第x-1中間層的個(gè)第x-1虛擬塊 中,所述個(gè)第x-1虛擬塊中每一第x-1虛擬塊包括至少一個(gè)第X虛擬塊,an> 2且ax_i 為整數(shù),ax > 且ax為整數(shù);
[0006] 所述方法包括:
[0007] 當(dāng)N彡2時(shí),
[0008] 在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新所 述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊中每 個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述an個(gè)第N虛擬塊的熱度值進(jìn)行更新;對(duì)于X 的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax個(gè)第X虛擬塊中每個(gè)第 X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述ay個(gè)第x-1虛擬塊的熱度值進(jìn)行更新;
[0009] 根據(jù)第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第一虛擬 塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值;y按照 從小到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取值對(duì)應(yīng)的第y中 間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬 塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度值大于或者等 于所述第y中間層的閾值;
[0010] 對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的 大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí), 所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器的種 類;
[0011] 或者,當(dāng)N = 1時(shí),
[0012] 在所述T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新所述L個(gè)數(shù) 據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù) 塊的熱度值,對(duì)所述第一中間層中的所述^個(gè)第一虛擬塊的熱度值進(jìn)行更新;根據(jù)所述第 一中間層的閾值,從所述%個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第一虛擬塊,所述至少一 個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值;對(duì)確定出的所述至少一 個(gè)目標(biāo)第一虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更 新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于 2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器的種類,所述存儲(chǔ)系統(tǒng)包括至少兩種存儲(chǔ) 器。
[0013] 結(jié)合第一方面,在第一種可行的實(shí)施方式中,所述方法還包括:
[0014] 比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的熱度等級(jí),并確 定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù)據(jù)塊中的且更新 后熱度等級(jí)1?于原熱度等級(jí)的數(shù)據(jù)塊;
[0015] 在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn)行升級(jí)處理。
[0016] 結(jié)合第一方面以及第一方面的第一種可行的實(shí)施方式,在第二種可行的實(shí)施方式 中,
[0017] 比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的熱度等級(jí),并確 定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù)據(jù)塊中的且更新 后熱度等級(jí)1?于原熱度等級(jí)的數(shù)據(jù)塊;
[0018] 在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn)行升級(jí)處理。
[0019] 結(jié)合第一方面的第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中:
[0020] 所述第一中間層的閾值A(chǔ)1 = U1為所述個(gè)第一虛擬塊包括的數(shù)據(jù) 塊的熱度值平均值,〇 i為所述%個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,h為〇 :的 系數(shù),其中,O1不等于零,h G [0, U1/01)。
[0021] 結(jié)合第一方面及第一方面的第一至三種可行的實(shí)施方式,在第四種可行的實(shí)施方 式中:
[0022] 所述第一中間層的閾值A(chǔ)1 = U1為所述個(gè)第一虛擬塊包括的數(shù)據(jù) 塊的熱度值平均值,〇 i為所述%個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,h為〇 :的 系數(shù),其中,O1不等于零,h G [0, U1/01)。
[0023] 結(jié)合第一方面的第四種可行的實(shí)施方式,在第五種可行的實(shí)施方式中:
[0024] 所述第y中間層的閾值A(chǔ)y = ii y-ty* 〇 y, ii y為所述至少一個(gè)目標(biāo)第y_l虛擬塊包 含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值,〇 y為所述至少一個(gè)目標(biāo)第y-1虛擬塊 包含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,ty為〇 y的系數(shù),ty隨著y的遞增而 遞減,其中,0y不等于零,& elf),/"/cr,,)。
[0025] 結(jié)合第一方面及第一方面的第一至五種可行的實(shí)施方式,在第六種可行的實(shí)施方 式中:
[0026] 在所述存儲(chǔ)系統(tǒng)內(nèi)包括兩種存儲(chǔ)器,所述兩種存儲(chǔ)器包括第一存儲(chǔ)器和第二存儲(chǔ) 器,且所述第一存儲(chǔ)器的訪問(wèn)速度大于所述第二存儲(chǔ)器的訪問(wèn)速度,
[0027]所述方法還包括:
[0028] 在時(shí)間間隔T2內(nèi),將位于所述第一存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第二 存儲(chǔ)器,所述T 2用于進(jìn)行降級(jí)遷移且所述T2的長(zhǎng)度是固定的;
[0029] 在Nfreel <第一閾值時(shí),對(duì)位于所述第一存儲(chǔ)器內(nèi)的數(shù)據(jù)塊按照熱度值的 大小進(jìn)行排序,所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的熱度值比較小的 min (Nfree2, C)個(gè)數(shù)據(jù)塊,其中,所述第一閾值是由確定出的需要升級(jí)的數(shù)據(jù)塊的數(shù)目確定 的,或者,所述第一閾值是由平均每時(shí)間間隔T2內(nèi)需要從所述第一存儲(chǔ)器降級(jí)遷移到所述 第二存儲(chǔ)器的數(shù)據(jù)塊的數(shù)目確定的;或者,所述第一閾值的大小由所述第一存儲(chǔ)器內(nèi)包含 的所有物理塊的數(shù)目減去確定出的所述多個(gè)目標(biāo)數(shù)據(jù)塊的數(shù)目得到的數(shù)值確定的;
[0030] 其中,Nfreel是指所述第一存儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;Nfree2是指所述第二存 儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;所述物理塊用于存儲(chǔ)所述數(shù)據(jù)塊;C是指在所述時(shí)間間隔T2內(nèi), 所述第一存儲(chǔ)器向所述第二存儲(chǔ)器之間傳輸?shù)牟⒈凰龅诙鎯?chǔ)器接收的數(shù)據(jù)塊的數(shù)量。 [0031] 結(jié)合第一方面的第六種可行的實(shí)施方式,在第七種可行的實(shí)施方式中:
[0032] 在所述第一閾值< Nfreel <第二閾值時(shí),所述方法還包括:所述需要降級(jí)的數(shù)據(jù) 塊是指從所述排序結(jié)果中選出的熱度值比較小的min (Nfree2,C, ANfreel)個(gè)數(shù)據(jù)塊;
[0033] 其中,ANfreel = Nfreel'_Nfreel,Nfreel'為在上一次進(jìn)行降級(jí)遷移時(shí),所述第 一存儲(chǔ)器內(nèi)的空閑物理塊的數(shù)量,且ANfreel的值為大于0的整數(shù),所述第二閾值是根據(jù) 在所述T 2內(nèi)升級(jí)數(shù)據(jù)塊的平均速率確定的,以保證所述第一存儲(chǔ)器內(nèi)的空閑物理塊不會(huì)被 所述T2內(nèi)的升級(jí)的數(shù)據(jù)塊占用完,所述第一閾值小于所述第二閾值。
[0034] 結(jié)合第一方面及第一方面的第一至五種可行的實(shí)施方式,在第八種可行的實(shí)施方 式中:
[0035] 在所述存儲(chǔ)系統(tǒng)內(nèi)包括K種存儲(chǔ)器,其中K>3且K為整數(shù),所述K種存儲(chǔ)器包括 第i存儲(chǔ)器、第i_l存儲(chǔ)器和第i_2存儲(chǔ)器,且所述第i存儲(chǔ)器的訪問(wèn)速度大于所述第i_l 存儲(chǔ)器的訪問(wèn)速度,所述第i_l存儲(chǔ)器的訪問(wèn)速度大于所述第i_2存儲(chǔ)器的訪問(wèn)速度,其 中,i按照從大到小的順序依次從K取到3且i取整數(shù);
[0036] 所述方法還包括:
[0037] 在所述T2內(nèi),將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_2存 儲(chǔ)器,將位于所述第i_l存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_2存儲(chǔ)器,以及將位 于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_l存儲(chǔ)器。
[0038] 結(jié)合第一方面的第八種可行的實(shí)施方式,在第九種可行的實(shí)施方式中,
[0039] 所述將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_2存儲(chǔ)器,將 位于所述第i_l存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_2存儲(chǔ)器,以及將位于所述 第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-1存儲(chǔ)器,包括:
[0040] 將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,將位于所述第 i-1存儲(chǔ)器的數(shù)據(jù)塊也按照熱度值的大小進(jìn)行排序,并從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊 的排序結(jié)果和所述第i-1存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中共同選擇出熱度值比較小的 Nfree (i-2)個(gè)數(shù)據(jù)塊,將所述Nfree (i-2)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-2存儲(chǔ)器,所述 Nfree (i-2)為所述第i-2存儲(chǔ)器包括的空閑物理塊的數(shù)量;
[0041] 將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并從所述第i存 儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中選擇出熱度值比較小的Nfree(i-l)個(gè)數(shù)據(jù)塊,將所述 Nfree (i-1)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-1存儲(chǔ)器,所述Nfree (i-1)為所述第i-1存儲(chǔ)器 包括的空閑物理塊的數(shù)量。
[0042] 本發(fā)明實(shí)施例第二方面提供了一種分層存儲(chǔ)管理裝置,可應(yīng)用于存儲(chǔ)系統(tǒng),
[0043] 所述存儲(chǔ)系統(tǒng)包括至少L個(gè)數(shù)據(jù)塊且所述存儲(chǔ)系統(tǒng)包括N個(gè)中間層,N為整數(shù),其 中,L > 3且L為整數(shù),所述L個(gè)數(shù)據(jù)塊被分配到位于第N中間層的an個(gè)第N虛擬塊中,所 述8"個(gè)第N虛擬塊中每一第N虛擬塊包括至少一個(gè)數(shù)據(jù)塊,其中,2 < an< L且&"為整數(shù); X按照從大到小的順序依次從N取到2,且所述X取整數(shù),對(duì)于所述X的每一個(gè)取值對(duì)應(yīng)的 第X中間層的a x個(gè)第X虛擬塊,被分配到位于第x-1中間層的ay個(gè)第x-1虛擬塊中,所述 個(gè)第x-1虛擬塊中每一第x-1虛擬塊包括至少一個(gè)第X虛擬塊,an > 2且為整數(shù), ax > 且ax為整數(shù);
[0044] 所述裝置包括:
[0045] 當(dāng)N彡2時(shí),
[0046] 熱度值更新單元,用于在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊 被訪問(wèn)的次數(shù),更新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根 據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述a n個(gè)第N虛擬塊的熱 度值進(jìn)行更新;對(duì)于X的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax個(gè) 第X虛擬塊中每個(gè)第X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述ay個(gè)第x-1虛擬 塊的熱度值進(jìn)行更新;
[0047] 確定單元,用于根據(jù)第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少一 個(gè)目標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層 的閾值;y按照從小到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取值 對(duì)應(yīng)的第y中間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-1虛擬塊包含的 多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度 值大于或者等于所述第y中間層的閾值;
[0048] 第一排序單元,用于對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù) 據(jù)塊按照熱度值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo) 數(shù)據(jù)塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi) 包括的存儲(chǔ)器的種類;
[0049]當(dāng) N = 1 時(shí),
[0050] 所述熱度值更新單元,還用于在所述T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被 訪問(wèn)的次數(shù),更新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù) 所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第一中間層中的所述 ai個(gè)第一虛擬塊的熱 度值進(jìn)行更新;
[0051] 所述確定單元,還用于根據(jù)所述第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確 定出至少一個(gè)目標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述 第一中間層的閾值;
[0052] 所述第一排序單元,還用于對(duì)確定出的所述至少一個(gè)目標(biāo)第一虛擬塊包含的多個(gè) 目標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每 一目標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ) 系統(tǒng)內(nèi)包括的存儲(chǔ)器的種類,所述存儲(chǔ)系統(tǒng)包括至少兩種存儲(chǔ)器。
[0053] 結(jié)合第二方面,在第一種可行的實(shí)施方式中,所述裝置還包括:
[0054] 比較單元,用于比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的 熱度等級(jí),并確定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù) 據(jù)塊中的且更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊;
[0055] 升級(jí)單元,用于在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn) 行升級(jí)處理。
[0056] 結(jié)合第二方面及第二方面的第一種可行的實(shí)施方式,在第二種可行的實(shí)施方式 中,所述第一中間層的閾值是根據(jù)所述%個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值平均值和熱 度值標(biāo)準(zhǔn)差計(jì)算得到的。
[0057] 結(jié)合第二方面的第二種可行的實(shí)施方式,在第三種可行的實(shí)施方式中:
[0058] 所述第一中間層的閾值A(chǔ)1 = ii ^t1* 〇 ii丨為所述B1個(gè)第一虛擬塊包括的數(shù)據(jù) 塊的熱度值平均值,〇 i為所述%個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,h為〇 :的 系數(shù),其中,O1不等于零,h G [0, U1/01)。
[0059] 結(jié)合第二方面及第二方面的第一至三種可行的實(shí)施方式,在第四種可行的實(shí)施方 式中:
[0060] 所述第y中間層的閾值是根據(jù)所述至少一個(gè)目標(biāo)第y_l虛擬塊包含的多個(gè)第y虛 擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的。
[0061] 結(jié)合第二方面的第四種可行的實(shí)施方式,在第五種可行的實(shí)施方式中:
[0062] 所述第y中間層的閾值A(chǔ)y= i!y-ty*〇y,Uy為所述至少一個(gè)目標(biāo)第y-1虛擬塊包 含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值,〇 y為所述至少一個(gè)目標(biāo)第y-1虛擬塊 包含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,ty為〇 y的系數(shù),ty隨著y的遞增而 遞減,其中,〇 y不等于零,f
[0063] 結(jié)合第二方面及第二方面的第一至五種可行的實(shí)施方式,在第六種可行的實(shí)施方 式中,在所述存儲(chǔ)系統(tǒng)內(nèi)包括兩種存儲(chǔ)器,所述兩種存儲(chǔ)器包括第一存儲(chǔ)器和第二存儲(chǔ)器, 且所述第一存儲(chǔ)器的訪問(wèn)速度大于所述第二存儲(chǔ)器的訪問(wèn)速度,
[0064] 所述裝置還包括:
[0065] 第一降級(jí)單元,用于在時(shí)間間隔T2內(nèi),將位于所述第一存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù) 據(jù)塊遷移到所述第二存儲(chǔ)器,所述T2用于進(jìn)行降級(jí)遷移且所述T2的長(zhǎng)度是固定的;
[0066] 第二排序單元,用于在Nfreel <第一閾值時(shí),對(duì)位于所述第一存儲(chǔ)器內(nèi)的數(shù)據(jù)塊 按照熱度值的大小進(jìn)行排序,所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的熱度值 比較小的min (Nfree2,C)個(gè)數(shù)據(jù)塊,其中,所述第一閾值是由確定出的需要升級(jí)的數(shù)據(jù)塊 的數(shù)目確定的,或者,所述第一閾值是由平均每時(shí)間間隔T2內(nèi)需要從所述第一存儲(chǔ)器降級(jí) 遷移到所述第二存儲(chǔ)器的數(shù)據(jù)塊的數(shù)目確定的;或者,所述第一閾值的大小由所述第一存 儲(chǔ)器內(nèi)包含的所有物理塊的數(shù)目減去確定出的所述多個(gè)目標(biāo)數(shù)據(jù)塊的數(shù)目得到的數(shù)值確 定的;
[0067]其中,Nfreel是指所述第一存儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;Nfree2是指所述第二存 儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;所述物理塊用于存儲(chǔ)所述數(shù)據(jù)塊;C是指在所述時(shí)間間隔T2內(nèi), 所述第一存儲(chǔ)器向所述第二存儲(chǔ)器之間傳輸?shù)牟⒈凰龅诙鎯?chǔ)器接收的數(shù)據(jù)塊的數(shù)量。 [0068] 結(jié)合第二方面的第六種可行的實(shí)施方式,在第七種可行的實(shí)施方式中,在所述第 一閾值< Nfreel <第二閾值時(shí),所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的熱 度值比較小的min(Nfree2,C, ANfreel)個(gè)數(shù)據(jù)塊;
[0069] 其中,ANfreel = Nfreel'_Nfreel,Nfreel'為在上一次進(jìn)行降級(jí)遷移時(shí),所述第 一存儲(chǔ)器內(nèi)的空閑物理塊的數(shù)量,且ANfreel的值為大于0的整數(shù),所述第二閾值是根據(jù) 在所述T 2內(nèi)升級(jí)數(shù)據(jù)塊的平均速率確定的,以保證所述第一存儲(chǔ)器內(nèi)的空閑物理塊不會(huì)被 所述T2內(nèi)的升級(jí)的數(shù)據(jù)塊占用完,所述第一閾值小于所述第二閾值。
[0070] 結(jié)合第二方面及第二方面的第一至五種可行的實(shí)施方式,在第八種可行的實(shí)施方 式中:
[0071] 在所述存儲(chǔ)系統(tǒng)內(nèi)包括K種存儲(chǔ)器,其中K > 3且K為整數(shù),所述K種存儲(chǔ)器包括 第i存儲(chǔ)器、第i_l存儲(chǔ)器和第i_2存儲(chǔ)器,且所述第i存儲(chǔ)器的訪問(wèn)速度大于所述第i_l 存儲(chǔ)器的訪問(wèn)速度,所述第i_l存儲(chǔ)器的訪問(wèn)速度大于所述第i_2存儲(chǔ)器的訪問(wèn)速度時(shí),其 中,i按照從大到小的順序依次從K取到3且i取整數(shù);
[0072] 所述裝置還包括:
[0073] 第二降級(jí)單元,用于在所述T2內(nèi),將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊 遷移到所述第i_2存儲(chǔ)器,將位于所述第i_l存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第 i_2存儲(chǔ)器,以及將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_l存儲(chǔ)器。 [0074]結(jié)合第二方面的第八種可行的實(shí)施方式,在第九種可行的實(shí)施方式中,所述第二 降級(jí)單元包括:
[0075] 第三排序單元,用于將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排 序,將位于所述第i_l存儲(chǔ)器的數(shù)據(jù)塊也按照熱度值的大小進(jìn)行排序;
[0076] 第一選擇單元,用于從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果和所述第i_l存 儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中共同選擇出熱度值比較小的Nfree(i-2)個(gè)數(shù)據(jù)塊,將所 述Nfree (i-2)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-2存儲(chǔ)器,所述Nfree (i-2)為所述第i-2存 儲(chǔ)器包括的空閑物理塊的數(shù)量;
[0077] 第四排序單元,用于將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排 序;
[0078] 第二選擇單元,用于從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中選擇出熱度值 比較小的Nfree (i-1)個(gè)數(shù)據(jù)塊,將所述Nfree (i-1)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-1存儲(chǔ) 器,所述Nfree (i-1)為所述第i-1存儲(chǔ)器包括的空閑物理塊的數(shù)量。
[0079] 本發(fā)明實(shí)施例第三方面提供了一種存儲(chǔ)系統(tǒng),可包括R種存儲(chǔ)器和如第二方面及 第二方面的第一至九種可行的實(shí)施方式所述的分層存儲(chǔ)管理裝置,R為大于或者等于2的 整數(shù),
[0080] 所述R種存儲(chǔ)器內(nèi)存儲(chǔ)有至少L個(gè)數(shù)據(jù)塊,
[0081] 所述分層存儲(chǔ)管理裝置用于從所述至少L個(gè)數(shù)據(jù)塊中確定出多個(gè)目標(biāo)數(shù)據(jù)塊,根 據(jù)所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度值,將所述多個(gè)目標(biāo)數(shù)據(jù)塊劃分為R個(gè)熱 度等級(jí)。
[0082] 本發(fā)明實(shí)施例,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新各個(gè)數(shù) 據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì)第X中間層中包含的虛擬塊 的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到N,逐層從第y-1層的目標(biāo)第 y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊;當(dāng)確定出至少一個(gè) 目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度 值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等 級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo)虛擬塊,最終從整個(gè)存儲(chǔ)系 統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要對(duì)存儲(chǔ)系統(tǒng)進(jìn)行管理(例如 數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需要處理的數(shù)據(jù)量,從而可減 少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
【專利附圖】
【附圖說(shuō)明】
[0083] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng) 域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的 附圖。
[0084]圖1是本發(fā)明的分層存儲(chǔ)管理方法的一實(shí)施例的流程示意圖;
[0085] 圖2是本發(fā)明的分層存儲(chǔ)管理方法的另一實(shí)施例的流程示意圖;
[0086] 圖3是本發(fā)明的分層存儲(chǔ)管理方法的又一實(shí)施例的流程示意圖;
[0087]圖4是本發(fā)明的分層存儲(chǔ)管理裝置的一實(shí)施例的結(jié)構(gòu)示意圖;
[0088] 圖5是本發(fā)明的分層存儲(chǔ)管理裝置的另一實(shí)施例的結(jié)構(gòu)示意圖;
[0089] 圖6是本發(fā)明的分層存儲(chǔ)管理裝置的又一實(shí)施例的結(jié)構(gòu)示意圖;
[0090]圖7是圖6所示分層存儲(chǔ)管理裝置的第二降級(jí)單元的一實(shí)施例的結(jié)構(gòu)示意圖;[0091]圖8是本發(fā)明的分層存儲(chǔ)管理裝置的又一實(shí)施例的結(jié)構(gòu)示意圖;
[0092]圖9是本發(fā)明的存儲(chǔ)系統(tǒng)的一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0093] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā) 明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施 例,都屬于本發(fā)明保護(hù)的范圍。
[0094] 本發(fā)明實(shí)施例提供的分層存儲(chǔ)管理方法、裝置及存儲(chǔ)系統(tǒng),能夠減小存儲(chǔ)系統(tǒng)的 內(nèi)存開(kāi)銷并降低存儲(chǔ)系統(tǒng)的管理成本。本發(fā)明實(shí)施例的存儲(chǔ)系統(tǒng)包括至少L個(gè)數(shù)據(jù)塊且包 括N個(gè)中間層,N為整數(shù),其中,L > 3且L為整數(shù),所述L個(gè)數(shù)據(jù)塊被分配到位于第N中間 層的an個(gè)第N虛擬塊中,所述an個(gè)第N虛擬塊中每一第N虛擬塊包括至少一個(gè)數(shù)據(jù)塊,其 中,2 < an < L且an為整數(shù);X按照從大到小的順序依次從N取到2,且所述X取整數(shù),對(duì)于 所述X的每一個(gè)取值對(duì)應(yīng)的第X中間層的a x個(gè)第X虛擬塊,被分配到位于第x-1中間層的 個(gè)第x-1虛擬塊中,所述ay個(gè)第x-1虛擬塊中每一第x-1虛擬塊包括至少一個(gè)第X虛 擬塊,彡2且為整數(shù),a x > ay且ax為整數(shù)。下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳 細(xì)說(shuō)明。
[0095] 參見(jiàn)圖1,為本發(fā)明的分層存儲(chǔ)管理方法的一實(shí)施例的流程示意圖。如圖1所示, 當(dāng)N > 2時(shí),該分層存儲(chǔ)管理方法可以包括以下步驟:
[0096] SlOl,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更 新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊 中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述an個(gè)第N虛擬塊的熱度值進(jìn)行更新;對(duì) 于X的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述a x個(gè)第X虛擬塊中每 個(gè)第X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述個(gè)第x-1虛擬塊的熱度值進(jìn)行 更新。
[0097] 具體地,熱度值可以根據(jù)數(shù)據(jù)塊在一定時(shí)間內(nèi)被訪問(wèn)的次數(shù)、數(shù)據(jù)塊被訪問(wèn)的頻 率和/或數(shù)據(jù)塊被訪問(wèn)的時(shí)間間隔計(jì)算得到。其中,上述的一定時(shí)間可包括統(tǒng)計(jì)周期[0098] 可選地,可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),更新該數(shù)據(jù)塊的熱度值并根據(jù)該數(shù)據(jù)塊 的熱度值從X = N到X = 1逐層更新第X層中包含該數(shù)據(jù)塊的虛擬塊的熱度值;或者,也可 在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),先更新該數(shù)據(jù)塊的熱度值,等到某個(gè)特定時(shí)間,例如統(tǒng)計(jì)周期 T1的周期末,再根據(jù)L個(gè)數(shù)據(jù)塊的熱度值從X = N到X = 1逐層更新第X層中各虛擬塊的 熱度值。
[0099] S102,根據(jù)第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第 一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值;y 按照從小到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取值對(duì)應(yīng)的第 y中間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-1虛擬塊包含的多個(gè)第y 虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度值大于或 者等于所述第y中間層的閾值。
[0100] 本發(fā)明實(shí)施例中,每個(gè)中間層的閾值是自適應(yīng)的,其中第一中間層的閾值是根據(jù) 第一中間層%個(gè)第一虛擬塊中包含的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的; 對(duì)于y從2到N的每一個(gè)取值,第 y中間層的閾值為根據(jù)所述至少一個(gè)目標(biāo)第y-1虛擬塊 所包含多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的。
[0101] 為避免熱度值較高的數(shù)據(jù)塊被漏選,第y-1中間層中目標(biāo)第y-1虛擬塊所占的比 例應(yīng)高于第y中間層中目標(biāo)第y虛擬塊所占的比例。
[0102] S103,對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度 值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度 等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器 的種類。
[0103] 可選地,對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值 的大小進(jìn)行排序時(shí),可采用桶排序算法。
[0104] 可選地,若存儲(chǔ)系統(tǒng)包括第一存儲(chǔ)器和第二存儲(chǔ)器,且第一存儲(chǔ)器的訪問(wèn)速度大 于第二存儲(chǔ)器的訪問(wèn)速度,熱度等級(jí)包括與第一存儲(chǔ)器對(duì)應(yīng)的第一等級(jí)和與第二存儲(chǔ)層對(duì) 應(yīng)的第二等級(jí)。那么可以把熱度值較高的第一數(shù)量的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第一等 級(jí),把剩下的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第二等級(jí),其中第一數(shù)量不大于第一存儲(chǔ)器包 含的物理塊的數(shù)量,剩下的目標(biāo)數(shù)據(jù)塊的數(shù)量不大于第二存儲(chǔ)器包含的物理塊的數(shù)量。
[0105] 可選地,若存儲(chǔ)系統(tǒng)中包括多于兩種存儲(chǔ)器,可將該多于兩種存儲(chǔ)器按照訪問(wèn)速 度的快慢可分成至少兩個(gè)級(jí)別,例如:存儲(chǔ)系統(tǒng)中可包括固態(tài)硬盤(Solid State Drive, SSD)和硬盤驅(qū)動(dòng)器(Hard Disk Drive,HDD)兩種存儲(chǔ)器,HDD按照接口不同可以包括光纖 通道(Fibre Channel,F(xiàn)C)硬盤、串行連接 SCSI (Serial Attached SCSI,SAS)硬盤、串行 高級(jí)技術(shù)附件(Serial Advanced Technology Attachment,SATA)硬盤等多種存儲(chǔ)器,其 中SSD可以是第一級(jí)別,F(xiàn)C硬盤和SAS硬盤可以是第二級(jí)別,SATA硬盤可以是第三級(jí)別。 此時(shí),可使熱度等級(jí)的數(shù)量等于存儲(chǔ)器的級(jí)別數(shù)并使每一熱度等級(jí)對(duì)應(yīng)于一種存儲(chǔ)器的級(jí) 另IJ。更新各目標(biāo)數(shù)據(jù)塊的熱度等級(jí)時(shí),可根據(jù)每個(gè)熱度等級(jí)對(duì)應(yīng)的存儲(chǔ)器包含的物理塊數(shù) 量以及各目標(biāo)數(shù)據(jù)塊的熱度值來(lái)更新。例如:將熱度值較高的第三數(shù)量的目標(biāo)數(shù)據(jù)塊的熱 度等級(jí)更新為第一等級(jí);將其他目標(biāo)數(shù)據(jù)塊中熱度值較高的第四數(shù)量的目標(biāo)數(shù)據(jù)塊的熱度 等級(jí)更新為第二等級(jí);將剩下的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第三等級(jí),其中第三數(shù)量小 于或等于第一級(jí)別的存儲(chǔ)器中包含的物理塊數(shù)量;第四數(shù)量小于或等于第二級(jí)別的存儲(chǔ)器 中包含的物理塊數(shù)量;剩下的目標(biāo)數(shù)據(jù)塊的數(shù)量小于或等于第三級(jí)別的存儲(chǔ)器中包含的物 理塊數(shù)量。
[0106] 作為一種可行的實(shí)施方式,當(dāng)N = 1時(shí),該分層存儲(chǔ)管理方法可以包括以下步驟:
[0107] S104,在所述T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新所述L 個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè) 數(shù)據(jù)塊的熱度值,對(duì)所述第一中間層中的所述S 1個(gè)第一虛擬塊的熱度值進(jìn)行更新。
[0108] 可選地,可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí)更新該數(shù)據(jù)塊的熱度值并根據(jù)該數(shù)據(jù)塊的 熱度值更新第一中間層中包含該數(shù)據(jù)塊的虛擬塊的熱度值;也可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn) 時(shí),先更新該數(shù)據(jù)塊的熱度值,等到某個(gè)特定時(shí)間,例如統(tǒng)計(jì)周期T 1的周期末,再根據(jù)L個(gè) 數(shù)據(jù)塊的熱度值更新第一中間層中各虛擬塊的熱度值。
[0109] S105,根據(jù)所述第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少一個(gè)目 標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾 值。
[0110] S106,對(duì)確定出的所述至少一個(gè)目標(biāo)第一虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度 值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等 級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器的 種類。
[0111] 具體地,步驟S105和步驟S106與步驟S102和步驟S103類似,在此不贅述。
[0112] 更新完目標(biāo)數(shù)據(jù)塊的熱度等級(jí)后,可將更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊 確定為需要升級(jí)的數(shù)據(jù)塊。隨后當(dāng)這些需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將會(huì)觸發(fā)對(duì)該被訪問(wèn) 的數(shù)據(jù)塊的升級(jí)操作。
[0113] 可知,圖1所示的分層存儲(chǔ)管理方法,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪 問(wèn)的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì)第X中 間層中包含的虛擬塊的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到N,逐層 從第y-1層的目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊; 當(dāng)確定出至少一個(gè)目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目 標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目 標(biāo)數(shù)據(jù)塊的熱度等級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo)虛擬塊, 最終從整個(gè)存儲(chǔ)系統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要對(duì)存儲(chǔ)系 統(tǒng)進(jìn)行管理(例如數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需要處理的 數(shù)據(jù)量,從而可減少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0114] 參見(jiàn)圖2,為本發(fā)明的分層存儲(chǔ)管理方法的另一實(shí)施例的流程示意圖。圖2以存儲(chǔ) 系統(tǒng)內(nèi)包括第一存儲(chǔ)器和第二存儲(chǔ)器,且第一存儲(chǔ)器的訪問(wèn)速度大于第二存儲(chǔ)器的訪問(wèn)速 度為例進(jìn)行說(shuō)明。如圖2所示,該分層存儲(chǔ)管理方法可以包括以下步驟:
[0115] S201,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更 新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊 中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述a n個(gè)第N虛擬塊的熱度值進(jìn)行更新;對(duì) 于X的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax個(gè)第X虛擬塊中每 個(gè)第X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述個(gè)第x-1虛擬塊的熱度值進(jìn)行 更新。
[0116] 可選地,可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),更新該數(shù)據(jù)塊的熱度值并根據(jù)該數(shù)據(jù)塊 的熱度值從X = N到X = 1逐層更新第X層中包含該數(shù)據(jù)塊的虛擬塊的熱度值;或者,也可 在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),先更新該數(shù)據(jù)塊的熱度值,等到某個(gè)特定時(shí)間,例如統(tǒng)計(jì)周期 T 1的周期末,再根據(jù)L個(gè)數(shù)據(jù)塊的熱度值從X = N到X = 1逐層更新第X層中各虛擬塊的 熱度值。
[0117] 可選地,當(dāng)N= 1時(shí),在一個(gè)統(tǒng)計(jì)周期T1內(nèi),只需更新所述L個(gè)數(shù)據(jù)塊的熱度值以 及第一中間層的B1個(gè)第一虛擬塊的熱度值。此時(shí),可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí)更新該數(shù) 據(jù)塊的熱度值并根據(jù)該數(shù)據(jù)塊的熱度值更新第一中間層中包含該數(shù)據(jù)塊的虛擬塊的熱度 值;也可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),先更新該數(shù)據(jù)塊的熱度值,等到某個(gè)特定時(shí)間,例如 統(tǒng)計(jì)周期T 1的周期末,再根據(jù)L個(gè)數(shù)據(jù)塊的熱度值更新第一中間層中各虛擬塊的熱度值。
[0118] S202,根據(jù)第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第 一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值;y 按照從小到大的順序依次從2取到N且所述 y取整數(shù),對(duì)于所述y的每一個(gè)取值對(duì)應(yīng)的第 y中間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-1虛擬塊包含的多個(gè)第y 虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度值大于或 者等于所述第y中間層的閾值。
[0119] 本發(fā)明實(shí)施例中,每個(gè)中間層的閾值是自適應(yīng)的,其中第一中間層的閾值是根據(jù) 第一中間層%個(gè)第一虛擬塊中包含的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的; 可選地,可取第一中間層的閾值A(chǔ)1= ,其中U1為所述&1個(gè)第一虛擬塊包括的數(shù) 據(jù)塊的熱度值平均值,O1為所述%個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,^為 〇1 的系數(shù),而且,0 i不等于零,h G [0, ii i/ 0 i)。
[0120] 對(duì)于y從2到N的每一個(gè)取值,第y中間層的閾值為根據(jù)所述至少一個(gè)目標(biāo)第y-1 虛擬塊所包含多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的; 可選地,可取第y中間層的閾值A(chǔ) y= i!y-ty*〇y,其中Uy為所述至少一個(gè)目標(biāo)第y-1虛擬 塊包含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值,〇 y為所述至少一個(gè)目標(biāo)第y-1虛 擬塊包含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,ty為〇 y的系數(shù),ty隨著y的遞 增而遞減,而且,。y不等于零,Z1. e [0, /a,.)。
[0121] 根據(jù)切比雪夫定律,第y中間層的虛擬塊的熱度值Xy大于第y中間層的閾值A(chǔ) y 的概率?%>117-&*〇7)彡1-1/\2,即第7中間層中選出的目標(biāo)第7虛擬塊的比例至少是 l-1/ty 2。為避免熱度值較高的數(shù)據(jù)塊被漏選,第y-1中間層中目標(biāo)第y-1虛擬塊所占的比 例應(yīng)高于第y中間層中目標(biāo)第y虛擬塊所占的比例。因此使t y隨著y的遞增而遞減。
[0122] S203,對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度 值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度 等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器 的種類。
[0123] 可選地,對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值 的大小進(jìn)行排序時(shí),可采用桶排序算法。
[0124] 本實(shí)施例中,存儲(chǔ)系統(tǒng)包括第一存儲(chǔ)器和第二存儲(chǔ)器,且第一存儲(chǔ)器的訪問(wèn)速度 大于第二存儲(chǔ)器的訪問(wèn)速度,熱度等級(jí)包括與第一存儲(chǔ)器對(duì)應(yīng)的第一等級(jí)和與第二存儲(chǔ)層 對(duì)應(yīng)的第二等級(jí)??梢园褵岫戎递^高的第一數(shù)量的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第一等 級(jí),把剩下的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第二等級(jí),其中第一數(shù)量不大于第一存儲(chǔ)器包 含的物理塊的數(shù)量,剩下的目標(biāo)數(shù)據(jù)塊的數(shù)量不大于第二存儲(chǔ)器包含的物理塊的數(shù)量。
[0125] S204,比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的熱度等 級(jí),并確定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù)據(jù)塊中 的且更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊。
[0126] S205,在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn)行升級(jí)處 理。
[0127] S206,在時(shí)間間隔T2內(nèi),將位于所述第一存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所 述第二存儲(chǔ)器,所述T 2用于進(jìn)行降級(jí)遷移且所述T2的長(zhǎng)度是固定的。
[0128] 具體地,在統(tǒng)計(jì)周期T1內(nèi)確定出需要升級(jí)的數(shù)據(jù)塊后,可以連續(xù)在多個(gè)時(shí)間間隔 T 2內(nèi)對(duì)數(shù)據(jù)塊進(jìn)行降級(jí)。在該多個(gè)時(shí)間間隔T2中,如果被訪問(wèn)的數(shù)據(jù)塊是在統(tǒng)計(jì)周期T1內(nèi) 確定出需要升級(jí)的數(shù)據(jù)塊,則將被訪問(wèn)的數(shù)據(jù)塊升級(jí)。
[0129] 在一種可行的實(shí)施方式中,當(dāng)Nfreel <第一閾值時(shí),對(duì)位于所述第一存儲(chǔ)器內(nèi)的 數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的 熱度值比較小的min (Nfree2, C)個(gè)數(shù)據(jù)塊,其中,所述第一閾值是由確定出的需要升級(jí)的 數(shù)據(jù)塊的數(shù)目確定的,或者,所述第一閾值是由平均每時(shí)間間隔T2內(nèi)需要從所述第一存儲(chǔ) 器降級(jí)遷移到所述第二存儲(chǔ)器的數(shù)據(jù)塊的數(shù)目確定的;或者,所述第一閾值的大小由所述 第一存儲(chǔ)器內(nèi)包含的所有物理塊的數(shù)目減去確定出的所述多個(gè)目標(biāo)數(shù)據(jù)塊的數(shù)目得到的 數(shù)值確定的;
[0130] 其中,Nfreel是指所述第一存儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;Nfree2是指所述第二存 儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;所述物理塊用于存儲(chǔ)所述數(shù)據(jù)塊;C是指在所述時(shí)間間隔T 2內(nèi), 所述第一存儲(chǔ)器向所述第二存儲(chǔ)器之間傳輸?shù)牟⒈凰龅诙鎯?chǔ)器接收的數(shù)據(jù)塊的數(shù)量。
[0131] 當(dāng)Nfreel <第一閾值時(shí),認(rèn)為第一存儲(chǔ)器中空閑的物理塊數(shù)量較少,如果第二存 儲(chǔ)器還能接收數(shù)據(jù)塊,應(yīng)盡量將第一存儲(chǔ)器中的數(shù)據(jù)塊降級(jí)。將第一存儲(chǔ)器中的數(shù)據(jù)塊遷 移到第二存儲(chǔ)器時(shí),不僅要考慮第二存儲(chǔ)器還能容納多少個(gè)數(shù)據(jù)塊,還要考慮根據(jù)第一存 儲(chǔ)器的負(fù)載和第二存儲(chǔ)器的負(fù)載在第一存儲(chǔ)器和第二存儲(chǔ)器之間能傳輸多少個(gè)數(shù)據(jù)塊,因 此使需要降級(jí)的數(shù)據(jù)塊數(shù)量為1^11(財(cái)代62,〇,1^11(財(cái)代62,〇指財(cái)代62和(:中的最小值。 可選地,還可使需要降級(jí)的數(shù)據(jù)塊數(shù)量小于min (Nfree2, C)。
[0132]在另一種可行的實(shí)施方式中,當(dāng)所述第一閾值< Nfreel <第二閾值時(shí),所述需要 降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的熱度值比較小的min(Nfree2,C, ANfreel)個(gè) 數(shù)據(jù)塊;
[0133] 其中,ANfreel = Nfreel'_Nfreel,Nfreel'為在上一次進(jìn)行降級(jí)遷移時(shí),所述第 一存儲(chǔ)器內(nèi)的空閑物理塊的數(shù)量,且ANfreel的值為大于0的整數(shù),所述第二閾值是根據(jù) 在所述T 2內(nèi)升級(jí)數(shù)據(jù)塊的平均速率確定的,以保證所述第一存儲(chǔ)器內(nèi)的空閑物理塊不會(huì)被 所述T2內(nèi)的升級(jí)的數(shù)據(jù)塊占用完,所述第一閾值小于所述第二閾值。
[0134] 當(dāng)所述第一閾值< Nfreel <第二閾值時(shí),認(rèn)為第一存儲(chǔ)器中空閑物理塊的數(shù)量 既不多也不過(guò)少,在決定要降級(jí)的數(shù)據(jù)塊數(shù)量時(shí),除了考慮第二存儲(chǔ)器還能容納的數(shù)據(jù)塊 數(shù)量以及根據(jù)第一存儲(chǔ)器的負(fù)載和第二存儲(chǔ)器的負(fù)載在第一存儲(chǔ)器和第二存儲(chǔ)器之間能 傳輸?shù)臄?shù)據(jù)塊數(shù)量外,還可以結(jié)合第一存儲(chǔ)器中空閑物理塊的減少量來(lái)決定應(yīng)降級(jí)的數(shù)據(jù) 塊的數(shù)量。ANfreel =Nfreel'_Nfreel,為從上一次進(jìn)行降級(jí)遷移到本次降級(jí)遷移之間 第一存儲(chǔ)器中空閑物理塊的減少量。如果ANfreel >0,可以使要降級(jí)的數(shù)據(jù)塊數(shù)量為 min(Nfree2,C, ANfreel),min(Nfree2,C, ANfreel)表不 Nfree2、C 和 ANfreel 中的最小 值。
[0135]在又一種可行的實(shí)施方式中,當(dāng)Nfreel >第一閾值時(shí),可不降級(jí)第一存儲(chǔ)器中的 數(shù)據(jù)塊。
[0136] 參見(jiàn)圖3,為本發(fā)明的分層存儲(chǔ)管理方法的另一實(shí)施例的流程示意圖。圖3以存儲(chǔ) 系統(tǒng)內(nèi)包括K種存儲(chǔ)器為例進(jìn)行說(shuō)明,其中所述K種存儲(chǔ)器包括第i存儲(chǔ)器、第i-1存儲(chǔ)器 和第i-2存儲(chǔ)器,且所述第i存儲(chǔ)器的訪問(wèn)速度大于所述第i-1存儲(chǔ)器的訪問(wèn)速度,所述第 i_l存儲(chǔ)器的訪問(wèn)速度大于所述第i_2存儲(chǔ)器的訪問(wèn)速度,i按照從大到小的順序依次從K 取到3且i取整數(shù)。如圖3所示,該分層存儲(chǔ)管理方法可以包括以下步驟:
[0137] S301,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更 新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊 中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述a n個(gè)第N虛擬塊的熱度值進(jìn)行更新;對(duì) 于X的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax個(gè)第X虛擬塊中每 個(gè)第X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述個(gè)第x-1虛擬塊的熱度值進(jìn)行 更新。
[0138] S302,根據(jù)第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第 一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值;y 按照從小到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取值對(duì)應(yīng)的第 y中間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-1虛擬塊包含的多個(gè)第y 虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度值大于或 者等于所述第y中間層的閾值。
[0139] 具體實(shí)施中,步驟S301和步驟S302分別與圖2所示實(shí)施例的步驟S201和步驟 S202相同,在此不贅述。
[0140] S303,對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度 值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度 等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器 的種類。
[0141] 可選地,對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值 的大小進(jìn)行排序時(shí),可采用桶排序算法。
[0142] 本實(shí)施例中,存儲(chǔ)系統(tǒng)中包括多于兩種存儲(chǔ)器,可將該多于兩種存儲(chǔ)器按照訪問(wèn) 速度的快慢可分成至少兩個(gè)級(jí)別,例如:存儲(chǔ)系統(tǒng)中可包括固態(tài)硬盤(Solid State Drive, SSD)和硬盤驅(qū)動(dòng)器(Hard Disk Drive,HDD)兩種存儲(chǔ)器,HDD按照接口不同可以包括光纖 通道(Fibre Channel,F(xiàn)C)硬盤、串行連接 SCSI (Serial Attached SCSI,SAS)硬盤、串行 高級(jí)技術(shù)附件(Serial Advanced Technology Attachment,SATA)硬盤等多種存儲(chǔ)器,其 中SSD可以是第一級(jí)別,F(xiàn)C硬盤和SAS硬盤可以是第二級(jí)別,SATA硬盤可以是第三級(jí)別。 此時(shí),可使熱度等級(jí)的數(shù)量等于存儲(chǔ)器的級(jí)別數(shù)并使每一熱度等級(jí)對(duì)應(yīng)于一種存儲(chǔ)器的級(jí) 另IJ。更新各目標(biāo)數(shù)據(jù)塊的熱度等級(jí)時(shí),可根據(jù)每個(gè)熱度等級(jí)對(duì)應(yīng)的存儲(chǔ)器包含的物理塊數(shù) 量以及各目標(biāo)數(shù)據(jù)塊的熱度值來(lái)更新。例如:將熱度值較高的第三數(shù)量的目標(biāo)數(shù)據(jù)塊的熱 度等級(jí)更新為第一等級(jí);將其他目標(biāo)數(shù)據(jù)塊中熱度值較高的第四數(shù)量的目標(biāo)數(shù)據(jù)塊的熱度 等級(jí)更新為第二等級(jí);將剩下的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第三等級(jí),其中第三數(shù)量小 于或等于第一級(jí)別的存儲(chǔ)器中包含的物理塊數(shù)量;第四數(shù)量小于或等于第二級(jí)別的存儲(chǔ)器 中包含的物理塊數(shù)量;剩下的目標(biāo)數(shù)據(jù)塊的數(shù)量小于或等于第三級(jí)別的存儲(chǔ)器中包含的物 理塊數(shù)量。
[0143] S304,比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的熱度等 級(jí),并確定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù)據(jù)塊中 的且更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊。
[0144] S305,在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn)行升級(jí)處 理。
[0145] S306,在時(shí)間間隔T2內(nèi),將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所 述第i-2存儲(chǔ)器,將位于所述第i-1存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-2存儲(chǔ) 器,以及將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_l存儲(chǔ)器。
[0146] 具體地,在統(tǒng)計(jì)周期T1內(nèi)確定出需要升級(jí)的數(shù)據(jù)塊后,可以連續(xù)在多個(gè)時(shí)間間隔 T 2內(nèi)對(duì)數(shù)據(jù)塊進(jìn)行降級(jí)。在該多個(gè)時(shí)間間隔T2中,如果被訪問(wèn)的數(shù)據(jù)塊是在統(tǒng)計(jì)周期T1內(nèi) 確定出需要升級(jí)的數(shù)據(jù)塊,則將被訪問(wèn)的數(shù)據(jù)塊升級(jí)。
[0147] 具體實(shí)施中,步驟S306可包括:
[0148] 將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,將位于所述第 i_l存儲(chǔ)器的數(shù)據(jù)塊也按照熱度值的大小進(jìn)行排序,并從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊 的排序結(jié)果和所述第i_l存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中共同選擇出熱度值比較小的 Nfree (i-2)個(gè)數(shù)據(jù)塊,將所述Nfree (i-2)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-2存儲(chǔ)器,所述 Nfree (i-2)為所述第i-2存儲(chǔ)器包括的空閑物理塊的數(shù)量;
[0149] 將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并從所述第i存 儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中選擇出熱度值比較小的Nf ree(i-1)個(gè)數(shù)據(jù)塊,將所述 Nfree (i-1)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-1存儲(chǔ)器,所述Nfree (i-1)為所述第i-1存儲(chǔ)器 包括的空閑物理塊的數(shù)量。
[0150] 具體實(shí)施中,從第i存儲(chǔ)器和第i_l存儲(chǔ)器中選出的要降級(jí)到第i-2存儲(chǔ)器的數(shù) 據(jù)塊數(shù)量可以小于Nfree (i-2);從第i存儲(chǔ)器中選出的要降級(jí)到第i-1存儲(chǔ)器的數(shù)據(jù)塊數(shù) 量也可以小于Nfree (i_l)。
[0151] 圖2或圖3所示的分層存儲(chǔ)管理方法,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪 問(wèn)的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì)第X中 間層中包含的虛擬塊的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到N,逐層 從第y-1層的目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊; 當(dāng)確定出至少一個(gè)目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目 標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目 標(biāo)數(shù)據(jù)塊的熱度等級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo)虛擬塊, 最終從整個(gè)存儲(chǔ)系統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要對(duì)存儲(chǔ)系 統(tǒng)進(jìn)行管理(例如數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需要處理的 數(shù)據(jù)量,從而可減少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0152] 參見(jiàn)圖4,為本發(fā)明的分層存儲(chǔ)管理裝置的一實(shí)施例的結(jié)構(gòu)示意圖。如圖4所示, 該分層存儲(chǔ)管理裝置可包括熱度值更新單元401、確定單元402以及第一排序單元403,其 中:
[0153] 當(dāng)N彡2時(shí),
[0154]熱度值更新單元401,用于在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù) 塊被訪問(wèn)的次數(shù),更新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大; 根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述a n個(gè)第N虛擬塊的 熱度值進(jìn)行更新;對(duì)于X的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax 個(gè)第X虛擬塊中每個(gè)第X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述個(gè)第x-1虛 擬塊的熱度值進(jìn)行更新。
[0155] 具體地,熱度值可以根據(jù)數(shù)據(jù)塊在一定時(shí)間內(nèi)被訪問(wèn)的次數(shù)、數(shù)據(jù)塊被訪問(wèn)的頻 率和/或數(shù)據(jù)塊被訪問(wèn)的時(shí)間間隔計(jì)算得到。其中,上述的一定時(shí)間可包括統(tǒng)計(jì)周期
[0156] 可選地,可在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),更新該數(shù)據(jù)塊的熱度值并根據(jù)該數(shù)據(jù)塊 的熱度值從X = N到X = 1逐層更新第X層中包含該數(shù)據(jù)塊的虛擬塊的熱度值;或者,也可 在每次一個(gè)數(shù)據(jù)塊被訪問(wèn)時(shí),先更新該數(shù)據(jù)塊的熱度值,等到某個(gè)特定時(shí)間,例如統(tǒng)計(jì)周期 T 1的周期末,再根據(jù)L個(gè)數(shù)據(jù)塊的熱度值從X = N到X = 1逐層更新第X層中各虛擬塊的 熱度值。
[0157] 確定單元402,用于根據(jù)第一中間層的閾值,從所述&1個(gè)第一虛擬塊中確定出至少 一個(gè)目標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間 層的閾值;y按照從小到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取 值對(duì)應(yīng)的第y中間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-1虛擬塊包含 的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱 度值大于或者等于所述第y中間層的閾值。
[0158] 本發(fā)明實(shí)施例中,每個(gè)中間層的閾值是自適應(yīng)的,其中第一中間層的閾值是根據(jù) 第一中間層%個(gè)第一虛擬塊中包含的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的; 可選地,可取第一中間層的閾值A(chǔ)1= ,其中U1為所述 &1個(gè)第一虛擬塊包括的數(shù) 據(jù)塊的熱度值平均值,O1為所述%個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,^為 〇1 的系數(shù),而且,0 i不等于零,h G [0, ii i/ 0 i)。
[0159] 對(duì)于y從2到N的每一個(gè)取值,第y中間層的閾值為根據(jù)所述至少一個(gè)目標(biāo)第y-1 虛擬塊所包含多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的; 可選地,可取第y中間層的閾值A(chǔ) y= i!y-ty*〇y,其中Uy為所述至少一個(gè)目標(biāo)第y-1虛擬 塊包含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值,〇 y為所述至少一個(gè)目標(biāo)第y-1虛 擬塊包含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,ty為〇 y的系數(shù),ty隨著y的遞 增而遞減,而且,。y不等于零,G e [0,//>,/crj。
[0160] 根據(jù)切比雪夫定律,第y中間層的虛擬塊的熱度值Xy大于第y中間層的閾值A(chǔ)y 的概率?%>117-&*〇7)彡1-1/\2,即第7中間層中選出的目標(biāo)第7虛擬塊的比例至少是 l-1/ty 2。為避免熱度值較高的數(shù)據(jù)塊被漏選,第y-1中間層中目標(biāo)第y-1虛擬塊所占的比 例應(yīng)高于第y中間層中目標(biāo)第y虛擬塊所占的比例。因此使t y隨著y的遞增而遞減。
[0161] 第一排序單元403,用于對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目 標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一 目標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系 統(tǒng)內(nèi)包括的存儲(chǔ)器的種類。
[0162] 可選地,對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值 的大小進(jìn)行排序時(shí),可采用桶排序算法。
[0163] 可選地,若存儲(chǔ)系統(tǒng)包括第一存儲(chǔ)器和第二存儲(chǔ)器,且第一存儲(chǔ)器的訪問(wèn)速度大 于第二存儲(chǔ)器的訪問(wèn)速度,熱度等級(jí)包括與第一存儲(chǔ)器對(duì)應(yīng)的第一等級(jí)和與第二存儲(chǔ)層對(duì) 應(yīng)的第二等級(jí)。那么可以把熱度值較高的第一數(shù)量的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第一等 級(jí),把剩下的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第二等級(jí),其中第一數(shù)量不大于第一存儲(chǔ)器包 含的物理塊的數(shù)量,剩下的目標(biāo)數(shù)據(jù)塊的數(shù)量不大于第二存儲(chǔ)器包含的物理塊的數(shù)量。
[0164] 可選地,若存儲(chǔ)系統(tǒng)中包括多于兩種存儲(chǔ)器,可將該多于兩種存儲(chǔ)器按照訪問(wèn)速 度的快慢可分成至少兩個(gè)級(jí)別,例如:存儲(chǔ)系統(tǒng)中可包括固態(tài)硬盤(Solid State Drive, SSD)和硬盤驅(qū)動(dòng)器(Hard Disk Drive,HDD)兩種存儲(chǔ)器,HDD按照接口不同可以包括光纖 通道(Fibre Channel,F(xiàn)C)硬盤、串行連接 SCSI (Serial Attached SCSI,SAS)硬盤、串行 高級(jí)技術(shù)附件(Serial Advanced Technology Attachment,SATA)硬盤等多種存儲(chǔ)器,其 中SSD可以是第一級(jí)別,F(xiàn)C硬盤和SAS硬盤可以是第二級(jí)別,SATA硬盤可以是第三級(jí)別。 此時(shí),可使熱度等級(jí)的數(shù)量等于存儲(chǔ)器的級(jí)別數(shù)并使每一熱度等級(jí)對(duì)應(yīng)于一種存儲(chǔ)器的級(jí) 另IJ。更新各目標(biāo)數(shù)據(jù)塊的熱度等級(jí)時(shí),可根據(jù)每個(gè)熱度等級(jí)對(duì)應(yīng)的存儲(chǔ)器包含的物理塊數(shù) 量以及各目標(biāo)數(shù)據(jù)塊的熱度值來(lái)更新。例如:將熱度值較高的第三數(shù)量的目標(biāo)數(shù)據(jù)塊的熱 度等級(jí)更新為第一等級(jí);將其他目標(biāo)數(shù)據(jù)塊中熱度值較高的第四數(shù)量的目標(biāo)數(shù)據(jù)塊的熱度 等級(jí)更新為第二等級(jí);將剩下的目標(biāo)數(shù)據(jù)塊的熱度等級(jí)更新為第三等級(jí),其中第三數(shù)量小 于或等于第一級(jí)別的存儲(chǔ)器中包含的物理塊數(shù)量;第四數(shù)量小于或等于第二級(jí)別的存儲(chǔ)器 中包含的物理塊數(shù)量;剩下的目標(biāo)數(shù)據(jù)塊的數(shù)量小于或等于第三級(jí)別的存儲(chǔ)器中包含的物 理塊數(shù)量。
[0165]當(dāng) N = 1 時(shí),
[0166] 所述熱度值更新單元401,還用于在所述T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊 被訪問(wèn)的次數(shù),更新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根 據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第一中間層中的所述 ai個(gè)第一虛擬塊的 熱度值進(jìn)行更新;
[0167] 所述確定單元402,還用于根據(jù)所述第一中間層的閾值,從所述&1個(gè)第一虛擬塊中 確定出至少一個(gè)目標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所 述第一中間層的閾值;
[0168] 所述第一排序單元403,還用于對(duì)確定出的所述至少一個(gè)目標(biāo)第一虛擬塊包含的 多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊 中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述 存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器的種類。
[0169] 更新完目標(biāo)數(shù)據(jù)塊的熱度等級(jí)后,可將更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊 確定為需要升級(jí)的數(shù)據(jù)塊。隨后當(dāng)這些需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將會(huì)觸發(fā)對(duì)該被訪問(wèn) 的數(shù)據(jù)塊的升級(jí)操作。
[0170] 可知,圖4所示的分層存儲(chǔ)管理裝置,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪 問(wèn)的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì)第X中 間層中包含的虛擬塊的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到N,逐層 從第y-1層的目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊; 當(dāng)確定出至少一個(gè)目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目 標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目 標(biāo)數(shù)據(jù)塊的熱度等級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo)虛擬塊, 最終從整個(gè)存儲(chǔ)系統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要對(duì)存儲(chǔ)系 統(tǒng)進(jìn)行管理(例如數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需要處理的 數(shù)據(jù)量,從而可減少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0171] 參見(jiàn)圖5,為本發(fā)明的分層存儲(chǔ)管理裝置的另一實(shí)施例的結(jié)構(gòu)示意圖。如圖5所 示,該分層存儲(chǔ)管理裝置可包括:熱度值更新單元401、確定單元402、以及第一排序單元 403,還可包括比較單元404、升級(jí)單元405、第一降級(jí)單元406、和第二排序單元407中至少 一種,其中:
[0172] 熱度值更新單元401、確定單元402和第一排序單元403的具體結(jié)構(gòu)或功能可參閱 圖4所示實(shí)施例的相關(guān)描述,在此不贅述。
[0173] 本實(shí)施例中,存儲(chǔ)系統(tǒng)包括第一存儲(chǔ)器和第二存儲(chǔ)器,且第一存儲(chǔ)器的訪問(wèn)速度 大于第二存儲(chǔ)器的訪問(wèn)速度。
[0174] 比較單元404,用于比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新 后的熱度等級(jí),并確定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目 標(biāo)數(shù)據(jù)塊中的且更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊。
[0175] 升級(jí)單元405,用于在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊 進(jìn)行升級(jí)處理。
[0176] 第一降級(jí)單元406,用于在時(shí)間間隔T2內(nèi),將位于所述第一存儲(chǔ)器內(nèi)的需要降級(jí)的 數(shù)據(jù)塊遷移到所述第二存儲(chǔ)器,所述T 2用于進(jìn)行降級(jí)遷移且所述T2的長(zhǎng)度是固定的。
[0177] 具體地,在統(tǒng)計(jì)周期T1內(nèi)確定出需要升級(jí)的數(shù)據(jù)塊后,可以連續(xù)在多個(gè)時(shí)間間隔 T 2內(nèi)對(duì)數(shù)據(jù)塊進(jìn)行降級(jí)。在該多個(gè)時(shí)間間隔T2中,如果被訪問(wèn)的數(shù)據(jù)塊是在統(tǒng)計(jì)周期T1內(nèi) 確定出需要升級(jí)的數(shù)據(jù)塊,則將被訪問(wèn)的數(shù)據(jù)塊升級(jí)。
[0178] 第二排序單元407,用于對(duì)位于所述第一存儲(chǔ)器內(nèi)的數(shù)據(jù)塊按照熱度值的大小進(jìn) 行排序。
[0179] 在Nfreel <第一閾值時(shí),所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的 熱度值比較小的min (Nfree2,C)個(gè)數(shù)據(jù)塊,其中,所述第一閾值是由確定出的需要升級(jí)的 數(shù)據(jù)塊的數(shù)目確定的,或者,所述第一閾值是由平均每時(shí)間間隔T 2內(nèi)需要從所述第一存儲(chǔ) 器降級(jí)遷移到所述第二存儲(chǔ)器的數(shù)據(jù)塊的數(shù)目確定的;或者,所述第一閾值的大小由所述 第一存儲(chǔ)器內(nèi)包含的所有物理塊的數(shù)目減去確定出的所述多個(gè)目標(biāo)數(shù)據(jù)塊的數(shù)目得到的 數(shù)值確定的。
[0180] 其中,Nfreel是指所述第一存儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;Nfree2是指所述第二存 儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;所述物理塊用于存儲(chǔ)所述數(shù)據(jù)塊;C是指在所述時(shí)間間隔T 2內(nèi), 所述第一存儲(chǔ)器向所述第二存儲(chǔ)器之間傳輸?shù)牟⒈凰龅诙鎯?chǔ)器接收的數(shù)據(jù)塊的數(shù)量。
[0181] 當(dāng)Nfreel <第一閾值時(shí),認(rèn)為第一存儲(chǔ)器中空閑的物理塊數(shù)量較少,如果第二存 儲(chǔ)器還能接收數(shù)據(jù)塊,應(yīng)盡量將第一存儲(chǔ)器中的數(shù)據(jù)塊降級(jí)。將第一存儲(chǔ)器中的數(shù)據(jù)塊遷 移到第二存儲(chǔ)器時(shí),不僅要考慮第二存儲(chǔ)器還能容納多少個(gè)數(shù)據(jù)塊,還要考慮根據(jù)第一存 儲(chǔ)器的負(fù)載和第二存儲(chǔ)器的負(fù)載在第一存儲(chǔ)器和第二存儲(chǔ)器之間能傳輸多少個(gè)數(shù)據(jù)塊,因 此使需要降級(jí)的數(shù)據(jù)塊數(shù)量為1^11(財(cái)代62,〇,1^11(財(cái)代62,〇指財(cái)代62和(:中的最小值。 可選地,還可使需要降級(jí)的數(shù)據(jù)塊數(shù)量小于min (Nfree2, C)。
[0182] 在所述第一閾值< Nfreel <第二閾值時(shí),所述需要降級(jí)的數(shù)據(jù)塊是指從所述排 序結(jié)果中選出的熱度值比較小的min (Nfree2,C, ANfreel)個(gè)數(shù)據(jù)塊。
[0183] 其中,ANfreel = Nfreel'_Nfreel,Nfreel'為在上一次進(jìn)行降級(jí)遷移時(shí),所述第 一存儲(chǔ)器內(nèi)的空閑物理塊的數(shù)量,且ANfreel的值為大于0的整數(shù),所述第二閾值是根據(jù) 在所述T 2內(nèi)升級(jí)數(shù)據(jù)塊的平均速率確定的,以保證所述第一存儲(chǔ)器內(nèi)的空閑物理塊不會(huì)被 所述T2內(nèi)的升級(jí)的數(shù)據(jù)塊占用完,所述第一閾值小于所述第二閾值。
[0184] 當(dāng)?shù)谝婚撝?lt; Nfreel <第二閾值時(shí),認(rèn)為第一存儲(chǔ)器中空閑物理塊的數(shù)量既不 多也不過(guò)少,在決定要降級(jí)的數(shù)據(jù)塊數(shù)量時(shí),除了考慮第二存儲(chǔ)器還能容納的數(shù)據(jù)塊數(shù)量 以及根據(jù)第一存儲(chǔ)器的負(fù)載和第二存儲(chǔ)器的負(fù)載在第一存儲(chǔ)器和第二存儲(chǔ)器之間能傳輸 的數(shù)據(jù)塊數(shù)量外,還可以結(jié)合第一存儲(chǔ)器中空閑物理塊的減少量來(lái)決定應(yīng)降級(jí)的數(shù)據(jù)塊 的數(shù)量。ANfreel = Nfreel'-Nfreel,為從上一次進(jìn)行降級(jí)遷移到本次降級(jí)遷移之間 第一存儲(chǔ)器中空閑物理塊的減少量。如果ANfreel >0,可以使要降級(jí)的數(shù)據(jù)塊數(shù)量為 min(Nfree2,C, ANfreel),min(Nfree2,C, ANfreel)表不 Nfree2、C 和 ANfreel 中的最小 值。
[0185] 當(dāng)Nfreel >第一閾值時(shí),可不降級(jí)第一存儲(chǔ)器中的數(shù)據(jù)塊。
[0186] 可知,圖5所示的分層存儲(chǔ)管理裝置,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪 問(wèn)的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì)第X中 間層中包含的虛擬塊的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到N,逐層 從第y-1層的目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊; 當(dāng)確定出至少一個(gè)目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目 標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目 標(biāo)數(shù)據(jù)塊的熱度等級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo)虛擬塊, 最終從整個(gè)存儲(chǔ)系統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要對(duì)存儲(chǔ)系 統(tǒng)進(jìn)行管理(例如數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需要處理的 數(shù)據(jù)量,從而可減少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0187] 參見(jiàn)圖6,為本發(fā)明的分層存儲(chǔ)管理裝置的另一實(shí)施例的結(jié)構(gòu)示意圖。如圖6所 示,該分層存儲(chǔ)管理裝置可包括:熱度值更新單元401、確定單元402、第一排序單元403、比 較單元404、升級(jí)單元405以及第二降級(jí)單元408,其中:
[0188] 熱度值更新單元401、確定單元402和第一排序單元403的具體結(jié)構(gòu)或功能可參閱 圖4所示實(shí)施例的相關(guān)描述,在此不贅述。
[0189] 本實(shí)施例中,所述存儲(chǔ)系統(tǒng)內(nèi)包括K種存儲(chǔ)器,其中K>3且K為整數(shù),所述K種 存儲(chǔ)器包括第i存儲(chǔ)器、第i-1存儲(chǔ)器和第i-2存儲(chǔ)器,且所述第i存儲(chǔ)器的訪問(wèn)速度大于 所述第i-1存儲(chǔ)器的訪問(wèn)速度,所述第i-1存儲(chǔ)器的訪問(wèn)速度大于所述第i-2存儲(chǔ)器的訪 問(wèn)速度時(shí),其中,i按照從大到小的順序依次從K取到3且i取整數(shù)。
[0190] 比較單元404,用于比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新 后的熱度等級(jí),并確定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目 標(biāo)數(shù)據(jù)塊中的且更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊。
[0191] 升級(jí)單元405,用于在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊 進(jìn)行升級(jí)處理。
[0192] 第二降級(jí)單元408,用于在所述T2內(nèi),將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù) 塊遷移到所述第i-2存儲(chǔ)器,將位于所述第i-1存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述 第i-2存儲(chǔ)器,以及將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-1存儲(chǔ) 器。
[0193] 具體地,在統(tǒng)計(jì)周期T1內(nèi)確定出需要升級(jí)的數(shù)據(jù)塊后,第二降級(jí)單元408可以連 續(xù)在多個(gè)時(shí)間間隔T 2內(nèi)對(duì)數(shù)據(jù)塊進(jìn)行降級(jí)。在該多個(gè)時(shí)間間隔T2中,如果被訪問(wèn)的數(shù)據(jù)塊 是在統(tǒng)計(jì)周期T1內(nèi)確定出需要升級(jí)的數(shù)據(jù)塊,則將被訪問(wèn)的數(shù)據(jù)塊升級(jí)。
[0194] 可選地,如圖7所示,第二降級(jí)單元408可包括:
[0195] 第三排序單元4081,用于將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行 排序,將位于所述第i-1存儲(chǔ)器的數(shù)據(jù)塊也按照熱度值的大小進(jìn)行排序。
[0196] 第一選擇單元4082,用于從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果和所述第 i_l存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中共同選擇出熱度值比較小的Nfree (i-2)個(gè)數(shù)據(jù)塊, 將所述Nfree (i-2)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-2存儲(chǔ)器,所述Nfree (i-2)為所述第i-2 存儲(chǔ)器包括的空閑物理塊的數(shù)量。
[0197] 第四排序單元4083,用于將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行 排序。
[0198] 第二選擇單元4084,用于從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中選擇出熱 度值比較小的Nfree (i-1)個(gè)數(shù)據(jù)塊,將所述Nfree (i-1)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-1 存儲(chǔ)器,所述Nfree (i-1)為所述第i-1存儲(chǔ)器包括的空閑物理塊的數(shù)量。
[0199] 具體實(shí)施中,從第i存儲(chǔ)器和第i_l存儲(chǔ)器中選出的要降級(jí)到第i_2存儲(chǔ)器的數(shù) 據(jù)塊數(shù)量可以小于Nfree (i-2);從第i存儲(chǔ)器中選出的要降級(jí)到第i-1存儲(chǔ)器的數(shù)據(jù)塊數(shù) 量也可以小于Nfree (i_l)。
[0200] 圖6-7所示的分層存儲(chǔ)管理裝置,在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)每個(gè)數(shù)據(jù)塊被訪問(wèn) 的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì)第X中間 層中包含的虛擬塊的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到N,逐層從 第y-1層的目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊; 當(dāng)確定出至少一個(gè)目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目 標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目 標(biāo)數(shù)據(jù)塊的熱度等級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo)虛擬塊, 最終從整個(gè)存儲(chǔ)系統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要對(duì)存儲(chǔ)系 統(tǒng)進(jìn)行管理(例如數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需要處理的 數(shù)據(jù)量,從而可減少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0201] 如圖8所示,本發(fā)明實(shí)施例還提供了一種分層存儲(chǔ)管理裝置,該分層存儲(chǔ)管理裝 置可包括:處理器801、存儲(chǔ)器802以及接口 803,其中處理器801、存儲(chǔ)器802和接口 803通 過(guò)總線804連接。具體地,接口 803用于和其他設(shè)備(如存儲(chǔ)設(shè)備)通信;存儲(chǔ)器用于存儲(chǔ) 指令8021 ;處理器801用于執(zhí)行指令8021以實(shí)現(xiàn)圖1-圖3所示的方法。
[0202] 本發(fā)明實(shí)施例還相應(yīng)提供了一種存儲(chǔ)系統(tǒng),如圖9所示,該存儲(chǔ)系統(tǒng)可包括圖4-7 所示的分層存儲(chǔ)管理裝置以及R種存儲(chǔ)器,R為大于或者等于2的整數(shù)。其中該R種存儲(chǔ) 器內(nèi)存儲(chǔ)有至少L個(gè)數(shù)據(jù)塊,該分層存儲(chǔ)管理裝置用于從該至少L個(gè)數(shù)據(jù)塊中確定出多個(gè) 目標(biāo)數(shù)據(jù)塊,根據(jù)所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度值,將所述多個(gè)目標(biāo)數(shù)據(jù) 塊劃分為R個(gè)熱度等級(jí)。
[0203] 具體地,分層存儲(chǔ)管理裝置的構(gòu)或功能可參見(jiàn)圖4-7所示實(shí)施例的描述,在此不 贅述。
[0204] 根據(jù)圖4-7所示的實(shí)施例可知,該存儲(chǔ)系統(tǒng)在一個(gè)統(tǒng)計(jì)周期Tl內(nèi),根據(jù)每個(gè)數(shù)據(jù) 塊被訪問(wèn)的次數(shù),更新各個(gè)數(shù)據(jù)塊的熱度值;X按照從大到小的順序依次從N取到2,逐層對(duì) 第X中間層中包含的虛擬塊的熱度值進(jìn)行更新;整數(shù)y按照從小到大的順序依次從2取到 N,逐層從第y-1層的目標(biāo)第y-1虛擬塊包含的多個(gè)第y虛擬塊中確定出至少一個(gè)目標(biāo)第y 虛擬塊;當(dāng)確定出至少一個(gè)目標(biāo)第N虛擬塊時(shí),對(duì)確定出的至少一個(gè)目標(biāo)第N虛擬塊包含的 多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中 每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí)。采用此方法,只需從每個(gè)中間層中選出部分虛擬塊作為目標(biāo) 虛擬塊,最終從整個(gè)存儲(chǔ)系統(tǒng)包含的大量數(shù)據(jù)塊中選出熱度值較高的目標(biāo)數(shù)據(jù)塊,當(dāng)需要 對(duì)存儲(chǔ)系統(tǒng)進(jìn)行管理(例如數(shù)據(jù)塊升級(jí))時(shí),只需針對(duì)目標(biāo)數(shù)據(jù)塊進(jìn)行統(tǒng)計(jì),大大減少了需 要處理的數(shù)據(jù)量,從而可減少管理存儲(chǔ)系統(tǒng)時(shí)的內(nèi)存開(kāi)銷和時(shí)間開(kāi)銷。
[0205] 本發(fā)明實(shí)施例方法中的步驟可以根據(jù)實(shí)際需要進(jìn)行順序調(diào)整、合并和刪減。
[0206] 本發(fā)明實(shí)施例中的模塊或單元可以根據(jù)實(shí)際需要進(jìn)行合并、劃分和刪減。
[0207] 本發(fā)明實(shí)施例的模塊或單元,可以以通用集成電路(如中央處理器CPU),或以專 用集成電路(ASIC)來(lái)實(shí)現(xiàn)。
[0208] 本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以 通過(guò)計(jì)算機(jī)程序來(lái)指令相關(guān)的硬件來(lái)完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì) 中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁 碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory, ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
[0209] 以上所述的實(shí)施方式,并不構(gòu)成對(duì)該技術(shù)方案保護(hù)范圍的限定。任何在上述實(shí)施 方式的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在該技術(shù)方案的保護(hù)范 圍之內(nèi)。
【權(quán)利要求】
1. 一種分層存儲(chǔ)管理方法,其特征在于,應(yīng)用于存儲(chǔ)系統(tǒng), 所述存儲(chǔ)系統(tǒng)包括至少L個(gè)數(shù)據(jù)塊且所述存儲(chǔ)系統(tǒng)包括N個(gè)中間層,N為整數(shù),其中,L> 3且L為整數(shù),所述L個(gè)數(shù)據(jù)塊被分配到位于第N中間層的an個(gè)第N虛擬塊中,所述an 個(gè)第N虛擬塊中每一第N虛擬塊包括至少一個(gè)數(shù)據(jù)塊,其中,2 <an <L且an為整數(shù);X按 照從大到小的順序依次從N取到2,且所述X取整數(shù),對(duì)于所述X的每一個(gè)取值對(duì)應(yīng)的第X 中間層的ax個(gè)第X虛擬塊,被分配到位于第x-1中間層的個(gè)第x-1虛擬塊中,所述ax_i 個(gè)第x-1虛擬塊中每一第x-1虛擬塊包括至少一個(gè)第X虛擬塊,an> 2且ay為整數(shù),ax > 且ax為整數(shù); 所述方法包括: 當(dāng)N彡2時(shí), 在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新所述L個(gè) 數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù) 據(jù)塊的熱度值,對(duì)所述第N中間層的所述a"個(gè)第N虛擬塊的熱度值進(jìn)行更新;對(duì)于X的每 一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax個(gè)第X虛擬塊中每個(gè)第X虛 擬塊的熱度值,對(duì)所述第x-1中間層中的所述個(gè)第x-1虛擬塊的熱度值進(jìn)行更新; 根據(jù)第一中間層的閾值,從所述%個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第一虛擬塊, 所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值;y按照從小 到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取值對(duì)應(yīng)的第y中間層, 根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-Ι虛擬塊包含的多個(gè)第y虛擬塊中 確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度值大于或者等于所 述第y中間層的閾值; 對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的大小 進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述 熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器的種類; 當(dāng)N= 1時(shí), 在所述T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn)的次數(shù),更新所述L個(gè)數(shù)據(jù)塊 的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的 熱度值,對(duì)所述第一中間層中的所述S1個(gè)第一虛擬塊的熱度值進(jìn)行更新; 根據(jù)所述第一中間層的閾值,從所述%個(gè)第一虛擬塊中確定出至少一個(gè)目標(biāo)第一虛擬 塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾值; 對(duì)確定出的所述至少一個(gè)目標(biāo)第一虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊按照熱度值的大小 進(jìn)行排序,并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述 熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括的存儲(chǔ)器的種類,所 述存儲(chǔ)系統(tǒng)包括至少兩種存儲(chǔ)器。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的熱度等級(jí),并確定出 需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù)據(jù)塊中的且更新后熱 度等級(jí)1?于原熱度等級(jí)的數(shù)據(jù)塊; 在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn)行升級(jí)處理。
3. 根據(jù)權(quán)利要求1或2所述的方法,其特征在于: 所述第一中間層的閾值是根據(jù)所述^個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值平均值和 熱度值標(biāo)準(zhǔn)差計(jì)算得到的。
4. 根據(jù)權(quán)利要求3所述的方法,其特征在于: 所述第一中間層的閾值A(chǔ)1 =μ^t1*σi,μi為所述ai個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱 度值平均值,σi為所述ai個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,tl為σi的系數(shù), 其中,〇i不等于零,Le[〇,μ^σJ。
5. 根據(jù)權(quán)利要求1至4任一項(xiàng)所述的方法,其特征在于: 所述第y中間層的閾值是根據(jù)所述至少一個(gè)目標(biāo)第y-Ι虛擬塊包含的多個(gè)第y虛擬塊 對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的。
6. 根據(jù)權(quán)利要求5所述的方法,其特征在于: 所述第y中間層的閾值A(chǔ)y =μy_ty*σy,μy為所述至少一個(gè)目標(biāo)第y-ι虛擬塊包含的 多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值,σy為所述至少一個(gè)目標(biāo)第y-ι虛擬塊包 含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,ty為σy的系數(shù),ty隨著y的遞增而遞 減,其中,0y不等于零,Le 。
7. 根據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于: 在所述存儲(chǔ)系統(tǒng)內(nèi)包括兩種存儲(chǔ)器,所述兩種存儲(chǔ)器包括第一存儲(chǔ)器和第二存儲(chǔ)器, 且所述第一存儲(chǔ)器的訪問(wèn)速度大于所述第二存儲(chǔ)器的訪問(wèn)速度, 所述方法還包括: 在時(shí)間間隔T2內(nèi),將位于所述第一存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第二存儲(chǔ) 器,所述T2用于進(jìn)行降級(jí)遷移且所述T2的長(zhǎng)度是固定的; 在Nfreel<第一閾值時(shí),對(duì)位于所述第一存儲(chǔ)器內(nèi)的數(shù)據(jù)塊按照熱度值的大 小進(jìn)行排序,所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的熱度值比較小的 min(Nfree2,C)個(gè)數(shù)據(jù)塊,其中,所述第一閾值是由確定出的需要升級(jí)的數(shù)據(jù)塊的數(shù)目確定 的,或者,所述第一閾值是由平均每時(shí)間間隔T2內(nèi)需要從所述第一存儲(chǔ)器降級(jí)遷移到所述 第二存儲(chǔ)器的數(shù)據(jù)塊的數(shù)目確定的;或者,所述第一閾值的大小由所述第一存儲(chǔ)器內(nèi)包含 的所有物理塊的數(shù)目減去確定出的所述多個(gè)目標(biāo)數(shù)據(jù)塊的數(shù)目得到的數(shù)值確定的; 其中,Nfreel是指所述第一存儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;Nfree2是指所述第二存儲(chǔ)器 內(nèi)空閑物理塊的數(shù)量;所述物理塊用于存儲(chǔ)所述數(shù)據(jù)塊;C是指在所述時(shí)間間隔T2內(nèi),所述 第一存儲(chǔ)器向所述第二存儲(chǔ)器之間傳輸?shù)牟⒈凰龅诙鎯?chǔ)器接收的數(shù)據(jù)塊的數(shù)量。
8. 根據(jù)權(quán)利要求7所述的方法,其特征在于: 在所述第一閾值<Nfreel<第二閾值時(shí),所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié) 果中選出的熱度值比較小的min(Nfree2,C,ANfreel)個(gè)數(shù)據(jù)塊; 其中,ANfreel=Nfreel'_Nfreel,Nfreel'為在上一次進(jìn)行降級(jí)遷移時(shí),所述第一存 儲(chǔ)器內(nèi)的空閑物理塊的數(shù)量,且ANfreel的值為大于O的整數(shù),所述第二閾值是根據(jù)在所 述T2內(nèi)升級(jí)數(shù)據(jù)塊的平均速率確定的,以保證所述第一存儲(chǔ)器內(nèi)的空閑物理塊不會(huì)被所述 T2內(nèi)的升級(jí)的數(shù)據(jù)塊占用完,所述第一閾值小于所述第二閾值。
9. 根據(jù)權(quán)利要求1至6任一項(xiàng)所述的方法,其特征在于: 在所述存儲(chǔ)系統(tǒng)內(nèi)包括K種存儲(chǔ)器,其中K> 3且K為整數(shù),所述K種存儲(chǔ)器包括第i存儲(chǔ)器、第i-Ι存儲(chǔ)器和第i-2存儲(chǔ)器,且所述第i存儲(chǔ)器的訪問(wèn)速度大于所述第i-Ι存儲(chǔ) 器的訪問(wèn)速度,所述第i-Ι存儲(chǔ)器的訪問(wèn)速度大于所述第i-2存儲(chǔ)器的訪問(wèn)速度,其中,i按 照從大到小的順序依次從K取到3且i取整數(shù); 所述方法還包括: 在所述T2內(nèi),將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-2存儲(chǔ)器, 將位于所述第i-Ι存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-2存儲(chǔ)器,以及將位于所 述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-Ι存儲(chǔ)器。
10. 根據(jù)權(quán)利要求9所述的方法,其特征在于, 所述將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-2存儲(chǔ)器,將位于 所述第i-Ι存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-2存儲(chǔ)器,以及將位于所述第i 存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-Ι存儲(chǔ)器,包括: 將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,將位于所述第i-Ι存儲(chǔ) 器的數(shù)據(jù)塊也按照熱度值的大小進(jìn)行排序,并從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果 和所述第i-Ι存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中共同選擇出熱度值比較小的Nfree(i-2) 個(gè)數(shù)據(jù)塊,將所述Nfree(i-2)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-2存儲(chǔ)器,所述Nfree(i-2)為 所述第i-2存儲(chǔ)器包括的空閑物理塊的數(shù)量; 將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,并從所述第i存儲(chǔ) 器包括的數(shù)據(jù)塊的排序結(jié)果中選擇出熱度值比較小的Nfree(i-1)個(gè)數(shù)據(jù)塊,將所述 Nfree(i-Ι)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-Ι存儲(chǔ)器,所述Nfree(i-Ι)為所述第i-Ι存儲(chǔ)器 包括的空閑物理塊的數(shù)量。
11. 一種分層存儲(chǔ)管理裝置,其特征在于,應(yīng)用于存儲(chǔ)系統(tǒng), 所述存儲(chǔ)系統(tǒng)包括至少L個(gè)數(shù)據(jù)塊且所述存儲(chǔ)系統(tǒng)包括N個(gè)中間層,N為整數(shù),其中,L> 3且L為整數(shù),所述L個(gè)數(shù)據(jù)塊被分配到位于第N中間層的an個(gè)第N虛擬塊中,所述an 個(gè)第N虛擬塊中每一第N虛擬塊包括至少一個(gè)數(shù)據(jù)塊,其中,2 <an <L且an為整數(shù);X按 照從大到小的順序依次從N取到2,且所述X取整數(shù),對(duì)于所述X的每一個(gè)取值對(duì)應(yīng)的第X 中間層的ax個(gè)第X虛擬塊,被分配到位于第x-1中間層的個(gè)第x-1虛擬塊中,所述ax_i 個(gè)第x-1虛擬塊中每一第x-1虛擬塊包括至少一個(gè)第X虛擬塊,an> 2且ay為整數(shù),ax > 且ax為整數(shù); 所述裝置包括: 當(dāng)N彡2時(shí), 熱度值更新單元,用于在一個(gè)統(tǒng)計(jì)周期T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪 問(wèn)的次數(shù),更新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所 述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第N中間層的所述an個(gè)第N虛擬塊的熱度值 進(jìn)行更新;對(duì)于X的每一個(gè)取值對(duì)應(yīng)的第X中間層,根據(jù)所述第X中間層中的所述ax個(gè)第 X虛擬塊中每個(gè)第X虛擬塊的熱度值,對(duì)所述第x-1中間層中的所述ay個(gè)第x-1虛擬塊的 熱度值進(jìn)行更新; 確定單元,用于根據(jù)第一中間層的閾值,從所述B1個(gè)第一虛擬塊中確定出至少一個(gè)目 標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一中間層的閾 值;y按照從小到大的順序依次從2取到N且所述y取整數(shù),對(duì)于所述y的每一個(gè)取值對(duì)應(yīng) 的第y中間層,根據(jù)所述第y中間層的閾值,從所述至少一個(gè)目標(biāo)第y-Ι虛擬塊包含的多個(gè) 第y虛擬塊中確定出至少一個(gè)目標(biāo)第y虛擬塊,所述至少一個(gè)目標(biāo)第y虛擬塊的熱度值大 于或者等于所述第y中間層的閾值; 第一排序單元,用于對(duì)確定出的所述至少一個(gè)目標(biāo)第N虛擬塊包含的多個(gè)目標(biāo)數(shù)據(jù)塊 按照熱度值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù) 塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng)內(nèi)包括 的存儲(chǔ)器的種類; 當(dāng)N= 1時(shí), 所述熱度值更新單元,還用于在所述T1內(nèi),根據(jù)所述L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊被訪問(wèn) 的次數(shù),更新所述L個(gè)數(shù)據(jù)塊的熱度值,其中,被訪問(wèn)的次數(shù)越多,則熱度值越大;根據(jù)所述 L個(gè)數(shù)據(jù)塊中每個(gè)數(shù)據(jù)塊的熱度值,對(duì)所述第一中間層中的所述B1個(gè)第一虛擬塊的熱度值 進(jìn)行更新; 所述確定單元,還用于根據(jù)所述第一中間層的閾值,從所述%個(gè)第一虛擬塊中確定出 至少一個(gè)目標(biāo)第一虛擬塊,所述至少一個(gè)目標(biāo)第一虛擬塊的熱度值大于或者等于所述第一 中間層的閾值; 所述第一排序單元,還用于對(duì)確定出的所述至少一個(gè)目標(biāo)第一虛擬塊包含的多個(gè)目標(biāo) 數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,從并按照排序結(jié)果更新所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目 標(biāo)數(shù)據(jù)塊的熱度等級(jí),所述熱度等級(jí)的數(shù)目大于或者等于2,且小于或者等于所述存儲(chǔ)系統(tǒng) 內(nèi)包括的存儲(chǔ)器的種類,所述存儲(chǔ)系統(tǒng)包括至少兩種存儲(chǔ)器。
12. 根據(jù)權(quán)利要求11所述的裝置,其特征在于,還包括: 比較單元,用于比較所述多個(gè)目標(biāo)數(shù)據(jù)塊中每一數(shù)據(jù)塊的原熱度等級(jí)和更新后的熱度 等級(jí),并確定出需要升級(jí)的數(shù)據(jù)塊,所述需要升級(jí)的數(shù)據(jù)塊是指位于所述多個(gè)目標(biāo)數(shù)據(jù)塊 中的且更新后熱度等級(jí)高于原熱度等級(jí)的數(shù)據(jù)塊; 升級(jí)單元,用于在所述需要升級(jí)的數(shù)據(jù)塊被訪問(wèn)時(shí),將所述需要升級(jí)的數(shù)據(jù)塊進(jìn)行升 級(jí)處理。
13.根據(jù)權(quán)利要求11或12所述的裝置,其特征在于: 所述第一中間層的閾值是根據(jù)所述^個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值平均值和 熱度值標(biāo)準(zhǔn)差計(jì)算得到的。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于: 所述第一中間層的閾值A(chǔ)1=μ ^t1* σ i,μ i為所述ai個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱 度值平均值,σi為所述ai個(gè)第一虛擬塊包括的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,tl為σi的系數(shù), 其中,〇i不等于零,Le[〇, μ^σ J。
15.根據(jù)權(quán)利要求11至14任一項(xiàng)所述的裝置,其特征在于: 所述第y中間層的閾值是根據(jù)所述至少一個(gè)目標(biāo)第y-Ι虛擬塊包含的多個(gè)第y虛擬塊 對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值和熱度值標(biāo)準(zhǔn)差計(jì)算得到的。
16.根據(jù)權(quán)利要求15所述的裝置,其特征在于: 所述第y中間層的閾值A(chǔ)y=μy_ty* 〇y,μy為所述至少一個(gè)目標(biāo)第y-Ι虛擬塊包含的 多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值平均值,σy為所述至少一個(gè)目標(biāo)第y-ι虛擬塊包 含的多個(gè)第y虛擬塊對(duì)應(yīng)的數(shù)據(jù)塊的熱度值標(biāo)準(zhǔn)差,ty為σy的系數(shù),ty隨著y的遞增而遞 減,其中,〇y不等于零,G/(T1.)。
17. 根據(jù)權(quán)利要求11至16任一項(xiàng)所述的裝置,其特征在于: 在所述存儲(chǔ)系統(tǒng)內(nèi)包括兩種存儲(chǔ)器,所述兩種存儲(chǔ)器包括第一存儲(chǔ)器和第二存儲(chǔ)器, 且所述第一存儲(chǔ)器的訪問(wèn)速度大于所述第二存儲(chǔ)器的訪問(wèn)速度, 所述裝置還包括: 第一降級(jí)單元,用于在時(shí)間間隔T2內(nèi),將位于所述第一存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊 遷移到所述第二存儲(chǔ)器,所述T2用于進(jìn)行降級(jí)遷移且所述T2的長(zhǎng)度是固定的; 第二排序單元,用于在Nfreel<第一閾值時(shí),對(duì)位于所述第一存儲(chǔ)器內(nèi)的數(shù)據(jù)塊按 照熱度值的大小進(jìn)行排序,所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié)果中選出的熱度值比 較小的min(Nfree2,C)個(gè)數(shù)據(jù)塊,其中,所述第一閾值是由確定出的需要升級(jí)的數(shù)據(jù)塊的 數(shù)目確定的,或者,所述第一閾值是由平均每時(shí)間間隔T2內(nèi)需要從所述第一存儲(chǔ)器降級(jí)遷 移到所述第二存儲(chǔ)器的數(shù)據(jù)塊的數(shù)目確定的;或者,所述第一閾值的大小由所述第一存儲(chǔ) 器內(nèi)包含的所有物理塊的數(shù)目減去確定出的所述多個(gè)目標(biāo)數(shù)據(jù)塊的數(shù)目得到的數(shù)值確定 的; 其中,Nfreel是指所述第一存儲(chǔ)器內(nèi)空閑物理塊的數(shù)量;Nfree2是指所述第二存儲(chǔ)器 內(nèi)空閑物理塊的數(shù)量;所述物理塊用于存儲(chǔ)所述數(shù)據(jù)塊;C是指在所述時(shí)間間隔T2內(nèi),所述 第一存儲(chǔ)器向所述第二存儲(chǔ)器之間傳輸?shù)牟⒈凰龅诙鎯?chǔ)器接收的數(shù)據(jù)塊的數(shù)量。
18. 根據(jù)權(quán)利要求17所述的裝置,其特征在于: 在所述第一閾值<Nfreel<第二閾值時(shí),所述需要降級(jí)的數(shù)據(jù)塊是指從所述排序結(jié) 果中選出的熱度值比較小的min(Nfree2,C,ANfreel)個(gè)數(shù)據(jù)塊; 其中,ANfreel=Nfreel'_Nfreel,Nfreel'為在上一次進(jìn)行降級(jí)遷移時(shí),所述第一存 儲(chǔ)器內(nèi)的空閑物理塊的數(shù)量,且ANfreel的值為大于O的整數(shù),所述第二閾值是根據(jù)在所 述T2內(nèi)升級(jí)數(shù)據(jù)塊的平均速率確定的,以保證所述第一存儲(chǔ)器內(nèi)的空閑物理塊不會(huì)被所述 T2內(nèi)的升級(jí)的數(shù)據(jù)塊占用完,所述第一閾值小于所述第二閾值。
19. 根據(jù)權(quán)利要求11至16任一項(xiàng)所述的裝置,其特征在于: 在所述存儲(chǔ)系統(tǒng)內(nèi)包括K種存儲(chǔ)器,其中K> 3且K為整數(shù),所述K種存儲(chǔ)器包括第i存儲(chǔ)器、第i-Ι存儲(chǔ)器和第i-2存儲(chǔ)器,且所述第i存儲(chǔ)器的訪問(wèn)速度大于所述第i-Ι存儲(chǔ) 器的訪問(wèn)速度,所述第i-Ι存儲(chǔ)器的訪問(wèn)速度大于所述第i_2存儲(chǔ)器的訪問(wèn)速度時(shí),其中, i按照從大到小的順序依次從K取到3且i取整數(shù); 所述裝置還包括: 第二降級(jí)單元,用于在所述T2內(nèi),將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移 到所述第i_2存儲(chǔ)器,將位于所述第i-Ι存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i_2 存儲(chǔ)器,以及將位于所述第i存儲(chǔ)器內(nèi)的需要降級(jí)的數(shù)據(jù)塊遷移到所述第i-Ι存儲(chǔ)器。
20. 根據(jù)權(quán)利要求19所述的裝置,其特征在于,所述第二降級(jí)單元包括: 第三排序單元,用于將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序,將 位于所述第i-Ι存儲(chǔ)器的數(shù)據(jù)塊也按照熱度值的大小進(jìn)行排序; 第一選擇單元,用于從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果和所述第i-Ι存儲(chǔ) 器包括的數(shù)據(jù)塊的排序結(jié)果中共同選擇出熱度值比較小的Nfree(i-2)個(gè)數(shù)據(jù)塊,將所述Nfree(i-2)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-2存儲(chǔ)器,所述Nfree(i-2)為所述第i-2存儲(chǔ)器 包括的空閑物理塊的數(shù)量; 第四排序單元,用于將位于所述第i存儲(chǔ)器的數(shù)據(jù)塊按照熱度值的大小進(jìn)行排序; 第二選擇單元,用于從所述第i存儲(chǔ)器包括的數(shù)據(jù)塊的排序結(jié)果中選擇出熱度值比較 小的Nfree(i-Ι)個(gè)數(shù)據(jù)塊,將所述Nfree(i-Ι)個(gè)數(shù)據(jù)塊降級(jí)遷移到所述第i-Ι存儲(chǔ)器,所 述Nfree(i-Ι)為所述第i-Ι存儲(chǔ)器包括的空閑物理塊的數(shù)量。
21. -種存儲(chǔ)系統(tǒng),其特征在于,包括R種存儲(chǔ)器和如權(quán)利要求11-20任一項(xiàng)所述的分 層存儲(chǔ)管理裝置,R為大于或者等于2的整數(shù), 所述R種存儲(chǔ)器內(nèi)存儲(chǔ)有至少L個(gè)數(shù)據(jù)塊, 所述分層存儲(chǔ)管理裝置用于從所述至少L個(gè)數(shù)據(jù)塊中確定出多個(gè)目標(biāo)數(shù)據(jù)塊,根據(jù)所 述多個(gè)目標(biāo)數(shù)據(jù)塊中每一目標(biāo)數(shù)據(jù)塊的熱度值,將所述多個(gè)目標(biāo)數(shù)據(jù)塊劃分為R個(gè)熱度等 級(jí)。
【文檔編號(hào)】G06F12/06GK104317731SQ201410555114
【公開(kāi)日】2015年1月28日 申請(qǐng)日期:2014年10月17日 優(yōu)先權(quán)日:2014年10月17日
【發(fā)明者】萬(wàn)繼光, 馬曉慧, 程龍 申請(qǐng)人:杭州華為數(shù)字技術(shù)有限公司