專利名稱:用于降低能量消耗并優(yōu)化工作負(fù)荷和性能的方法與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例涉及數(shù)據(jù)存儲領(lǐng)域,尤其涉及在采用區(qū)等級(extent-level)動態(tài)分層的多分層(tier)存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能。
背景技術(shù):
在現(xiàn)代數(shù)據(jù)中心中,由于數(shù)據(jù)增長和新技術(shù)開發(fā),能量消耗持續(xù)增加。能量對于計算技術(shù)的操作來說是昂貴品。當(dāng)設(shè)計信息技術(shù)(IT)基礎(chǔ)設(shè)施時,能量管理對企業(yè)來說是一個重要的考慮。隨著企業(yè)存儲的數(shù)據(jù)量急劇增加,數(shù)據(jù)存儲消耗數(shù)據(jù)中心的能量消耗中越來越多的百分比。在典型的數(shù)據(jù)中心中,數(shù)據(jù)存儲占數(shù)據(jù)中心總能量消耗的大約40%。存儲分層是一種類型的存儲體系結(jié)構(gòu),它將不同類別的數(shù)據(jù)分配到不同類型的存儲介質(zhì)。存儲分層的目的在于降低IT基礎(chǔ)設(shè)施的存儲成本,同時滿足性能需求。分層的類別主要是基于性能需求、使用頻率和所需的保護(hù)等級。例如,具有提供容錯和可靠性的昂貴高質(zhì)量介質(zhì)(例如,RAID6、SSD)的第一存儲分層可以用于任務(wù)關(guān)鍵數(shù)據(jù)。具有較便宜和更傳統(tǒng)存儲介質(zhì)(例如,SATA)的第二存儲分層可以用于不頻繁訪問的非任務(wù)關(guān)鍵數(shù)據(jù)。具有高性能存儲設(shè)備(例如,光纖通道)的第三存儲分層可以用于頻繁訪問的數(shù)據(jù)。具有光學(xué)存儲設(shè)備(例如,帶式存儲設(shè)備)的第四存儲分層可以用于從另一存儲分層備份數(shù)據(jù)。相應(yīng)地,存儲分層調(diào)整數(shù)據(jù)價值、重要性和性能需求與數(shù)據(jù)所在的實際存儲設(shè)備的可靠性和性能一致。存儲工作負(fù)荷優(yōu)化是指最大化對可用數(shù)據(jù)存儲資源的利用率,以降低運行成本和復(fù)雜性,同時滿足數(shù)據(jù)的性能需求(例如,適合I/O請求)。性能優(yōu)化是指在資源約束下滿足數(shù)據(jù)性能需求和/或?qū)崿F(xiàn)最佳可能的數(shù)據(jù)性能。通過以有效的方式來平衡可用存儲設(shè)備,工作負(fù)荷和性能優(yōu)化最大化存儲設(shè)備和盤的利用率,同時滿足數(shù)據(jù)的性能需求。存儲設(shè)備和盤利用率直接關(guān)聯(lián)到存儲設(shè)備的運行代價(例如,能量)。例如,在任何給定的時間點, 存儲系統(tǒng)中的所有存儲設(shè)備都可能沒有被利用到接近其容量,來滿足數(shù)據(jù)的所需性能。相應(yīng)地,存儲工作負(fù)荷和性能優(yōu)化最大化存儲系統(tǒng)的共享資源,同時滿足數(shù)據(jù)的所需性能。
發(fā)明內(nèi)容
本發(fā)明的實施例涉及在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能。本發(fā)明的一方面包括一種用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的方法。示例性的方法包括接收存儲在存儲系統(tǒng)中的存儲區(qū)(storage extent)的數(shù)據(jù)訪問信息和存儲系統(tǒng)中的存儲設(shè)備的利用率信息。該存儲系統(tǒng)包括多個存儲分層,而且所述多個存儲分層中的每一個分層都是由多個存儲設(shè)備構(gòu)成的。該示例性的方法還包括估計所述多個存儲分層中每一個分層滿足存儲區(qū)的性能和容量需求所需的存儲資源。對存儲資源的估計是基于數(shù)據(jù)訪問信息。該示例形的方法還包括,對于滿足存儲區(qū)的性能和容量需求,確定哪一個存儲分層將導(dǎo)致存儲系統(tǒng)的最低功耗。這一個存儲分層是通過根據(jù)所估計的存儲資源來計算多個存儲分層每一個分層中將由存儲區(qū)消耗的功率量確定的。該示例性的方法還包括確定在所述一個存儲分層中(的多個存儲設(shè)備中)的具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備。對所述至少一個存儲設(shè)備的確定是基于數(shù)據(jù)訪問信息和利用率信息。該示例性的方法還包括將存儲區(qū)分配到所述一個存儲分層,并分配到(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的一個存儲設(shè)備。本發(fā)明的另一方面包括用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的計算機程序產(chǎn)品。示例性的計算機程序產(chǎn)品包括具有計算機可讀存儲介質(zhì)的計算機程序產(chǎn)品,其中該計算機可讀存儲介質(zhì)中包含有計算機可讀程序代碼。該示例性的計算機可讀程序代碼包括,配置成接收存儲在存儲系統(tǒng)中的存儲區(qū)的數(shù)據(jù)訪問信息和存儲系統(tǒng)中的存儲設(shè)備的利用率信息的計算機可讀程序代碼。該存儲系統(tǒng)包括多個存儲分層,而且所述多個存儲分層中的每一個分層都是由多個存儲設(shè)備構(gòu)成的。該示例性的計算機可讀程序代碼還包括配置成估計每個存儲分層滿足存儲區(qū)的性能和容量需求所需的存儲資源。對存儲資源的估計是基于數(shù)據(jù)訪問信息。該示例性的計算機可讀程序代碼還包括,配置成對于滿足存儲區(qū)的性能和容量需求確定哪一個存儲分層將導(dǎo)致存儲系統(tǒng)的最低功耗的計算機可讀程序代碼。這一個存儲分層是通過根據(jù)所估計的存儲資源計算多個存儲分層的每一分層中將由存儲區(qū)消耗的功率量確定的。該示例性的計算機可讀程序代碼還包括,配置成確定在所述一個存儲分層中 (的多個存儲設(shè)備中)的具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備的計算機可讀程序代碼。對所述至少一個存儲設(shè)備的確定是基于數(shù)據(jù)訪問信息和利用率信息。該示例性的計算機可讀程序代碼還包括,配置成將存儲區(qū)分配到所述一個存儲分層并分配到(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的一個存儲設(shè)備的計算機可讀程序代碼。本發(fā)明的另一方面包括一種用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的系統(tǒng)。示例性的系統(tǒng)包括接收存儲在存儲系統(tǒng)中的存儲區(qū)的數(shù)據(jù)訪問信息和存儲系統(tǒng)中存儲設(shè)備的利用率信息的數(shù)據(jù)收集器。該存儲系統(tǒng)包括多個存儲分層,而且每一存儲分層都是由多個存儲設(shè)備構(gòu)成的。該示例性的系統(tǒng)還包括估計所述多個存儲分層中的每一個存儲分層滿足存儲區(qū)的性能和容量需求所需的存儲資源的資源消耗模塊。對存儲資源的估計是基于數(shù)據(jù)訪問信息。該示例性的系統(tǒng)還包括放置模塊,該放置模塊對于滿足存儲區(qū)的性能和容量需求,確定所述多個存儲分層中的哪一個存儲分層將導(dǎo)致存儲系統(tǒng)的最低功耗。這一個存儲分層是通過根據(jù)所估計的存儲資源計算所述多個存儲分層的每一個分層中將由存儲區(qū)消耗的功率量確定的。該放置模塊還確定在所述一個存儲分層中(的多個存儲設(shè)備中)的具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備。對所述至少一個存儲設(shè)備的確定是基于數(shù)據(jù)訪問信息和利用率信息。該示例性的系統(tǒng)還包括將存儲區(qū)分配到所述一個存儲分層并分配到(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的一個存儲設(shè)備的遷移器。參考以下具體描述和所附權(quán)利要求,本發(fā)明的這些和其它特征、方面和優(yōu)點將是顯而易見的。
圖1是根據(jù)一個實施例的用于在采用區(qū)等級分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的示例性系統(tǒng)的圖;圖2是根據(jù)一個實施例的用于在采用區(qū)等級分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的方法的流程圖;圖3是根據(jù)一個實施例的示例性多分層存儲系統(tǒng)的圖;圖4是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低功耗的方法的流程圖;圖5是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中優(yōu)化工作負(fù)荷的方法的流程圖;圖6是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中優(yōu)化性能的第一種方法的流程圖;圖7是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中優(yōu)化性能的第二種方法的流程圖;及圖8是示出了根據(jù)一個實施例的用于實現(xiàn)本發(fā)明實施例的信息處理系統(tǒng)的高級框圖。
具體實施例方式本發(fā)明的實施例涉及在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能。多分層存儲系統(tǒng)(例如,IBM系統(tǒng)存儲設(shè)備TM Easy Tier)具有在不同存儲設(shè)備類型的存儲分層之間展開的有效卷。每個存儲分層和構(gòu)成它們的存儲設(shè)備都具有不同的性能/成本/能線圖。工作負(fù)荷的I/O率在大多數(shù)時間一般都低于峰值。靜態(tài)或者半靜態(tài)放置不是最佳的,因為那些放置是為峰值時間配置的。為峰值時間配置的靜態(tài)或者半靜態(tài)放置需要更多的能量消耗,因為在非峰值時間系統(tǒng)被超載供給(over provision)。為平均I/O率配置的靜態(tài)或者半靜態(tài)放置也不是最佳的,因為那些放置在峰值時間具有降低的性能。例如,數(shù)據(jù)存儲利用率是動態(tài)的而不是靜態(tài)的,這使得數(shù)據(jù)整合是重要的。因此,數(shù)據(jù)分層優(yōu)化需要是個動態(tài)的過程,以便最大化存儲資源,來調(diào)整數(shù)據(jù)存儲和性能需求中的變化。圖1是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的示例性系統(tǒng)100的圖。多個應(yīng)用節(jié)點10h、102b. . . 102η 向存儲系統(tǒng)106發(fā)送數(shù)據(jù)訪問請求104(例如,I/O請求)。存儲系統(tǒng)106包括由特定類型的幾個存儲設(shè)備組成的多個存儲分層108a、108b. . . 108η。存儲系統(tǒng)106具有虛擬化層和也稱為存儲陣列的多個存儲設(shè)備110、112、114、116、118和120。該虛擬化層允許卷由不同存儲分層108a、108b. · · 108η和存儲設(shè)備110、112、114、116、118和120中的存儲區(qū)組成。在一個實施例中,存儲設(shè)備110、112、114、116、118和120包括不同的存儲設(shè)備類型。例如,存儲設(shè)備110、112、114、116、118和120可以包括但不限于ATA(高級技術(shù)配件) 存儲設(shè)備110、FC(光纖通道)存儲設(shè)備112、SSD(固態(tài)驅(qū)動)存儲設(shè)備114、SAS(串聯(lián)附接的SCSI)存儲設(shè)備116、SATA(串行高級技術(shù)配件)存儲設(shè)備118和帶式存儲設(shè)備120。 在一個實施例中,存儲設(shè)備110、112、114、116、118和120可以具有相同的可靠性,也稱為冗余等級(例如,RAID5),因此跨陣列遷移數(shù)據(jù)是不受約束的。在另一個實施例中,跨不同可靠性等級的存儲區(qū)遷移是由策略控制的。例如,策略可以使遷移到更高RAID等級總是可以接受的。在一個示例性實施例中,多個存儲分層108a、108b. . . 108η中的每一個分層都包括一組單個特定類型的物理存儲設(shè)備。例如,存儲分層可以定義為高可靠性光纖通道(FC) 分層。FC分層可以包括一組物理存儲設(shè)備,這組物理存儲設(shè)備只由具有適當(dāng)存儲冗余性策略(例如,RAID1)的多個FC存儲設(shè)備112(例如,盤驅(qū)動器、存儲陣列)構(gòu)成。在另一個例子中,不同的存儲分層可以定義為低成本SATA分層118。SATA分層118可以包括一組物理存儲設(shè)備110、112、114、116、118和120,這組物理存儲設(shè)備只由具有適當(dāng)存儲冗余性策略 (例如,RAID5)的多個SATA存儲設(shè)備118構(gòu)成。系統(tǒng)100還包括動態(tài)分層管理器124。動態(tài)分層管理器IM從存儲系統(tǒng)106接收存儲區(qū)數(shù)據(jù)訪問信息122(例如,I/O事件信息)。在另一個例子中,動態(tài)分層管理器124 從存儲系統(tǒng)106接收存儲設(shè)備利用率統(tǒng)計信息122。動態(tài)分層管理器IM包括數(shù)據(jù)收集器 126。數(shù)據(jù)收集器1 耦合到資源消耗模塊1 和節(jié)流(throttling)模塊134。資源消耗模塊1 耦合到放置模塊130。放置模塊130和節(jié)流模塊134耦合到遷移器132。動態(tài)分層管理器IM將遷移請求136發(fā)送到存儲系統(tǒng)106。圖2是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低能量消耗并優(yōu)化工作負(fù)荷和性能的方法200的流程圖。在步驟202中,數(shù)據(jù)收集器1 接收存儲在存儲系統(tǒng)106中的存儲區(qū)的數(shù)據(jù)訪問信息122和存儲系統(tǒng)106中的存儲設(shè)備110、 112、114、116、118. . . 120的利用率信息122。在一個實施例中,數(shù)據(jù)訪問信息和利用率信息 122是以預(yù)定的時間間隔持續(xù)接收的。(例如,由系統(tǒng)管理員)所選的預(yù)定時間間隔是特定于系統(tǒng)和性能的。例如,在大規(guī)模存儲體系結(jié)構(gòu)中,接收數(shù)據(jù)訪問信息122和利用率信息 122的預(yù)定時間間隔可以從1分鐘到M小時變動,優(yōu)選的范圍是5到10分鐘。在示例性實施例中,數(shù)據(jù)訪問信息122包括發(fā)布到存儲區(qū)的I/O的性能信息(即, I0PS(每秒鐘的輸入/輸出操作)中的I/O率)、存儲區(qū)的大小、隨機I/O帶寬(S卩,每秒鐘發(fā)送的字節(jié))。在另一個示例實施例中,利用率信息122包括總可用存儲空間、總存儲容量、I/O率容量、I/O流量(S卩,隨機I/O率)、IOPS容量和帶寬容量。在另一個示例實施例中,利用率信息包括所消耗的能量、每瓦特完成的I0PS、每瓦特的GB、遷移開銷(所傳送的數(shù)據(jù)、I/O的個數(shù))、響應(yīng)時間、存儲配置、向其發(fā)布I/O的邏輯塊尋址(LBA)、卷ID、讀或?qū)懼甘酒?。在一個實施例中,存儲系統(tǒng)106具有可以收集并報告關(guān)于所施加工作負(fù)荷的統(tǒng)計數(shù)據(jù)的固件數(shù)據(jù)路徑。在示例實施例中,數(shù)據(jù)收集器1 將每個I/O的LBA和卷ID映射到存儲系統(tǒng)106 中的唯一存儲區(qū)。然后,數(shù)據(jù)收集器126收集用于存儲系統(tǒng)106中該存儲區(qū)的數(shù)據(jù)訪問信息122。例如,I/O的個數(shù)、讀或?qū)?、響?yīng)時間和傳送大小。數(shù)據(jù)收集器1 然后周期性地 (例如,每5分鐘)總結(jié)這些值,來計算每個區(qū)的I0PS、平均響應(yīng)時間、讀寫比率和平均傳送大小。在另一個實施例中,數(shù)據(jù)收集器1 還組合當(dāng)前值與前五分鐘間隔的值,來獲得存儲區(qū)90個百分點的I0PS、和更長間隔上存儲區(qū)的平均I0PS。在一個實施例中,存儲系統(tǒng)106中到多個存儲分層106和存儲設(shè)備110、112、114、 116,118. . . 120的數(shù)據(jù)放置是以存儲區(qū)的粒度執(zhí)行的。存儲區(qū)的大小是基于用于存儲系統(tǒng)106的性能的偏好可變的。例如,用于存儲系統(tǒng)106的性能的偏好可以包括遷移等待時間、 數(shù)據(jù)訪問響應(yīng)速度、數(shù)據(jù)放置效率和元數(shù)據(jù)開銷。在示例實施例中,存儲區(qū)的大小是64MB, 但可以基于性能偏好和所提供的特定存儲系統(tǒng)從幾十兆字節(jié)到幾千兆字節(jié)變動。在步驟204,資源消耗模塊1 估計多個存儲分層108a、108b. . . 108η中每一個分層為滿足存儲區(qū)的性能和容量需求所需的存儲資源。在一個實施例中,對存儲資源的估計是基于由數(shù)據(jù)收集器126所接收的數(shù)據(jù)訪問信息122,該信息傳遞到資源消耗模塊128。在另一個實施例中,(在數(shù)據(jù)收集器126傳遞數(shù)據(jù)訪問信息之后)對存儲資源的估計是由資源消耗模塊1 在每個預(yù)定的時間間隔進(jìn)行的。例如,存儲區(qū)具有存儲容量需求E。和性能需求4。存儲容量需求可以由存儲區(qū)的大小來確定。在另一個示例實施例中,存儲區(qū)的性能需求是基于先前的時間間隔由存儲區(qū)的IOPS和帶寬需求來確定的。存儲設(shè)備中的總空間是基于由數(shù)據(jù)收集器1 接收到的、存儲系統(tǒng)106中存儲設(shè)備110、112、114、116、118. . . 120的利用率信息122。在一個實施例中, 承接(host)存儲區(qū)容量所需的資源量(RC(E。,D))計算為(RC(Ec, D))=區(qū)所需的容量/設(shè)備中的總空間在一個實施例中,采用一種模型來估計支持存儲區(qū)的隨機和順序工作負(fù)荷并由此滿足其性能需求所需的資源量(例如,性能利用率)。當(dāng)放置到存儲設(shè)備D上時,存儲區(qū)E 的性能資源消耗(RC P,D))計算為(RC (Ep, D)) = RIOR · Rtime+ 帶寬· Xtime例如,RIOR是隨機I/O率。Rtime定義為執(zhí)行單個隨機I/O所消耗的時間。如果設(shè)備D是硬盤驅(qū)動器(HDD)的話,則Rtime估計為設(shè)備D的平均尋道時間和平均旋轉(zhuǎn)延遲的和(例如,Rtime =用于SSD的數(shù)據(jù)訪問時間)。Xtime是從設(shè)備D傳送單個字節(jié)所需的時間,假定為設(shè)備D的最大帶寬的倒數(shù)。在一個實施例中,估計由存儲區(qū)所需的總的資源計算為RC (E,D) = max (RC (Ep,D),RC (Ec,D))相應(yīng)地,對于要由放置模塊130放置或遷移的存儲區(qū),資源消耗模塊1 便于基于它所估計的存儲資源選擇(存儲系統(tǒng)106中的多個存儲分層108a、108b... 108η中的)最有效的存儲分層。在步驟206,放置模塊130確定(存儲系統(tǒng)106中的多個存儲分層108a、 108b. . . 108η中)哪一個存儲分層為了滿足存儲區(qū)的性能需求將導(dǎo)致最低功耗。對這一個存儲分層的確定是基于由資源消耗模塊1 估計并傳遞到放置模塊130的存儲資源。在一個實施例中,放置模塊130使用放置算法來計算從多個存儲分層108a、 108b. . . 108η中的每一個分層為滿足存儲區(qū)的性能需求而對存儲系統(tǒng)106的功耗。例如,放置算法將每個存儲分層108a、108b. . . 108η的存儲區(qū)估計存儲資源轉(zhuǎn)換成對存儲系統(tǒng)106 的功耗。在示例實施例中,放置算法通過計算分?jǐn)?shù)冪負(fù)擔(dān)(Fractional Power Burden)(即, 將由存儲區(qū)消耗的功率)來確定功耗。分?jǐn)?shù)冪負(fù)擔(dān)是針對存儲系統(tǒng)106中每個存儲分層 108a、108b. . . 108η的每個存儲區(qū)計算的。當(dāng)放置到存儲分層108a、108b. · · 108η 的存儲設(shè)備 110、112、114、116、118. · · 120
中時,分層中的分?jǐn)?shù)冪負(fù)擔(dān)是該分層中存儲設(shè)備的功耗與由資源消耗模塊1 計算的存儲區(qū)的資源消耗(RC)的乘積。
然后,放置模塊130選擇(存儲系統(tǒng)106中的多個存儲分層108a、108b. . . 108η中的)最小化分?jǐn)?shù)冪負(fù)擔(dān)的一個存儲分層。例如,導(dǎo)致最低分?jǐn)?shù)冪負(fù)擔(dān)的存儲分層被選為用于該存儲區(qū)的存儲分層。例如,所有存儲區(qū)都基于滿足性能需求同時導(dǎo)致最低可能功耗而被分配到最適合的存儲分層。在示例實施例中,放置模塊130每存儲分層地開發(fā)一個組,而且每個組由用于讓遷移器132將存儲區(qū)遷移到那個存儲分層的存儲區(qū)列表構(gòu)成。在步驟208,放置模塊130在一個選定的存儲分層中確定(多個存儲設(shè)備中的)具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備。對該至少一個存儲設(shè)備的確定是基于由數(shù)據(jù)收集器126收集并傳遞到放置模塊130的數(shù)據(jù)訪問信息122和利用率信息122。然后,放置模塊130選擇(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的一個存儲設(shè)備。放置模塊130選擇特定的存儲設(shè)備來向其分配存儲區(qū),以具有可以滿足性能需求的最少可用存儲容量(即,空間)的存儲設(shè)備開始。如果在考慮可用存儲約束的情況下前一個存儲設(shè)備不能容納存儲區(qū),則放置模塊130選擇具有最少可用存儲容量的下一個存儲設(shè)備。在步驟210,遷移器132將該存儲區(qū)分配(或者遷移)到由放置模塊130選擇的用于向其分配存儲區(qū)的一個存儲分層和一個存儲設(shè)備。在示例實施例中,通過檢查用于存儲區(qū)遷移請求的源存儲設(shè)備和目標(biāo)存儲設(shè)備當(dāng)前是否正在執(zhí)行任何遷移,遷移器132首先執(zhí)行準(zhǔn)入控制。如果它們正在執(zhí)行遷移,則當(dāng)前的遷移請求被重新排隊,而且遷移器132移動到下一個遷移請求。如果它們不正在執(zhí)行遷移,則遷移器132發(fā)布該遷移請求。在另一個實施例中,要遷移的每個存儲區(qū)都被分成幾個讀-寫移動,例如,每次傳送1MB的數(shù)據(jù)。在每個MB傳送的開始,遷移器132采樣源存儲設(shè)備的利用率和目標(biāo)存儲設(shè)備的利用率,并將其所消耗的利用率設(shè)置為遷移閾值。然后,遷移器132利用該遷移閾值計算遷移I/O率。然后,遷移器132以遷移I/O率確定那個存儲區(qū)所需的數(shù)據(jù)傳輸?shù)牟剿佟T诹硪粋€實施例中,所生成的存儲區(qū)的遷移是以降低I/O率的次序來排優(yōu)先級的,以減小對存儲區(qū)的性能影響。圖3是根據(jù)一個實施例的示例多分層存儲系統(tǒng)300的圖。多分層存儲系統(tǒng)300包括多個存儲分層,即,存儲分層1 302a、存儲分層2 302b...存儲分層3 302η。這多個存儲分層(即,存儲分層1 302a、存儲分層2 302b...存儲分層3 302η)中的每一個分層都包括存儲控制器 304a、304b. . . 30 。多個存儲分層(即,存儲分層1 302a、存儲分層2 302b...存儲分層3 302η)中的每一個分層還包括多個存儲設(shè)備306a、306b. . . 306η。多個存儲分層(即,存儲分層1 302a、 存儲分層2 302b...存儲分層3 302η)中的每一個分層都具有單個唯一類型的存儲設(shè)備 306a、306b. ..306η。多個存儲分層(即,存儲分層1 302a、存儲分層2 302b...存儲分層 3)中的每一個分層都具有不同的性能/成本/能線圖。例如,多個存儲分層(即,存儲分層1 302a、存儲分層2 302b...存儲分層3 302η)中的每一個分層都可以包括ATA存儲設(shè)備110、FC存儲設(shè)備112、SSD存儲設(shè)備114、SAS存儲設(shè)備116、SATA存儲設(shè)備118或者帶式存儲設(shè)備120。圖4是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中降低功耗的方法400的流程圖。在步驟402,放置模塊130確定(存儲系統(tǒng)106中的多個存儲分層108a、108b. . . 108η中)是否有至少一個其它的存儲分層為了滿足存儲區(qū)的性能和容量需求將比存儲區(qū)當(dāng)前所分配到的存儲分層導(dǎo)致存儲系統(tǒng)106更低的功耗(見步驟206)。 例如,挑選讓存儲區(qū)分配到的有效存儲設(shè)備確保數(shù)據(jù)只消耗與提供所需的性能等級需要的能量相當(dāng)?shù)哪芰?,使得用于存儲區(qū)工作負(fù)荷的總能量消耗被最小化,同時滿足性能需求。該確定是響應(yīng)數(shù)據(jù)收集器126以預(yù)定間隔持續(xù)地接收到存儲在存儲系統(tǒng)106中的存儲區(qū)的數(shù)據(jù)訪問信息122和存儲系統(tǒng)中的存儲設(shè)備110、112、114、116、118... 120的利用率信息 122(見步驟20 而進(jìn)行的。如果(存儲系統(tǒng)106中的多個存儲分層108a、108b. . . 108η中)沒有至少一個其它的存儲分層為了滿足存儲區(qū)的性能和容量需求將比存儲區(qū)當(dāng)前所分配到的存儲分層導(dǎo)致存儲系統(tǒng)106更低的功耗,則方法400前進(jìn)到步驟404。在步驟404,方法400在預(yù)定的時間間隔之后重復(fù)。該預(yù)定的時間間隔(例如,5分鐘至M小時)是基于所提供的存儲系統(tǒng)和性能偏好。如果(存儲系統(tǒng)106中的多個存儲分層108a、108b. . . 108η中)有至少一個其它的存儲分層為了滿足存儲區(qū)的性能和容量需求將比存儲區(qū)當(dāng)前所分配到的存儲分層導(dǎo)致存儲系統(tǒng)106更低的功耗,則方法400前進(jìn)到步驟406。在步驟406,放置模塊130選擇(所述至少一個存儲分層中的)為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致存儲系統(tǒng)106最低功耗的一個存儲分層,以將存儲區(qū)分配到該存儲分層(見步驟206)。在步驟408,放置模塊130確定(由放置模塊130選擇來將存儲區(qū)遷移到其的)一個選定的存儲分層中(多個存儲設(shè)備中的)具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備(見步驟208)。在步驟410,放置模塊130將存儲區(qū)(從其本被分配到的存儲分層)遷移到(由放置模塊130選擇來將存儲區(qū)遷移到其的)一個選定的存儲分層并遷移到(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的一個存儲設(shè)備(見步驟210)。在步驟412,方法400在預(yù)定的時間間隔之后重復(fù)(見步驟 202)。用于遷移計劃的預(yù)定時間間隔是可變的而且是基于特定存儲系統(tǒng)的性能偏好。例如,用于存儲系統(tǒng)106的性能偏好的偏好可以包括用于存儲區(qū)遷移的存儲系統(tǒng)106的開銷。 在示例實施例中,預(yù)定的時間間隔可以在1分鐘到M小時的范圍內(nèi)。在另一個示例實施例中,預(yù)定的時間間隔可以在5分鐘到1小時的范圍內(nèi),優(yōu)選的時間間隔在5分鐘到10分鐘之間。在另一個實施例中,放置模塊130確定用于將存儲區(qū)遷移到(存儲系統(tǒng)106中的多個存儲分層108a、108b. . . 108η中的)另一存儲分層的存儲系統(tǒng)106的開銷是否抵消了移動該存儲區(qū)來實現(xiàn)降低功耗的成本利益。在示例實施例中,開銷取決于工作負(fù)荷的穩(wěn)定性,因為與在單個存儲分層中停留更長時間的存儲區(qū)相比,在每個預(yù)定時間間隔重新分配的存儲區(qū)從遷移獲得的益處較小。因此,當(dāng)穩(wěn)定性的缺乏造成動態(tài)遷移低效時,放置模塊 130不提供遷移。例如,在考慮遷移的情況下,存儲區(qū)的工作負(fù)荷需要穩(wěn)定性,使得遷移決定對于某個時段節(jié)約能量是有效的,然而具有波動的工作負(fù)荷的存儲區(qū)沒有顯示出用于遷移的可預(yù)測變化。圖5是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中優(yōu)化工作負(fù)荷的方法500的流程圖。在示例實施例中,放置模塊130(在存儲區(qū)分配到其的存儲分層中)選擇一個存儲設(shè)備,以便將存儲區(qū)遷移到其,這將優(yōu)化那個存儲分層中存儲設(shè)備的工作負(fù)荷。例如,工作負(fù)荷優(yōu)化包括在給定存儲分層中在最小數(shù)量的存儲設(shè)備上放置最大數(shù)量的存儲區(qū),同時滿足存儲區(qū)的性能和容量需求。因此,未充分利用的存儲設(shè)備將把分配到其的存儲區(qū)遷移到另一個存儲設(shè)備,這將更好地最大化其存儲資源。在步驟502,節(jié)流模塊134確定對(存儲區(qū)所分配到的)存儲設(shè)備的性能度量 (metric)是否低于預(yù)定閾值使得存儲設(shè)備的存儲資源未充分利用,以及對(存儲區(qū)所分配到的存儲分層中的多個存儲設(shè)備中的)至少一個存儲設(shè)備的性能度量是否高于預(yù)定閾值并具有用來滿足存儲區(qū)的性能和容量需求的可用存儲資源。該確定是響應(yīng)于數(shù)據(jù)收集器 126以預(yù)定間隔持續(xù)地接收到存儲在存儲系統(tǒng)106中的存儲區(qū)的數(shù)據(jù)訪問信息122和存儲系統(tǒng)中存儲設(shè)備110、112、114、116、118. .. 120的利用率信息122(見步驟202)而進(jìn)行的。在示例實施例中,性能度量是基于來自(存儲系統(tǒng)106中的多個存儲分層108a、 108b. . . 108η中的每一個存儲分層的)每個有效存儲設(shè)備的存儲區(qū)的IOPS的平均響應(yīng)時間。平均響應(yīng)時間(即,I0PS)被選為性能度量是因為響應(yīng)時間的增加是存儲資源節(jié)流(或者說未充分利用)的潛在指示符,這是由于應(yīng)用期望比存儲設(shè)備可以提供的更高的I/O率, 這導(dǎo)致排隊延遲?;趹?yīng)用及其性能偏好,用于那些性能度量的預(yù)定閾值是特定于系統(tǒng)的。 在示例實施例中,預(yù)定的閾值是50毫秒(msecs)。如果對(分配了存儲區(qū)的)存儲設(shè)備的性能度量不低于預(yù)定閾值,使得存儲設(shè)備的存儲資源沒有未充分利用,和/或?qū)?分配了存儲區(qū)的存儲分層中的多個存儲設(shè)備中的) 至少一個存儲設(shè)備的性能度量不高于預(yù)定閾值或者不具有滿足存儲區(qū)的性能和容量需求的可用存儲資源(見步驟208),則方法500前進(jìn)到步驟504。如果對(分配了存儲區(qū)的) 存儲設(shè)備的性能度量低于預(yù)定閾值使得存儲設(shè)備的存儲資源未充分利用,而且對(分配了存儲區(qū)的存儲分層中的多個存儲設(shè)備中)至少一個存儲設(shè)備的性能度量高于預(yù)定閾值或者具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則方法500前進(jìn)到步驟506。因此, 在相同的存儲分層中存在另一個未節(jié)流或者過度利用的存儲設(shè)備。在步驟504,方法500在預(yù)定的時間間隔之后重復(fù)。在步驟506,放置模塊130選擇(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的特定存儲設(shè)備,用于讓存儲區(qū)遷移到該存儲設(shè)備(見步驟208)。在步驟508,遷移器132將存儲區(qū)從其所分配到的存儲設(shè)備遷移到該特定存儲設(shè)備。在步驟510,存儲系統(tǒng) 106將存儲系統(tǒng)106中(每個存儲分層108a、108b. · · 108η中的多個存儲設(shè)備110、112、114、 116、118...120中)沒有分配至少一個存儲區(qū)的每個存儲設(shè)備斷電。在步驟512,方法500 在預(yù)定時間間隔之后重復(fù)。圖6是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)106中優(yōu)化性能的第一種方法600的流程圖。在示例實施例中,放置模塊130選擇(存儲分層中分配了存儲區(qū)的)存儲設(shè)備,以便將存儲區(qū)遷移到該存儲設(shè)備,這將優(yōu)化那個存儲分層中的性能。因為存儲設(shè)備的存儲資源被節(jié)流,所以遷移存儲區(qū)。例如,如果存儲設(shè)備的存儲資源被節(jié)流并由此該存儲設(shè)備被過度利用,則存儲設(shè)備可能不能夠滿足存儲區(qū)的性能需求。在步驟602,節(jié)流模塊134確定對(分配了存儲區(qū)的)存儲設(shè)備的性能度量是否高于預(yù)定閾值使得該存儲設(shè)備的存儲資源被節(jié)流,以及對(分配了存儲區(qū)的)存儲分層中 (多個存儲設(shè)備中的)至少一個存儲設(shè)備的性能度量是否低于預(yù)定閾值并具有滿足存儲區(qū)的性能和容量需求的可用存儲資源。該確定是響應(yīng)于數(shù)據(jù)收集器126以預(yù)定間隔持續(xù)地接收到存儲在存儲系統(tǒng)106中的存儲區(qū)的數(shù)據(jù)訪問信息122和存儲系統(tǒng)中存儲設(shè)備110、112、114、116、118. . . 120的利用率信息122(見步驟202)而進(jìn)行的。在示例實施例中,該性能度量是基于來自(存儲系統(tǒng)106中多個存儲分層108a、108b. . . 108η的每一個分層中)每個有效存儲設(shè)備的存儲區(qū)的IOPS的平均響應(yīng)時間。如果對(分配了存儲區(qū)的)存儲設(shè)備的性能度量不高于預(yù)定閾值使得該存儲設(shè)備的存儲資源未節(jié)流,和/或?qū)?分配了存儲區(qū)的)存儲分層中(多個存儲設(shè)備中的)至少一個存儲設(shè)備的性能度量不低于預(yù)定閾值或者不具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則方法600前進(jìn)到步驟604。在步驟604,方法600在預(yù)定時間間隔之后重復(fù)。如果對(分配了存儲區(qū)的)存儲設(shè)備的性能度量高于預(yù)定閾值,使得該存儲設(shè)備的存儲資源被節(jié)流,而且對(分配了存儲區(qū)的)存儲分層中(多個存儲設(shè)備中的)至少一個存儲設(shè)備的性能度量低于預(yù)定閾值而且具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則方法600前進(jìn)到步驟606。在步驟606,放置模塊130選擇(所述至少一個存儲設(shè)備中的)具有最少可用存儲容量的特定存儲設(shè)備,用于將存儲區(qū)遷移到該存儲設(shè)備。在步驟608,遷移器132將存儲區(qū)從其所分配到的存儲設(shè)備遷移到由放置模塊130選擇的用于將存儲區(qū)遷移到其的特定存儲設(shè)備。在步驟610,方法600在預(yù)定時間間隔之后重復(fù)。在一個實施例中,作為通過基于存儲設(shè)備的可用性實例化高、相同或者更低成本的分層中的一個存儲設(shè)備來節(jié)流的結(jié)果,放置模塊執(zhí)行遷移。一旦新陣列被實例化,則受影響的存儲設(shè)備上的存儲區(qū)利用這些受影響的存儲設(shè)備的I/O率進(jìn)行排序,并且在兩個存儲設(shè)備(新實例化的存儲設(shè)備和被節(jié)流的存儲設(shè)備)之間以循環(huán)(round-robin)方式放置, 對其空間和I/O率限制有約束。監(jiān)視這些存儲設(shè)備用以在下一個時間間隔選擇,而且如果存儲設(shè)備繼續(xù)被節(jié)流,則重復(fù)該處理。在另一個實施例中,被節(jié)流的存儲設(shè)備中的所有存儲區(qū)都是利用其I/O率需求來排序的,并以貪婪(greedy)方式放置到由其I/O率可用性排序的存儲設(shè)備上。圖7是根據(jù)一個實施例的用于在采用區(qū)等級動態(tài)分層的多分層存儲系統(tǒng)中優(yōu)化性能的第二種方法700的流程圖。在步驟702,節(jié)流模塊134確定對(分配了存儲區(qū)的) 存儲分層中多個存儲設(shè)備中每一個存儲設(shè)備的性能度量是否高于預(yù)定閾值,使得所述多個存儲設(shè)備中每一個存儲設(shè)備的存儲資源都被節(jié)流或者不具有滿足存儲區(qū)的性能和存儲容量需求的可用存儲資源。該確定是響應(yīng)于數(shù)據(jù)收集器126以預(yù)定間隔持續(xù)地接收到存儲在存儲系統(tǒng)106中的存儲區(qū)的數(shù)據(jù)訪問信息122和存儲系統(tǒng)中存儲設(shè)備110、112、114、116、 118. . . 120的利用率信息122(見步驟202)而進(jìn)行的。在示例實施例中,該性能度量是基于來自(存儲系統(tǒng)106中多個存儲分層108a、108b. . . 108η中每一個存儲分層中的)每個有效存儲設(shè)備的存儲區(qū)的IOPS的平均響應(yīng)時間。如果對(分配了存儲區(qū)的)存儲分層中多個存儲設(shè)備中每一個存儲設(shè)備的性能度量都不高于預(yù)定閾值,使得這多個存儲設(shè)備中每一個存儲設(shè)備的存儲資源都未被節(jié)流,則該第二種方法700前進(jìn)到步驟704。在步驟704,第二種方法700在預(yù)定時間間隔之后重復(fù)。如果對(分配了存儲區(qū)的)存儲分層中多個存儲設(shè)備中每一個存儲設(shè)備的性能度量都高于預(yù)定閾值,使得這多個存儲設(shè)備中每一個存儲設(shè)備的存儲資源都被節(jié)流或者不具有滿足存儲區(qū)的性能和存儲容量需求的可用存儲資源,則方法700前進(jìn)到步驟706。在步驟 706,放置模塊130確定(存儲系統(tǒng)106中多個存儲分層108a、108b. . . 108η中的)哪個存儲分層為了滿足存儲區(qū)的性能需求將導(dǎo)致最低功耗(見步驟206)。然后,放置模塊130選擇該存儲分層來將存儲區(qū)遷移到其。在步驟708,放置模塊130確定這一個選定的存儲分層中(多個存儲設(shè)備中的)具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備(見步驟208)。在步驟710,遷移器132將存儲區(qū)遷移到由放置模塊130選擇將存儲區(qū)遷移到的所述一個存儲分層和所述一個存儲設(shè)備。在步驟712,第二種方法700在預(yù)定時間間隔之后重復(fù)。如本領(lǐng)域技術(shù)人員將認(rèn)識到的,本發(fā)明的各方面可以體現(xiàn)為系統(tǒng)、方法或者計算機程序產(chǎn)品。相應(yīng)地,本發(fā)明的各方面可以采取全硬件的實施例、全軟件的實施例(包括固件、駐留軟件、微代碼,等等),或者在此總體上可以稱為“電路”、“模塊”或“系統(tǒng)”的、結(jié)合了軟件和硬件方面的實施例。此外,本發(fā)明的各方面還可以采取體現(xiàn)在一種或多種計算機可讀介質(zhì)中的計算機程序產(chǎn)品的形式,其中計算機可讀介質(zhì)中包含有計算機可讀程序代碼。一種或多種計算機可讀介質(zhì)的任何組合都可以使用。計算機可讀介質(zhì)可以是計算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)可以是例如但不限于,電、 磁、光、電磁、紅外線或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或者以上所述的任何合適的組合。計算機可讀存儲介質(zhì)的更具體例子(非窮盡列表)將包括以下具有一條或多條電線的電連接、 便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦可編程只讀存儲器 (EPR0M或閃速存儲器)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光學(xué)存儲設(shè)備、磁性存儲設(shè)備或者以上所述的任何合適組合。在本文檔的背景下,計算機可讀存儲介質(zhì)可以是可包含或存儲由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或者與其連接的程序的任何有形介質(zhì)。計算機可讀信號介質(zhì)可以包括傳播的數(shù)據(jù)信號,其中包含了計算機可讀程序代碼,例如,在基帶中或者作為載波的一部分。這種傳播的信號可以采取多種形式中的任何一種,其包括但不限于電磁的、光的或者其任何合適的組合。計算機可讀信號介質(zhì)可以是非計算機可讀存儲介質(zhì)并且能夠傳送、傳播或者運輸由指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或者與其連接的程序的任何計算機可讀介質(zhì)。體現(xiàn)在計算機可讀介質(zhì)上的程序代碼可以利用任何適當(dāng)?shù)慕橘|(zhì)發(fā)送,所述介質(zhì)包括但不限于,無線、有線線路、光纖線纜、RF等等或者以上所述的任何合適組合。用于執(zhí)行本發(fā)明各方面的操作的計算機程序代碼可以以一種或多種編程語言的任何組合來書寫,包括諸如JaVa、Smalltalk、C++等的面向?qū)ο缶幊陶Z言和諸如“C”編程語言或類似編程語言的傳統(tǒng)過程性編程語言。程序代碼可以完全在用戶的計算機上、部分在用戶的計算機上、作為獨立的軟件包、部分在用戶計算機上且部分在遠(yuǎn)程計算機上、或者完全在遠(yuǎn)程計算機或服務(wù)器上執(zhí)行。在后一種場景下,遠(yuǎn)程計算機可以通過任何類型的網(wǎng)絡(luò)連接到用戶的計算機,包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),或者該連接可以對外部計算機進(jìn)行(例如,通過利用互聯(lián)網(wǎng)服務(wù)提供商的互聯(lián)網(wǎng))。以下參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖說明和/或框圖來描述本發(fā)明的各方面。應(yīng)當(dāng)理解,流程圖說明和/或框圖的每個塊及流程圖說明和/或框圖中塊的組合可以由計算機程序指令來實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或者其它可編程數(shù)據(jù)處理裝置的處理器,來產(chǎn)生機器,使得通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實現(xiàn)在流程圖以及/ 或者一個或多個框圖塊中指定的功能/動作。 這些計算機程序指令還可以存儲在計算機可讀介質(zhì)中,這些計算機可讀介質(zhì)可以指示計算機、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備以特定方式起作用,使得存儲在該計算機可讀介質(zhì)中的指令產(chǎn)生包括實現(xiàn)流程圖以及/或者一個或多個框圖塊中指定的功能/ 動作的指令的制造品。計算機程序指令還可以加載到計算機、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備上,使一系列操作性步驟在計算機、其它可編程裝置或者其它設(shè)備上執(zhí)行,以便產(chǎn)生計算機實現(xiàn)處理,使得在計算機或其它可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖以及/或者一個或多個框圖塊中指定的功能/動作的處理。圖8是用于實現(xiàn)本發(fā)明實施例的系統(tǒng)的圖。該計算機系統(tǒng)包括一個或多個處理器,例如處理器802。處理器802連接到通信基礎(chǔ)設(shè)施804(例如,通信總線、跨接 (cross-over)條或者網(wǎng)絡(luò))。該計算機系統(tǒng)可以包括顯示接口 806,該顯示接口轉(zhuǎn)發(fā)來自通信基礎(chǔ)設(shè)施804的 (或者來自未示出的幀緩沖器的)圖形、文本和其它數(shù)據(jù),用于顯示到顯示單元808上。該計算機系統(tǒng)還包括主存儲器810,優(yōu)選地是隨機存取存儲器(RAM),而且還可以包括輔助存儲器812。輔助存儲器812可以包括例如硬盤驅(qū)動器814和/或可拆卸存儲驅(qū)動器816,其中可拆卸存儲驅(qū)動器816代表例如軟盤驅(qū)動器、磁帶驅(qū)動器或者光盤驅(qū)動器。可拆卸存儲驅(qū)動器816以本領(lǐng)域普通技術(shù)人員眾所周知的方式從可拆卸存儲單元818讀和/或?qū)???刹鹦洞鎯卧?18代表例如由可拆卸存儲驅(qū)動器816讀和寫的軟盤、緊湊盤、磁帶或者光盤,等等。如將認(rèn)識到的,可拆卸存儲單元818包括具有存儲到其中的計算機軟件和/或數(shù)據(jù)的計算機可讀介質(zhì)。在可選實施例中,輔助存儲器812可以包括用于允許計算機程序或者其它指令加載到計算機系統(tǒng)中的其它類似裝置。這種裝置可以包括例如可拆卸存儲單元820和接口 822。這種裝置的例子可以包括程序包和包接口(例如在視頻游戲設(shè)備中找到的)、可拆卸存儲器芯片(例如EPROM或PR0M)和關(guān)聯(lián)的插座,及允許軟件和數(shù)據(jù)從可拆卸存儲單元820 傳送到計算機系統(tǒng)的其它可拆卸存儲單元820和接口 822。該計算機系統(tǒng)還可以包括通信接口 824。通信接口擬4允許軟件和數(shù)據(jù)在計算機系統(tǒng)和外部設(shè)備之間傳送。通信接口擬4的例子可以包括調(diào)制解調(diào)器、網(wǎng)絡(luò)接口(例如以太網(wǎng)卡)、通信端口或者PCMCIA槽和卡,等等。通過通信接口擬4傳送的軟件和數(shù)據(jù)是以信號的形式,其中信號可以是例如電、電磁、光或者能夠被通信接口擬4接收的其它信號。這些信號經(jīng)通信路徑(即,通道)擬6提供給通信接口 824。這種通信路徑擬6載送信號并且可以利用電線或電纜、光纖、電話線、蜂窩電話線、射頻(RF)線和/或其它通信通道來實現(xiàn)。在本文檔中,術(shù)語“計算機程序介質(zhì)”、“計算機可用介質(zhì)”和“計算機可讀介質(zhì)”用來總體上指諸如主存儲器810和輔助存儲器812、可拆卸存儲驅(qū)動器816和安裝在硬盤驅(qū)動器814中的硬盤的介質(zhì)。計算機程序(也稱為計算機控制邏輯)存儲在主存儲器810和/或輔助存儲器 812中。計算機程序還可以經(jīng)通信接口擬4接收。這種計算機程序在運行時使計算機系統(tǒng)執(zhí)行如在此所討論的本發(fā)明的特征。特別地,該計算機程序在運行時使處理器802執(zhí)行計算機系統(tǒng)的特征。相應(yīng)地,這種計算機程序代表計算機系統(tǒng)的控制器。附圖中的流程圖和框圖例示了根據(jù)本發(fā)明各種實施例的系統(tǒng)、方法和計算機程序產(chǎn)品的可能實現(xiàn)的體系結(jié)構(gòu)、功能性和操作。就此而言,流程圖或框圖中的每個塊都可以代表包括用于實現(xiàn)指定邏輯功能的一個或多個可執(zhí)行指令的模塊、段或者代碼部分。應(yīng)當(dāng)指出,在有些可選實現(xiàn)中,塊中所指出的功能可以不以附圖中所指出的次序進(jìn)行。例如,取決于所涉及的功能性,依次示出的兩個塊實際上可以基本上同時執(zhí)行,或者塊有時候可以以顛倒的次序執(zhí)行。還應(yīng)當(dāng)指出,框圖和/或流程圖說明中的每個塊及框圖和/或流程圖說明中塊的組合可以由執(zhí)行指定功能或動作的專用基于硬件的系統(tǒng)或者專用硬件和計算機指令的組合來實現(xiàn)。在此所使用的術(shù)語僅僅是為了描述特定實施例,而不是要作為本發(fā)明的限制。如在此所使用的,除非上下文明確地另外指出,否則單數(shù)形式“一個”和“該”也要包括復(fù)數(shù)形式。還應(yīng)當(dāng)理解,當(dāng)在本說明書中使用時,術(shù)語“包括”指定所述特征、整體、步驟、操作、元素和/或部件的存在,但不排除一個或多個其它特征、整體、步驟、操作、元素、部件和/或其組的存在或添加。以下權(quán)利要求中所有裝置或步驟加功能元件的對應(yīng)結(jié)構(gòu)、材料、動作和等同物旨在包括用于與專門請求保護(hù)的其它所述元件組合來執(zhí)行功能的任何結(jié)構(gòu)、材料或動作。給出本發(fā)明的描述是為了說明和描述,但不是窮盡的或者要將本發(fā)明限制到所公開的形式。 在不背離本發(fā)明的范圍與主旨的情況下,許多修改和變化對本領(lǐng)域普通技術(shù)人員都是顯然的。實施例的選擇和描述是為了最好地解釋本發(fā)明的原理和實踐應(yīng)用,并使本領(lǐng)域普通技術(shù)人員能夠理解本發(fā)明具有適于預(yù)期特定使用的各種修改的各種實施例。
權(quán)利要求
1.一種用于降低存儲系統(tǒng)中能量消耗的方法,包括接收存儲在所述存儲系統(tǒng)中的存儲區(qū)的數(shù)據(jù)訪問信息和所述存儲系統(tǒng)中的存儲設(shè)備的利用率信息,其中所述存儲系統(tǒng)包括多個存儲分層而且所述多個存儲分層中的每一個存儲分層都包括多個存儲設(shè)備;估計所述多個存儲分層中每一個存儲分層為滿足存儲區(qū)的性能和容量需求所需的存儲資源,其中對所述存儲資源的估計是基于所述數(shù)據(jù)訪問信息;確定所述多個存儲分層中哪一個存儲分層為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致存儲系統(tǒng)的最低功耗,其中所述一個存儲分層是通過根據(jù)所估計的存儲資源計算所述多個存儲分層的每一個存儲分層中將由存儲區(qū)消耗的功率量來確定的;確定所述一個存儲分層中的多個存儲設(shè)備中的具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備,其中對所述至少一個存儲設(shè)備的所述確定是基于所述數(shù)據(jù)訪問信息和利用率信息;及將存儲區(qū)分配到所述一個存儲分層并分配到所述至少一個存儲設(shè)備中的具有最少可用存儲容量的一個存儲設(shè)備。
2.如權(quán)利要求1所述的方法,其中,所述數(shù)據(jù)訪問信息和利用率信息是以預(yù)定時間間隔持續(xù)接收的。
3.如權(quán)利要求2所述的方法,包括在預(yù)定時間間隔之后,如果所述存儲系統(tǒng)的所述多個存儲分層中的至少一個存儲分層為了滿足存儲區(qū)的性能和容量需求將比所述一個存儲分層導(dǎo)致存儲系統(tǒng)的更低功耗,則將存儲區(qū)從所述一個存儲分層遷移到所述至少一個存儲分層中的為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致存儲系統(tǒng)的最低功耗的另一個存儲分層。
4.如權(quán)利要求2所述的方法,包括在預(yù)定時間間隔之后,如果對所述一個存儲設(shè)備的性能度量高于預(yù)定閾值使得所述一個存儲設(shè)備的存儲資源被節(jié)流,而且對所述一個存儲分層的多個存儲設(shè)備中的至少一個存儲設(shè)備的性能度量低于所述預(yù)定閾值并且具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則將存儲區(qū)從所述一個存儲設(shè)備遷移到所述至少一個存儲設(shè)備中的具有最少可用存儲容量的另一個存儲設(shè)備。
5.如權(quán)利要求2所述的方法,包括在預(yù)定時間間隔之后,如果對所述一個存儲設(shè)備的性能度量高于預(yù)定閾值使得所述一個存儲設(shè)備的存儲資源被節(jié)流,而且對所述一個存儲分層的多個存儲設(shè)備中每一個存儲設(shè)備的性能度量都高于所述預(yù)定閾值,或者所述一個存儲分層的多個存儲設(shè)備中每一個存儲設(shè)備都不具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則將存儲區(qū)從所述一個存儲設(shè)備遷移到所述多個存儲分層中將導(dǎo)致最低功耗的另一個存儲分層。
6.如權(quán)利要求2所述的方法,包括在預(yù)定時間間隔之后,如果對所述一個存儲設(shè)備的性能度量低于預(yù)定閾值使得所述一個存儲設(shè)備的存儲資源未充分利用,而且對所述一個存儲分層的多個存儲設(shè)備中的至少一個存儲設(shè)備的性能度量高于所述預(yù)定閾值并具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則將存儲區(qū)從所述一個存儲設(shè)備遷移到所述至少一個存儲設(shè)備中具有最少可用存儲容量的另一個存儲設(shè)備。
7.如權(quán)利要求6所述的方法,包括如果所述多個存儲分層的每一個存儲分層中的多個存儲設(shè)備中的存儲設(shè)備不具有至少一個分配到其的存儲區(qū),則將該存儲設(shè)備斷電。
8.一種用于降低存儲系統(tǒng)中能量消耗的系統(tǒng),包括數(shù)據(jù)收集器,該數(shù)據(jù)收集器接收存儲在所述存儲系統(tǒng)中的存儲區(qū)的數(shù)據(jù)訪問信息和所述存儲系統(tǒng)中的存儲設(shè)備的利用率信息,其中所述存儲系統(tǒng)包括多個存儲分層,而且所述多個存儲分層中的每一個存儲分層都包括多個存儲設(shè)備;資源消耗模塊,該資源消耗模塊估計所述多個存儲分層中的每一個存儲分層為滿足存儲區(qū)的性能和容量需求所需的存儲資源,其中對所述存儲資源的估計是基于所述數(shù)據(jù)訪問 fn息;放置模塊,該放置模塊確定所述多個存儲分層中哪一個存儲分層為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致存儲系統(tǒng)的最低功耗,其中所述一個存儲分層是通過根據(jù)所估計的存儲資源計算所述多個存儲分層的每一個存儲分層中將由存儲區(qū)消耗的功率量來確定的,及確定所述一個存儲分層的多個存儲設(shè)備中的具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備,其中對所述至少一個存儲設(shè)備的所述確定是基于所述數(shù)據(jù)訪問信息和利用率信息;及遷移器,該遷移器將存儲區(qū)分配到所述一個存儲分層并分配到所述至少一個存儲設(shè)備中的具有最少可用存儲容量的一個存儲設(shè)備。
9.如權(quán)利要求8所述的系統(tǒng),其中,所述數(shù)據(jù)收集器還配置成以預(yù)定時間間隔持續(xù)地接收所述數(shù)據(jù)訪問信息和利用率信息。
10.如權(quán)利要求9所述的系統(tǒng),其中所述放置模塊還配置成,在預(yù)定時間間隔之后,確定所述存儲系統(tǒng)的所述多個存儲分層中是否有至少一個存儲分層為了滿足存儲區(qū)的性能和容量需求將比所述一個存儲分層導(dǎo)致存儲系統(tǒng)的更低功耗;及如果所述存儲系統(tǒng)的所述多個存儲分層中的至少一個存儲分層為了滿足存儲區(qū)的性能和容量需求將比所述一個存儲分層導(dǎo)致存儲系統(tǒng)的更低功耗,則所述放置模塊選擇所述至少一個存儲分層中為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致存儲系統(tǒng)的最低功耗的特定存儲分層,用以將存儲區(qū)遷移到該特定存儲分層,及所述遷移器將存儲區(qū)從所述一個存儲分層遷移到所述特定存儲分層。
11.如權(quán)利要求9所述的系統(tǒng),該系統(tǒng)還包括節(jié)流模塊,該節(jié)流模塊被配置成,在預(yù)定時間間隔之后,確定對所述一個存儲設(shè)備的性能度量是否高于預(yù)定閾值使得所述一個存儲設(shè)備的存儲資源被過度利用,以及對所述一個存儲分層的多個存儲設(shè)備中的至少一個存儲設(shè)備的性能度量是否低于所述預(yù)定閾值并具有滿足存儲區(qū)的性能和容量需求的可用存儲資源;及如果對所述一個存儲設(shè)備的性能度量高于所述預(yù)定閾值,而且對所述一個存儲分層的多個存儲設(shè)備中的至少一個存儲設(shè)備的性能度量低于所述預(yù)定閾值并具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則所述放置模塊選擇所述至少一個存儲設(shè)備中的具有最少可用存儲容量的特定存儲設(shè)備,用以將存儲區(qū)遷移到該特定存儲設(shè)備,及所述遷移器將存儲區(qū)從所述一個存儲設(shè)備遷移到所述特定存儲設(shè)備。
12.如權(quán)利要求9所述的系統(tǒng),該系統(tǒng)還包括節(jié)流模塊,該節(jié)流模塊被配置成,在預(yù)定時間間隔之后,確定對所述一個存儲設(shè)備的性能度量是否高于預(yù)定閾值使得所述一個存儲設(shè)備的存儲資源被過度利用,以及對所述一個存儲分層的多個存儲設(shè)備中每一個存儲設(shè)備的性能度量是否都高于所述預(yù)定閾值,或者所述一個存儲分層的多個存儲設(shè)備中每一個存儲設(shè)備是否都不具有滿足存儲區(qū)的性能和容量需求的可用存儲資源;及如果對所述一個存儲設(shè)備的性能度量高于所述預(yù)定閾值,而且對所述一個存儲分層的多個存儲設(shè)備中每一個存儲設(shè)備的性能度量都高于所述預(yù)定閾值,或者所述一個存儲分層的多個存儲設(shè)備中每一個存儲設(shè)備都不具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則所述放置模塊選擇所述存儲系統(tǒng)的所述多個存儲分層中為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致存儲系統(tǒng)的最低功耗的特定存儲分層,用以將存儲區(qū)遷移到該特定存儲分層,及所述遷移器將存儲區(qū)從所述一個存儲分層遷移到所述特定的存儲分層。
13.如權(quán)利要求9所述的系統(tǒng),該系統(tǒng)還包括節(jié)流模塊,該節(jié)流模塊被配置成,在預(yù)定時間間隔之后,確定對所述一個存儲設(shè)備的性能度量是否低于預(yù)定閾值使得所述一個存儲設(shè)備的存儲資源未充分利用,以及對所述一個存儲分層的多個存儲設(shè)備中的至少一個存儲設(shè)備的性能度量是否高于所述預(yù)定閾值并且具有滿足存儲區(qū)的性能和容量需求的可用存儲資源;及如果對所述一個存儲設(shè)備的性能度量低于所述預(yù)定閾值,而且對所述一個存儲分層的多個存儲設(shè)備中的至少一個存儲設(shè)備的性能度量高于所述預(yù)定閾值并且具有滿足存儲區(qū)的性能和容量需求的可用存儲資源,則所述放置模塊選擇所述至少一個存儲設(shè)備中的具有最少可用存儲容量的特定存儲設(shè)備,用以將存儲區(qū)遷移到該特定存儲設(shè)備,及所述遷移器將存儲區(qū)從所述一個存儲設(shè)備遷移到所述特定的存儲設(shè)備。
14.如權(quán)利要求13所述的系統(tǒng),其中如果所述多個存儲分層的每一個存儲分層中的多個存儲設(shè)備中的存儲設(shè)備不具有至少一個分配到其的存儲區(qū),則所述存儲系統(tǒng)將該存儲設(shè)備斷電。
全文摘要
本發(fā)明涉及降低能量消耗并優(yōu)化工作負(fù)荷和性能的方法和系統(tǒng)。該方法包括接收存儲在存儲系統(tǒng)中的存儲區(qū)的數(shù)據(jù)訪問信息和存儲系統(tǒng)中的存儲設(shè)備的利用率信息。存儲系統(tǒng)包括多個存儲分層且多個存儲分層中每一個都由多個存儲設(shè)備構(gòu)成。基于數(shù)據(jù)訪問信息來估計多個存儲分層中每一個為滿足存儲區(qū)的性能和容量需求所需的存儲資源。確定為了滿足存儲區(qū)的性能和容量需求將導(dǎo)致最低功耗的一個存儲分層?;跀?shù)據(jù)訪問信息和利用率信息確定這一個存儲分層中具有將滿足存儲區(qū)的性能和容量需求的可用存儲資源的至少一個存儲設(shè)備。將存儲區(qū)分配到這一個存儲分層并分配到至少一個存儲設(shè)備中的具有最少可用存儲容量的一個存儲設(shè)備。
文檔編號G06F12/08GK102455776SQ20111022203
公開日2012年5月16日 申請日期2011年7月29日 優(yōu)先權(quán)日2010年10月22日
發(fā)明者H·普查, J·G·德爾加多, J·S·格萊德, W·A·貝爾洛米尼 申請人:國際商業(yè)機器公司