用于數(shù)據(jù)管理的方法和系統(tǒng)的制作方法
【專利摘要】為了在計(jì)算存儲(chǔ)環(huán)境中由處理器設(shè)備管理數(shù)據(jù),基于獨(dú)立盤冗余陣列(RAID)的類型、邏輯連續(xù)的存儲(chǔ)空間中的時(shí)間點(diǎn)拷貝源數(shù)據(jù)段的數(shù)目和存儲(chǔ)類別中的至少一個(gè),建立針對(duì)計(jì)算存儲(chǔ)環(huán)境中任何特定的邏輯連續(xù)的存儲(chǔ)空間所消耗的非易失性存儲(chǔ)(NVS)空間的量的閾值。
【專利說(shuō)明】用于數(shù)據(jù)管理的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及計(jì)算系統(tǒng),更具體地涉及用于提高計(jì)算存儲(chǔ)環(huán)境中的數(shù)據(jù)管理效率的系統(tǒng)和方法。
【背景技術(shù)】
[0002]在當(dāng)今社會(huì)中,計(jì)算機(jī)系統(tǒng)是普遍的。計(jì)算機(jī)系統(tǒng)可以出現(xiàn)在工作場(chǎng)所、家庭或?qū)W校中。計(jì)算機(jī)系統(tǒng)可以包括數(shù)據(jù)存儲(chǔ)系統(tǒng),或盤存儲(chǔ)系統(tǒng),以便處理和存儲(chǔ)數(shù)據(jù)。當(dāng)代計(jì)算機(jī)存儲(chǔ)系統(tǒng)已知可以將存儲(chǔ)軌道(track)從緩存(cache)中離臺(tái)(destage)并接著降級(jí)到長(zhǎng)期存儲(chǔ)設(shè)備中,以使得在緩存中有足夠的空間用于寫數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0003]以緩存的控制單元為特點(diǎn)的計(jì)算存儲(chǔ)環(huán)境可以對(duì)允許各存儲(chǔ)層(rank)在任何特定時(shí)間消耗的非易失性存儲(chǔ)(NVS)的量設(shè)置閾值或設(shè)置限制。這防止單個(gè)層故障例如消耗所有的NVS空間,并且考慮到了在所有的NVS空間被故障層消耗之前的多個(gè)層故障。
[0004]在過(guò)去幾年中,盡管在諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的NVS存儲(chǔ)中使用的存儲(chǔ)器的大小已經(jīng)呈指數(shù)增長(zhǎng),但長(zhǎng)期存儲(chǔ)設(shè)備(例如存儲(chǔ)驅(qū)動(dòng)器)的速度卻沒有齊步并進(jìn)。這樣,如果特定的層被允許了例如NVS的某個(gè)百分比閾值分配,有可能不能在靜默/恢復(fù)(quiesce/resume)存儲(chǔ)操作期間將所有這些數(shù)據(jù)離臺(tái)到長(zhǎng)期存儲(chǔ)設(shè)備。存在對(duì)考慮這些差異和其他特征以改善總體性能的數(shù)據(jù)管理機(jī)制的需求。
[0005]因此,根據(jù)前文所述,提供了用于計(jì)算存儲(chǔ)環(huán)境中的數(shù)據(jù)管理的各種實(shí)施例。在一個(gè)實(shí)施例中,僅通過(guò)示例方式,提供了一種用于在計(jì)算存儲(chǔ)環(huán)境中由處理器設(shè)備管理數(shù)據(jù)的方法?;讵?dú)立盤冗余陣列(RAID)的類型、邏輯連續(xù)的存儲(chǔ)空間中的時(shí)間點(diǎn)拷貝(point-1n-time copy)源數(shù)據(jù)段的數(shù)目和存儲(chǔ)類別中的至少一個(gè),建立針對(duì)計(jì)算存儲(chǔ)環(huán)境中任何特定的邏輯連續(xù)的存儲(chǔ)空間所消耗的非易失性存儲(chǔ)(NVS)空間的量的閾值。
[0006]提供了其他系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品實(shí)施例,并給出了相關(guān)的優(yōu)點(diǎn)。
【專利附圖】
【附圖說(shuō)明】
[0007]為了使本發(fā)明的優(yōu)點(diǎn)容易被理解,上面簡(jiǎn)要描述的本發(fā)明的更具體的描述將通過(guò)參照在附圖中示出的特定實(shí)施例來(lái)呈現(xiàn)??梢岳斫?,這些附圖僅描繪了本發(fā)明的典型實(shí)施例,并且因此并不能認(rèn)為是對(duì)本發(fā)明的范圍的限制,通過(guò)使用附圖,將以附加的特征和細(xì)節(jié)對(duì)本發(fā)明進(jìn)行描述和解釋,其中:
[0008]圖1是示出了在其中可以實(shí)現(xiàn)本發(fā)明的方面的用于緩存管理的硬件結(jié)構(gòu)的示例性框圖;
[0009]圖2是示出了根據(jù)本發(fā)明的、在其中可以實(shí)現(xiàn)本發(fā)明的方面的計(jì)算機(jī)系統(tǒng)中的數(shù)據(jù)存儲(chǔ)系統(tǒng)的硬件結(jié)構(gòu)的示例性框圖;
[0010]圖3是描述了在其中同樣可以實(shí)現(xiàn)本發(fā)明的方面的用于提高計(jì)算存儲(chǔ)環(huán)境中的數(shù)據(jù)管理的效率的示例性方法的流程圖;
[0011]圖4是描述了在其中同樣可以實(shí)現(xiàn)本發(fā)明的方面的用于執(zhí)行用于數(shù)據(jù)管理增強(qiáng)的各種操作的示例性方法的附加流程圖;以及
[0012]圖5是根據(jù)本發(fā)明的實(shí)施方式的在數(shù)據(jù)被從NVS離臺(tái)時(shí)執(zhí)行的示例性邏輯的附加流程圖。
【具體實(shí)施方式】
[0013]如前所述,以緩存的控制單元為特點(diǎn)的計(jì)算存儲(chǔ)環(huán)境可以對(duì)允許存儲(chǔ)層在任何特定時(shí)間消耗的非易失性存儲(chǔ)的量設(shè)置閾值或設(shè)置限制。這防止單個(gè)層故障例如消耗所有的NVS空間,并且考慮到了在所有的NVS空間被故障層消耗之前的多個(gè)層故障。
[0014]可以實(shí)施如被應(yīng)用到所謂的“近線(Nearline)”盤存儲(chǔ)設(shè)備以使得這些設(shè)備可以在存儲(chǔ)環(huán)境中被識(shí)別并被設(shè)置閾值的附加的閾值處理,以使得例如可以由這樣的近線設(shè)備消耗的NVS空間的百分比被設(shè)置。近線設(shè)備具有這樣的特征,即當(dāng)被過(guò)度驅(qū)動(dòng)(overdriven)時(shí),其減慢以冷卻,并且如果變得過(guò)熱,其可能最終停止。
[0015]在一個(gè)計(jì)算存儲(chǔ)環(huán)境中,當(dāng)所謂的“企業(yè)”和近線層都存在時(shí),可以允許近線層的集合消耗NVS的大約百分之五十(50%),而允許企業(yè)層消耗NVS的百分之百(100%)。
[0016]隨著NVS大小的增加(在一個(gè)計(jì)算環(huán)境中,NVS大小為16GB),一個(gè)層現(xiàn)在能夠占用NVS空間的4GB(25%)。在代碼裝入操作中,需要執(zhí)行靜默/恢復(fù)操作。為了靜默/恢復(fù)一個(gè)計(jì)算存儲(chǔ)環(huán)境中的集群,所有修改的數(shù)據(jù)需要被離臺(tái)。在這樣的靜默/恢復(fù)操作中,4GB可能太多而無(wú)法離臺(tái),并且可能導(dǎo)致靜默/恢復(fù)失敗。
[0017]在過(guò)去幾年中,盡管在諸如動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)的NVS存儲(chǔ)中使用的存儲(chǔ)器的大小已經(jīng)呈指數(shù)增長(zhǎng),但長(zhǎng)期存儲(chǔ)設(shè)備(例如存儲(chǔ)驅(qū)動(dòng)器)的速度卻沒有齊步并進(jìn)。這樣,如果特定的層被允許了例如NVS的某個(gè)百分比閾值分配,有可能不能在靜默/恢復(fù)存儲(chǔ)操作期間將所有這些數(shù)據(jù)離臺(tái)到長(zhǎng)期存儲(chǔ)設(shè)備。存在對(duì)考慮這些差異和其他特性以改善總體性能的數(shù)據(jù)管理機(jī)制的需求。
[0018]所描述的實(shí)施例的機(jī)制在允許消耗NVS的存儲(chǔ)的百分比閾值之外還加入了新的閾值處理因素。這些新的閾值處理因素是基于例如層的獨(dú)立盤冗余陣列(RAID)類型、特定層中的時(shí)間點(diǎn)拷貝源軌道的數(shù)目以及存儲(chǔ)類別(例如層的驅(qū)動(dòng)器類型)。
[0019]通過(guò)引入附加的閾值處理因素,本發(fā)明的機(jī)制確保例如考慮了長(zhǎng)期存儲(chǔ)設(shè)備的驅(qū)動(dòng)器速度與NVS的大小之間的差異,從而允許在某個(gè)時(shí)間段內(nèi),諸如在前述的靜默/恢復(fù)存儲(chǔ)操作期間,從NVS分配的量被充分地離臺(tái)到長(zhǎng)期存儲(chǔ)設(shè)備。
[0020]轉(zhuǎn)到圖1,描述了用于結(jié)合了本發(fā)明各種方面的數(shù)據(jù)管理的系統(tǒng)100的一個(gè)實(shí)施例的框圖。至少在所描述的實(shí)施例中,系統(tǒng)100包括經(jīng)由總線108(例如有線和/或無(wú)線的總線)耦合到緩存104和處理器110的存儲(chǔ)器102。
[0021]存儲(chǔ)器102可以是本領(lǐng)域已知的或?qū)?lái)開發(fā)的任何類型的存儲(chǔ)器設(shè)備。存儲(chǔ)器102的實(shí)例包括——但不限于——具有一條或多條導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式光盤只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備或前述的任何合適的組合。在存儲(chǔ)器102的各種實(shí)施例中,存儲(chǔ)軌道能夠被存儲(chǔ)在存儲(chǔ)器102中。此外,當(dāng)向存儲(chǔ)軌道寫數(shù)據(jù)時(shí),每個(gè)存儲(chǔ)軌道能夠從緩存104離臺(tái)到存儲(chǔ)器102或者從存儲(chǔ)器102登臺(tái)(stage)。
[0022]在一個(gè)實(shí)施例中,緩存104包括被劃分為一個(gè)或多個(gè)層106的寫緩存,其中每個(gè)層106包括一個(gè)或多個(gè)存儲(chǔ)軌道。緩存104可以是本領(lǐng)域已知的或?qū)?lái)開發(fā)的任何緩存。
[0023]在操作期間,在已經(jīng)向存儲(chǔ)軌道寫入之后,每個(gè)層106中的存儲(chǔ)軌道在前臺(tái)離臺(tái)處理中被離臺(tái)到存儲(chǔ)器102。也就是說(shuō),當(dāng)主機(jī)(未示出)在活躍地向緩存104的層106中的各種存儲(chǔ)軌道寫入的期間,前臺(tái)離臺(tái)處理將存儲(chǔ)軌道從層106離臺(tái)到存儲(chǔ)器102。理想地,當(dāng)一個(gè)或多個(gè)主機(jī)想要向特定存儲(chǔ)軌道寫入時(shí),該特定存儲(chǔ)軌道不被離臺(tái),其被稱為離臺(tái)沖關(guān)。
[0024]在各種實(shí)施例中,處理器110包括數(shù)據(jù)管理模塊112或者能夠訪問(wèn)數(shù)據(jù)管理模塊112,該數(shù)據(jù)管理模塊包括計(jì)算機(jī)可讀代碼,當(dāng)該代碼由處理器110執(zhí)行時(shí),使得處理器110執(zhí)行根據(jù)所描述的實(shí)施例的方面的數(shù)據(jù)管理操作。在各種實(shí)施例中,處理器110基于獨(dú)立盤冗余陣列(RAID)的類型、邏輯連續(xù)的存儲(chǔ)空間中的時(shí)間點(diǎn)拷貝源數(shù)據(jù)段的數(shù)目和存儲(chǔ)類別中的至少一個(gè),建立針對(duì)計(jì)算存儲(chǔ)環(huán)境中任何特定的邏輯連續(xù)的存儲(chǔ)空間所消耗的非易失性存儲(chǔ)(NVS)空間的量的閾值。
[0025]在各種的其他實(shí)施例中,處理器110基于分配給任何特定的邏輯連續(xù)的存儲(chǔ)空間的預(yù)先確定的百分比,建立針對(duì)NVS空間的量的附加閾值。
[0026]在各種的其他實(shí)施例中,處理器110將針對(duì)任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為所述閾值和所述附加閾值的最小值函數(shù)。
[0027]在各種的其他實(shí)施例中,處理器110將針對(duì)用于故障恢復(fù)(faiIback)存儲(chǔ)操作的任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為針對(duì)該任何特定的邏輯連續(xù)的存儲(chǔ)空間確定的每秒輸入/輸出操作數(shù)(10PS)、計(jì)算的排出時(shí)間(drain time)和最小NVS存儲(chǔ)分配的函數(shù)。
[0028]在各種的其他實(shí)施例中,處理器110將針對(duì)用于故障恢復(fù)存儲(chǔ)操作的任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為針對(duì)該任何特定的邏輯連續(xù)的存儲(chǔ)空間確定的每秒輸入/輸出操作數(shù)(10PS)、計(jì)算的排出時(shí)間、最小NVS存儲(chǔ)分配和NVS中的數(shù)據(jù)段總數(shù)目的函數(shù)。
[0029]圖2是描述了在其中可以實(shí)施本發(fā)明的各方面的數(shù)據(jù)存儲(chǔ)系統(tǒng)的示例性硬件結(jié)構(gòu)的框圖200。主機(jī)計(jì)算機(jī)210、220、225被示出,每個(gè)都充當(dāng)用于執(zhí)行數(shù)據(jù)處理的中央處理單元,作為數(shù)據(jù)存儲(chǔ)系統(tǒng)200的一部分。集群主機(jī)/節(jié)點(diǎn)(物理的或虛擬的設(shè)備)210、220和225可以是用來(lái)在數(shù)據(jù)存儲(chǔ)系統(tǒng)200中完成本發(fā)明的目的的一個(gè)或多個(gè)新的物理設(shè)備或邏輯設(shè)備。網(wǎng)絡(luò)(例如存儲(chǔ)結(jié)構(gòu))連接260可以是光纖通道結(jié)構(gòu)、光纖通道點(diǎn)到點(diǎn)鏈路、以太網(wǎng)結(jié)構(gòu)或點(diǎn)到點(diǎn)鏈路上的光纖通道、FICON或ESCON I/O接口。主機(jī)210、220和225可以是本地的或分布于一個(gè)或多個(gè)位置,并且可以配備有到存儲(chǔ)控制器240的任何類型的結(jié)構(gòu)(或結(jié)構(gòu)通道)(未在圖2中示出)或網(wǎng)絡(luò)適配器260,諸如光纖通道、FIC0N、ESC0N、以太網(wǎng)、光纖、無(wú)線或同軸適配器。數(shù)據(jù)存儲(chǔ)系統(tǒng)200相應(yīng)地配備有合適的結(jié)構(gòu)(未在圖2中示出)或網(wǎng)絡(luò)適配器260來(lái)進(jìn)行通信。圖2中描繪的數(shù)據(jù)存儲(chǔ)系統(tǒng)200包括存儲(chǔ)控制器240和集群主機(jī)210、220和225。集群主機(jī)210、220和225可以包括集群節(jié)點(diǎn)。
[0030]為了便于更清晰地理解這里描述的方法,圖2中的存儲(chǔ)控制器240以單個(gè)處理單元示出,其包括微處理器242、系統(tǒng)存儲(chǔ)器243和非易失性存儲(chǔ)(“NVS”)216,這些將在下面更詳細(xì)地描述。應(yīng)當(dāng)注意,在一些實(shí)施例中,存儲(chǔ)控制器240由多個(gè)處理單元組成,每個(gè)處理單元具有其自身的處理器復(fù)合體和系統(tǒng)存儲(chǔ)器,并且通過(guò)數(shù)據(jù)存儲(chǔ)系統(tǒng)200內(nèi)的專用網(wǎng)絡(luò)互連。此外,在使用了存儲(chǔ)結(jié)構(gòu)網(wǎng)絡(luò)連接260的情況下,可以通過(guò)使用存儲(chǔ)結(jié)構(gòu)260來(lái)部署附加的架構(gòu)配置,以將多個(gè)存儲(chǔ)控制器240與連接到每個(gè)存儲(chǔ)控制器240的一個(gè)或多個(gè)集群主機(jī)210、220和225連接在一起。
[0031]在一些實(shí)施例中,存儲(chǔ)控制器240的系統(tǒng)存儲(chǔ)器243包括操作軟件250,并存儲(chǔ)處理器242可以訪問(wèn)以執(zhí)行與執(zhí)行本發(fā)明的步驟和方法相關(guān)聯(lián)的功能和方法步驟的程序指令和數(shù)據(jù)。如圖2所示,系統(tǒng)存儲(chǔ)器243還可以包括在此也被稱作“緩沖存儲(chǔ)器”的緩存245,或者可以與其通信,用于緩沖“寫數(shù)據(jù)”和“讀數(shù)據(jù)”,“寫數(shù)據(jù)”和“讀數(shù)據(jù)”分別是指寫/讀請(qǐng)求及其相關(guān)聯(lián)的數(shù)據(jù)。在一個(gè)實(shí)施例中,緩存245被分配在系統(tǒng)存儲(chǔ)器243外部的設(shè)備中,但仍保持可由微處理器242訪問(wèn),并且在執(zhí)行這里描述的操作之外,還可以用于提供附加的安全,以防止數(shù)據(jù)丟失。
[0032]在一些實(shí)施例中,為了增強(qiáng)數(shù)據(jù)存儲(chǔ)系統(tǒng)200的性能,緩存245可以用易失性存儲(chǔ)器和非易失性存儲(chǔ)器來(lái)實(shí)施,并通過(guò)本地總線(未在圖2中示出)耦合到微處理器242。包括在數(shù)據(jù)存儲(chǔ)控制器中的NVS216可由微處理器242訪問(wèn),并用于提供對(duì)在其他圖中描述的操作和執(zhí)行的附加的支持。NVS216,也可以稱為“永久的”緩存或“緩沖存儲(chǔ)器”,其用非易失性存儲(chǔ)器來(lái)實(shí)施,非易失性存儲(chǔ)器可以使用或不使用外部電源來(lái)保持存儲(chǔ)在其中的數(shù)據(jù)。出于適用于完成本發(fā)明的目標(biāo)的任何目的,NVS可以存儲(chǔ)在緩存245中并與緩存245 —起存儲(chǔ)。在一些實(shí)施例中,諸如電池的備用電源(未在圖2中示出)為NVS216提供足夠的電力以保持存儲(chǔ)在其中的數(shù)據(jù),以防數(shù)據(jù)存儲(chǔ)系統(tǒng)200失去電力。在某些實(shí)施例中,NVS216的容量小于或等于緩存245的總?cè)萘俊?br>
[0033]存儲(chǔ)控制器240可以包括數(shù)據(jù)管理模塊112。數(shù)據(jù)管理模塊112可以結(jié)合有內(nèi)部存儲(chǔ)器(未示出),在內(nèi)部存儲(chǔ)器中離臺(tái)算法可以存儲(chǔ)未處理的、已處理的或“半處理”的數(shù)據(jù)。數(shù)據(jù)管理模塊112可以與如下的每一個(gè)組件相結(jié)合來(lái)工作:存儲(chǔ)控制器240,主機(jī)210、220,225,以及可以經(jīng)由存儲(chǔ)結(jié)構(gòu)260而遠(yuǎn)程連接的其他存儲(chǔ)控制器240和主機(jī)210、220、225。數(shù)據(jù)管理模塊112在結(jié)構(gòu)上可以是一個(gè)完整的模塊,或者可以與其他的單獨(dú)模塊相關(guān)聯(lián)且/或一起被包括。數(shù)據(jù)管理模塊112也可以位于緩存245中或存儲(chǔ)控制器240的其他組件中。數(shù)據(jù)管理模塊112連同微處理器242可以實(shí)施所描述的實(shí)施例的方面,諸如將要進(jìn)一步描述的建立閾值因素。
[0034]存儲(chǔ)控制器240包括:控制交換機(jī)241,其用于控制協(xié)議以控制向或從主機(jī)計(jì)算機(jī)210、220、225的數(shù)據(jù)傳輸;微處理器242,其用于控制所有的存儲(chǔ)控制器240 ;非易失性控制存儲(chǔ)器243,其用于存儲(chǔ)用于控制存儲(chǔ)控制器240的操作的微程序(操作軟件)250 ;緩存245,其用于臨時(shí)存儲(chǔ)(緩沖)數(shù)據(jù);緩沖器(buffer) 244,其用于輔助緩存245來(lái)讀和寫數(shù)據(jù);以及數(shù)據(jù)管理模塊112,在數(shù)據(jù)管理模塊112中信息可以被設(shè)置。可以實(shí)施多個(gè)緩沖器244以輔助這里描述的方法和步驟。
[0035]現(xiàn)在轉(zhuǎn)到圖3,描繪了說(shuō)明用于數(shù)據(jù)管理的一般化方法300的流程圖。方法300開始(步驟302)。建立針對(duì)任何特定的邏輯連續(xù)的存儲(chǔ)空間所消耗的NVS空間的量的一個(gè)或多個(gè)閾值。該閾值可以基于RAID的類型、邏輯連續(xù)的存儲(chǔ)空間中的時(shí)間點(diǎn)拷貝源數(shù)據(jù)段的數(shù)目、和存儲(chǔ)類別。接著方法300結(jié)束(步驟306)。[0036]現(xiàn)在轉(zhuǎn)到圖4,描繪了在其中結(jié)合了所描述的實(shí)施例的方面的示例性操作的附加流程圖。方法400開始(步驟402),在計(jì)算存儲(chǔ)環(huán)境中初始化一個(gè)或多個(gè)存儲(chǔ)設(shè)備并確定可應(yīng)用的設(shè)備的數(shù)目(步驟404)。
[0037]在隨后的步驟中,方法400確定各個(gè)單獨(dú)層的可應(yīng)用的RAID類型,各個(gè)單獨(dú)層當(dāng)中的一個(gè)或多個(gè)層中可應(yīng)用的時(shí)間點(diǎn)拷貝源軌道的數(shù)目,和這一個(gè)或多個(gè)單獨(dú)層的驅(qū)動(dòng)器類型(步驟406)。接著將NVS閾值因素設(shè)置為:(I)基于可應(yīng)用的存儲(chǔ)設(shè)備的數(shù)目的百分比量,以及(2)其他因素,諸如前述的RAID類型、時(shí)間點(diǎn)拷貝源數(shù)據(jù)段和驅(qū)動(dòng)器類型(步驟408)。接著使用將進(jìn)一步說(shuō)明的閾值基準(zhǔn)來(lái)執(zhí)行各種存儲(chǔ)操作(步驟410)。接著方法400結(jié)束(步驟412)。
[0038]在一個(gè)實(shí)施例中,可以如下配置閾值因素。除了總空間的百分比基礎(chǔ)(即NVS的25%)之外,單獨(dú)層還可以配置有新的閾值??梢詫ⅰ皩覰VS限制”閾值定義為百分比閾值(同樣即NVS的25%)和為單獨(dú)層定義的“針對(duì)NVS故障恢復(fù)的層NVS限制”基準(zhǔn)的最小值函數(shù)。
[0039]在附加的實(shí)施例中,針對(duì)NVS故障恢復(fù)的層NVS限制可以被定義為層離臺(tái)每秒輸入/輸出(IOPS)指標(biāo)乘以排出時(shí)間并乘以最小NVS分配。
[0040]在一個(gè)實(shí)施例中,層離臺(tái)IOPS指標(biāo)可被定義為特定層能夠完成的離臺(tái)IOPS的數(shù)目。該指標(biāo)取決于層類型和構(gòu)成層的驅(qū)動(dòng)器類型。在一個(gè)實(shí)施例中,RAID-5近線層可以完成五百(500)次10PS。在一個(gè)實(shí)施例中,前述的排出時(shí)間可以表示為在靜默/恢復(fù)操作期間故障恢復(fù)操作排空NVS所花費(fèi)的時(shí)間。在一個(gè)示例性的實(shí)施例中,排出時(shí)間被設(shè)置為大約十(10)分鐘或600秒。最后,前述的最小NVS分配可以表示為NVS分配的最小單位。在一個(gè)存儲(chǔ)環(huán)境中,最小NVS分配是4K (千字節(jié))。
[0041]鑒于上述所有方面,考慮下面的例子。特定的存儲(chǔ)環(huán)境可以具有與RAID-5近線層伴隨的針對(duì)故障恢復(fù)的層NVS限制,其為(50010?5\6008父409610,大約等于1.2GB。
[0042]可以用來(lái)確定前述的針對(duì)故障恢復(fù)的層NVS限制的附加的因素是NVS中的時(shí)間點(diǎn)拷貝源軌道的量。當(dāng)時(shí)間點(diǎn)拷貝源軌道被離臺(tái)時(shí),在該源軌道能夠被離臺(tái)之前,該軌道可能需要復(fù)制源到目標(biāo)(CST)操作。CST操作可能消耗大量的資源,原因在于該操作需要從源登臺(tái)數(shù)據(jù),接著將數(shù)據(jù)離臺(tái)到目標(biāo)。
[0043]為了容納源時(shí)間點(diǎn)拷貝軌道,前述的針對(duì)故障恢復(fù)的層NVS限制可以進(jìn)一步被定義如下。可以設(shè)置該指標(biāo)等于前述的層離臺(tái)IOPSX排出時(shí)間X最小NVS分配XNVS中的總軌道,再除以(NVS中總的源時(shí)間點(diǎn)拷貝軌道X3+NVS中總的非源時(shí)間點(diǎn)拷貝軌道)。然而,如本領(lǐng)域的普通技術(shù)人員所理解的,為了適應(yīng)于特定的應(yīng)用,可以添加附加的因素,或者前述的因素可以被加權(quán)。
[0044]現(xiàn)在轉(zhuǎn)到圖5,示例性快速寫操作的流程圖被描繪為方法500。方法500開始(步驟502),從主機(jī)接收發(fā)往目標(biāo)存儲(chǔ)設(shè)備的數(shù)據(jù)(步驟504)。在步驟506中,方法500詢問(wèn)添加更新是否會(huì)導(dǎo)致層NVS限制(作為前面描述的閾值的函數(shù))被超過(guò)。如果是這種情況,則方法500將重新連接提供該更新的主機(jī)所需的重新連接參數(shù)排隊(duì)在重新連接隊(duì)列中(步驟508)并與發(fā)送該更新的主機(jī)斷開連接。接著方法500結(jié)束(步驟518)。結(jié)果,存儲(chǔ)控制器將不接受會(huì)導(dǎo)致用于對(duì)目標(biāo)存儲(chǔ)設(shè)備更新的NVS的量超過(guò)前述層NVS限制的更新。
[0045]回到步驟506, 如果層NVS限制不會(huì)由于該更新而被超過(guò),則方法500把數(shù)據(jù)快速寫到緩存和NVS,并且將離臺(tái)標(biāo)志設(shè)置為“on”。作為更新的結(jié)果,重新計(jì)算所使用的NVS百分比和在前述的閾值處理中使用的其他變量(步驟514),并且向主機(jī)返回更新完成狀態(tài)(步驟516)。接著方法500結(jié)束(同樣,步驟518)。如本領(lǐng)域的普通技術(shù)人員所理解的,可以以與圖5中所述的類似的方式來(lái)實(shí)施各種邏輯,以實(shí)施由所述實(shí)施例描述的閾值處理技術(shù)。
[0046]盡管在前面的本發(fā)明的詳細(xì)說(shuō)明中已經(jīng)給出了至少一個(gè)示例性的實(shí)施例,但應(yīng)當(dāng)理解,存在大量的變型。還應(yīng)當(dāng)理解,該一個(gè)或多個(gè)示例性的實(shí)施例僅為示例,并不旨在以任何方式限制本發(fā)明的范圍、可應(yīng)用性或配置。相反,前面的詳細(xì)說(shuō)明將為本領(lǐng)域技術(shù)人員提供用于實(shí)施本發(fā)明的示例性實(shí)施例的方便的路線圖,應(yīng)當(dāng)理解,在不脫離如權(quán)利要求及其法律等同形式所闡述的本發(fā)明的范圍的情況下,可以對(duì)在示例性實(shí)施例中描述的功能和元件布置進(jìn)行各種變型。
[0047]如本領(lǐng)域的普通技術(shù)人員所理解的,本發(fā)明的方面可以具體實(shí)施為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的方面可以具體實(shí)現(xiàn)為以下形式:完全硬件的實(shí)施例、完全軟件的實(shí)施例(包括固件、駐留軟件、微代碼等),或軟件和硬件方面結(jié)合的實(shí)施例,在這里,這些可以一般地稱為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的方面可以具體實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中具體實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式,計(jì)算機(jī)可讀介質(zhì)上包含計(jì)算機(jī)可讀的程序代碼。
[0048]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何的組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者是物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、晶體、聚合物、電磁、紅外線或半導(dǎo)體的系統(tǒng)、裝置或設(shè)備或者任何合適的上述的組合。物理計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的示例包括一但不限于一具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、RAM、ROM、EPROM、閃存、光纖、CD-ROM、光存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備或者任何合適的上述的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序或數(shù)據(jù)的有形介質(zhì),該程序或數(shù)據(jù)可以被指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與其結(jié)合使用。
[0049]計(jì)算機(jī)可讀介質(zhì)上包含的計(jì)算機(jī)程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無(wú)線、有線、光纜、射頻(RF)等,或者上述的任何合適的組合。
[0050]可以以任何靜態(tài)程序設(shè)計(jì)語(yǔ)言來(lái)編寫用于執(zhí)行本發(fā)明各方面的操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括C編程語(yǔ)言或其他類似的程序設(shè)計(jì)語(yǔ)言。計(jì)算機(jī)程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為一個(gè)獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類的網(wǎng)絡(luò)或者通信系統(tǒng)一包括但不限于局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)、會(huì)聚網(wǎng)絡(luò)一連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0051]上面參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)框以及流程圖和/或框圖中各個(gè)框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)框中規(guī)定的功能/動(dòng)作的部件。[0052]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其他可編程數(shù)據(jù)處理設(shè)備、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。計(jì)算機(jī)程序指令也可以裝入計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備,以使得在計(jì)算機(jī)、其他可編程裝置或其他設(shè)備上執(zhí)行一系列操作步驟來(lái)產(chǎn)生計(jì)算機(jī)實(shí)施的過(guò)程,從而在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實(shí)施在流程圖中和/或在框圖的一個(gè)或多個(gè)框中指定的功能/動(dòng)作的過(guò)程。
[0053]附圖中的流程圖和框圖描述了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)框可以表示模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的框?qū)嶋H上可以基本并行地執(zhí)行,或者它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)框、以及框圖和/或流程圖中的框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
[0054]盡管已經(jīng)詳細(xì)地描述了本發(fā)明的一個(gè)或多個(gè)實(shí)施例,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)清楚,可以在不脫離如權(quán)利要求中闡述的本發(fā)明的范圍的情況下,對(duì)那些實(shí)施例進(jìn)行各種修改和適應(yīng)。
【權(quán)利要求】
1.一種用于在計(jì)算存儲(chǔ)環(huán)境中由處理器設(shè)備管理數(shù)據(jù)的方法,包括: 基于獨(dú)立盤冗余陣列(RAID)的類型、邏輯連續(xù)的存儲(chǔ)空間中的時(shí)間點(diǎn)拷貝源數(shù)據(jù)段的數(shù)目和存儲(chǔ)類別中的至少一個(gè),建立針對(duì)計(jì)算存儲(chǔ)環(huán)境中任何特定的邏輯連續(xù)的存儲(chǔ)空間所消耗的非易失性存儲(chǔ)(NVS)空間的量的閾值。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括:基于分配給所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的預(yù)先確定的百分比,建立針對(duì)所述NVS空間的量的附加閾值。
3.根據(jù)權(quán)利要求2所述的方法,進(jìn)一步包括:將針對(duì)所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為所述閾值和所述附加閾值的最小值函數(shù)。
4.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括:將針對(duì)用于故障恢復(fù)存儲(chǔ)操作的所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為針對(duì)所述任何特定的邏輯連續(xù)的存儲(chǔ)空間確定的每秒輸入/輸出操作數(shù)(IOPS )、計(jì)算的排出時(shí)間和最小NVS存儲(chǔ)分配的函數(shù)。
5.根據(jù)權(quán)利要求3所述的方法,進(jìn)一步包括:將針對(duì)用于故障恢復(fù)存儲(chǔ)操作的所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為針對(duì)所述任何特定的邏輯連續(xù)的存儲(chǔ)空間確定的每秒輸入/輸出操作數(shù)(IOPS)、計(jì)算的排出時(shí)間、最小NVS存儲(chǔ)分配和NVS中的數(shù)據(jù)段的總數(shù)目的函數(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述任何特定的邏輯連續(xù)的存儲(chǔ)空間是存儲(chǔ)層,并且所述存儲(chǔ)類別是該存儲(chǔ)層中的驅(qū)動(dòng)器類型。
7.一種用于計(jì)算存儲(chǔ)環(huán)境中的數(shù)據(jù)管理的系統(tǒng),包括: 可在計(jì)算存儲(chǔ)環(huán)境中操作的處理器設(shè)備,其中所述處理器設(shè)備: 基于獨(dú)立盤冗余陣列(RAID)的類型、邏輯連續(xù)的存儲(chǔ)空間中的時(shí)間點(diǎn)拷貝源數(shù)據(jù)段的數(shù)目和存儲(chǔ)類別中的至少一個(gè),建立針對(duì)計(jì)算存儲(chǔ)環(huán)境中任何特定的邏輯連續(xù)的存儲(chǔ)空間所消耗的非易失性存儲(chǔ)(NVS)空間的量的閾值。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述處理器設(shè)備基于分配給所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的預(yù)先確定的百分比,建立針對(duì)所述NVS空間的量的附加閾值。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器設(shè)備將針對(duì)所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為所述閾值和所述附加閾值的最小值函數(shù)。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述處理器設(shè)備將針對(duì)用于故障恢復(fù)存儲(chǔ)操作的所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為針對(duì)所述任何特定的邏輯連續(xù)的存儲(chǔ)空間確定的每秒輸入/輸出操作數(shù)(IOPS)、計(jì)算的排出時(shí)間和最小NVS存儲(chǔ)分配的函數(shù)。
11.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述處理器設(shè)備將針對(duì)用于故障恢復(fù)存儲(chǔ)操作的所述任何特定的邏輯連續(xù)的存儲(chǔ)空間的NVS空間限制建立為針對(duì)所述任何特定的邏輯連續(xù)的存儲(chǔ)空間確定的每秒輸入/輸出操作數(shù)(IOPS )、計(jì)算的排出時(shí)間、最小NVS存儲(chǔ)分配和NVS中的數(shù)據(jù)段的總數(shù)目的函數(shù)。
12.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述任何特定的邏輯連續(xù)的存儲(chǔ)空間是存儲(chǔ)層,并且所述存儲(chǔ)類別是該存儲(chǔ)層中的驅(qū)動(dòng)器類型。
13.根據(jù)權(quán)利要求12所述的系統(tǒng),其中所述驅(qū)動(dòng)器類型包括企業(yè)驅(qū)動(dòng)器類型和近線驅(qū)動(dòng)器類型。
14.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述時(shí)間點(diǎn)拷貝源數(shù)據(jù)段是時(shí)間點(diǎn)拷貝源軌道。
【文檔編號(hào)】G06F3/06GK103713853SQ201310447437
【公開日】2014年4月9日 申請(qǐng)日期:2013年9月27日 優(yōu)先權(quán)日:2012年9月28日
【發(fā)明者】K·J·埃士, M·T·本哈斯, L·M·伽普他, K·W·托德 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司