專利名稱:使用現(xiàn)行負(fù)載測量和分級在存儲池中布局虛擬卷熱點的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及采用數(shù)據(jù)存儲系統(tǒng)的數(shù)據(jù)管理領(lǐng)域,以及尤其涉及使用現(xiàn)行負(fù)載測量 和分級將虛擬卷熱點布局在存儲池中的方法。
背景技術(shù):
當(dāng)前,在數(shù)據(jù)存儲系統(tǒng)中提供數(shù)據(jù)管理的現(xiàn)有方法無法提供所需的性能等級。因此,需要提供一種方法,用于在提供當(dāng)前現(xiàn)有解決方案的上述參考缺點的數(shù)據(jù) 存儲系統(tǒng)中提供數(shù)據(jù)管理。
發(fā)明內(nèi)容
相應(yīng)地,本發(fā)明的一個實施例涉及一種通過動態(tài)存儲分層(DST)機(jī)制在存儲系統(tǒng) 中提供數(shù)據(jù)元布局的方法,所述的方法包括基于存儲池的相應(yīng)性能等級將所述存儲系統(tǒng) 中多個存儲池組織成一層次;基于數(shù)據(jù)元的相應(yīng)活動等級將多個數(shù)據(jù)元放入所述多個存儲 池中;監(jiān)視所述多個數(shù)據(jù)元和存儲系統(tǒng)的所述多個存儲池;測定被包括在所述多個數(shù)據(jù)元 中的第一數(shù)據(jù)元的負(fù)載;測定被包括在所述多個存儲池中的第一存儲池的負(fù)載范圍,將所 述第一數(shù)據(jù)元定位于所述第一存儲池中,所述第一存儲池具有第一性能等級;將所述第一 數(shù)據(jù)元的負(fù)載與所述第一存儲池的負(fù)載范圍進(jìn)行比較;當(dāng)所述第一數(shù)據(jù)元的負(fù)載與所述第 一存儲池的負(fù)載范圍的所述的比較指示所述第一數(shù)據(jù)元的負(fù)載大于所述第一存儲池的負(fù) 載范圍的上限閾值時,為被包括在所述多個存儲池中的第二存儲池確定一負(fù)載范圍,所述 第二存儲池具有第二性能等級,所述第二性能等級高于所述第一性能等級;將所述第一數(shù) 據(jù)元的負(fù)載與所述第二存儲池的負(fù)載范圍進(jìn)行比較;當(dāng)所述第一數(shù)據(jù)元的負(fù)載與所述第二 存儲池的負(fù)載范圍的所述的比較指示所述第一數(shù)據(jù)元的負(fù)載在所述第二存儲池的負(fù)載范 圍內(nèi)時,估算數(shù)據(jù)元移動條件以確定所述第一數(shù)據(jù)元是否存在移動障礙,其中所述估算的 數(shù)據(jù)元移動條件包括下列至少一個所述第二存儲池的空余容量;相對于錯合標(biāo)準(zhǔn)的預(yù)定 等級的所述第一數(shù)據(jù)元和所述第一存儲池之間的錯合等級;所述存儲系統(tǒng)上的總負(fù)載;所 述存儲系統(tǒng)的有效DST移動操作的次數(shù);所述第一數(shù)據(jù)元的大?。缓退龃鎯ο到y(tǒng)的策略 限制;以及當(dāng)所述數(shù)據(jù)元移動條件的估算指示所述第一數(shù)據(jù)元無移動障礙時,將所述第一 數(shù)據(jù)元移動到所述第二存儲池。本發(fā)明進(jìn)一步的實施例涉及一種計算機(jī)程序產(chǎn)品,包括信號承載介質(zhì),所述信號 承載介質(zhì)承載計算機(jī)可使用代碼,其被配置用以基于存儲池的相應(yīng)性能等級將所述存儲 系統(tǒng)中多個存儲池組織成一層次;計算機(jī)可使用代碼,其被被配置用以基于數(shù)據(jù)元的相應(yīng) 活動等級將多個數(shù)據(jù)元放入多個存儲池中;計算機(jī)可使用代碼,其被配置用以監(jiān)視所述多 個數(shù)據(jù)元和存儲系統(tǒng)的所述多個存儲池;計算機(jī)可使用代碼,其被配置用以測定被包括在 所述多個數(shù)據(jù)元中的第一數(shù)據(jù)元的負(fù)載;計算機(jī)可使用代碼,其被配置用以測定被包括在 所述多個存儲池中的第一存儲池的負(fù)載范圍,將所述第一數(shù)據(jù)元定位于所述第一存儲池中,所述第一存儲池具有第一性能等級;計算機(jī)可使用代碼,其被配置用以將所述第一數(shù)據(jù) 元的負(fù)載與所述第一存儲池的負(fù)載范圍進(jìn)行比較;計算機(jī)可使用代碼,其被配置用以當(dāng)所 述第一數(shù)據(jù)元的負(fù)載與所述第一存儲池的負(fù)載范圍的所述的比較指示所述第一數(shù)據(jù)元的 負(fù)載大于所述第一存儲池的負(fù)載范圍的上限閾值時,為被包括在所述多個存儲池中的第二 存儲池確定一負(fù)載范圍,所述第二存儲池具有第二性能等級,所述第二性能等級高于所述 第一性能等級;計算機(jī)可使用代碼,其被配置用以將所述第一數(shù)據(jù)元的負(fù)載與所述第二存 儲池的負(fù)載范圍進(jìn)行比較;計算機(jī)可使用代碼,其被配置用以當(dāng)所述第一數(shù)據(jù)元的負(fù)載與 所述第二存儲池的負(fù)載范圍的所述的比較指示所述第一數(shù)據(jù)元的負(fù)載在所述第二存儲池 的負(fù)載范圍內(nèi)時,估算數(shù)據(jù)元移動條件以確定所述第一數(shù)據(jù)元是否存在移動障礙,其中所 述估算的數(shù)據(jù)元移動條件包括下列至少一個所述第二存儲池的空余容量;相對于錯合標(biāo) 準(zhǔn)的預(yù)定等級的所述第一數(shù)據(jù)元和所述第一存儲池之間的錯合等級;所述存儲系統(tǒng)上的總 負(fù)載;所述存儲系統(tǒng)的有效DST移動操作的次數(shù);所述第一數(shù)據(jù)元的大??;和所述存儲系統(tǒng) 的策略限制;以及計算機(jī)可使用代碼,其被配置用以當(dāng)上述數(shù)據(jù)元移動條件的估算指示所 述第一數(shù)據(jù)元無移動障礙時,將所述的第一數(shù)據(jù)元移入所述第二存儲池。容易理解,上述的發(fā)明內(nèi)容和下面的具體實施都僅僅是示范性和解釋性的,并不 是對本發(fā)明公開內(nèi)容的強(qiáng)制限制。附圖被結(jié)合且組成了本說明書的一部分,對本發(fā)明的實 施例進(jìn)行了說明,并和發(fā)明內(nèi)容一起用來解釋本發(fā)明的原理。
通過參考附圖,本發(fā)明的眾多優(yōu)點可以被本領(lǐng)域的技術(shù)人員更好地進(jìn)行理解圖IA和IB根據(jù)本發(fā)明進(jìn)一步的實施例,描述了一個對通過動態(tài)存儲分層(DST) 機(jī)制(如,通過算法)在存儲系統(tǒng)中數(shù)據(jù)元布局方法進(jìn)行說明的流程圖;和圖2是根據(jù)本發(fā)明的示范性實施例對系統(tǒng)(如,存儲系統(tǒng))進(jìn)行的方框圖說明,所 述系統(tǒng)基于/包括在本發(fā)明數(shù)據(jù)元布局方法(如,諸如圖IA和IB中的方法)進(jìn)行實施。
具體實施方案現(xiàn)在針對本發(fā)明先前優(yōu)選實施例進(jìn)行介紹,在附圖中舉例對其進(jìn)行說明。動態(tài)存儲分層(DST)是基于存儲系統(tǒng)中存儲設(shè)備的不同特征將它們分組成多個 層的概念,并將數(shù)據(jù)動態(tài)地重新定位于所述存儲設(shè)備的平衡指定容量。這樣的重新定位需 要所述數(shù)據(jù)以允許DST機(jī)制將數(shù)據(jù)的特定元布局在它們的最優(yōu)化層的方式進(jìn)行分類。DST 可應(yīng)用于存儲層的多個不同服務(wù)質(zhì)量(QoQ屬性。在本發(fā)明中,描述了存儲系統(tǒng)的基于DST 性能管理。為了性能管理,本發(fā)明中所述DST機(jī)制的目的是鑒別出具有高活動等級的數(shù)據(jù)并 將它放入高性能存儲層(如,高性能存儲池)中。相同重要的是,鑒別出低活動等級的數(shù)據(jù) (如,具有比所述高活動等級數(shù)據(jù)較低的活動等級的數(shù)據(jù))并將它放入低性能存儲層(如, 低性能存儲池)中,所述低性能存儲池具有比所述高性能存儲層更低等級的性能。將所述 低活動等級數(shù)據(jù)放入所述低性能存儲層以防止所述低活動等級數(shù)據(jù)占據(jù)所述高性能存儲 層中的存儲容量。所述DST機(jī)制能夠執(zhí)行上述的數(shù)據(jù)鑒別和布局而不需要使用任意離線主 數(shù)據(jù)。
進(jìn)一步地,本發(fā)明的DST機(jī)制可促進(jìn)高性能存儲層使用率最大化,使得在高性能 存儲層中典型地更昂貴的存儲設(shè)備(如,高性能存儲設(shè)備)使用率最大化。但是,所述DST 機(jī)制可以被配置用以實施防止所述高性能層的過載以及防止使它們有效性能低于所述低 性能層。這樣的過載可能發(fā)生在當(dāng)所述高性能層中的存儲設(shè)備飽和時(如,在所述高性能 層中的存儲設(shè)備的存儲容量飽和)。本發(fā)明的DST機(jī)制允許連續(xù)地將數(shù)據(jù)元放置并保存在它們合適的存儲層中,以優(yōu) 化存儲系統(tǒng)性能。先前解決方案已經(jīng)不能提供本發(fā)明中DST機(jī)制的上述參考功能。一些先 前解決方案是基于預(yù)測I/O行為具有高精度的理論假設(shè)上。但是,I/O具有高精度的預(yù)測 已經(jīng)被證明更加難于實踐。其它先前解決方案會需要高度發(fā)達(dá)的統(tǒng)計計算能力。DST的有 挑戰(zhàn)性的一面在于,在一些例子中,將數(shù)據(jù)元移到第一存儲層(如,高性能存儲層)能夠?qū)?所述存儲層的性能等級改變達(dá)到使所述存儲層的有效性能/性能等級會降低到第二存儲 層(如,高性能/較低性能存儲層)的有效性能/性能等級之下。雖然基于現(xiàn)行的狀況測 量存儲層性能允許在將所述數(shù)據(jù)移到所述第一存儲層后檢測這方面/問題,但這樣問題在 所述移動之前不容易被預(yù)測到。在一個外部存儲陣列中(如,在一個存儲系統(tǒng)中),當(dāng)在所述存儲陣列中使用一個 存儲虛擬化管理器(SVM)時,每一個小型計算機(jī)接口(SCSI)邏輯單元(LU)會被映射為一 個虛擬卷。用一個或多個所述存儲陣列的存儲層(如,存儲池)從容量上對所述虛擬卷進(jìn) 行規(guī)定。例如,每一個存儲池可以基本上對應(yīng)一個存儲層。一個存儲池會包括一個或多個 虛擬驅(qū)動器(如,廉價冗余磁盤陣列(RAID)卷)。當(dāng)用所述一個或多個存儲池對所述虛擬 卷進(jìn)行規(guī)定時,會為虛擬卷邏輯塊地址(LBA)范圍到虛擬驅(qū)動器LBA范圍的每一個映射創(chuàng) 建一個虛擬卷分段。因此,構(gòu)成所述虛擬卷的虛擬卷分段集合可以形成所述虛擬卷的配置。對于一個小型計算機(jī)接口(SCSI)邏輯單元(LU),測量為具有高活動等級的數(shù)據(jù) 可以被鑒別為所述LU內(nèi)的LBA范圍。例如,和所述LU的其余相比較,與所述已鑒別的LBA 范圍相關(guān)的高活動等級數(shù)據(jù)可以具有顯著的活動性,并可以被作為熱點。一個LU可包含超 過一個熱點。所述數(shù)據(jù)的這個已測活動等級也可被作為在所述LBA范圍上的負(fù)載。一個熱點可能被完全包含在一個虛擬卷分段內(nèi),或其可能跨度兩個或多個虛擬卷 分段。因此,實現(xiàn)DST目標(biāo)的一種方式可以是將包含所述熱點的虛擬卷分段移到一個較高 性能存儲池(如,到一個高性能存儲層)。但是,雖然一個虛擬卷分段可能小于所述虛擬卷, 其仍可能非常大,且所述熱點可能僅僅占用將被移動的虛擬卷分段的較小百分比。本發(fā)明 中DST機(jī)制可進(jìn)一步允許動態(tài)改變所述虛擬卷配置(如,所述虛擬卷分段),使得所述熱點 隨后可以被包含在一個或多個較小的不比所述熱點大很多的虛擬卷分段中。本發(fā)明中DST 機(jī)制可隨后將這些包含所述熱點的較小虛擬卷分段移到合適的存儲池,基于在/通過本發(fā) 明的DST機(jī)制實施的算法。熱點檢測機(jī)制會將一個虛擬卷的LBA范圍組織成相同大小的簇,為此所述存儲系 統(tǒng)可基于現(xiàn)行的狀況來測量負(fù)載/活動。例如,會為每一個單獨簇采集性能統(tǒng)計(如,負(fù)載 測量)。簇可以被定義為所述虛擬卷總?cè)萘康陌俜直?,或固定大?如,一些兆字節(jié)(MBs))。 所述存儲系統(tǒng)會具有最小簇大小來限制需要跟蹤的元數(shù)據(jù)/統(tǒng)計總數(shù)。但是,簇大小一般 會顯著小于所述虛擬卷分段。可通過一個簡單簇或與所述虛擬卷其余相比(以及可能對 DST管理下其它虛擬卷進(jìn)行比較)具有高活動等級的鄰近簇來鑒別熱點。所述虛擬卷配置隨后可被改變使得與所述熱點對應(yīng)的簇在一個或多個虛擬卷分段中,從而允許所述DST機(jī) 制移動更小的簇。所述存儲系統(tǒng)的SVM可支持快照機(jī)制,其中可以為虛擬卷創(chuàng)建一個或多個時間點 (PiT)拷貝。當(dāng)基于虛擬卷的PiT拷貝(如,一PiT)被創(chuàng)建時,所述虛擬卷會被凍結(jié),以及 一 PiT臨時虛擬卷(PTVV)會被創(chuàng)建用來保存所述PiT創(chuàng)建后對所述虛擬卷所作出的所有 改變。因此,所述虛擬卷的初始內(nèi)容會在所述PiT被創(chuàng)建的時間被保存。這種類型的快照機(jī) 制被作為寫時分配(或?qū)憰r重定向),替代更常見的寫時復(fù)制快照機(jī)制。如果另一PiT(如, 第二 PiT)在所述第一 PiT創(chuàng)建后被創(chuàng)建,所述第一 PiT(如,當(dāng)前PiT)的PTVV會被凍結(jié),一 新的PTVV(如,第二 PiTWPTVV)會被創(chuàng)建。所述最新創(chuàng)建的PiT(如,第二 PiT)會隨后在 被創(chuàng)建時成為活動的PiT??膳渲盟鱿到y(tǒng)使得所有寫操作定向于所述活動PiT的PTVV。所述虛擬卷LBA范圍可以在概念上被劃分為等長的塊。所述塊的大小可以是所述 PiT粒度,其是所述虛擬卷的一個屬性。為每一 PiT創(chuàng)建一個包括到所述虛擬卷中每個塊的 入口的重新分配表(RT)并保存在所述PTVV的開端。當(dāng)主機(jī)在所述PiT創(chuàng)建后寫入一個塊 時,在所述活動PiT的RT中相應(yīng)入口被標(biāo)記為已分配,以及所述塊在下一個可獲得LBA被 放入PTVV中。當(dāng)一 PiT被刪除時,在所述被刪除PiT的相應(yīng)PTVV中的塊被重新整合入先 前PiT中,或如果不存在其它PiT時,隨后整合入所述虛擬卷本身。當(dāng)在一虛擬卷上收到一 讀I/O操作時,所述活動PiT的RT可總是指向所述塊(如,有效塊)的最近版本。所述有 效塊可在/可被定位在所述活動PiT本身的PTVV中,或可在/可被定位于較舊PiT的PTVV 中,或可在/可被定位于所述初始卷中。可以將一讀熱點定義為其I/O操作主要是讀的熱點??梢詫⒁粚憻狳c定義為一個 其I/O操作主要是寫的熱點。如果一熱點是寫熱點,所述I/O活動會集中在所述活動(如, 最新創(chuàng)建的)PiT的PTVV中。簡單地通過在所述目標(biāo)存儲池中創(chuàng)建所述虛擬卷的新PiT,所 述熱點會被移動到一個目標(biāo)存儲池。所述寫I/O活動會繼續(xù)集中在所述活動PiT中,其在 此處會被留在所述目標(biāo)存儲池中。如果所述熱點冷下來(如,其活動等級下降),DST會簡 單地刪除所述PiT,因而將被刪除PiT的內(nèi)容重新整合進(jìn)最近先前創(chuàng)建的PiT/PTVV,從而再 次激活上述最近先前創(chuàng)建的PiT/PTVV。如果所述熱點是讀熱點,在所述問題LBA范圍會被分散給多個與所述虛擬卷有關(guān) 的PiT時,事情會變得更加復(fù)雜。因此,在目標(biāo)存儲池中創(chuàng)建一個新PiT是沒有用的。即使 所述讀熱點被包含在單個PiT內(nèi),所述塊LBA范圍無望在所述PTVV (如,構(gòu)成所述讀熱點的 塊會在散布在所述整個PTVV內(nèi))中持續(xù)。所述PTVV本身在一些情況中是非常大的,因此 將整個PTVV移到所述目標(biāo)存儲池是不可行的。對于讀熱點而言,DST (如,所述DST機(jī)制) 仍舊會像上述一樣在所述目標(biāo)存儲池中創(chuàng)建一個新PiT,但是其同樣會執(zhí)行附加步驟,將組 成所述讀熱點的LBA范圍拷貝到所述目標(biāo)池中的新PTVV。這會使得將對應(yīng)于所述讀熱點的 所有塊放入所述目標(biāo)存儲池的PTVV中。因而,當(dāng)在所述虛擬卷的熱點上接收到讀操作時, 這些讀操作會移到在所述目標(biāo)存儲池(如,較快存儲池)的PTVV中。關(guān)鍵是,避免在上述參考拷貝操作中對在所述新PTVV(如,目標(biāo)PTVV)中任意主機(jī) 被寫塊的重寫。DST不能簡單地將所述熱點LBA范圍內(nèi)的所有塊寫入所述目標(biāo)PTVV,因為 這會在拷貝操作發(fā)生時對已被所述主機(jī)在同一 LBA范圍內(nèi)寫入的數(shù)據(jù)進(jìn)行重寫。從而,使 用一個被稱為PiT附加拷貝的操作將所述讀熱點移動到所述目標(biāo)存儲池,所述操作中在所述讀熱點LBA范圍內(nèi)的塊僅當(dāng)所述目標(biāo)PTVV中已經(jīng)不存在一個塊時被從源拷貝到所述目 標(biāo)PTVV。因此,所述DST具有檢測并將熱點移動到其它存儲池而不顧所述虛擬卷是否具有 PiT和不顧所述熱點是讀熱點還是寫熱點的機(jī)制。在本發(fā)明的示范性實施例中,本發(fā)明的DST機(jī)制可實施DST布局算法,其使用試探 法以確定將每一熱點放入存儲系統(tǒng)的哪一個存儲池中。包含在這些試探中的第一試探會是 最大化利用所述存儲系統(tǒng)的高效存儲池(如,較高性能的存儲池)。所述第一試探可能基于 下述假設(shè),所述較高性能存儲池可能包括所述系統(tǒng)中最貴/較貴的存儲設(shè)備以及所述系統(tǒng) 的用戶將希望具有這些較高性能存儲池的最大可能利用率。進(jìn)一步地,這些較高性能(如, 較快)存儲池的較高利用率會顯著地增加所述存儲系統(tǒng)好像具備全部的性能。例如,通過 實施/遵循上述第一個試探,看起來像所述存儲系統(tǒng)的所有存儲設(shè)備都是較貴類型的(如, 屬于包括在所述較高/最高性能存儲池中的設(shè)備類型),而實際上它們不是。在本發(fā)明的進(jìn)一步實施例中,基于上述第一個試探,所述DST機(jī)制(如,DST布局 算法)會將熱點以存儲池性能等級(如,從頂級往下/從最高性能到最低性能)下降順序 放入存儲池中。例如,最高等級存儲池(如,最高性能存儲池)先被填入,第二高等級存儲 池第二被填入,第三高等級存儲池第三被填入,等。進(jìn)一步地,DST (如,所述DST布局算法) 會試圖保持下列條件條件1 對于每一個熱點i和熱點j,如果等級(存儲池(熱點i)) <等級(存儲 池(熱點j)),則負(fù)載(熱點i) <負(fù)載(熱點j)。根據(jù)上述,如果保持條件1,當(dāng)包含第一熱點(如,熱點i)的存儲池的性能等級/ 水準(zhǔn)比包含第二熱點(如,熱點i)的存儲池的性能等級/水準(zhǔn)低時,則所述第一熱點(如, 熱點i)的負(fù)載將小于所述第二熱點(如,熱點j)的負(fù)載。因而,當(dāng)條件1繼續(xù)時,相比較 那些具有較低活動等級/負(fù)載的熱點,具有較高活動等級/負(fù)載的熱點會被放入較高性能 存儲池中。在本發(fā)明的示范性實施例中,每一個存儲池會與一個上限負(fù)載閾值和一個下限負(fù) 載閾值有關(guān)。存儲池的上限負(fù)載閾值被定義為/可以等同于具有所述存儲池中最高負(fù)載的 熱點的負(fù)載。存儲池的上限負(fù)載閾值被定義為/可以等同于具有所述存儲池中最低負(fù)載的 熱點的負(fù)載。例如定義1 如果存儲池(熱點i)=存儲池(熱點j) = SP,以及存在這樣的i,對于 SP中的每一個熱點j,使得負(fù)載(熱點i) <負(fù)載(熱點j),其中i ! =j,則下限閾值(SP) =負(fù)載(熱點i)。定義2 如果存儲池(熱點i)=存儲池(熱點j) = SP,以及存在這樣的k,對于 SP中的每一個熱點j,使得負(fù)載(熱點k) >負(fù)載(熱點j),其中k ! =j,則上限閾值(SP) =負(fù)載(熱點k)。在本發(fā)明的進(jìn)一步實施例中,DST可試圖去避免重疊存儲池閾值。例如,所述DST 可試圖以保持下列條件的方式將熱點放入存儲池中條件2 如果等級(SPn) >等級(SPm),則,下限閾值(SPn) >上限閾值(SPm)。如上所述,當(dāng)所述系統(tǒng)具有第一存儲池(SPn)和第二存儲池(SPm)且所述第一存 儲池的性能等級高于所述第二存儲池的性能等級時,條件2將會在所述第一存儲池的下限 閾值大于所述第二存儲池的上限閾值時被保持。
在本發(fā)明的示范性實施例中,DST會連續(xù)搜索與所述熱點當(dāng)前存儲池最超出范圍 外的相關(guān)的熱點。一旦鑒別出一個一貫超出所述熱點當(dāng)前存儲池范圍外的熱點,DST將去 評估是否需要將所述熱點移到所述熱點適合的存儲池中。在本發(fā)明的當(dāng)前實施例中,在做 出上述評估時要考慮多個因素。首先,DST可鑒別出一個預(yù)期目標(biāo)池,其中被評估的熱點的 負(fù)載值落在所述預(yù)期目標(biāo)池的上限和下限閾值范圍內(nèi)(或與上限或下限閾值相同)。進(jìn)一 步地,所述DST會將所述評估熱點大小與所述預(yù)期目標(biāo)池的存儲容量進(jìn)行比較,以確定所 述預(yù)期目標(biāo)池是否有充分的容量來接收所述被評估的熱點。在進(jìn)一步的實施例中,DST可評估在熱點和其當(dāng)前存儲池之間的不同。例如,DST 可識別所述熱點的負(fù)載并將所述符合與所述熱點當(dāng)前存儲池的上限和下限閾值負(fù)載進(jìn)行 比較。這樣的比較會提供一個判別,即所述熱點和其當(dāng)前存儲池當(dāng)前的不適合是多么“糟 糕”。這樣的不適合必須大于一個最小差異,使得DST去考慮移動所述熱點。上述最小差 異可以是一個預(yù)定或預(yù)設(shè)最小差異,所述系統(tǒng)用來確定是否移動被評估的熱點。在評估是 否有必要(可取)去將熱點移到一個不同的存儲池時,需要考慮的其它因素或條件/其它 被本發(fā)明DST機(jī)制所作出的判別可能包括確定在所述存儲系統(tǒng)(如,整個存儲系統(tǒng))上 的當(dāng)前負(fù)載;確定所述存儲系統(tǒng)的中央處理器(CPU)使用率;確定所述存儲系統(tǒng)的帶寬使 用率;確定所述存儲系統(tǒng)的后臺運行操作的個數(shù);確定多少個DST移動操作已經(jīng)運行/激 活;確定將被移動的熱點的大小(如,由于較大熱點可能花費更長時間去移動,如果兩個被 評估為可能要移動的熱點具有類似負(fù)載,DST可以選擇先移動這兩個預(yù)期熱點中最小的一 個);確定是否存在可以阻止所述移動的策略限制(如,在所述存儲池上的數(shù)據(jù)元指定配置 的前期)。基于針對上述列出條件的評估,如果DST確定,因可能移動而被分析的熱點不符 合所述條件,則上述熱點此時不應(yīng)被移動,DST可以從與它們當(dāng)前存儲池不合適的預(yù)期熱點 的DST配置表中選擇下一個元(如,下一個熱點),并可以按照上述列出條件對所述下一個 熱點進(jìn)行評估,以此類推。DST可以連續(xù)地更新與它們當(dāng)前存儲池不合適的預(yù)期熱點表,并 可以持續(xù)在周期性間隔中通過所述表來按照上述列出條件對熱點進(jìn)行評估/重新評估,以 確定它們是否能夠和/或應(yīng)被移到不同存儲池中。在本發(fā)明的示范性實施例中,所述DST機(jī)制可以被這樣配置,當(dāng)DST先前已經(jīng)移動 了一個熱點時,所述熱點可能不會被再次移動直到所述熱點的負(fù)載發(fā)生顯著變化。為了避 免超負(fù)載,將一個寬限時間周期加在已經(jīng)被移動的熱點上。例如,如果所述熱點負(fù)載在所述 寬限時間周期內(nèi)沒有發(fā)生顯著變化,其將不適合被再次移動。進(jìn)一步地,在所述寬限時間周 期過期后,所述熱點不適合被移送回其來自的存儲池,除非所述熱點負(fù)載自先前被移動后 已經(jīng)發(fā)生顯著改變。在本發(fā)明的進(jìn)一步實施例中,當(dāng)熱點冷卻(如,當(dāng)所述熱點的負(fù)載低于其存儲池 的下限閾值時),上述熱點最終會被移動到一個較低等級的存儲池或其甚至?xí)灰苿踊匕?含其虛擬卷其余部分的存儲池中(如,所述熱點會被重新整合回其虛擬卷中)。這樣將冷卻 后熱點移出較高等級存儲池會為新的具有較高負(fù)載的熱點釋放出在較高等級存儲池中的容量。在本發(fā)明的示范性實施例中,DST可選擇一新熱點,所述熱點適合被放入第一存儲 池(SPn)。但是,所述第一存儲池可能不具有充分的剩余容量來容納所述新熱點。在這樣的 情況中,DST會將其它熱點從所述第一存儲池(SPn)中移送到較低等級存儲池中以為所述新熱點釋放容量。這可以是這種情況,如果DST能夠發(fā)現(xiàn)所述第一存儲池(SPn)中一個或 多個熱點,其具有比所述新熱點較低的負(fù)載且組合容量等于或高于所述新熱點所需。如上所述,DST可以連續(xù)地監(jiān)視存儲池性能,以及,如果一個較高等級存儲池的平 均響應(yīng)時間性能下降到很接近于下一個較低等級存儲池(如,在所述下一個較低等級存儲 池的一些預(yù)設(shè)百分比之內(nèi))時,則所述較高等級池變得不夠資格接收更多的熱點直到將其 它熱點從所述較高等級存儲池中移出。在本發(fā)明的當(dāng)前實施例中,可能是這樣的情況,所述 較高等級存儲池不夠資格,但是在所述較高等級存儲池中存在一個第一熱點(如,熱點i), 其具有比即將被DST進(jìn)行移動的第二熱點(如,熱點j)更低的負(fù)載。因而,將所述第二熱 點移到一個較低性能存儲池會違背上述條件1。這時,在下列條件實現(xiàn)時首先將熱點i移 送到下一個較低性能存儲池a)移走所述第一熱點(如,熱點i)為第二熱點(如,熱點j) 釋放了較高性能存儲池中的足夠容量;以及b)在下一個較低性能存儲池中對于所述第二 熱點存在足夠空余容量。如果上述條件(如,條件a和b)都滿足,可將所述第一熱點移送 到下一個較低性能存儲池,以及隨后將所述第二熱點移動到較高等級存儲池。如果上述條 件(條件a和b)對于在較高性能存儲池中的任意熱點都不滿足,則所述第二熱點會被移送 到下一個較低性能存儲池,以及DST會記錄和/或提供一個指示/通告,即違背了上述條件 (條件a和b)。上述違背會在所述存儲系統(tǒng)的配置發(fā)生變化時隨后進(jìn)行解決。在本發(fā)明的進(jìn)一步實施例中,如果DST檢測到多個需要被移動的熱點,其會選擇 并先移動具有最高絕對負(fù)載的熱點。隨后,如果DST確定其需要將其它熱點移送到較低等 級存儲池以為所選熱點(如,具有最高絕對負(fù)載的熱點)釋放出容量,上述這樣的移動操作 被認(rèn)為整個布局所選熱點(如較高/最高負(fù)載熱點)操作的一部分。在示范性實施例中,DST可以將整個虛擬卷移送到一個較低等級池用以為熱點創(chuàng) 建/釋放在較高等級存儲池中的容量。情況是這樣的,如果在陣列或運行中不存在熱點移 動操作,在較低等級存儲池中存在足夠空余容量,以及在所述虛擬卷減去任意熱點后的平 均負(fù)載適合在所述較低等級池內(nèi)(如,不需要將它們與任意鄰近存儲池重疊即可落在所述 較低等級池的上限和下限閾值范圍內(nèi))。因此,本發(fā)明的DST機(jī)制可以為所述存儲系統(tǒng)執(zhí)行下列功能通過測量在LBA范圍 上的負(fù)載來檢測熱點;基于現(xiàn)行的狀況測量存儲池的性能;基于所述熱點相關(guān)負(fù)載對熱點 劃分等級;根據(jù)存儲池已測量的性能對存儲池劃分等級;從頂級往下將熱點放入存儲池中 (如,首先放入較高性能存儲池中);如果熱點冷卻,將所述熱點移送到較低等級存儲池。進(jìn)一步地,本發(fā)明的DST機(jī)制可以提供下列優(yōu)點提供DST時執(zhí)行的算法/所述 DST機(jī)制便于實施和立為標(biāo)準(zhǔn);所述DST機(jī)制不消耗所述系統(tǒng)過多的CPU周期;最大化所述 較高性能存儲池的使用率;自動調(diào)節(jié)以改變所述系統(tǒng)的負(fù)載情況。在圖IA和IB中,根據(jù)本發(fā)明的一個示范性實施例,描述了一個對通過動態(tài)存儲分 層(DST)機(jī)制(如,通過算法)在存儲系統(tǒng)(如,圖2中的系統(tǒng)200)中數(shù)據(jù)元布局方法進(jìn) 行說明的流程圖。方法100可以包括基于存儲池的相應(yīng)性能等級(如,平均響應(yīng)時間性能) 將所述存儲系統(tǒng)中多個存儲池組織成一層次102。所述方法100可進(jìn)一步包括基于數(shù)據(jù)元 的相應(yīng)活動等級將多個數(shù)據(jù)元放入多個存儲池104。所述方法100可進(jìn)一步包括監(jiān)視所述 多個數(shù)據(jù)元和存儲系統(tǒng)的多個存儲池106。所述方法100可進(jìn)一步包括測定被包括在所述 多個數(shù)據(jù)元中的第一數(shù)據(jù)元的負(fù)載108。
在本發(fā)明的進(jìn)一步實施例中,所述方法100可進(jìn)一步包測定被包括在所述多個存 儲池中的第一存儲池的負(fù)載范圍,將所述第一數(shù)據(jù)元定位于所述第一存儲池中,所述第一 存儲池具有第一性能等級110。所述方法100可進(jìn)一步包括將所述第一數(shù)據(jù)元的負(fù)載與所 述第一存儲池的負(fù)載范圍進(jìn)行比較112。所述方法100可進(jìn)一步包括當(dāng)所述第一數(shù)據(jù)元的 負(fù)載與所述第一存儲池的負(fù)載范圍的所述的比較指示所述第一數(shù)據(jù)元的負(fù)載大于所述第 一存儲池的負(fù)載范圍的上限閾值(如,上限負(fù)載閾值)時,為被包括在所述多個存儲池中的 第二存儲池確定一負(fù)載范圍,所述第二存儲池具有第二性能等級,所述第二性能等級高于 所述第一性能等級114。所述方法100可進(jìn)一步包括將所述第一數(shù)據(jù)元的負(fù)載與所述第二 存儲池的負(fù)載范圍進(jìn)行比較116。在本發(fā)明的示范性實施例中,所述方法100可進(jìn)一步包括當(dāng)所述第一數(shù)據(jù)元的負(fù) 載與所述第二存儲池的負(fù)載范圍的所述的比較指示所述第一數(shù)據(jù)元的負(fù)載在所述第二存 儲池的負(fù)載范圍內(nèi),估算數(shù)據(jù)元移動條件以確定所述第一數(shù)據(jù)元是否存在移動障礙,其中 所述估算的數(shù)據(jù)元移動條件包括下列至少一個所述第二存儲池的空余容量;相對于錯合 標(biāo)準(zhǔn)的預(yù)定等級(如,與一個認(rèn)為要移動的數(shù)據(jù)元所需的預(yù)先建立/預(yù)設(shè)的最小差異相關(guān)) 的所述第一數(shù)據(jù)元和所述第一存儲池之間的錯合等級(如,超出所述第一存儲池的負(fù)載范 圍之外多遠(yuǎn));所述存儲系統(tǒng)上的總負(fù)載;所述存儲系統(tǒng)的有效DST移動操作的次數(shù);所述 第一數(shù)據(jù)元的大??;和所述存儲系統(tǒng)的策略限制118。所述方法100可進(jìn)一步包括當(dāng)上述 數(shù)據(jù)元移動條件的估算指示所述第一數(shù)據(jù)元無移動障礙時,將所述的第一數(shù)據(jù)元移入所述 第二存儲池120。所述方法100可進(jìn)一步包括當(dāng)所述第一數(shù)據(jù)元已經(jīng)被移送到所述第二存 儲池時以及當(dāng)所述第一數(shù)據(jù)元的負(fù)載下降到所述第二存儲池的負(fù)載范圍的下限閾值之下 且在所述第一存儲池的負(fù)載范圍內(nèi)時,將所述第一數(shù)據(jù)元移送到所述第一存儲池122。在本發(fā)明的進(jìn)一步實施例中,所述方法100可進(jìn)一步包括當(dāng)上述數(shù)據(jù)元移動條件 的估算指示所述第二存儲池的空余容量不足以允許所述第一數(shù)據(jù)元移入所述第二存儲池 時,將第二數(shù)據(jù)元的負(fù)載與所述第一數(shù)據(jù)元的負(fù)載進(jìn)行比較,所述第二數(shù)據(jù)元駐留在所述 第二存儲池中124。所述方法100可進(jìn)一步包括當(dāng)所述第二數(shù)據(jù)元的負(fù)載小于所述第一數(shù) 據(jù)元的負(fù)載以及當(dāng)去除所述第二數(shù)據(jù)元會提供在所述第二存儲池中足夠的空余容量以接 收所述第一數(shù)據(jù)元時,從所述第二存儲池中重新移走所述第二數(shù)據(jù)元并將所述第一數(shù)據(jù)元 移入所述第二存儲池126。應(yīng)注意到,按照本說明書教導(dǎo),計算機(jī)領(lǐng)域的技術(shù)人員可以看出,通過使用編寫程 序的常見通用數(shù)字計算機(jī)將容易實現(xiàn)根據(jù)本發(fā)明的上述實施例?;诒竟_的教導(dǎo),軟件 領(lǐng)域的技術(shù)人員可以看出,熟練程序員會輕松編制好合適的軟件代碼。應(yīng)所述理解,本發(fā)明可通過軟件包的形式容易進(jìn)行實現(xiàn)。這樣的軟件包可以是一 計算機(jī)程序產(chǎn)品,其使用了一計算機(jī)可讀存儲介質(zhì),包括已存儲的計算機(jī)代碼,用來對計算 機(jī)編程來執(zhí)行本發(fā)明所公開的功能和步驟。所述計算機(jī)可讀介質(zhì)/計算機(jī)可讀存儲介質(zhì)可 包括,但不限于,任意類型的常見軟盤,光盤,CD-ROM,磁盤,硬盤,磁光盤,ROM, RAM, EPROM, EEPR0M,磁卡或光卡,以及任意其它可存儲電子指令的合適媒體。容易理解,上述公開方法中的步驟的指定順序或?qū)哟问鞘纠椒ǖ睦??;谠O(shè) 計偏好,應(yīng)當(dāng)理解,所述方法中的步驟的指定順序或?qū)哟慰梢灾匦屡帕?,而仍在本公開的主 題精神內(nèi)。所附方法權(quán)利要求以樣本順序呈現(xiàn)了不同步驟的要素,并不必意味著僅限于所呈現(xiàn)的指定次序或?qū)哟巍?應(yīng)當(dāng)相信,通過前述將理解本發(fā)明和許多其伴隨的優(yōu)點,同樣應(yīng)當(dāng)相信,顯然其組 成的形式、結(jié)構(gòu)和布置可以進(jìn)行不同的變化,而不脫離本發(fā)明的范圍和精神或不犧牲所有 其實質(zhì)性優(yōu)點。這里,以前所述的形式只是示例說明,下列權(quán)利要求的目的是包含和包括此
類變化。
權(quán)利要求
1.一種通過動態(tài)存儲分層(DST)機(jī)制提供存儲系統(tǒng)中數(shù)據(jù)元布局的方法,所述的方法 包括基于所述存儲系統(tǒng)中多個存儲池的相應(yīng)性能等級將所述多個存儲池組織成一層次;基于多個數(shù)據(jù)元的相應(yīng)活動等級將所述多個數(shù)據(jù)元放入所述多個存儲池;監(jiān)視所述多個數(shù)據(jù)元和存儲系統(tǒng)的所述多個存儲池;和測定被包括在所述多個數(shù)據(jù)元中的一第一數(shù)據(jù)元的負(fù)載。
2.如權(quán)利要求1所述的方法,進(jìn)一步包括測定被包括在所述多個存儲池中的第一存儲池的一負(fù)載范圍,將所述第一數(shù)據(jù)元定位 于所述第一存儲池中,所述第一存儲池具有第一性能等級。
3.如權(quán)利要求2所述的方法,進(jìn)一步包括比較所述第一數(shù)據(jù)元的所述負(fù)載與所述第一存儲池的所述負(fù)載范圍。
4.如權(quán)利要求3所述的方法,進(jìn)一步包括當(dāng)所述第一數(shù)據(jù)元的負(fù)載與所述第一存儲池的所述負(fù)載范圍的所述比較指示所述第 一數(shù)據(jù)元的所述負(fù)載大于所述第一存儲池的所書負(fù)載范圍的上限閾值時,測定被包括在所 述多個存儲池中的一第二存儲池的一負(fù)載范圍,所述第二存儲池具有第二性能等級,所述 第二性能等級高于所述第一性能等級。
5.如權(quán)利要求4所述的方法,進(jìn)一步包括比較所述第一數(shù)據(jù)元的所述負(fù)載與所述第二存儲池的所述負(fù)載范圍。
6.如權(quán)利要求5所述的方法,進(jìn)一步包括當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載與所述第二數(shù)據(jù)池的所述負(fù)載范圍的所述比較指示所 述第一數(shù)據(jù)元的所述負(fù)載在所述第二存儲池的所述負(fù)載范圍內(nèi)時,估算數(shù)據(jù)元移動條件以 決定所述第一數(shù)據(jù)元是否存在移動障礙,其中所述估算的數(shù)據(jù)元移動條件包括下列至少一 個所述第二存儲池的空余容量;相對于錯合標(biāo)準(zhǔn)的一預(yù)定等級的所述第一數(shù)據(jù)元與所述 第一存儲池之間的錯合等級;所述存儲系統(tǒng)上的總負(fù)載;所述存儲系統(tǒng)的有效DST移動操 作的次數(shù);所述第一數(shù)據(jù)元的大??;和所述存儲系統(tǒng)的策略限制。
7.如權(quán)利要求6所述的方法,進(jìn)一步包括當(dāng)所述數(shù)據(jù)元移動條件的所述估算指示所述第一數(shù)據(jù)元無移動障礙時,將所述的第一 數(shù)據(jù)元移到所述第二存儲池中。
8.如權(quán)利要求7所述的方法,進(jìn)一步包括當(dāng)所述第一數(shù)據(jù)元已經(jīng)被移到所述第二存儲池時以及當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載 下降到所述第二存儲池的所述負(fù)載范圍的一下限閾值之下且在所述第一存儲池的所述負(fù) 載范圍內(nèi)時,將所述第一數(shù)據(jù)元移到所述第一存儲池中。
9.如權(quán)利要求6所述的方法,進(jìn)一步包括當(dāng)所述數(shù)據(jù)元移動條件的所述估算指示所述第二存儲池的所述空余容量不足以允許 所述第一數(shù)據(jù)元被移到所述第二存儲池時,比較一第二數(shù)據(jù)元的負(fù)載與所述第一數(shù)據(jù)元的 所述負(fù)載,所述第二數(shù)據(jù)元駐留所述第二存儲池中。
10.如權(quán)利要求9所述的方法,進(jìn)一步包括當(dāng)所述第二數(shù)據(jù)元的所述負(fù)載小于所述第一數(shù)據(jù)元的所述負(fù)載以及當(dāng)所述第二數(shù)據(jù) 元的逐出將提供所述第二存儲池中足夠的空余容量以接收所述第一數(shù)據(jù)元時,從所述第二存儲池中除去所述第二數(shù)據(jù)元并將所述第一數(shù)據(jù)元移到所述第二存儲池中。
11.一種計算機(jī)程序產(chǎn)品包括一信號承載介質(zhì),其承載計算機(jī)可使用代碼,其被配置用以基于存儲系統(tǒng)中多個存儲池的相應(yīng)性能等級將所述 多個存儲池組織成一層次;計算機(jī)可使用代碼,其被配置用以基于多個數(shù)據(jù)元的相應(yīng)活動等級將所述多個數(shù)據(jù)元 放入所述多個存儲池;計算機(jī)可使用代碼,其被配置用以監(jiān)視所述多個數(shù)據(jù)元和存儲系統(tǒng)的所述多個存儲 池;和計算機(jī)可使用代碼,其被配置用以測定被包括在所述多個數(shù)據(jù)元中的一第一數(shù)據(jù)元的 負(fù)載。
12.如權(quán)利要求11所述的計算機(jī)程序產(chǎn)品,所述信號承載介質(zhì)進(jìn)一步承載計算機(jī)可使用代碼,其被配置用以測定被包括在所述多個存儲池中的一第一存儲池的 一負(fù)載范圍,所述第一數(shù)據(jù)元被定位于所述第一存儲池中,所述第一存儲池具有第一性能 等級;和計算機(jī)可使用代碼,其被配置用以比較所述第一數(shù)據(jù)元的所述負(fù)載與所述第一存儲池 的所述負(fù)載范圍。
13.如權(quán)利要求12所述的計算機(jī)程序產(chǎn)品,所述信號承載介質(zhì)進(jìn)一步承載計算機(jī)可使用代碼,其被配置用以當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載與所述第一存儲池的 所述負(fù)載范圍的所述比較指示所述第一數(shù)據(jù)元的所述負(fù)載大于所述第一存儲池的所述負(fù) 載范圍的上限閾值時,測定被包括在所述多個存儲池中的一第二存儲池的一負(fù)載范圍,所 述第二存儲池具有第二性能等級,所述第二性能等級高于所述第一性能等級;計算機(jī)可使用代碼,其被配置用以比較所述第一數(shù)據(jù)元的所述負(fù)載與所述第二存儲池 的所述負(fù)載范圍;和計算機(jī)可使用代碼,其被配置用以當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載與所述第二數(shù)據(jù)池的 所述負(fù)載范圍的所述比較指示所述第一數(shù)據(jù)元的所述負(fù)載在所述第二存儲池的所述負(fù)載 范圍內(nèi)時,估算數(shù)據(jù)元移動條件以確定所述第一數(shù)據(jù)元是否存在移動障礙,其中所述估算 的數(shù)據(jù)元移動條件包括下列至少一個所述第二存儲池的空余容量;相對于錯合標(biāo)準(zhǔn)的一 預(yù)定等級的所述第一數(shù)據(jù)元與所述第一存儲池之間的錯合等級;所述存儲系統(tǒng)上的總負(fù) 載;所述存儲系統(tǒng)的有效DST移動操作的次數(shù);所述第一數(shù)據(jù)元的大?。缓退龃鎯ο到y(tǒng)的 策略限制。
14.如權(quán)利要求13所述的計算機(jī)程序產(chǎn)品,所述信號承載介質(zhì)進(jìn)一步承載計算機(jī)可使用代碼,其被配置用以當(dāng)所述數(shù)據(jù)元移動條件的所述估算指示所述第一數(shù) 據(jù)元無移動障礙時,將所述的第一數(shù)據(jù)元移到所述第二存儲池中;和計算機(jī)可使用代碼,其被配置用以當(dāng)所述第一數(shù)據(jù)元已經(jīng)被移到所述第二存儲池中 時以及當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載下降到所述第二存儲池的所述負(fù)載范圍的一下限閾 值之下且在所述第一存儲池的所述負(fù)載范圍內(nèi)時,將所述第一數(shù)據(jù)元移到所述第一存儲池 中。
15.如權(quán)利要求13所述的計算機(jī)程序產(chǎn)品,所述信號承載介質(zhì)進(jìn)一步承載計算機(jī)可使用代碼,其被配置用以當(dāng)所述數(shù)據(jù)元移動條件的所述估算指示所述第二存 儲池的所述空余容量不足以允許所述第一數(shù)據(jù)元被移入所述第二存儲池時,比較一第二數(shù) 據(jù)元的負(fù)載與所述第一數(shù)據(jù)元的所述負(fù)載,所述第二數(shù)據(jù)元駐留在所述第二存儲池中;和計算機(jī)可使用代碼,其被配置用以當(dāng)所述第二數(shù)據(jù)元的所述負(fù)載小于所述第一數(shù)據(jù)元 的所述負(fù)載以及當(dāng)所述第二數(shù)據(jù)元的逐出將提供所述第二存儲池中足夠的空余容量以接 收所述第一數(shù)據(jù)元時,從所述第二存儲池中去除所述第二數(shù)據(jù)元并將所述第一數(shù)據(jù)元移入 所述第二存儲池。
16.一種通過動態(tài)存儲分層(DST)算法提供存儲系統(tǒng)中數(shù)據(jù)元布局的方法,所述方法 包括基于所述存儲系統(tǒng)中多個存儲池的相應(yīng)性能等級將所述多個存儲池組織成一層次; 基于多個數(shù)據(jù)元的相應(yīng)活動等級將所述多個數(shù)據(jù)元放入所述多個存儲池; 監(jiān)視所述多個數(shù)據(jù)元和存儲系統(tǒng)的所述多個存儲池; 測定被包括在所述多個數(shù)據(jù)元中的一第一數(shù)據(jù)元的負(fù)載;和測定被包括在所述多個存儲池中的一第一存儲池的一負(fù)載范圍,將所述第一數(shù)據(jù)元定 位于所述第一存儲池中,所述第一存儲池具有第一性能等級。
17.如權(quán)利要求16所述的方法,進(jìn)一步包括將所述第一數(shù)據(jù)元的所述負(fù)載與所述第一存儲池的所述負(fù)載范圍進(jìn)行比較; 當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載與所述第一存儲池的所述負(fù)載范圍的所述比較指示所 述第一數(shù)據(jù)元的所述負(fù)載大于所述第一存儲池的所述負(fù)載范圍的上限閾值時,測定被包括 在所述多個存儲池中的一第二存儲池確定一負(fù)載范圍,所述第二存儲池具有第二性能等 級,所述第二性能等級高于所述第一性能等級;將所述第一數(shù)據(jù)元的所述負(fù)載與所述第二存儲池的所述負(fù)載范圍進(jìn)行比較; 當(dāng)所述第一數(shù)據(jù)元的所述負(fù)載與所述第二數(shù)據(jù)池的所述負(fù)載范圍的所述比較指示所 述第一數(shù)據(jù)元的所述負(fù)載在所述第二存儲池的所述負(fù)載范圍內(nèi)時,估算數(shù)據(jù)元移動條件以 確定所述第一數(shù)據(jù)元是否存在移動障礙,其中所述估算的數(shù)據(jù)元移動條件包括下列至少一 個所述第二存儲池的空余容量;相對于錯合標(biāo)準(zhǔn)的一預(yù)定等級的所述第一數(shù)據(jù)元與所述 第一存儲池之間的錯合等級;所述存儲系統(tǒng)上的總負(fù)載;所述存儲系統(tǒng)的有效DST移動操 作的次數(shù);所述第一數(shù)據(jù)元的大小;和所述存儲系統(tǒng)的策略限制。
18.如權(quán)利要求17所述的方法,進(jìn)一步包括當(dāng)所述數(shù)據(jù)元移動條件的所述估算指示所述第一數(shù)據(jù)元無移動障礙時,將所述的第一 數(shù)據(jù)元移入所述第二存儲池;和當(dāng)所述第一數(shù)據(jù)元已經(jīng)被移入到所述第二存儲池時以及當(dāng)所述第一數(shù)據(jù)元的所述負(fù) 載下降到所述第二存儲池的所述負(fù)載范圍的一下限閾值之下且在所述第一存儲池的所述 負(fù)載范圍內(nèi)時,將所述第一數(shù)據(jù)元移入所述第一存儲池。
19.如權(quán)利要求17所述的方法,進(jìn)一步包括當(dāng)所述數(shù)據(jù)元移動條件的所述估算指示所述第二存儲池的所述空余容量不足以允許 所述第一數(shù)據(jù)元被移入所述第二存儲池時,比較一第二數(shù)據(jù)元的負(fù)載與所述第一數(shù)據(jù)元的 所述負(fù)載,所述第二數(shù)據(jù)元駐留在所述第二存儲池中。
20.如權(quán)利要求19所述的方法,進(jìn)一步包括當(dāng)所述第二數(shù)據(jù)元的所述負(fù)載小于所述第一數(shù)據(jù)元的所述負(fù)載以及當(dāng)所述第二數(shù)據(jù) 元的逐出將提供所述第二存儲池中足夠的空余容量以接收所述第一數(shù)據(jù)元時,從所述第二 存儲池中去除所述第二數(shù)據(jù)元并將所述第一數(shù)據(jù)元移入所述第二存儲池。
全文摘要
使用現(xiàn)行負(fù)載測量和分級在存儲池中布局虛擬卷熱點的方法。本公開涉及一種通過動態(tài)存儲分層(DST)機(jī)制在存儲系統(tǒng)中的數(shù)據(jù)元布局方法,使得系統(tǒng)的效率得以提高。例如,所述DST機(jī)制可以采取數(shù)據(jù)元布局算法。可以將所述數(shù)據(jù)元(如,虛擬卷熱點)放入存儲池中,使得存儲池的高效使用率最大化??赏ㄟ^在LBA范圍上動態(tài)地測量負(fù)載來檢測熱點??苫诂F(xiàn)行的狀況去測量所述存儲池的性能。進(jìn)一步地,當(dāng)根據(jù)所測量的性能可對存儲池劃分等級時,可根據(jù)負(fù)載對所述熱點劃分等級。如果一個熱點的負(fù)載降低,可將所述熱點移到具有較低性能的存儲池。如果一個熱點的負(fù)載增加,可將所述熱點移到具有較高性能的存儲池。
文檔編號G06F12/02GK102135861SQ20101018175
公開日2011年7月27日 申請日期2010年5月25日 優(yōu)先權(quán)日2010年1月25日
發(fā)明者馬丁·杰思 申請人:Lsi公司