国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      數(shù)據(jù)存儲(chǔ)實(shí)體之間的數(shù)據(jù)遷移的制作方法

      文檔序號(hào):6350403閱讀:232來源:國(guó)知局
      專利名稱:數(shù)據(jù)存儲(chǔ)實(shí)體之間的數(shù)據(jù)遷移的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及數(shù)據(jù)存儲(chǔ),更具體地說,涉及數(shù)據(jù)存儲(chǔ)實(shí)體之間的數(shù)據(jù)遷移。
      技術(shù)背景
      數(shù)據(jù)存儲(chǔ)實(shí)體可以具有各種性能能力和成本點(diǎn)。例如,高速緩沖存儲(chǔ)器可以快速訪問數(shù)據(jù)和保存數(shù)據(jù),但成本相當(dāng)高。磁盤驅(qū)動(dòng)器具有較慢的訪問時(shí)間(歸因于尋道時(shí)間),但相當(dāng)廉價(jià)。閃速存儲(chǔ)器是一種非易失性順序半導(dǎo)體存儲(chǔ)器,因而不能支持DMA(直接存儲(chǔ)器存取)數(shù)據(jù)傳送。從而,本領(lǐng)域的技術(shù)人員已知,閃速存儲(chǔ)器可被布置成SSD (固態(tài)驅(qū)動(dòng)器)。SSD閃速存儲(chǔ)器具有較低的等待時(shí)間,但帶寬不高,從而本領(lǐng)域的技術(shù)人員已知, 從性能的觀點(diǎn)來看,介于磁盤驅(qū)動(dòng)器和高速緩沖存儲(chǔ)器之間,另外從成本的觀點(diǎn)來看,也介于磁盤驅(qū)動(dòng)器和高速緩沖存儲(chǔ)器之間。
      數(shù)據(jù)存儲(chǔ)系統(tǒng)的控制器(也稱為存儲(chǔ)控制器和服務(wù)器)一般響應(yīng)于讀取和寫入請(qǐng)求,控制對(duì)數(shù)據(jù)存儲(chǔ)介質(zhì)和存儲(chǔ)器的訪問。存儲(chǔ)控制器可把數(shù)據(jù)引導(dǎo)到高速緩沖存儲(chǔ)器、非易失性存儲(chǔ)器、SSD閃速存儲(chǔ)器、和數(shù)據(jù)存儲(chǔ)設(shè)備,諸如RAID (獨(dú)立磁盤冗余陣列)、JBOD (簡(jiǎn)單磁盤捆綁)、和其它冗余水平的磁盤驅(qū)動(dòng)器。
      例如,諸如DS8000的IBM ESS (企業(yè)存儲(chǔ)服務(wù)器)具有計(jì)算機(jī)實(shí)體、高速緩沖存儲(chǔ)器、非易失性存儲(chǔ)器等的冗余群集,響應(yīng)于主機(jī)以虛擬方式保存數(shù)據(jù),跟蹤實(shí)際數(shù)據(jù)以便隨后檢索。數(shù)據(jù)一般是按控制器指示保存的,以便請(qǐng)求實(shí)體可以得到,或者使請(qǐng)求實(shí)體可以得到所述數(shù)據(jù),如在活動(dòng)的突發(fā)中可能馬上再次需要的那種數(shù)據(jù)被保存在速度較快的數(shù)據(jù)存儲(chǔ)器中,而大部分的數(shù)據(jù)被保存在速度較慢的數(shù)據(jù)存儲(chǔ)器中。在一個(gè)例子中,速度較慢的數(shù)據(jù)存儲(chǔ)器是磁盤驅(qū)動(dòng)器,而速度較快的數(shù)據(jù)存儲(chǔ)器是SSD閃速存儲(chǔ)器。
      數(shù)據(jù)可按照大小恒定或者可變的各種數(shù)據(jù)單元排列。在一個(gè)例子中,數(shù)據(jù)以被稱為“盤區(qū)”的數(shù)據(jù)單元排列。在再一個(gè)例子中,數(shù)據(jù)以被稱為“數(shù)據(jù)集”的數(shù)據(jù)單元排列。在另一個(gè)例子中,數(shù)據(jù)以被稱為“扇區(qū)”的數(shù)據(jù)單元排列。另一個(gè)例子與尋址相關(guān),并被稱為 “LUN”(邏輯單元)。本領(lǐng)域的技術(shù)人員知道其它例子。從而,這里使用的通用術(shù)語是“組” 或“多組”。發(fā)明內(nèi)容
      各種方法、數(shù)據(jù)存儲(chǔ)控制器、數(shù)據(jù)存儲(chǔ)系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的目的在于在最初把數(shù)據(jù)放入各種數(shù)據(jù)存儲(chǔ)實(shí)體之后,遷移數(shù)據(jù)。
      在一個(gè)實(shí)施例中,一種遷移數(shù)據(jù)存儲(chǔ)系統(tǒng)的數(shù)據(jù)的方法,所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括具有較高速度的數(shù)據(jù)存儲(chǔ)器,并且包括其它數(shù)據(jù)存儲(chǔ)器,所述方法包括下述步驟識(shí)別至少一組數(shù)據(jù),該至少一組數(shù)據(jù)使得多個(gè)時(shí)間間隔中的每個(gè)時(shí)間間隔中的至少一個(gè)指示的I/O 活動(dòng)出現(xiàn)在一串時(shí)間間隔上,該一串時(shí)間間隔包括多個(gè)時(shí)間間隔,所述I/O活動(dòng)相對(duì)于數(shù)據(jù)將從其中遷移的數(shù)據(jù)存儲(chǔ)器,其中,選擇所述一串時(shí)間間隔包括的多個(gè)間隔中的每個(gè)間隔的時(shí)間,使得I/O活動(dòng)的突發(fā)可能被包含在一個(gè)間隔中;和把識(shí)別的至少一組數(shù)據(jù)歸類到較高速度數(shù)據(jù)存儲(chǔ)器。
      另一個(gè)實(shí)施例另外包括下述步驟為每組數(shù)據(jù)分別監(jiān)測(cè)I/O活動(dòng),和監(jiān)測(cè)指示的 I/O活動(dòng)在間隔中的出現(xiàn);其中,識(shí)別步驟包括識(shí)別多組數(shù)據(jù),所述多組數(shù)據(jù)具有在一串間隔上的所述I/O活動(dòng),該一串間隔包括有限的一組間隔。
      在另一個(gè)實(shí)施例中,識(shí)別步驟包括采用間隔的移動(dòng)平均值來識(shí)別I/O活動(dòng)。
      在另一個(gè)實(shí)施例中,加權(quán)移動(dòng)平均值,對(duì)于更近的I/O活動(dòng),采用更大的權(quán)重。
      在另一個(gè)實(shí)施例中,移動(dòng)平均值包含指數(shù)加權(quán)。
      在另一個(gè)實(shí)施例中,移動(dòng)平均值包括
      P = (I-W)*P_last = W* S,其中
      P =指數(shù)加權(quán)的移動(dòng)平均值的當(dāng)前值
      P_last = P 的前一個(gè)值;
      W =每個(gè)間隔的權(quán)重;和
      如果在間隔內(nèi)發(fā)生了 I/O活動(dòng),則S = 1,如果無I/O活動(dòng),則S = 0。
      在另一個(gè)實(shí)施例中,間隔的時(shí)間長(zhǎng)度基本上相等。
      在另一個(gè)實(shí)施例中,所述時(shí)間長(zhǎng)度大致為1小時(shí)。
      在另一個(gè)實(shí)施例中,監(jiān)測(cè)的各串間隔包含至少一組連續(xù)間隔。
      在另一個(gè)實(shí)施例中,監(jiān)測(cè)的各串間隔跳過至少一個(gè)時(shí)間段。
      在另一個(gè)實(shí)施例中,識(shí)別步驟響應(yīng)于對(duì)一組數(shù)據(jù)的1/0,更新該一組數(shù)據(jù)的被監(jiān)測(cè)的間隔串。
      在另一個(gè)實(shí)施例中,為數(shù)據(jù)存儲(chǔ)系統(tǒng)提供一種控制器,所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括具有較高速度的數(shù)據(jù)存儲(chǔ)器,并且包括其它數(shù)據(jù)存儲(chǔ)器。所述控制器包括配置成操作數(shù)據(jù)存儲(chǔ)系統(tǒng)的至少一個(gè)計(jì)算機(jī)處理器,和配置成保存計(jì)算機(jī)可讀程序的至少一個(gè)存儲(chǔ)器。當(dāng)在所述至少一個(gè)計(jì)算機(jī)處理器上執(zhí)行時(shí),所述數(shù)據(jù)存儲(chǔ)系統(tǒng)被操作,以指示相對(duì)于多組數(shù)據(jù)的I/O活動(dòng);識(shí)別至少一組數(shù)據(jù),所述至少一組數(shù)據(jù)使得多個(gè)時(shí)間間隔中的每一個(gè)中的至少一個(gè)指示的I/O活動(dòng)出現(xiàn)在一串多個(gè)時(shí)間間隔上,所述I/O活動(dòng)相對(duì)于數(shù)據(jù)將從其中遷移的數(shù)據(jù)存儲(chǔ)器,其中,選擇所述多個(gè)間隔中的每個(gè)間隔的時(shí)間,使得I/O活動(dòng)的突發(fā)可能被包含在一個(gè)間隔中;以及把識(shí)別的至少一組數(shù)據(jù)歸類到高速數(shù)據(jù)存儲(chǔ)器。
      在另一個(gè)實(shí)施例中,數(shù)據(jù)存儲(chǔ)系統(tǒng)包括配置成保存數(shù)據(jù),并且具有較高速度的至少一個(gè)數(shù)據(jù)存儲(chǔ)實(shí)體;配置成保存數(shù)據(jù)的至少一個(gè)其它數(shù)據(jù)存儲(chǔ)實(shí)體;和控制器。所述控制器被配置成指示相對(duì)于多組數(shù)據(jù)的I/O活動(dòng);識(shí)別至少一組數(shù)據(jù),所述至少一組數(shù)據(jù)使得多個(gè)時(shí)間間隔中的每一個(gè)中的至少一個(gè)指示的I/O活動(dòng)出現(xiàn)在一串多個(gè)時(shí)間間隔上,所述I/O活動(dòng)相對(duì)于數(shù)據(jù)將從其中遷移的數(shù)據(jù)存儲(chǔ)器,其中,選擇所述多個(gè)間隔中的每個(gè)間隔的時(shí)間,使得I/O活動(dòng)的突發(fā)可能被包含在一個(gè)間隔中;把識(shí)別的至少一組數(shù)據(jù)歸類到較高速度數(shù)據(jù)存儲(chǔ)器;以及把歸類的至少一組數(shù)據(jù)遷移到較高速度數(shù)據(jù)存儲(chǔ)器。


      下面參考附圖,舉例說明本發(fā)明的實(shí)施例,其中
      圖1是實(shí)現(xiàn)本發(fā)明的例證數(shù)據(jù)存儲(chǔ)系統(tǒng)的方框圖2是圖1的數(shù)據(jù)存儲(chǔ)系統(tǒng)的I/O的圖示;
      圖3是圖1的數(shù)據(jù)存儲(chǔ)系統(tǒng)的功能操作的方框圖示;
      圖4是表示相對(duì)于圖1的存儲(chǔ)系統(tǒng)的數(shù)據(jù)組的I/O活動(dòng)的表格;以及
      圖5是描述操作圖1和2的數(shù)據(jù)存儲(chǔ)系統(tǒng)的例證方法的流程圖。
      具體實(shí)施方式
      在參考附圖的以下說明中的優(yōu)選實(shí)施例中,說明了本發(fā)明,附圖中,相同的附圖標(biāo)記代表相同或相似的元件。雖然利用實(shí)現(xiàn)本發(fā)明的目的的最佳方式說明了本發(fā)明,不過,本領(lǐng)域的技術(shù)人員可以理解,鑒于這些教導(dǎo),可以實(shí)現(xiàn)各種變化,而不脫離本發(fā)明的精神或范圍。
      參見圖1,數(shù)據(jù)存儲(chǔ)系統(tǒng)100包含控制器105,控制器105具有群集110和另一個(gè)群集120。群集110包括復(fù)合體130,復(fù)合體130至少包含子系統(tǒng)控件132、本地非易失性數(shù)據(jù)存儲(chǔ)器134、和本地高速緩存數(shù)據(jù)存儲(chǔ)器136。類似地,群集120包括復(fù)合體140,復(fù)合體140至少包含子系統(tǒng)控件142、本地非易失性數(shù)據(jù)存儲(chǔ)器144、和本地高速緩存數(shù)據(jù)存儲(chǔ)器146。在控制器105的每個(gè)群集中,子系統(tǒng)控件可以與復(fù)合體的其余部件完全隔開,或者可以部分用本地非易失性數(shù)據(jù)存儲(chǔ)器和/或本地高速緩存數(shù)據(jù)存儲(chǔ)器體現(xiàn)。此外,高速緩存數(shù)據(jù)存儲(chǔ)器和非易失性存儲(chǔ)器可以包含存儲(chǔ)系統(tǒng)的不同區(qū)域。子系統(tǒng)控件132、142包含配置成操作數(shù)據(jù)存儲(chǔ)系統(tǒng)的計(jì)算機(jī)處理器、和配置成保存信息和用于操作計(jì)算機(jī)處理器的計(jì)算機(jī)可讀程序信息的存儲(chǔ)器133、143。這里,“計(jì)算機(jī)處理器”或“控件”可包含響應(yīng)于程序指令的任何適當(dāng)邏輯、可編程邏輯、微處理器、和關(guān)聯(lián)存儲(chǔ)器或內(nèi)部存儲(chǔ)器,以及所述關(guān)聯(lián)存儲(chǔ)器或內(nèi)部存儲(chǔ)器可以包含固定的或者可重寫的存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)設(shè)備。程序信息可從主機(jī)或者經(jīng)由數(shù)據(jù)存儲(chǔ)驅(qū)動(dòng)器或磁盤陣列,或者通過來自軟盤或光盤的輸入,或者通過從盒式磁帶讀取,或者通過web用戶界面或另外的網(wǎng)絡(luò)連接,或者通過任何適當(dāng)?shù)氖侄危惶峁┙o子系統(tǒng)控件或存儲(chǔ)器。從而,程序信息可包含一個(gè)或多個(gè)程序產(chǎn)品,所述程序產(chǎn)品包含其中有形地含有計(jì)算機(jī)可用程序代碼,以便運(yùn)行群集110和/或運(yùn)行群集120,或者類似種類的系統(tǒng)或設(shè)備的計(jì)算機(jī)可用介質(zhì)。
      非易失性數(shù)據(jù)存儲(chǔ)器134、144可包含具有即使失去電力,也可保護(hù)數(shù)據(jù)的電池備用的存儲(chǔ)系統(tǒng),或者其它適當(dāng)?shù)姆且资源鎯?chǔ)器。高速緩存數(shù)據(jù)存儲(chǔ)器136、146可包含任何適當(dāng)?shù)拇鎯?chǔ)系統(tǒng),并且可以是易失性的,在失去電力之后,可能丟失數(shù)據(jù)。
      主機(jī)適配器150、154可包含一個(gè)光纖通道端口、一個(gè)或多個(gè)FICON端口、一個(gè)或多個(gè)ESCON端口、一個(gè)或多個(gè)SCSI端口、或者其它適當(dāng)端口。每個(gè)主機(jī)適配器被配置成與主機(jī)系統(tǒng)通信,以及與兩個(gè)群集110和120通信,使得每個(gè)群集能夠處理來自任意主機(jī)適配器的 I/O。
      設(shè)備適配器160、164可包含用于與數(shù)據(jù)存儲(chǔ)器170通信的通信鏈路。該通信鏈路可包含串行互連,比如RS-232或RS-422,以太網(wǎng)連接,SCSI互連,ESCON互連,F(xiàn)ICON互連, 局域網(wǎng)(LAN),專用廣域網(wǎng)(WAN),公共廣域網(wǎng),存儲(chǔ)區(qū)域網(wǎng)(SAN),傳輸控制協(xié)議/網(wǎng)際協(xié)議 (TCP/IP),因特網(wǎng),和它們的組合。
      數(shù)據(jù)存儲(chǔ)子系統(tǒng)100的例子包含IBM 企業(yè)存儲(chǔ)服務(wù)器、IBM Model DS 8000、或者其它可比的系統(tǒng)。
      如上所述,數(shù)據(jù)存儲(chǔ)器170包含速度較高的數(shù)據(jù)存儲(chǔ)器180,并且包含其它數(shù)據(jù)存儲(chǔ)器182。其它數(shù)據(jù)存儲(chǔ)器182的一個(gè)例子包含磁盤驅(qū)動(dòng)器,所述磁盤驅(qū)動(dòng)器可以利用 RAID (獨(dú)立磁盤冗余陣列)協(xié)議,或者可以包含JBOD (簡(jiǎn)單磁盤捆綁)。較高速度數(shù)據(jù)存儲(chǔ)器180的一個(gè)例子包含布置成SSD (固態(tài)驅(qū)動(dòng)器)的閃速存儲(chǔ)器。閃速存儲(chǔ)器還可被布置成提供諸如RAID配置的冗余。高速數(shù)據(jù)存儲(chǔ)器和其它數(shù)據(jù)存儲(chǔ)器之間的速度差是相對(duì)的。
      在一種備選方案中,較高速度數(shù)據(jù)存儲(chǔ)器可包含諸如RAM (隨機(jī)存取存儲(chǔ)器)的高速存儲(chǔ)設(shè)備,所述其它數(shù)據(jù)存儲(chǔ)器可以是閃速存儲(chǔ)器(flash memory) 0
      在另一種備選方案中,控制器可包含其中一個(gè)群集具有適當(dāng)冗余的處理系統(tǒng)。
      參見圖2,存儲(chǔ)系統(tǒng)100響應(yīng)于主機(jī)200,進(jìn)行I/O 203,以便以虛擬方式保存數(shù)據(jù), 跟蹤實(shí)際數(shù)據(jù)用于后續(xù)檢索。數(shù)據(jù)一般是按控制器105的指示保存的,以便請(qǐng)求實(shí)體可以得到、或者使請(qǐng)求實(shí)體可以得到所述數(shù)據(jù)。經(jīng)由傳輸204,可把數(shù)據(jù)保存在高速數(shù)據(jù)存儲(chǔ)器 180中,并從高速數(shù)據(jù)存儲(chǔ)器180中檢索,以及經(jīng)由傳輸205,可把數(shù)據(jù)保存在其它數(shù)據(jù)存儲(chǔ)器182中,并從其它數(shù)據(jù)存儲(chǔ)器182中檢索。最初可根據(jù)未來訪問的某種估計(jì)來保存數(shù)據(jù), 如在活動(dòng)的突發(fā)中可能馬上再次需要的那種數(shù)據(jù)被保存在較高速度數(shù)據(jù)存儲(chǔ)器180中,而大部分的數(shù)據(jù)被保存在速度較慢的數(shù)據(jù)存儲(chǔ)器182中??衫美鏛RU(最近最少使用) 算法,將保存在較高速度數(shù)據(jù)存儲(chǔ)器180中的估計(jì)不被訪問或者不再被訪問的數(shù)據(jù)遷移到速度較慢的數(shù)據(jù)存儲(chǔ)器182中。數(shù)據(jù)遷移可以通過控制器105經(jīng)由傳輸204和205進(jìn)行, 或者另一方面,可在控制器105的控制下,在高速數(shù)據(jù)存儲(chǔ)器180和其它數(shù)據(jù)存儲(chǔ)器182之間直接進(jìn)行。
      如上所述,數(shù)據(jù)可按照大小恒定或者可變的各種數(shù)據(jù)單元排列。在一個(gè)例子中,數(shù)據(jù)以被稱為“盤區(qū)”的數(shù)據(jù)單元排列。在再一個(gè)例子中,數(shù)據(jù)以被稱為“數(shù)據(jù)集”的數(shù)據(jù)單元排列。在另一個(gè)例子中,數(shù)據(jù)以被稱為“扇區(qū)”的數(shù)據(jù)單元排列。另一個(gè)例子與尋址相關(guān), 被稱為“LUN”(邏輯單元)。本領(lǐng)域的技術(shù)人員知道其它例子。從而,這里使用的通用術(shù)語是“組”或“多組”。
      參見圖1、2、3、4和5,控制器105被配置成控制數(shù)據(jù)存儲(chǔ)系統(tǒng)100中的數(shù)據(jù)從其它數(shù)據(jù)存儲(chǔ)器182到較高速度數(shù)據(jù)存儲(chǔ)器180的遷移。一般來說,數(shù)據(jù)在從較高速度數(shù)據(jù)存儲(chǔ)器180到其它數(shù)據(jù)存儲(chǔ)器182的相反方向上遷移,例如以便在較高速度數(shù)據(jù)存儲(chǔ)器中容納新數(shù)據(jù)。在本發(fā)明中,控制器105提供最可能受益于高速數(shù)據(jù)存儲(chǔ)器180的數(shù)據(jù)的識(shí)別。數(shù)據(jù)項(xiàng)的大小可以是可變的或者固定的,如上所述,這里,每一個(gè)數(shù)據(jù)項(xiàng)被稱為一組數(shù)據(jù)。在大多數(shù)情況下,較小的數(shù)據(jù)單元,比如盤區(qū)(例如1GB)的活動(dòng)趨向于是瞬變的;因此,即使繁重的活動(dòng)后面也可能跟著較長(zhǎng)的空閑期。另一方面,對(duì)該規(guī)則來說例外的數(shù)據(jù)一般占全部I/O的大部分。
      控制器105被配置成指示相對(duì)于各組數(shù)據(jù)的I/O活動(dòng)203、205,特別關(guān)注相對(duì)于保存在速度較慢的其它數(shù)據(jù)存儲(chǔ)器182中的各組數(shù)據(jù)的I/O。即,I/O活動(dòng)相對(duì)于將從其中遷移或者推動(dòng)數(shù)據(jù)的數(shù)據(jù)存儲(chǔ)器??刂破?05查看時(shí)間間隔,并指示在一個(gè)時(shí)間間隔中指示的至少一個(gè)I/O活動(dòng)。選擇多個(gè)間隔中的每個(gè)間隔的時(shí)間長(zhǎng)度,使得I/O活動(dòng)的突發(fā)可能被包含在一個(gè)間隔中。同一個(gè)間隔內(nèi)超出所述一個(gè)I/O活動(dòng)的活動(dòng)突發(fā)被忽略。間隔可由間隔計(jì)時(shí)器225來測(cè)量,并且例如可以包含一個(gè)小時(shí)。間隔計(jì)時(shí)器225的一種工作方式是計(jì)數(shù)從系統(tǒng)的初始IML以來的小時(shí)數(shù)。一個(gè)例子是從系統(tǒng)時(shí)鐘減去初始IML的時(shí)間的偏移量,然后提取結(jié)果的小時(shí)部分。
      指示的I/O活動(dòng)可通過監(jiān)測(cè)I/O活動(dòng)記錄220而獲得,具體地說,是在步驟300中檢測(cè)的其它數(shù)據(jù)存儲(chǔ)器182的I/O活動(dòng)。如果I/O活動(dòng)記錄220既包含較高速度數(shù)據(jù)存儲(chǔ)器180的1/0,又包含其它數(shù)據(jù)存儲(chǔ)器182的1/0,那么在步驟303,提取和監(jiān)測(cè)其它數(shù)據(jù)存儲(chǔ)器182的I/O活動(dòng)。指示的I/O活動(dòng)可包含具有特定結(jié)果的I/O活動(dòng),比如讀取或更新數(shù)據(jù)。此外,可以監(jiān)測(cè)每個(gè)關(guān)心的數(shù)據(jù)組的指示的I/O活動(dòng)。即,用戶可能期望一旦特定的一組數(shù)據(jù)處于其它數(shù)據(jù)存儲(chǔ)器中,則該組數(shù)據(jù)不被遷移到高速數(shù)據(jù)存儲(chǔ)器中,從而不需要監(jiān)測(cè)該數(shù)據(jù)組。如上所述,該組數(shù)據(jù)可以是任意期望的數(shù)據(jù)單元。各種數(shù)據(jù)單元可能被視為獨(dú)立的組,盤區(qū)是一種數(shù)據(jù)的被監(jiān)測(cè)組,而為另一種數(shù)據(jù)監(jiān)測(cè)數(shù)據(jù)集。
      如上所述,只關(guān)心相對(duì)于一組數(shù)據(jù)的間隔中的第一個(gè)I/O活動(dòng),以及步驟310提供該信息。如果I/O活動(dòng)不是被監(jiān)測(cè)組的當(dāng)前間隔的第一個(gè)I/O活動(dòng),那么處理返回步驟300 和 303。
      如果I/O活動(dòng)是被監(jiān)測(cè)組的當(dāng)前間隔的第一個(gè)I/O活動(dòng),那么在步驟S313中例如在I/O活動(dòng)日志221中指示該I/O活動(dòng)??稍贗/O活動(dòng)日志221中列出240其它數(shù)據(jù)存儲(chǔ)器182的具有I/O活動(dòng)的每個(gè)數(shù)據(jù)組,如果其它數(shù)據(jù)存儲(chǔ)器182的某個(gè)數(shù)據(jù)組以前處于休眠狀態(tài)而無I/O活動(dòng),但現(xiàn)在被訪問,那么該數(shù)據(jù)組被添加到I/O活動(dòng)日志中。另一方面,目前位于其它數(shù)據(jù)存儲(chǔ)器182中的所有數(shù)據(jù)組可作為數(shù)據(jù)組240在I/O活動(dòng)日志221中被列出?;蛘?,可在活動(dòng)日志中列出包括I/O活動(dòng)和其它非I/O活動(dòng)的活動(dòng),并提取I/O活動(dòng)。
      指示I/O活動(dòng)在最近的間隔中并且是該間隔的唯一 I/O活動(dòng)或者第一個(gè)I/O活動(dòng)的一種方式是例如依據(jù)編號(hào)來跟蹤各個(gè)間隔,然后比較當(dāng)前I/O活動(dòng)的間隔編號(hào)“C”和最后I/O 242的間隔編號(hào)“L”。如果當(dāng)前間隔“C”大于“L”,那么I/O活動(dòng)是該數(shù)據(jù)組的唯一 I/O活動(dòng)或者第一個(gè)I/O活動(dòng)。列243跟蹤當(dāng)前間隔的I/O活動(dòng),并且在間隔的開始,對(duì)于所有數(shù)據(jù)組被重置為“0”,該間隔變成當(dāng)前間隔。通過對(duì)于某個(gè)數(shù)據(jù)組在列243中輸入“1”, 并把列242設(shè)定成當(dāng)前間隔,來指示就該間隔來說該數(shù)據(jù)組的第一個(gè)I/O活動(dòng)。
      另一方面,在把信息輸入I/O活動(dòng)日志221之前,在跨越不止一個(gè)間隔的短時(shí)期內(nèi),I/O活動(dòng)必須在不止一個(gè)間隔中出現(xiàn)。在一個(gè)例子中,如果如上所述,當(dāng)前間隔滿足C > L,那么如果C<= L+3,這意味著至少在當(dāng)前間隔之前的3個(gè)間隔之一中,必須也已出現(xiàn)了 I/O活動(dòng),則輸入I/O活動(dòng)。這指示I/O活動(dòng)并不僅僅是I/O活動(dòng)的單個(gè)再調(diào)用或突發(fā),而是持久的,因此可能要發(fā)生更多I/O活動(dòng)。
      在更新處理227中,步驟313中的I/O活動(dòng)的指示更新I/O活動(dòng)日志221。
      當(dāng)間隔計(jì)時(shí)器225指示當(dāng)前間隔的結(jié)束時(shí),步驟305把I/O活動(dòng)日志221的列243 中的所有條目重置為“0”,以及下一個(gè)間隔變成當(dāng)前間隔。
      最近的I/O活動(dòng)獨(dú)自并不足以把數(shù)據(jù)組從其它數(shù)據(jù)存儲(chǔ)器182推向高速數(shù)據(jù)存儲(chǔ)器180。數(shù)據(jù)組的識(shí)別另外涉及在處理227中,例如在步驟315中,更新一組數(shù)據(jù)的一串被監(jiān)測(cè)間隔。
      識(shí)別的I/O活動(dòng)例如必須出現(xiàn)在多個(gè)時(shí)間間隔中的每個(gè)時(shí)間間隔中,即出現(xiàn)在一串多個(gè)時(shí)間間隔上。被監(jiān)測(cè)的間隔串的總數(shù)例如將是間隔的二進(jìn)制數(shù),比如256個(gè)間隔。在一個(gè)間隔為1小時(shí)的情況下,256小時(shí)將約為1周半。
      在一個(gè)實(shí)施例中,被監(jiān)測(cè)的間隔串包含至少一組連續(xù)間隔。
      在另一個(gè)實(shí)施例中,被監(jiān)測(cè)的間隔串跳過至少一段時(shí)間。例如,跳過周末。又例如,跳過夜間。本領(lǐng)域的技術(shù)人員可以確定其它可能性,以適應(yīng)特定的情形。
      在另一個(gè)實(shí)施例中,要遷移的一組數(shù)據(jù)的識(shí)別包含采用步驟315中的間隔的移動(dòng)平均值來識(shí)別I/O活動(dòng),在更新處理227中,也在I/O活動(dòng)日志中更新所述移動(dòng)平均值。因此,每個(gè)間隔的I/O活動(dòng)按照時(shí)間先后順序被合并到所述平均值中。在一個(gè)例子中,移動(dòng)平均值同等地加權(quán)每個(gè)間隔,以及從移動(dòng)平均值中丟棄最陳舊的間隔,并用最新間隔的I/O 活動(dòng)來替換它。這要求跟蹤I/O活動(dòng)日志221的每個(gè)間隔和每個(gè)數(shù)據(jù)組的“0”或“1”。
      在另一個(gè)實(shí)施例中,移動(dòng)平均值被加權(quán),對(duì)于更近的I/O活動(dòng),采用更大的權(quán)重。
      向更近的I/O活動(dòng)提供更大權(quán)重的一種方式是指數(shù)加權(quán)。在指數(shù)移動(dòng)平均值中, 效果是把最陳舊的條目幾乎減少到滅點(diǎn),從而有效地從平均值中消除它們。在一個(gè)例子中, 最近的間隔被賦予權(quán)重1/256,并被加入移動(dòng)平均值的緊接著的前一個(gè)值的指數(shù)減小值中, 例如,通過把移動(dòng)平均值乘以255/256來減小移動(dòng)平均值。因此,第256個(gè)最陳舊條目將通過相乘被減小255倍。
      在進(jìn)一步的實(shí)施例中,移動(dòng)平均值包括
      P = (I-W)*P_last = W* S,其中
      P =指數(shù)加權(quán)的移動(dòng)平均值的當(dāng)前值;
      P_last = P 的前一個(gè)值;
      W =每個(gè)間隔的權(quán)重;以及
      如果在間隔內(nèi)發(fā)生了 I/O活動(dòng),則S =“1”,如果無I/O活動(dòng),則S =“0”。
      因此,對(duì)于每個(gè)數(shù)據(jù)組,在I/O活動(dòng)日志221的列244中只保留移動(dòng)平均值的當(dāng)前值“P”,并且在移動(dòng)平均值的下一次計(jì)算中,“P”變成“p_last”。
      在一個(gè)備選方案中,如上所述,當(dāng)C <= L+3(意味著I/O活動(dòng)一定也至少出現(xiàn)在以前的3個(gè)間隔之一中和最近的間隔中)時(shí),可通過單獨(dú)重新計(jì)算這4個(gè)間隔的每一個(gè)的移動(dòng)平均值,來確定移動(dòng)平均值的當(dāng)前值“P”。在另一種備選方案中,最近間隔的I/O活動(dòng) “0”或“1”被取平均,并被乘以最近間隔的權(quán)重,比如n/256,以及給予前一個(gè)移動(dòng)平均值的權(quán)重為(l_n)/256。
      如果在對(duì)I/O活動(dòng)日志221的最近更新之前涉及許多非活動(dòng)間隔,從而包含許多 “0”條目,那么可以簡(jiǎn)化更新運(yùn)算,而不是把公式的完整計(jì)算用于每個(gè)間隔,計(jì)算W女S等于 “0”,從而對(duì)“0”間隔來說,把公式簡(jiǎn)化為P = (I-W) * P_last,通過使P = P * (I-W)來估計(jì)全部間隔,以及能夠簡(jiǎn)化運(yùn)算的重復(fù),可進(jìn)行因子分解或者近似來逼近二進(jìn)制數(shù)。例如, “0”的1 次重復(fù)能夠被簡(jiǎn)化成P = P * X的4次重復(fù),其中X = (I-W) * * 32。
      一組數(shù)據(jù)到較高速度數(shù)據(jù)存儲(chǔ)器的歸類基于步驟317中的遷移標(biāo)準(zhǔn)2 或“持久” I/O活動(dòng)(包括在一串多個(gè)時(shí)間間隔上的I/O活動(dòng))的水平,并采用移動(dòng)平均值作為用于評(píng)估哪組或哪幾組數(shù)據(jù)將最受益于較高速度數(shù)據(jù)存儲(chǔ)器180的品質(zhì)因數(shù)。在一個(gè)例子中,到較高速度數(shù)據(jù)存儲(chǔ)器的歸類可包含移動(dòng)平均值的閾值。例如,閾值可被設(shè)定成值 “0. 2”,指示在間隔的總數(shù)中,基本上在至少20%的間隔中存在滿足定義的持久性標(biāo)準(zhǔn)的 I/O活動(dòng)。另一方面,將周期性地將具有最高值移動(dòng)平均值的預(yù)定數(shù)目的多組數(shù)據(jù)分類到高速數(shù)據(jù)存儲(chǔ)器。
      控制器105在步驟317中,識(shí)別滿足遷移標(biāo)準(zhǔn)2 的一組或多組數(shù)據(jù),然后在步驟 319中,將所述一組或多組數(shù)據(jù)歸類以便遷移。對(duì)于不滿足標(biāo)準(zhǔn)228的一組或多組數(shù)據(jù),移動(dòng)平均值保持登記在列M4中,并且處理返回步驟300和303。
      對(duì)于在步驟319中被歸類以便遷移的一組或多組數(shù)據(jù),控制器105在步驟321中, 把所述一組或多組數(shù)據(jù)從其它數(shù)據(jù)存儲(chǔ)器182遷移2 到高速數(shù)據(jù)存儲(chǔ)器180。為了為遷移的數(shù)據(jù)留出空間,可以把通過任何適當(dāng)算法,比如LRU算法確定的其它各組數(shù)據(jù)從較高速度數(shù)據(jù)存儲(chǔ)器180遷移到其它數(shù)據(jù)存儲(chǔ)器182。數(shù)據(jù)遷移可以通過控制器105經(jīng)由傳輸 204和205來進(jìn)行,或者另一方面,在控制器105的控制下,在高速數(shù)據(jù)存儲(chǔ)器180和其它數(shù)據(jù)存儲(chǔ)器182之間直接進(jìn)行。
      因此,在一串多個(gè)時(shí)間間隔上具有持久的I/O活動(dòng)的各組數(shù)據(jù)被從其它數(shù)據(jù)存儲(chǔ)器182遷移到高速數(shù)據(jù)存儲(chǔ)器180。一旦被遷移,已被遷移的一組或多組數(shù)據(jù)就不再置于所述其它數(shù)據(jù)存儲(chǔ)器182中,并在步驟325中,從I/O活動(dòng)日志221中刪除,處理隨后返回步驟 300 和 303。
      實(shí)現(xiàn)可以涉及軟件、固件、微代碼、硬件和/或它們的任意組合。實(shí)現(xiàn)可以采取在介質(zhì),比如存儲(chǔ)器133、143、存儲(chǔ)器134、144、180、182和/或電路132、142中實(shí)現(xiàn)的代碼或邏輯的形式,所述介質(zhì)可包含硬件邏輯(例如,集成電路芯片、可編程門陣列[PGA]、專用集成電路[ASIC]或者其它電路、邏輯或器件),或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),比如磁性存儲(chǔ)介質(zhì)(例如,電、磁、光、電磁、紅外、或者半導(dǎo)體系統(tǒng)、半導(dǎo)體或固態(tài)存儲(chǔ)器、磁帶、可拆卸計(jì)算機(jī)磁盤、和隨機(jī)存取存儲(chǔ)器[RAM]、只讀存儲(chǔ)器[ROM]、硬磁盤和光盤、光盤-只讀存儲(chǔ)器 [CD-ROM]、光盤-讀/寫存儲(chǔ)器[CD-R/W]和DVD)。
      本領(lǐng)域的技術(shù)人員明白,對(duì)于上面討論的方法,可以做出各種改變,包括步驟的排序的改變。此外,本領(lǐng)域的技術(shù)人員會(huì)明白,可以采用與這里圖解說明的組件布置不同的特定組件布置。
      雖然詳細(xì)說明了本發(fā)明的優(yōu)選實(shí)施例,不過應(yīng)明白,本領(lǐng)域的技術(shù)人員可以想到對(duì)這些實(shí)施例的各種變更和修改,而不脫離在以下的權(quán)利要求中限定的本發(fā)明的范圍。
      權(quán)利要求
      1.一種遷移數(shù)據(jù)存儲(chǔ)系統(tǒng)的數(shù)據(jù)的方法,所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括具有較高速度的數(shù)據(jù)存儲(chǔ)器,并且包括其它數(shù)據(jù)存儲(chǔ)器,所述方法包括下述步驟識(shí)別至少一組所述數(shù)據(jù),該至少一組所述數(shù)據(jù)使得多個(gè)時(shí)間間隔中的每個(gè)時(shí)間間隔中的至少一個(gè)指示的I/O活動(dòng)出現(xiàn)在一串時(shí)間間隔上,所述一串時(shí)間間隔包括多個(gè)時(shí)間間隔,所述I/O活動(dòng)相對(duì)于數(shù)據(jù)將從其中遷移的數(shù)據(jù)存儲(chǔ)器,其中,選擇所述一串時(shí)間間隔包括的多個(gè)間隔中的每個(gè)間隔的時(shí)間,使得所述I/O活動(dòng)的突發(fā)可能被包含在一個(gè)間隔中; 和把所述識(shí)別的至少一組數(shù)據(jù)歸類到所述具有較高速度的數(shù)據(jù)存儲(chǔ)器。
      2.按照權(quán)利要求1所述的方法,還包括下述步驟為每組數(shù)據(jù)分別監(jiān)測(cè)所述指示的I/ 0活動(dòng),以及監(jiān)測(cè)I/O活動(dòng)在間隔中的出現(xiàn);其中,所述識(shí)別步驟包括識(shí)別多組數(shù)據(jù),所述多組數(shù)據(jù)具有在一串間隔上的所述I/O活動(dòng),該一串間隔包括有限的一組所述間隔。
      3.按照權(quán)利要求2所述的方法,其中,所述識(shí)別步驟包括采用所述間隔的移動(dòng)平均值來識(shí)別所述I/O活動(dòng)。
      4.按照權(quán)利要求3所述的方法,其中,所述移動(dòng)平均值被加權(quán),對(duì)于更近的所述I/O活動(dòng),采用更大的權(quán)重。
      5.按照權(quán)利要求4所述的方法,其中,所述移動(dòng)平均值包含指數(shù)加權(quán)。
      6.按照權(quán)利要求5所述的方法,其中,所述移動(dòng)平均值包括P = (I-W)*P_last =W* S,其中P=指數(shù)加權(quán)的移動(dòng)平均值的當(dāng)前值;P_last = P的前一個(gè)值;W=每個(gè)間隔的權(quán)重;以及S = 1,如果在間隔內(nèi)發(fā)生了 I/O活動(dòng),S = 0,如果無I/O活動(dòng)。
      7.按照權(quán)利要求2所述的方法,其中,所述間隔的時(shí)間長(zhǎng)度基本相等。
      8.按照權(quán)利要求7所述的方法,其中,所述時(shí)間長(zhǎng)度大致為1小時(shí)。
      9.按照權(quán)利要求2所述的方法,其中,所述被監(jiān)測(cè)的間隔串包含至少一組連續(xù)間隔。
      10.按照權(quán)利要求9所述的方法,其中,所述被監(jiān)測(cè)的間隔串跳過至少一段時(shí)間。
      11.按照權(quán)利要求2所述的方法,其中,所述識(shí)別步驟響應(yīng)于對(duì)一組數(shù)據(jù)的1/0,更新該一組數(shù)據(jù)的被監(jiān)測(cè)的間隔串。
      12.—種數(shù)據(jù)存儲(chǔ)系統(tǒng)的控制器,所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括具有較高速度的數(shù)據(jù)存儲(chǔ)器, 并且包括其它數(shù)據(jù)存儲(chǔ)器,所述控制器包括配置成操作所述數(shù)據(jù)存儲(chǔ)系統(tǒng)的至少一個(gè)計(jì)算機(jī)處理器;和配置成保存計(jì)算機(jī)可讀程序的至少一個(gè)存儲(chǔ)器,當(dāng)在所述至少一個(gè)計(jì)算機(jī)處理器上執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序使數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行任意一項(xiàng)前述權(quán)利要求的步驟。
      13.一種數(shù)據(jù)存儲(chǔ)系統(tǒng),包括配置成保存數(shù)據(jù)并且具有較高速度的至少一個(gè)數(shù)據(jù)存儲(chǔ)實(shí)體;配置成保存數(shù)據(jù)的至少一個(gè)其它數(shù)據(jù)存儲(chǔ)實(shí)體;和配置成執(zhí)行權(quán)利要求1-11任意之一的步驟的控制器。
      14.一種包括保存計(jì)算機(jī)可讀程序的計(jì)算機(jī)可用介質(zhì)的計(jì)算機(jī)程序產(chǎn)品,當(dāng)在數(shù)據(jù)存儲(chǔ)系統(tǒng)的至少一個(gè)計(jì)算機(jī)處理器上執(zhí)行時(shí),所述計(jì)算機(jī)可讀程序使數(shù)據(jù)存儲(chǔ)系統(tǒng)執(zhí)行權(quán)利要求1-11任意之一的步驟,所述數(shù)據(jù)存儲(chǔ)系統(tǒng)包括具有較高速度的數(shù)據(jù)存儲(chǔ)器,包括其它數(shù)據(jù)存儲(chǔ)器,并且包括所述至少一個(gè)計(jì)算機(jī)處理器。
      全文摘要
      各種方法、數(shù)據(jù)存儲(chǔ)控制器、數(shù)據(jù)存儲(chǔ)系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品目的在于在最初把數(shù)據(jù)放入具有較高速度的數(shù)據(jù)存儲(chǔ)器中和放入其它數(shù)據(jù)存儲(chǔ)器中之后,遷移數(shù)據(jù)。把數(shù)據(jù)遷移到較高速度數(shù)據(jù)存儲(chǔ)器的方法的步驟是(1)識(shí)別至少一組數(shù)據(jù),所述至少一組數(shù)據(jù)使得多個(gè)時(shí)間間隔中的每一個(gè)時(shí)間間隔中的至少一個(gè)指示的I/O活動(dòng)出現(xiàn)在一串多個(gè)時(shí)間間隔上,其中,所述I/O活動(dòng)相對(duì)于數(shù)據(jù)將從其中遷移的其它數(shù)據(jù)存儲(chǔ)器。選擇所述多個(gè)間隔中的每個(gè)間隔的時(shí)間,使得I/O活動(dòng)的突發(fā)可能被包含在一個(gè)間隔中。(2)把識(shí)別的一組數(shù)據(jù)歸類到較高速度數(shù)據(jù)存儲(chǔ)器并遷移。
      文檔編號(hào)G06F17/30GK102498466SQ201080040740
      公開日2012年6月13日 申請(qǐng)日期2010年8月23日 優(yōu)先權(quán)日2009年9月14日
      發(fā)明者B·邁克努特, J·S·海德二世 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1