采用數(shù)據(jù)管理機(jī)制的存儲系統(tǒng)及其操作的方法
【專利摘要】一種存儲系統(tǒng)(100)的操作的方法(1000),包括:訪問耦連至第一層存儲(120)和第二層存儲(122)的存儲層管理器(106);標(biāo)識第一層存儲(120)中的低活躍性區(qū)域(304)和第二層存儲(122)中的高活躍性區(qū)域(306);以及由存儲層管理器(106)交換與高活躍性區(qū)域(306)相對應(yīng)的物理塊區(qū)域(602)和與低活躍性區(qū)域(304)相對應(yīng)的物理塊區(qū)域(602)。
【專利說明】采用數(shù)據(jù)管理機(jī)制的存儲系統(tǒng)及其操作的方法
[0001]相關(guān)申請的交叉引用
[0002]本申請要求2012年4月20日提交的序號為61/635,869的美國臨時專利申請的權(quán)益,且其主題通過引用并入本文中。
【技術(shù)領(lǐng)域】
[0003]本發(fā)明的實施例總地涉及存儲系統(tǒng),并且更具體地,涉及具有不同性能能力的多層存儲介質(zhì)的存儲系統(tǒng)。
【背景技術(shù)】
[0004]隨著信息交易的數(shù)量和強度持續(xù)增長,個人和企業(yè)尋求附加的方式來處理和存儲數(shù)據(jù)及應(yīng)用。信息用戶的一種可用選擇是存儲系統(tǒng)。存儲系統(tǒng)通常存儲、保護(hù)和/或傳遞信息或數(shù)據(jù)用于商業(yè)、個人或其他目的,從而允許用戶在必要時訪問信息。
[0005]由于信息處理要求在不同用戶或應(yīng)用之間各不相同,為了提供較快速的信息訪問路徑,信息存儲系統(tǒng)可以包括高速緩存存儲器以臨時保存信息,該高速緩存存儲器可能被較頻繁地訪問或修改。為了提高高速緩存存儲器的使用效率,其可以要求特殊固件支持。例如,為了利用高速緩存達(dá)到存儲系統(tǒng)的最佳性能,高速緩存存儲器可以使用最近最少使用(LMRU)算法或最近使用(MRU)算法。這些高速緩存算法可以提高某些重復(fù)讀取序列方面的性能,但對于隨機(jī)讀取操作或順序讀取操作來說是完全失效的。一旦將信息從高速緩存存儲器移出至長期存儲設(shè)備,訪問時間就可能慢得多。
[0006]因此,仍然保持對采用數(shù)據(jù)管理機(jī)制以提高用戶數(shù)據(jù)的可訪問性和性能的存儲系統(tǒng)的需要。鑒于商業(yè)競爭壓力的不斷增加,連同消費者期望的增長和市場中有意義的產(chǎn)品差異化機(jī)會的減少,找到這些問題的答案愈發(fā)關(guān)鍵。另外,降低成本、提高效率和性能以及滿足競爭壓力的需要使得找到這些問題的答案的關(guān)鍵必要性愈發(fā)緊迫。
[0007]長期以來一直在尋找這些問題的解決方案,但現(xiàn)有發(fā)展尚未教導(dǎo)或建議任何解決方案,并且因此本領(lǐng)域技術(shù)人員長期一直未找到這些問題的解決方案。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的實施例提供了存儲系統(tǒng)的操作的方法,包括:訪問耦連至第一層存儲和第二層存儲的存儲層管理器;標(biāo)識第一層存儲中的低活躍性區(qū)域和第二層存儲中的高活躍性區(qū)域;以及由存儲層管理器交換與高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域和與低活躍性區(qū)域相對應(yīng)的物理塊區(qū)域。
[0009]本發(fā)明的實施例提供了存儲系統(tǒng)的操作的方法,包括:訪問耦連至第一層存儲和第二層存儲的存儲層管理器,包括通過總線驅(qū)動器接口模塊進(jìn)行通信;標(biāo)識第一層存儲中的低活躍性區(qū)域和第二層存儲中的高活躍性區(qū)域,包括由提升閾值模塊比較提升標(biāo)準(zhǔn)和高活躍性區(qū)域;由存儲層管理器交換與高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域和與低活躍性區(qū)域相對應(yīng)的物理塊區(qū)域;以及由存儲層管理器更新虛擬至物理列表,以反映與高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域的新位置。
[0010]本發(fā)明的實施例提供了一種存儲系統(tǒng),包括:耦連至第一層存儲和第二層存儲的存儲層管理器;在第一層存儲中的高性能存儲設(shè)備,其具有低活躍性區(qū)域;在第二層存儲中的低性能存儲設(shè)備,其具有高活躍性區(qū)域;以及由存儲層管理器和與高性能存儲設(shè)備中的低活躍性區(qū)域相對應(yīng)的物理塊區(qū)域進(jìn)行交換的與低性能存儲設(shè)備中的高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域;以及耦連至存儲層管理器的存儲介質(zhì)接口模塊,其用于由存儲層管理器交換與低性能存儲設(shè)備中的高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域和與高性能存儲設(shè)備中的低活躍性區(qū)域相對應(yīng)的物理塊區(qū)域。
[0011]本發(fā)明的實施例提供了非暫時性計算機(jī)可讀介質(zhì),包括:訪問耦連至第一層存儲和第二層存儲的存儲層管理器;標(biāo)識第一層存儲中的低活躍性區(qū)域和第二層存儲中的高活躍性區(qū)域;以及由存儲層管理器交換與高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域和與低活躍性區(qū)域相對應(yīng)的物理塊區(qū)域。
[0012]取代或補充上面所提到的那些,本發(fā)明的某些實施例具有其它步驟或元素。通過在參考附圖時閱讀下面的詳細(xì)描述,步驟或元素對本領(lǐng)域技術(shù)人員來說將變得顯而易見。
【專利附圖】
【附圖說明】
[0013]圖1是本發(fā)明實施例中的采用數(shù)據(jù)管理機(jī)制的存儲系統(tǒng)的框圖。
[0014]圖2是圖1的存儲系統(tǒng)的示范性應(yīng)用的框圖。
[0015]圖3是用于圖1的存儲系統(tǒng)的虛擬至物理轉(zhuǎn)譯的示例性框圖。
[0016]圖4是在圖1的存儲系統(tǒng)中的高活躍性區(qū)域和低活躍性區(qū)域的交換的圖示示例。
[0017]圖5是在圖1的存儲系統(tǒng)中的高活躍性區(qū)域和低活躍性區(qū)域的安全交換的圖示示例。
[0018]圖6是用于圖1的存儲系統(tǒng)的虛擬至物理轉(zhuǎn)譯的圖示示例。
[0019]圖7是圖1的存儲系統(tǒng)的主機(jī)總線適配器實現(xiàn)方案的功能框圖。
[0020]圖8是存儲系統(tǒng)的網(wǎng)絡(luò)附加實現(xiàn)方案的功能框圖。
[0021]圖9是圖1的存儲系統(tǒng)的詳細(xì)操作的流程圖。
[0022]圖10是本發(fā)明的實施例中的存儲系統(tǒng)的操作的方法的流程圖。
【具體實施方式】
[0023]下面的實施例被充分詳細(xì)地描述以使本領(lǐng)域技術(shù)人員能夠制造并使用本發(fā)明。將理解的是,其他實施例將基于本公開而顯而易見,并且可以做出系統(tǒng)改變、過程改變或機(jī)械改變而不脫離本發(fā)明的實施例的范圍。
[0024]在以下描述中,給出大量具體細(xì)節(jié)以提供對本發(fā)明的深入理解。然而,顯而易見的是,本發(fā)明可以在沒有這些具體細(xì)節(jié)的情況下得以實踐。為避免混淆本發(fā)明的實施例,不詳細(xì)公開一些公知的電路、系統(tǒng)配置和過程步驟。
[0025]示出系統(tǒng)的實施例的附圖是半圖解式的并且不成比例,尤其是,一些尺寸是為了清楚呈現(xiàn)并夸大示出于附圖中。類似地,雖然附圖中的視圖為了方便描述而通常示出類似的方位,但是圖中的此類描繪大多是任意的。通常,本發(fā)明可以在任意方位中操作。實施例已被編號為第一實施例、第二實施例等,以使得描述便利,但并不意圖具有其他任何意義或?qū)Ρ景l(fā)明的實施例提供限制。
[0026]本文所涉及的術(shù)語“層”是具有普通性能特征的存儲介質(zhì)設(shè)備的組或陣列。本文所涉及的術(shù)語“性能特征”是對可包括任何設(shè)備操作和接口時序的數(shù)據(jù)處理能力的衡量。性能特征的示例可以包括訪問時間、數(shù)據(jù)吞吐量、接口帶寬、每秒輸入輸出操作(1PS)以及數(shù)據(jù)優(yōu)先級。本文所涉及的術(shù)語“存儲介質(zhì)設(shè)備”是用于在計算機(jī)系統(tǒng)環(huán)境中歸檔和訪問數(shù)據(jù)的裝置。例如,存儲介質(zhì)設(shè)備可以是磁盤驅(qū)動器、固態(tài)盤驅(qū)動器、光盤驅(qū)動器、磁帶驅(qū)動器或類似物,不考慮所使用的接口附接物。本文所涉及的術(shù)語“虛擬存儲”是計算機(jī)系統(tǒng)可用的總的可尋址存儲器,其包括一個或多個存儲器設(shè)備,其中每個存儲器設(shè)備表示總的可尋址存儲器的一部分。通過虛擬地址對虛擬存儲進(jìn)行尋址,所述虛擬地址被轉(zhuǎn)譯成一個或多個存儲器設(shè)備內(nèi)的物理地址。
[0027]本文所涉及的術(shù)語“模塊”可以根據(jù)術(shù)語被使用的上下文而包括本發(fā)明的實施例中的軟件、硬件或其組合。例如,軟件可以是機(jī)器代碼、固件、嵌入代碼以及應(yīng)用軟件。又例如,硬件可以是電路、處理器、計算機(jī)、集成電路、集成電路核心、壓力傳感器、慣性傳感器、微機(jī)電系統(tǒng)(MEMS)、無源器件或其組合。
[0028]現(xiàn)參考圖1,其中示出本發(fā)明實施例中的采用數(shù)據(jù)管理機(jī)制的存儲系統(tǒng)100的框圖。存儲系統(tǒng)100的框圖描繪了包括總線驅(qū)動器接口模塊104和存儲層管理器106的塊級存儲處理器102。存儲層管理器106可以是配置為控制總線驅(qū)動器接口模塊104并且管理塊級存儲處理器102的操作的處理器或嵌入式處理器??偩€驅(qū)動器接口模塊104可以實現(xiàn)與下一級系統(tǒng)(未示出)進(jìn)行通信相關(guān)聯(lián)的協(xié)議。
[0029]塊級存儲處理器102能夠?qū)嵤└鞣N存儲虛擬化功能,包括塊級分層、虛擬至物理設(shè)備映射和其他數(shù)據(jù)管理功能。塊級存儲處理器102可實現(xiàn)為非暫時性計算機(jī)可讀介質(zhì)(未示出)上的、要由系統(tǒng)處理器(未示出)執(zhí)行的指令。非暫時性算機(jī)可讀介質(zhì)可以包括非易失性存儲器,諸如硬盤驅(qū)動器、非易失性隨機(jī)存取存儲器(NVRAM)、固態(tài)存儲設(shè)備(SSD)、壓縮光盤(CD)、數(shù)字視頻光盤(DVD)或通用串行總線(USB)閃存存儲器設(shè)備。非暫時性計算機(jī)可讀介質(zhì)可以被集成為系統(tǒng)的一部分或安裝為系統(tǒng)的可移動部分。塊級存儲處理器102可實現(xiàn)為執(zhí)行來自非暫時性計算機(jī)可讀介質(zhì)的指令的靈活硬件或?qū)S糜布慕M合,或其可由專用硬件模塊實現(xiàn)。
[0030]接口總線108可以將總線驅(qū)動器接口模塊104耦連至下一級系統(tǒng)(未示出)。接口總線108可以提供存儲系統(tǒng)100和下一級系統(tǒng)之間的雙向通信路徑(未示出)。接口總線108可以是用于與塊級存儲處理器102進(jìn)行通信并且遞送數(shù)據(jù)至塊級存儲處理器102的并行總線、串行總線、電子連接、光學(xué)連接或無線連接??偩€驅(qū)動器接口模塊104可通過數(shù)據(jù)管理器總線110耦連至存儲層管理器106。數(shù)據(jù)管理器總線110可以接收或驅(qū)動數(shù)據(jù)以及接口交換至接口總線108。
[0031]介質(zhì)接口總線112可以將存儲層管理器106耦連至存儲介質(zhì)接口模塊114。介質(zhì)接口總線112可以提供通信路徑,以允許存儲層管理器106和存儲介質(zhì)接口模塊114之間的數(shù)據(jù)塊和設(shè)置信息的轉(zhuǎn)移。存儲介質(zhì)接口模塊114可以實現(xiàn)用于高性能存儲設(shè)備116和低性能存儲設(shè)備118的通信協(xié)議。
[0032]高性能存儲設(shè)備116可以與低性能存儲設(shè)備118相同,但多數(shù)情況下它們在性能、容量、成本、功耗以及每秒輸入輸出操作(1PS)方面有區(qū)別。高性能存儲設(shè)備116的陣列可形成第一層存儲120并且可以包括基于半導(dǎo)體的存儲元件,諸如為分立部件、獨立固態(tài)盤(SSD)、或極高性能的串行連接SCSI (SAS)盤驅(qū)動器形式的基于NAND閃存的設(shè)備。另一低性能存儲設(shè)備118的陣列可以形成第二層存儲122,諸如串行高級技術(shù)附件(SATA)、串行連接SCSI (SAS)、網(wǎng)絡(luò)附加存儲或其他較慢的介質(zhì)形式。
[0033]通過塊級存儲處理器102的數(shù)據(jù)塊的轉(zhuǎn)移初始可以存儲在第一層存儲120或第二層存儲122中。對數(shù)據(jù)塊的任何隨后訪問可由存儲層管理器106進(jìn)行分析。存儲層管理器106可以監(jiān)控訪問以確定哪些數(shù)據(jù)塊是最頻繁訪問的讀取、經(jīng)組合的讀取和寫入、流或者隨機(jī)訪問特征等。
[0034]如果存儲層管理器106確定任何數(shù)據(jù)塊由于高頻率的訪問而錯誤地位于低性能存儲設(shè)備118中,那么存儲層管理器106可將數(shù)據(jù)塊與高性能存儲設(shè)備116上的數(shù)據(jù)塊交換。存儲層管理器106還可以標(biāo)識由于低頻率的訪問而錯誤地位于高性能存儲設(shè)備116上的數(shù)據(jù)塊,并且將數(shù)據(jù)塊與低性能存儲設(shè)備118交換。該在第一層存儲120和第二層存儲122之間的數(shù)據(jù)塊的交換可以優(yōu)化存儲系統(tǒng)100的性能。
[0035]確定哪些數(shù)據(jù)塊應(yīng)在第一層存儲120和第二層存儲122之間交換由存儲層管理器106來控制。在第一層存儲120和第二層存儲122之間的數(shù)據(jù)塊的交換的實際過程可由存儲層管理器106和存儲介質(zhì)接口模塊114執(zhí)行而不與下一級系統(tǒng)(未示出)交互。
[0036]應(yīng)理解,具有第一層存儲120和第二層存儲122的存儲系統(tǒng)100僅是示例,可以實現(xiàn)任何數(shù)目的附加存儲層。應(yīng)進(jìn)一步理解,在第一層存儲120中示出的高性能存儲設(shè)備116的陣列僅是示例,并且陣列中可以包括任何數(shù)目的高性能存儲設(shè)備116。同樣地,另一在第二層存儲122中的低性能存儲設(shè)備118的陣列僅是示例,并且該另一陣列中可以包括任何數(shù)目的低性能存儲設(shè)備118。應(yīng)當(dāng)進(jìn)一步理解,第一層存儲120和第二層存儲122可以是基于固態(tài)閃存的存儲器或者衍生物、相變存儲器、易失性和非易失性隨機(jī)存取存儲器、旋轉(zhuǎn)介質(zhì)或串行磁帶流的任何組合。
[0037]已經(jīng)發(fā)現(xiàn)塊級存儲處理器102可以確定在第一層存儲120和第二層存儲122中的每一個內(nèi)的、經(jīng)標(biāo)識為具有駐留在低性能存儲設(shè)備118上的尚優(yōu)先級屬性以及在尚性能存儲設(shè)備116上的低優(yōu)先級屬性的區(qū)域。塊級存儲處理器102可以在第一層存儲120和第二層存儲122之間自主交換數(shù)據(jù)塊,以提高存儲系統(tǒng)100的性能。存儲層管理器106可以在內(nèi)部存儲器或這些高優(yōu)先級和低優(yōu)先級區(qū)域的存儲介質(zhì)的專有區(qū)域中維護(hù)優(yōu)先化表,用于基于用戶可編程的或默認(rèn)的提升策略的集合來決定它們是否需要被交換的目的。
[0038]現(xiàn)參考圖2,其中示出了圖1的存儲系統(tǒng)100的示范性應(yīng)用201的框圖。存儲系統(tǒng)100的示范性應(yīng)用201的框圖描繪了通過處理器總線206耦連至接口總線控制器204的系統(tǒng)處理器202。
[0039]接口總線控制器204可以驅(qū)動接口總線108,以在系統(tǒng)處理器202和塊級存儲處理器102之間發(fā)送和接收命令和數(shù)據(jù)。接口總線108可以是用于在塊級存儲處理器102和系統(tǒng)處理器202之間進(jìn)行通信并遞送數(shù)據(jù)的并行總線、串行總線、電子連接、光學(xué)連接或無線連接。
[0040]系統(tǒng)處理器202可以從第一層存儲120或第二層存儲122訪問應(yīng)用或數(shù)據(jù)。塊級存儲處理器102可以監(jiān)控由系統(tǒng)處理器202所訪問的數(shù)據(jù)塊的統(tǒng)計,以確定數(shù)據(jù)塊的適合優(yōu)先級以及是否需要交換數(shù)據(jù)塊。塊級存儲處理器102可以在第一層存儲120和第二層存儲122之間交換數(shù)據(jù)塊,而無需系統(tǒng)處理器202的知曉或輔助。
[0041]如果塊級存儲處理器102確定需要交換數(shù)據(jù)塊,那么存儲介質(zhì)接口模塊114可以設(shè)置為在系統(tǒng)處理器202的訪問無阻礙地繼續(xù)的同時實施交換。由塊級存儲處理器102和存儲介質(zhì)接口模塊114執(zhí)行從第一層存儲120至第二層存儲122的數(shù)據(jù)塊的轉(zhuǎn)移,反之亦然,而無需系統(tǒng)處理器202的知曉及輔助。
[0042]已經(jīng)發(fā)現(xiàn),存儲系統(tǒng)100可以通過維護(hù)第一層存儲120中最多使用的數(shù)據(jù)塊和第二層存儲122中最少使用的數(shù)據(jù)塊來提高示范性應(yīng)用201的性能。在第一層存儲120和第二層存儲122之間的數(shù)據(jù)塊的交換可以由塊級存儲處理器102和存儲介質(zhì)接口模塊114實施,而無需為系統(tǒng)處理器202的執(zhí)行添加任何開銷或額外的命令。
[0043]現(xiàn)參考圖3,其中示出了用于圖1的存儲系統(tǒng)100的虛擬至物理轉(zhuǎn)譯301的示例性框圖。用于存儲系統(tǒng)100的虛擬至物理轉(zhuǎn)譯301的示例性框圖描繪了虛擬存儲容量302,其具有分布于其中的由帶有斜線圖案的矩形所表示的低活躍性區(qū)域304,以及由帶有交叉線圖案的矩形所表示的高活躍性區(qū)域306。
[0044]虛擬至物理轉(zhuǎn)換308可由圖1的存儲層管理器106實施。在低活躍性區(qū)域304和高活躍性區(qū)域306的初始寫入中,其物理位置可能沒有反映適合的優(yōu)先級。低活躍性區(qū)域304表示被最不頻繁訪問的第一層存儲120的一部分,使得低活躍性區(qū)域304具有存儲在第一層存儲120的高優(yōu)先級和高性能空間中的低優(yōu)先級數(shù)據(jù)。高活躍性區(qū)域306表示被最頻繁訪問的第二層存儲122的一部分,使得高活躍性區(qū)域306具有存儲在第二層存儲122中的低優(yōu)先級和低性能空間的高優(yōu)先級數(shù)據(jù)。
[0045]在低活躍性區(qū)域304和高活躍性區(qū)域306由系統(tǒng)處理器202訪問時,優(yōu)先級可以由存儲層管理器106確定。如果存儲層管理器106確定第一層存儲120已采用低活躍性區(qū)域304寫入且第二層存儲122已采用高活躍性區(qū)域306寫入,那么可以由存儲層管理器106為圖1的存儲介質(zhì)接口模塊114調(diào)度數(shù)據(jù)塊的交換。
[0046]塊級存儲處理器102可以基于任何數(shù)目的標(biāo)準(zhǔn)來確定優(yōu)先級,例如最頻繁訪問的讀取、經(jīng)組合的讀取和寫入、流或隨機(jī)訪問特征以及最不頻繁訪問的讀取。如果優(yōu)先級超過預(yù)定閾值,那么存儲層管理器106可以交換在第一層存儲120中的低活躍性區(qū)域304和在第二層存儲122中的高活躍性區(qū)域306。
[0047]應(yīng)理解,低活躍性區(qū)域304和高活躍性區(qū)域306的交換可以提高高活躍性區(qū)域306的性能并且對低活躍性區(qū)域304的可用性影響很小。存儲層管理器106可在允許系統(tǒng)處理器202繼續(xù)訪問高活躍性區(qū)域306的同時協(xié)調(diào)低活躍性區(qū)域304和高活躍性區(qū)域306之間的交換。當(dāng)交換完成時,存儲層管理器106可以更新虛擬至物理表以反映新物理位置,而無需改變用于系統(tǒng)處理器202的虛擬地址。這樣,物理位置的改變可以在系統(tǒng)處理器202沒有意識到低活躍性區(qū)域304和高活躍性區(qū)域306的物理位置的改變的情況下發(fā)生。
[0048]現(xiàn)參考圖4,其中示出了在圖1的存儲系統(tǒng)100中的高活躍性區(qū)域306和低活躍性區(qū)域304的交換401的圖示示例。高活躍性區(qū)域306和低活躍性區(qū)域304的交換401的圖示示例描繪了第一層存儲120中的目標(biāo)區(qū)域402,其用于接收來自第二層存儲122的高活躍性區(qū)域306。
[0049]第二層存儲122中的目標(biāo)區(qū)域402可以接收來自第一層存儲120的低活躍性區(qū)域304。當(dāng)交換401完成時,圖1的存儲層管理器106可以更新存儲系統(tǒng)100內(nèi)的虛擬至物理表,用于指示低活躍性區(qū)域304和高活躍性區(qū)域306的新物理位置。如果讀取命令在更新虛擬至物理表之前對高活躍性區(qū)域306進(jìn)行尋址,那么高活躍性區(qū)域306將可從其初始位置得到。在更新虛擬至物理表之后,將從第一層存儲120中的新位置讀取高活躍性區(qū)域306。因為直到虛擬至物理表被更新交換才起作用,所以該過程保證了高活躍性區(qū)域306內(nèi)的數(shù)據(jù)塊即使在于交換期間發(fā)生電源故障的情況下也受到保護(hù)。虛擬至物理表僅被更新一次,以反映針對低活躍性區(qū)域304和高活躍性區(qū)域306的數(shù)據(jù)塊的交換。
[0050]已經(jīng)發(fā)現(xiàn),存儲系統(tǒng)100提供了用于基于數(shù)據(jù)訪問模式的表征確定數(shù)據(jù)塊優(yōu)先級的方法,所述數(shù)據(jù)訪問模式的表征諸如流相對隨機(jī)數(shù)據(jù)訪問模式的優(yōu)先化、基于當(dāng)日時間而變化的訪問、基于主要讀取相對寫入而變化的訪問、訪問頻率、和其他可以由用戶定義的標(biāo)準(zhǔn)。通過當(dāng)已滿足優(yōu)先級時實施交換401,存儲系統(tǒng)100可以通過移動高活躍性區(qū)域306至第一層存儲120以利用圖1的高性能存儲設(shè)備116的較高性能來提高圖2的系統(tǒng)處理器202的性能。
[0051]現(xiàn)參考圖5,其中示出了在圖1的存儲系統(tǒng)100中的高活躍性區(qū)域306和低活躍性區(qū)域304的安全交換501的圖示示例。該安全交換501的圖示示例描繪了可用于在交換期間保存低活躍性區(qū)域拷貝504的第二層存儲122的預(yù)留區(qū)502。
[0052]安全交換501可以被認(rèn)為是兩跳轉(zhuǎn)移。在為安全交換501作準(zhǔn)備時,低活躍性區(qū)域304被拷貝到預(yù)留區(qū)502。虛擬至物理表可以由圖1的存儲層管理器106更新,以反映用于低活躍性區(qū)域304的新物理地址。高活躍性區(qū)域306可以隨后被拷貝到在第一層存儲120中曾被低活躍性區(qū)域304所占用的位置。虛擬至物理表可以由存儲層管理器106更新,以反映高活躍性區(qū)域306的新位置。
[0053]一旦高活躍性區(qū)域306已經(jīng)被轉(zhuǎn)移到第一層存儲120,就可以將低活躍性區(qū)域拷貝504從預(yù)留區(qū)502拷貝到第二層存儲122,并且虛擬至物理表可由存儲層管理器106更新以反映低活躍性區(qū)域304的移動。該過程要求三次虛擬至物理表的更新。可替代地,預(yù)留區(qū)502可以被視為在第二層存儲122內(nèi)某處的預(yù)留容量。這將消除低活躍性區(qū)域304的二次轉(zhuǎn)移的必要性,并且由高活躍性區(qū)域306向第一層存儲120的轉(zhuǎn)移所騰空的容量將添加到預(yù)留區(qū)502。該可替代過程要求虛擬至物理表被更新兩次。
[0054]現(xiàn)參考圖6,其中示出了用于圖1的存儲系統(tǒng)100的虛擬至物理轉(zhuǎn)譯601的圖示示例。虛擬至物理轉(zhuǎn)譯601的圖示示例描繪了具有高活躍性區(qū)域306的虛擬存儲容量302。
[0055]可將虛擬存儲容量302映射到第一層存儲120和第二層存儲122。應(yīng)理解,可以實現(xiàn)附加的物理存儲設(shè)備層。為了易于討論,僅示出了第一層存儲120和第二層存儲122。高活躍性區(qū)域306可以位于圖1的高性能存儲設(shè)備116的一個內(nèi)。高活躍性區(qū)域306的物理位置可以是物理塊區(qū)域602。
[0056]物理塊區(qū)域602可以包括若干數(shù)據(jù)塊604。數(shù)據(jù)塊604可以包括數(shù)據(jù)到物理介質(zhì)上的分區(qū)的物理映射。高性能存儲設(shè)備116可以是按塊尋址的設(shè)備,其維護(hù)分開的映射結(jié)構(gòu)用于定位與數(shù)據(jù)塊604相關(guān)聯(lián)的數(shù)據(jù)分區(qū)(未示出)。
[0057]應(yīng)理解,如果高活躍性區(qū)域306使用附加的容量,那么物理塊區(qū)域602可以跨過高性能存儲設(shè)備116的邊界延伸。用于將高活躍性區(qū)域306映射至物理塊區(qū)域602的虛擬至物理表由圖1的存儲層管理器106進(jìn)行維護(hù)。
[0058]在一些實施例中,第二層存儲122可以包括預(yù)留區(qū)502。雖然預(yù)留區(qū)被示出為單行的物理塊區(qū)域602,但應(yīng)理解的是,預(yù)留區(qū)502中可以包括任何數(shù)目的物理塊區(qū)域602。還應(yīng)理解,和預(yù)留區(qū)502相關(guān)聯(lián)的物理塊區(qū)域602可以遍及第二層存儲122而分布。
[0059]同樣地,應(yīng)理解,可以將低活躍性區(qū)域304映射到位于第二層存儲122中的物理塊區(qū)域602。由于第二層存儲122包括圖1的低性能存儲設(shè)備118,因此不同數(shù)目的數(shù)據(jù)塊604可以構(gòu)成用于低活躍性區(qū)域304的物理塊區(qū)域602。應(yīng)理解的是,低活躍性區(qū)域304和高活躍性區(qū)域306的物理容量是相同的。應(yīng)進(jìn)一步理解的是,高性能存儲設(shè)備116和低性能存儲設(shè)備118可為相同設(shè)備類型或不同設(shè)備類型。
[0060]應(yīng)理解,第一層存儲120也可以包括預(yù)留區(qū)502。第一層存儲120和第二層存儲122的實現(xiàn)方案可以取決于圖1的存儲系統(tǒng)100的配置和所實現(xiàn)的圖4的交換401或圖5的安全交換501的類型。第一層存儲120和第二層存儲122的整個容量可以由若干物理塊區(qū)域602構(gòu)成。
[0061]現(xiàn)參考圖7,其中示出了圖1的存儲系統(tǒng)100的主機(jī)總線適配器實現(xiàn)方案701的功能框圖。主機(jī)總線適配器實現(xiàn)方案701的功能框圖描繪了存儲層管理器106,其在存儲器設(shè)備704中為第一層存儲120和第二層存儲122保存使用統(tǒng)計703。存儲層管理器106可以監(jiān)控對第一層存儲120和第二層存儲122的每一個訪問用于生成使用統(tǒng)計703??苫谒⒌膬?yōu)先級對使用統(tǒng)計703進(jìn)行評估用于確定圖3的低活躍性區(qū)域304和高活躍性區(qū)域306。
[0062]存儲器設(shè)備704可以是存儲層管理器106中的分立的存儲器部件或嵌入式存儲器部件。存儲層管理器106和存儲器設(shè)備704的實現(xiàn)方案可以按照和具有存儲器設(shè)備704的嵌入式實例的存儲層管理器106相同的方式來操作。
[0063]存儲層管理器106可以實施虛擬至物理映射功能,采用該虛擬至物理映射功能將多個物理設(shè)備映射到圖3的虛擬存儲容量302,所述虛擬存儲容量302被呈現(xiàn)給圖2的系統(tǒng)處理器202并由其訪問??梢栽诖鎯ζ髟O(shè)備704中維護(hù)虛擬至物理表705,用于標(biāo)識與根據(jù)使用統(tǒng)計703確定的低活躍性區(qū)域304和高活躍性區(qū)域306相關(guān)聯(lián)的圖6的物理塊區(qū)域602。
[0064]存儲層管理器106可以耦連至第一層控制器706和第二層控制器708。第一層控制器706、第二層控制器708和存儲層管理器106的組合可以提供圖1的存儲介質(zhì)接口模塊114的功能。為了執(zhí)行圖4的交換401,存儲層管理器106必須通過第一層控制器706和第二層控制器708單獨地協(xié)調(diào)圖3的低活躍性區(qū)域304和圖3的高活躍性區(qū)域306的移動。
[0065]第一層控制器706可以耦連到包括若干高性能存儲設(shè)備116的第一層存儲120。高性能存儲設(shè)備116可以包括基于半導(dǎo)體的固態(tài)驅(qū)動器(SSD)、極高性能的磁盤諸如轉(zhuǎn)速10,000-15,000RPM的串行連接小型計算機(jī)系統(tǒng)接口(SAS)盤驅(qū)動器。第一層控制器706可以如所示的耦連到高性能存儲設(shè)備116的單獨單元或者其可以通過諸如光學(xué)接口的單個高性能接口耦連到覆蓋第一層存儲120的外殼(未示出)。
[0066]第二層控制器708可以耦連到包括低性能存儲設(shè)備118的第二層存儲122。低性能存儲設(shè)備118可以包括串行高級技術(shù)附件(SATA)驅(qū)動器、網(wǎng)絡(luò)附件存儲(NAS)或者轉(zhuǎn)速為7200RPM的串行連接小型計算機(jī)系統(tǒng)接口(SAS)盤驅(qū)動器。第二層控制器708可以如所示的耦連到低性能存儲設(shè)備118的單獨單元或者其可以通過諸如光學(xué)接口的單個高性能接口耦連到覆蓋第二層存儲122的外殼(未示出)。
[0067]存儲層管理器106可以耦連到總線驅(qū)動器接口模塊104,用于通過接口總線控制器204與圖2的系統(tǒng)處理器202進(jìn)行通信。應(yīng)理解,接口總線控制器204可以包括允許塊級分層適配器710的插入所需的附接物硬件和電子器件,所述塊級分層適配器710包括安裝在可插入式印刷電路板上的存儲層管理器106、存儲器設(shè)備704、第一層控制器706、第二層控制器708和總線驅(qū)動器接口模塊104。
[0068]已經(jīng)發(fā)現(xiàn),存儲系統(tǒng)100可以實現(xiàn)為耦連至第一層存儲120和第二層存儲122的塊級分層適配器710。塊級分層適配器710的實現(xiàn)方案可以向現(xiàn)有計算機(jī)系統(tǒng)(未示出)提供包括存儲系統(tǒng)100的升級路徑,而無需對現(xiàn)有計算機(jī)系統(tǒng)做出修改。在塊級分層適配器710的操作期間,存儲層管理器106可以保持與高活躍性區(qū)域306相對應(yīng)的物理塊區(qū)域602和與低活躍性區(qū)域304相對應(yīng)的物理塊區(qū)域602的使用統(tǒng)計703。存儲層管理器106可在存儲器設(shè)備704中保持使用統(tǒng)計703。
[0069]現(xiàn)參考圖8,其中示出了圖1的存儲系統(tǒng)100的網(wǎng)絡(luò)附加實現(xiàn)方案801的功能框圖。網(wǎng)絡(luò)附加實現(xiàn)方案801的功能框圖描繪了耦連至存儲器設(shè)備704的存儲層管理器802。層存儲管理器802可以包括由圖1的層存儲管理器106和圖1的存儲介質(zhì)接口模塊114所實施的功能。存儲層管理器802可以耦連到第一固態(tài)驅(qū)動器控制器804,其耦連到第一存儲器陣列806,諸如單級代碼(SLC)NAND閃存設(shè)備或相變存儲器(PCM)設(shè)備的陣列。
[0070]存儲層管理器802還可以耦連到第二固態(tài)驅(qū)動器控制器808。第二固態(tài)驅(qū)動器控制器808可以耦連到第二存儲陣列810,諸如多級代碼(MLC)NAND閃存設(shè)備的陣列。
[0071]存儲層管理器802可以耦連至總線驅(qū)動器接口模塊104,用于與下一級系統(tǒng)(未示出)進(jìn)行通信??偩€驅(qū)動器接口模塊104可以支持串行接口 812,諸如串行光學(xué)接口或串行電學(xué)接口。串行接口 812可以包括串行連接SCSI (SAS)、串行高級技術(shù)附件(SATA)、或者互聯(lián)網(wǎng)小型計算機(jī)系統(tǒng)接口(iSCSI),用于與下一級系統(tǒng)進(jìn)行通信。
[0072]外殼814可以覆蓋與電源、風(fēng)扇和連接器(未示出)一同安裝在印刷電路板上的存儲層管理器802、存儲器設(shè)備704、第一固態(tài)驅(qū)動器控制器804、第一存儲陣列806、第二固態(tài)驅(qū)動器控制器808、第二存儲陣列810和總線驅(qū)動器接口模塊104。
[0073]現(xiàn)參考圖9,其中示出了圖1的存儲系統(tǒng)100的詳細(xì)操作的流程圖901。流程圖901描繪了可以同時操作的監(jiān)控第二層模塊902和監(jiān)控第一層模塊904。
[0074]監(jiān)控第二層模塊902可以編譯圖1的第二層存儲122的最頻繁訪問的區(qū)域的表。區(qū)域可以是圖6的物理塊區(qū)域602,并且可以包括特定數(shù)目的圖6的數(shù)據(jù)塊604。
[0075]監(jiān)控第一層模塊904可以編譯圖1的第一層存儲120中的訪問的表,以標(biāo)識最不頻繁訪問的區(qū)域。第一層存儲120中的區(qū)域被定義為與物理塊區(qū)域602具有相同的容量,但如果在第一層存儲120中所發(fā)現(xiàn)的圖1的高性能存儲設(shè)備116的格式與在第二層存儲122中所發(fā)現(xiàn)的圖1的低性能存儲設(shè)備118的格式不同,則第一層存儲120中的區(qū)域可以包括不同數(shù)目的數(shù)據(jù)塊604。
[0076]監(jiān)控第二層模塊902由提升閾值模塊906進(jìn)行檢查,其可以將圖7的使用統(tǒng)計703與由提升標(biāo)準(zhǔn)所確定的閾值進(jìn)行比較,以確定在第二層存儲122的物理塊區(qū)域602之中是否存在應(yīng)當(dāng)被提升到第一層存儲120的候選者。提升標(biāo)準(zhǔn)可以是數(shù)據(jù)訪問模式的表征、基于當(dāng)日時間的訪問、最頻繁訪問的讀取、經(jīng)組合的讀取和寫入、流讀取等等。提升的閾值可以由用戶輸入或系統(tǒng)默認(rèn)來確定,并與第二層存儲122的物理塊區(qū)域602之中的候選者的使用統(tǒng)計703進(jìn)行比較。
[0077]如果沒有達(dá)到提升閾值,那么流程返回監(jiān)控第二層模塊902和監(jiān)控第一層模塊904,以等待下一次提升機(jī)會。然而如果達(dá)到提升閾值,則流程進(jìn)行到采集交換目標(biāo)模塊908。
[0078]采集交換目標(biāo)模塊908可以從監(jiān)控第一層模塊904采集第一層存儲120中的最不頻繁訪問的區(qū)域,并且從監(jiān)控第二層模塊902采集第二層存儲122的最頻繁訪問的區(qū)域。來自監(jiān)控第一層模塊904的輸入表示第一層存儲120中最不活躍的物理塊區(qū)域602。來自監(jiān)控第二層模塊902的輸入表示第二層存儲122中最活躍的物理塊區(qū)域602。
[0079]流程隨后進(jìn)行到驗證交換模塊910,其中圖1的存儲層管理器106對第一層存儲120中最不活躍的物理塊區(qū)域602與第二層存儲122中最活躍的物理塊區(qū)域602相比更不活躍進(jìn)行驗證。該檢查可以驗證負(fù)擔(dān)重的存儲系統(tǒng)100不執(zhí)行將減少存儲系統(tǒng)100的吞吐量的物理塊區(qū)域602的交換。
[0080]如果驗證交換模塊910確定第一層存儲120中最不活躍的物理塊區(qū)域602與第二層存儲122中最活躍的物理塊區(qū)域602相比更加活躍,則不允許進(jìn)行交換,并且流程返回到監(jiān)控第二層模塊902和監(jiān)控第一層模塊904以等待下一次提升機(jī)會。如果驗證交換模塊910確定第一層存儲120中最不活躍的物理塊區(qū)域602與第二層存儲122中最活躍的物理塊區(qū)域602相比確實更不活躍,則流程進(jìn)行到交換物理區(qū)域模塊912。
[0081]交換物理區(qū)域模塊912可以指示圖1的存儲介質(zhì)接口模塊114按照圖4的交換401或圖5的安全交換501的模式來移動經(jīng)標(biāo)識的物理塊區(qū)域602的單元。應(yīng)理解的是,物理塊區(qū)域602的交換可以對位于第一層存儲120和第二層存儲122中的圖4的目標(biāo)區(qū)域402同時實施,或利用圖5的預(yù)留區(qū)502順序?qū)嵤?。通過使用存儲器設(shè)備704作為在轉(zhuǎn)移期間的臨時保存位置,其他實現(xiàn)方案是可能的。
[0082]—經(jīng)轉(zhuǎn)移完成,流程就進(jìn)行到更新虛擬指針模塊914。更新虛擬指針模塊914在圖7的虛擬至物理表705中提供在第一層存儲120和第二層存儲122之間所轉(zhuǎn)移的物理塊區(qū)域602的新位置。
[0083]存儲系統(tǒng)100已經(jīng)采用作為示例的模塊功能或順序來描述。存儲系統(tǒng)100可以不同地劃分模塊或不同地對模塊排序。例如,監(jiān)控第二層模塊902和監(jiān)控第一層模塊904可以根據(jù)第一層存儲120和第二層存儲122這二者中的物理塊區(qū)域602的單個活躍性列表來操作。所使用的描述意在使本發(fā)明實施例的操作清楚,而非將其限制于該實現(xiàn)方案。
[0084]本申請中所描述的模塊可以是圖1的存儲層管理器106中的硬件實現(xiàn)或硬件加速器。模塊也可以是圖1的存儲層管理器106內(nèi)的硬件實現(xiàn)或硬件加速器。
[0085]現(xiàn)參考圖10,其中示出了在本發(fā)明實施例中的存儲系統(tǒng)100的操作的方法1000的流程圖。方法1000包括:在框1002中訪問耦連至第一層存儲和第二層存儲的存儲層管理器;在框1004中標(biāo)識第一層存儲器中的低活躍性區(qū)域和第二層存儲器中的高活躍性區(qū)域;以及在框1006中由存儲層管理器交換與高活躍性區(qū)域相對應(yīng)的物理塊區(qū)域和與低活躍性區(qū)域相對應(yīng)的物理塊區(qū)域。
[0086]作為結(jié)果的方法、過程、裝置、設(shè)備、產(chǎn)品和/或系統(tǒng)簡單、劃算、不復(fù)雜、高度通用、精確、靈敏并且有效,并且可以通過適配用于現(xiàn)成、高效以及經(jīng)濟(jì)的制造、應(yīng)用和利用的已知部件來實現(xiàn)。本發(fā)明的實施例另一個重要的方面是其有價值地支持和服務(wù)于降低成本、簡化系統(tǒng)以及增加性能的歷史趨勢。
[0087]本發(fā)明的實施例的這些和其他有價值的方面因此促進(jìn)技術(shù)狀態(tài)到至少下一級別。
[0088]雖然已經(jīng)結(jié)合具體的最佳模式描述了本發(fā)明,但是將理解許多替代、修改和變化將鑒于前述描述而對本領(lǐng)域技術(shù)人員顯而易見。因此,意圖包含落入所包括的權(quán)利要求的范圍內(nèi)的所有這類替代、修改和變化。本文迄今為止所闡述的或在附圖中示出的所有事項將被解釋為示例性的而非限制性的意義。
【權(quán)利要求】
1.一種存儲系統(tǒng)(100)的操作的方法(1000),包括: 訪問耦連至第一層存儲(120)和第二層存儲(122)的存儲層管理器(106); 標(biāo)識所述第一層存儲(120)中的低活躍性區(qū)域(304)和所述第二層存儲(122)中的高活躍性區(qū)域(306);以及 由所述存儲層管理器(106)交換與所述高活躍性區(qū)域(306)相對應(yīng)的物理塊區(qū)域(602)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)。
2.根據(jù)權(quán)利要求1所述的方法(1000),進(jìn)一步包括:由所述存儲層管理器(106)生成使用統(tǒng)計(703)用于標(biāo)識所述低活躍性區(qū)域(304)和所述高活躍性區(qū)域(306)。
3.根據(jù)權(quán)利要求1所述的方法(1000),其中交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)包括:比較所述高活躍性區(qū)域(306)的使用統(tǒng)計(703)。
4.根據(jù)權(quán)利要求1所述的方法(1000),其中由所述存儲層管理器(106)交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)包括:由所述存儲層管理器(106)更新虛擬至物理表(705)。
5.根據(jù)權(quán)利要求1所述的方法(1000),進(jìn)一步包括:由存儲介質(zhì)接口模塊(114)交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域¢02)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)。
6.一種存儲系統(tǒng)(100),包括: 存儲層管理器(106),其耦連至第一層存儲(120)和第二層存儲(122); 高性能存儲設(shè)備(116),其在所述第一層存儲(120)中,具有低活躍性區(qū)域(304); 低性能存儲設(shè)備(118),其在所述第二層存儲(122)中,具有高活躍性區(qū)域(306);以及 存儲介質(zhì)接口模塊(I 14),其耦連至所述存儲層管理器(106),用于由所述存儲層管理器(106)交換與所述低性能存儲設(shè)備(118)中的所述高活躍性區(qū)域(306)相對應(yīng)的物理塊區(qū)域(602)和與所述高性能存儲設(shè)備(116)中的所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)。
7.根據(jù)權(quán)利要求6所述的系統(tǒng)(100),進(jìn)一步包括耦連至所述存儲層管理器(106)的系統(tǒng)處理器(202),用于生成所述高性能存儲設(shè)備(116)和所述低性能存儲設(shè)備(118)的使用統(tǒng)計(703) ο
8.根據(jù)權(quán)利要求6所述的系統(tǒng)(100),進(jìn)一步包括在所述存儲層管理器(106)中的提升閾值模塊(906),用于確定所述高活躍性區(qū)域(306)。
9.根據(jù)權(quán)利要求6所述的系統(tǒng)(100),其中由所述存儲層管理器(106)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)進(jìn)行交換的與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)包括:由所述存儲層管理器(106)所更新的虛擬至物理表(705)。
10.根據(jù)權(quán)利要求6所述的系統(tǒng)(100),進(jìn)一步包括介質(zhì)接口總線(112),其耦連在所述存儲介質(zhì)接口模塊(114)和所述存儲層管理器(106)之間,用于交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602) ο
11.一種非暫時性計算機(jī)可讀介質(zhì),包括: 訪問耦連至第一層存儲(120)和第二層存儲(122)的存儲層管理器(106); 標(biāo)識所述第一層存儲(120)中的低活躍性區(qū)域(304)和所述第二層存儲(122)中的高活躍性區(qū)域(306);以及 由所述存儲層管理器(106)交換與所述高活躍性區(qū)域(306)相對應(yīng)的物理塊區(qū)域(602)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)。
12.根據(jù)權(quán)利要求11所述的非暫時性計算機(jī)可讀介質(zhì),進(jìn)一步包括:由所述存儲層管理器(106)生成使用統(tǒng)計(703)用于標(biāo)識所述低活躍性區(qū)域(304)和所述高活躍性區(qū)域(306)ο
13.根據(jù)權(quán)利要求11所述的非暫時性計算機(jī)可讀介質(zhì),其中交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)包括:比較所述高活躍性區(qū)域(306)的使用統(tǒng)計(703)。
14.根據(jù)權(quán)利要求11所述的非暫時性計算機(jī)可讀介質(zhì),其中由所述存儲層管理器(106)交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)包括:由所述存儲層管理器(106)更新虛擬至物理表(705)。
15.根據(jù)權(quán)利要求11所述的非暫時性計算機(jī)可讀介質(zhì),進(jìn)一步包括:由存儲介質(zhì)接口模塊(114)交換與所述高活躍性區(qū)域(306)相對應(yīng)的所述物理塊區(qū)域(602)和與所述低活躍性區(qū)域(304)相對應(yīng)的所述物理塊區(qū)域(602)。
【文檔編號】G06F12/06GK104471548SQ201380020988
【公開日】2015年3月25日 申請日期:2013年4月19日 優(yōu)先權(quán)日:2012年4月20日
【發(fā)明者】安德魯·米爾斯, 馬歇爾·李 申請人:尹摩特斯公司