專利名稱:為卷提供動態(tài)存儲分級的在線數(shù)據(jù)放置的寫時(shí)分配快照機(jī)制的制作方法
為卷提供動態(tài)存儲分級的在線數(shù)據(jù)放置的寫時(shí)分配快照機(jī)制
背景技術(shù):
動態(tài)存儲分級(DST)是將存儲裝置基于它們的性能特性而按級別分組以及動態(tài)地重定位這些裝置上的數(shù)據(jù)以促使它們特定能力改變的概念。期望的是,在數(shù)據(jù)保持在線和可訪問時(shí),DST系統(tǒng)實(shí)施該重定位。為了進(jìn)行性能管理,具有高活動或負(fù)載水平的數(shù)據(jù)可被重定位為高性能存儲等級。可替換地,具有低活動水平的數(shù)據(jù)可被重定位為低性能存儲等級以提供在高性能存儲等級中增長的能力。
發(fā)明內(nèi)容
本發(fā)明描述了動態(tài)存儲分級的系統(tǒng)和方法。一種動態(tài)存儲分級方法可包括檢測位于第一存儲池中的存儲熱點(diǎn);根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池內(nèi)的存儲熱點(diǎn)的虛擬卷的第一時(shí)間點(diǎn) (point-in-time)拷貝。一種動態(tài)存儲分級系統(tǒng)可包括檢測位于第一存儲池中的存儲熱點(diǎn)的裝置;根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池內(nèi)的存儲熱點(diǎn)的虛擬卷的第一時(shí)間點(diǎn) (point-in-time)拷貝的裝置。
通過參考附圖,本發(fā)明的眾多優(yōu)點(diǎn)可以被本領(lǐng)域的技術(shù)人員更好地理解圖1示出了數(shù)據(jù)存儲系統(tǒng)。圖2示出了數(shù)據(jù)存儲系統(tǒng)。圖3示出了數(shù)據(jù)存儲系統(tǒng)。圖4示出了數(shù)據(jù)存儲系統(tǒng)。圖5示出了與動態(tài)存儲分級相關(guān)的操作流程。圖6A-6C示出了與動態(tài)存儲分級相關(guān)的操作流程。圖7示出了與動態(tài)存儲分級相關(guān)的操作流程。圖8示出了與動態(tài)存儲分級相關(guān)的操作流程。圖9A和9B示出了與動態(tài)存儲分級相關(guān)的操作流程。
具體實(shí)施例方式在以下具體說明書中,組成該附圖一部分的標(biāo)記可為該附圖做出。在該圖中,相同符號一般標(biāo)識相同組件,除非上下文另外指出。在該具體說明書、附圖和權(quán)利要求中所述的示例性實(shí)施方案可不意味著限制性的??墒褂闷渌鼘?shí)施方案以及可做出其它變化,而不背離此處表示主題的精神或范圍。參照圖1,示出了包括主機(jī)101計(jì)算裝置、RAID控制器102和RAID 103的主存儲系統(tǒng)100的示例性展示。該RAID控制器102可包括卷管理電路/軟件,因此RAID控制器102能夠處理訪問配置在該RAID 103上各個(gè)邏輯卷的該主機(jī)101的讀/寫請求。該RAID 103可包括具有η個(gè)驅(qū)動器的驅(qū)動器組。參照圖2,可將一個(gè)或多個(gè)物理驅(qū)動器(如驅(qū)動器0-驅(qū)動器η)邏輯地分布在一個(gè)或多個(gè)虛擬驅(qū)動器(如RAID 103的虛擬驅(qū)動器104A-虛擬驅(qū)動器104D)內(nèi)??蛇M(jìn)一步地將一個(gè)或多個(gè)虛擬驅(qū)動器的部分分布在存儲池(如存儲池105A,存儲池105B,等)內(nèi)。 可將一個(gè)存儲池定義為一個(gè)或多個(gè)具有相同性能特性的物理驅(qū)動器(或該一個(gè)或多個(gè)物理驅(qū)動器的一個(gè)或多個(gè)邏輯分區(qū))。例如,存儲池105A(即驅(qū)動器0)可包括多個(gè)高性能固態(tài)硬盤(SSDs),而存儲池105B(即驅(qū)動器1和驅(qū)動器2)可包括多個(gè)較低性能裝置,如串行 ATA(SATA)硬盤驅(qū)動器(HDDs)。)??蓪⑤^高性能存儲池區(qū)分于較低性能存儲池的因素可包括每一個(gè)單元時(shí)間處理的I/O操作數(shù),每一個(gè)單元時(shí)間讀或?qū)懙淖止?jié)數(shù),和/或I/O請求的平均響應(yīng)時(shí)間。為了加強(qiáng)整體系統(tǒng)性能,可能期望將具有高活動水平的數(shù)據(jù)(如以高頻訪問到該數(shù)據(jù)的I/O請求)分配到高性能存儲池和/或?qū)⒕哂械突顒铀降臄?shù)據(jù)(如以低頻訪問到該數(shù)據(jù)的I/O請求)分配到低性能存儲池。為了影響到有效的DST方案,在存儲池之間移動的數(shù)據(jù)塊的大小可小于一個(gè)完整的SCSI邏輯單元(LU)。對于給定的LU而言,可將具有高活動水平的數(shù)據(jù)識別為LU內(nèi)的邏輯塊地址(LBA) 范圍。與該LU剩余部分相比較具有明顯活動負(fù)載的這樣的LBA范圍可被認(rèn)作為熱點(diǎn)。LU 可包括多于一個(gè)熱點(diǎn)。在存儲池中當(dāng)前存在的熱點(diǎn)可稱作為源存儲池。可將熱點(diǎn)移到的存儲池可稱作為目標(biāo)存儲池。應(yīng)當(dāng)注意到,熱點(diǎn)可涉及到經(jīng)常訪問并可被移到較高性能存儲池的數(shù)據(jù)或不經(jīng)常訪問并可被移動較低性能存儲池的數(shù)據(jù)。可替換地,不經(jīng)常訪問的數(shù)據(jù)可稱作為冷點(diǎn)并可被移到較低性能存儲池,使用此處所述的參照熱點(diǎn)移動的相同系統(tǒng)和方法。RAID控制器102可通過監(jiān)視從該主機(jī)101處接收到的I/O請求的地址位置來識別熱點(diǎn)。當(dāng)超出I/O請求閾值(如,超出指定請求速率、請求數(shù)量,等)時(shí),對于在給定存儲池中的LBAs的特定分段,可將這些LBAs指定為熱點(diǎn)并受制于具有替換性能特性的存儲池的重定位。參照圖2,可從一個(gè)或多個(gè)存儲池的容量處提供虛擬卷106。例如,存儲池105B可包括來自一個(gè)或多個(gè)虛擬驅(qū)動器處的LBAs (如,將虛擬驅(qū)動器104A—部分的虛擬驅(qū)動器 LBA分段107A分配給物理驅(qū)動器0 ;將虛擬驅(qū)動器104B —部分的虛擬驅(qū)動器LBA分段107B 分配給物理驅(qū)動器1 ;將虛擬驅(qū)動器104C —部分的虛擬驅(qū)動器LBA分段107C分配給物理驅(qū)動器2 ;等)。參照圖3和圖4,可將虛擬卷映射到在一個(gè)或多個(gè)虛擬驅(qū)動器中的一個(gè)或多個(gè)LBA 范圍(如,虛擬驅(qū)動器分段)。當(dāng)從一個(gè)或多個(gè)存儲池處提供虛擬卷時(shí),可為每一個(gè)將虛擬卷LBA范圍到虛擬驅(qū)動器LBA范圍的映射創(chuàng)建虛擬卷LBA分段。例如,虛擬卷LBA分段108A 可包括映射到虛擬驅(qū)動器104A的第0到m個(gè)LBAs的第0到m個(gè)LBAs。虛擬卷LBA分段 108B可包括映射到虛擬驅(qū)動器104B的第0到j(luò)個(gè)LBAs的第m+1到η個(gè)LBAs。虛擬卷LBA 分段108C可包括映射到虛擬驅(qū)動器104C的第0到k個(gè)LBAs的第n+1到ρ個(gè)LBAs。參照圖5,主存儲系統(tǒng)100可進(jìn)一步實(shí)施快照功能??煺展δ茉试S虛擬卷(如虛擬卷106Α)的一個(gè)或多個(gè)時(shí)間點(diǎn)(PiT)拷貝的創(chuàng)建和存儲。當(dāng)為虛擬卷創(chuàng)建PiT時(shí),該虛擬卷的內(nèi)容可凍結(jié)以及PiT臨時(shí)虛擬卷(PTVV)可被創(chuàng)建,其記錄了在采用該P(yáng)iT后對該虛擬卷所做的全部變化。因此,在創(chuàng)建該P(yáng)iT的時(shí)刻,保留該虛擬卷的原有內(nèi)容。這樣的快照機(jī)制可稱作為寫時(shí)分配(allocate-on-write)或?qū)憰r(shí)重定向(redirect-on-write)(—起稱作為“寫時(shí)分配”)快照。進(jìn)一步地,可在當(dāng)前PTVV凍結(jié)以及創(chuàng)建新的PTVV處為給定的 PTVV創(chuàng)建后續(xù)PiT。圖5-9進(jìn)一步描述了展現(xiàn)與動態(tài)存儲分級相關(guān)的示例性操作的操作流程。在圖 5-9中,可參照圖1-4的上述示例和/或參照其它示例和背景來提供討論和說明。但是,應(yīng)當(dāng)理解,可以多種其它環(huán)境和背景,和/或以圖1-4的修改版本來執(zhí)行該操作流程圖。另外,盡管在所示序列中展現(xiàn)了各個(gè)操作流程圖,應(yīng)當(dāng)理解,可以其它順序而不是那些所示的順序來實(shí)施該各個(gè)操作,或可同時(shí)實(shí)施。RAID控制器102可通過監(jiān)視從該主機(jī)101處接收到的I/O請求的訪問存儲位置來檢測熱點(diǎn)。當(dāng)超出I/O請求閾值(如,超出指定請求速率,請求數(shù)量,等)時(shí),對于在給定存儲池中的LBA的特定分段,可將這些LBAs指定為熱點(diǎn)并受制于對具有替換性能特性的存儲池的重定位。熱點(diǎn)可表現(xiàn)為寫熱點(diǎn)(如,在大多數(shù)I/O在寫的LBA范圍)和讀熱點(diǎn)(如,在大多數(shù)I/O在讀的LBA范圍)。應(yīng)當(dāng)注意到,寫熱點(diǎn)不需要由寫活動專門構(gòu)成。類似地,讀熱點(diǎn)不需要由讀活動專門構(gòu)成。參照圖5-7,示出了描述根據(jù)該檢測創(chuàng)建虛擬卷第一時(shí)間點(diǎn)拷貝的操作流程,該虛擬卷的第一時(shí)間點(diǎn)拷貝將位于該第一存儲池中的存儲熱點(diǎn)包括在第二存儲池內(nèi)。第一 PiT(如PiT1)操作可發(fā)生,其可凍結(jié)包括熱點(diǎn)的最初虛擬卷的內(nèi)容(如虛擬卷106A),以及可創(chuàng)建第一 PTVV (如PTVV1)。隨著該P(yáng)TVV的創(chuàng)建,從主機(jī)(如主機(jī)101)處訪問到包括該熱點(diǎn)的虛擬卷的I/O操作可被引向該P(yáng)TVV,如以下展示的一樣。該最近PiT可稱作為“活動” PiT,在將所有當(dāng)前I/O操作指向其相關(guān)PTVV時(shí)。隨后,可在該P(yáng)TVV1內(nèi)檢測到第二熱點(diǎn)。第二 PiT(如PiT2)操作可發(fā)生,其可凍結(jié) PTVV1的內(nèi)容,以及可創(chuàng)建第二 PTVV (如PTVV2)。隨著該第二 PTVV的創(chuàng)建,從該主機(jī)到該虛擬卷的I/O操作可被引向該活動的PTVV(如PTVV2)。當(dāng)刪除PiT (如PiT1)時(shí),可重新配置該最初虛擬卷(如虛擬卷106),使得在該P(yáng)iT 存在期間由寫請求訪問的最初卷部分的內(nèi)容被更新以對應(yīng)該P(yáng)TVV。例如,在該P(yáng)iT存在期間由寫請求訪問到的虛擬卷106的LBA可被拷貝到該虛擬卷106的LBA??蛇壿嬌蠈⒃撎摂M卷LBA范圍劃分為相同大小的虛擬卷LBA分段(如虛擬卷LBA 分段108),該虛擬卷LBA分段的大小與虛擬卷屬性的PiT粒度相互關(guān)聯(lián)。因此,每一個(gè)虛擬卷LBA分段對應(yīng)于該原有虛擬卷內(nèi)的LBA范圍。包含到該虛擬卷內(nèi)每一個(gè)虛擬卷LBA分段的映射的重定位表(RT)可為每一個(gè)PiT而被創(chuàng)建并被存入與該P(yáng)iT相關(guān)的PTVV的開端中。 當(dāng)在已創(chuàng)建PiT后從主機(jī)處接收到訪問虛擬卷LBA分段的一個(gè)或多個(gè)LBA的寫請求時(shí),將該活動PiT的在該RT內(nèi)相應(yīng)入口標(biāo)記為“已分配”,可在下一個(gè)可獲得的LBA處將該虛擬卷 LBA分段放入該P(yáng)TVV中,以及該虛擬卷LBA分段的RT入口映射到該P(yáng)TVV LBA分段。例如,如圖6A-6C中所示,主機(jī)101可發(fā)出訪問到虛擬卷的一個(gè)或多個(gè)LBA分段 (如,虛擬卷LBA分段108B,虛擬卷LBA分段108A,虛擬卷LBA分段108C,等)處的一個(gè)或多個(gè)寫命令。每一個(gè)訪問虛擬卷分段的入口可在對應(yīng)于該各個(gè)虛擬卷LBA分段(如入口 110B,入口 110A,入口 110C,等)的RT位置中做出。該寫操作可隨后被引向下一個(gè)可獲得的 PTVV LBA 分段(如 PTVV LBA 分段 111B,PTVV LBA 分段 111A, PTVV LBA 分段 111C,等)。應(yīng)當(dāng)注意到,連續(xù)PTVV LBA分段可能不必要對應(yīng)于連續(xù)虛擬卷LBA分段,當(dāng)PTVV LBA分段可被放入寫入它們的順序時(shí),以及不根據(jù)該LBA在它們相關(guān)的虛擬卷LBA分段中的分布來排序。參照圖7,當(dāng)為虛擬卷接收到讀請求時(shí),該活動PiT的RT可指向該虛擬卷LBA分段的最近版本。其可能是該活動PiT自身的PTVV,較舊PiT的PTVV,或原有虛擬卷。例如, 如圖7所示,可將虛擬卷LBA分段寫入活動PTVV2 (如與RT入口 IlOB相關(guān)的PTVV LBA分段111B)中,而其它虛擬卷LBA分段可能已經(jīng)被最后寫入,當(dāng)PTVV1是活動的時(shí)(如,與入口 IlOA相關(guān)的PTVV LBA分段)或先于與PTVV1相關(guān)的PiT1的創(chuàng)建(如,虛擬卷106的原有虛擬卷LBA分段)。圖8示出了將指向包括位于該第一存儲池內(nèi)存儲熱點(diǎn)的虛擬卷的寫請求重定向到該第二存儲池。例如,該RAID控制器102通過監(jiān)視從該主機(jī)101處接收到的寫請求的地址位置來檢查寫熱點(diǎn)。對于以上展示的使用時(shí)間點(diǎn)拷貝方法論的系統(tǒng),在該活動(最近的)PiT的PTVV中可關(guān)注寫I/O活動。可簡單地通過在該目標(biāo)存儲池中為該虛擬卷創(chuàng)建新的PiT來將熱點(diǎn)移到目標(biāo)存儲池。例如,如圖8中所示,該主機(jī)101可發(fā)出訪問到位于現(xiàn)有 PTVV(如PTVV1)或原有虛擬卷(如虛擬卷106)中熱點(diǎn)的LBA的一個(gè)或多個(gè)寫請求,其可能出現(xiàn)在較低性能存儲池(如存儲池105B)中。當(dāng)接收到訪問到該熱點(diǎn)的LBA的寫請求時(shí), 新的PTVV(如PTVV2)可被創(chuàng)建在較高性能存儲池(如存儲池105A)中以及該訪問到該熱點(diǎn)的寫請求可被重定向到該新的PTVV。這樣,在這時(shí)位于該較高性能存儲池中的活動PTVV 中將持續(xù)關(guān)注寫I/O活動。如果該熱點(diǎn)的寫請求活動等級將減少到不再必要使用較高性能存儲池的水平,與該活動PTVV相關(guān)的PiT可能被刪除,以及該活動PTVV的內(nèi)容可被恢復(fù)在先前的PTVV中。 例如,如果在PTVV2中的活動減少到閾值水平以下,該P(yáng)TVV2的內(nèi)容可被恢復(fù)在PTVV1中。進(jìn)一步地,可能的是,該寫熱點(diǎn)活動未實(shí)際減少,而是反而移到不同的LBA范圍。 在這種情況中,該熱點(diǎn)LBA可能仍舊位于該最快目標(biāo)存儲池中,但是可能在該P(yáng)TVV中存在 PTVV LBA分段,其不再符合作為熱點(diǎn)并且應(yīng)當(dāng)被傳送到較低性能存儲池。當(dāng)如上為寫熱點(diǎn)創(chuàng)建PiT時(shí),該RAID控制器102可監(jiān)視在該目標(biāo)存儲池內(nèi)該P(yáng)TVV 中實(shí)際熱點(diǎn)LBA的比率以及在該P(yáng)TVV中可獲得的LBA的總數(shù)。當(dāng)熱點(diǎn)LBA到低活動LBA 的比率在特定閾值(如用戶可配置閾值)上時(shí),該RAID控制器102可在該目標(biāo)存儲池中創(chuàng)建新的PiT以僅僅包含該寫熱點(diǎn)LBA而不包含其它。在可配置時(shí)間周期后,在該目標(biāo)存儲池中的該“舊” PiT可能被刪除,借此釋放該不活動塊所占據(jù)的容量。在讀熱點(diǎn)的情況中,該受制虛擬卷LBA范圍可被分布在與該虛擬卷相關(guān)的多個(gè) PiT之上,如圖9A中所示。進(jìn)一步地,即使在單個(gè)PiT中包含該讀熱點(diǎn),該LBA范圍可能在該P(yáng)TVV中不是持續(xù)的(即,構(gòu)成該讀熱點(diǎn)的LBA可能分散在該P(yáng)TVV中)。另外,在一些情況中該P(yáng)TVV本身可能非常大,將整個(gè)PTVV移到較高性能存儲池可能是不切實(shí)際的。圖9A和9B示出了接收訪問該虛擬卷的存儲熱點(diǎn)的一個(gè)或多個(gè)LBA的讀請求和將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到在該第二存儲池內(nèi)的第一時(shí)間點(diǎn)拷貝。例如,該主機(jī)101可能發(fā)出訪問到位于現(xiàn)有PTVV(如PTVV2, 17力等)或原有虛擬卷 (如虛擬卷106)的熱點(diǎn)的LBA的一個(gè)或多個(gè)讀請求,其可被展現(xiàn)在較低性能存儲池(如存儲池105B)中。當(dāng)接收到訪問到該熱點(diǎn)的LBAs的讀請求時(shí),可在較高性能存儲池(如存儲池105A)中創(chuàng)建新的PTVV (如PTVV3)。該讀請求可被處理并隨后該熱點(diǎn)的LBA (如PTVV2 的LBAs)的內(nèi)容可能被拷貝作為該新的PTVV的PTVV LBA分段。一種實(shí)施這樣的拷貝的機(jī)制是在任意LBA的每一個(gè)主機(jī)讀操作之后增加虛擬卷水平寫操作,其符合下列標(biāo)準(zhǔn)1)該 LBAs受制于該主機(jī)讀操作;2)在該新的PTVV中尚未包含該LBAs ;和3)該LBAs不在熱點(diǎn)的LBA范圍內(nèi)。這樣的方法論利用了將被寫入該P(yáng)TVV的LBAs可能因?yàn)樵撝鳈C(jī)讀操作而已經(jīng)出現(xiàn)在該RAID控制器102的高速緩存中的事實(shí)。對應(yīng)于從該目標(biāo)PTVV處丟失的熱點(diǎn)LBAs的讀LBAs可能未被釋放以進(jìn)一步使用直到該附加寫操作完成。該控制器固件可能支持特定類型的寫操作,其中該寫數(shù)據(jù)的源不是主機(jī)而是已經(jīng)在控制器高速緩存中的數(shù)據(jù)塊。進(jìn)一步地,鎖在與該活動PTVV (如PTVV3)相關(guān)的RT上可阻止在發(fā)起熱點(diǎn)LBA的 RAID控制器102和發(fā)起LBA寫操作的主機(jī)之間的沖突。當(dāng)為該虛擬卷中的熱點(diǎn)接收到后續(xù)讀請求時(shí),它們可能被引向在該較高性能存儲池中新 PTVV(如 PTVV3)的 LBAs??善谕氖牵谠撔翽TVV(如PTVV3)中避免重寫任意主機(jī)寫入數(shù)據(jù),在從先前 PTVV和/或該原有虛擬卷處拷貝熱點(diǎn)LBAs的處理期間。在該熱點(diǎn)LBA范圍內(nèi)的所有LBAs 可能未被立即拷貝到該目標(biāo)PTVV,當(dāng)其可能重寫在該拷貝發(fā)生時(shí)該主機(jī)已經(jīng)試圖寫入該較高性能存儲池的相同LBA范圍處的數(shù)據(jù)時(shí)。這樣,可使用稱為PiT附加拷貝的步驟將該讀熱點(diǎn)移到該目標(biāo)存儲池處。在這種情況中,可僅僅將該讀熱點(diǎn)LBA范圍內(nèi)的LBAs從該源處拷貝到該目標(biāo)PTVV處,如果先前尚未將熱點(diǎn)LBAs拷貝到該目標(biāo)PTVV的受制LBAs處。如果自創(chuàng)建該目標(biāo)PTVV以來尚未寫入那些LBAs。當(dāng)如上為讀熱點(diǎn)創(chuàng)建PiT時(shí),該RAID控制器102可監(jiān)視在該目標(biāo)存儲池中該P(yáng)TVV 內(nèi)熱點(diǎn)LBAs實(shí)際數(shù)量和在該P(yáng)TVV內(nèi)可獲得的LBAs總數(shù)的比率。當(dāng)熱點(diǎn)LBAs與低活動 LBAs的比率在特定閾值(如用戶可配置閾值)上時(shí),該RAID控制器102可使用先前所述的附加拷貝方法論在該目標(biāo)存儲池中創(chuàng)建新的PiT以僅僅包含該讀熱點(diǎn)LBAs而不包含其它。 在可配置時(shí)間周期之后,在該目標(biāo)存儲池中的該“舊"PiT可被刪除,因而釋放了由該低活動虛擬卷LBA所占據(jù)的容量。如果該讀熱點(diǎn)的讀請求活動水平將減少到不再必須使用高性能存儲池的水平,與該活動PTVV相關(guān)的PiT可被刪除以及該活動PTVV的內(nèi)容可被恢復(fù)在該先前PTVV中。例如,如果在PTVV3中的活動減少到閾值水平以下,該P(yáng)TVV3的內(nèi)容可能被恢復(fù)在PTVV2中。當(dāng)刪除PiT時(shí),可將該相應(yīng)PTVV中的該虛擬卷LBA分段合并到先前PiT中,或如果不存在任意其它先前的PiT,則合并到該虛擬卷LBAs本身。例如,在PTVV1的LBAs中的數(shù)據(jù)可被拷貝到該虛擬卷106的LBAs??商鎿Q地,在該P(yáng)iT存在期間由讀請求訪問的該虛擬卷106的LBAs可被直接重新映射到該P(yáng)TVV1的相關(guān)LBAs。應(yīng)當(dāng)相信,通過上述說明將理解本發(fā)明和許多其伴隨的優(yōu)點(diǎn)。同樣可以相信,很明顯可做出其組件的形式、結(jié)構(gòu)和設(shè)置中的各種變化而未背離本發(fā)明的范圍和精神或未犧牲其所有物質(zhì)優(yōu)點(diǎn)。此處之前所述的形式僅僅是其解釋性實(shí)施方案。下列權(quán)利要求的目的可能是包含和包括這樣的變化。上述具體說明可包括該裝置和/或步驟的各個(gè)提出的實(shí)施方案,通過使用方框圖、流程圖和/或示例。在所述方框圖、流程圖和/或示例的范圍中包含一個(gè)或多個(gè)功能和 /或操作,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,在所述方框圖、流程圖或示例內(nèi)每一個(gè)功能和/或操作可被分別和/或共同地實(shí)施,通過寬范圍的硬件、軟件、固件或其虛擬的任意組合。在一實(shí)施方案中,此處所述主題的數(shù)個(gè)部分可通過特殊應(yīng)用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)、數(shù)字信號處理器(DSP)或其它集成方式來實(shí)施。但是,本領(lǐng)域技術(shù)人員將認(rèn)識到此處公開的實(shí)施方案的一些方面,整體或部分地,可被等價(jià)地實(shí)施在集成電路中,作為在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行的一個(gè)或多個(gè)計(jì)算機(jī)程序(如,作為在一個(gè)或多個(gè)計(jì)算機(jī)系統(tǒng)上運(yùn)行的一個(gè)或多個(gè)程序),作為在一個(gè)或多個(gè)處理器上運(yùn)行的一個(gè)或多個(gè)程序(如在一個(gè)或多個(gè)微處理器上運(yùn)行的一個(gè)或多個(gè)程序),作為固件,或作為其虛擬的任意組合,以及本領(lǐng)域技術(shù)人員之一的技術(shù)內(nèi)根據(jù)本公開將能夠?yàn)樵撥浖突蚬碳O(shè)計(jì)電路和/或?qū)懘a。另外,本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚,此處所述主題的機(jī)制可能夠被分布作為多種形式的程序產(chǎn)品,以及采用此處所述主題的說明性實(shí)施方案而不考慮實(shí)際用來執(zhí)行該分布的信號承載介質(zhì)的特殊類型。信號承載介質(zhì)的示例包括,但可能不限于可記錄類型的介質(zhì), 如軟盤、硬盤、光盤(⑶)、數(shù)字視頻光盤(DVD)、數(shù)字磁帶、計(jì)算機(jī)存儲器等;和傳輸類型介質(zhì),如數(shù)字和/或模擬通信介質(zhì)(如,光纖、波導(dǎo)、有線通信鏈路、無線通信鏈路(如,發(fā)射機(jī)、接收機(jī)、傳輸邏輯、接收邏輯等)等)。本領(lǐng)域技術(shù)人員將認(rèn)識到,本領(lǐng)域的狀態(tài)可包括處理到在系統(tǒng)各個(gè)方面的硬件、 軟件和/或固件實(shí)施之間可能存在較少區(qū)別留下的位置;該硬件、軟件和/或固件的使用可能一般(但不總是,其中在某些背景中,在硬件和軟件之間的選擇可能變得重要)是展現(xiàn)成本與效率平衡的設(shè)計(jì)選擇。本領(lǐng)域技術(shù)人員將認(rèn)識到,可能存在多種手段,借此可能影響到此處所述的步驟和/或系統(tǒng)和/或其它技術(shù)(如,硬件、軟件和/或固件),以及優(yōu)選手段將隨著其中可部署該步驟和/或系統(tǒng)和/或其它技術(shù)的背景而改變。例如,如果實(shí)施者確定了速度和精確度是最主要的,該實(shí)施者可能選擇主要為硬件和/或固件手段;可替換地, 如果靈活性是最主要的,該實(shí)施者可能選擇主要為軟件的實(shí)施方案;或,又一次可替換地, 該實(shí)施者可選擇硬件、軟件和/或固件的一些組合。因此,可能存在數(shù)種可能手段借此可能影響到此處所述的步驟和/或裝置和/或其它技術(shù),其任意一個(gè)都不可能本質(zhì)上超過其它, 其中將使用的任意手段可以是基于其中將使用手段的背景和該實(shí)施方的特定關(guān)注(如,速度、靈活性或可預(yù)測性)的選擇,其中任意一個(gè)可能發(fā)生改變。本領(lǐng)域技術(shù)人員將認(rèn)識到, 實(shí)施方案的光學(xué)方面將一般使用光學(xué)定向的硬件、軟件和或固件。
權(quán)利要求
1.一種方法,包括檢測位于一第一存儲池中的一存儲熱點(diǎn);根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的所述存儲熱點(diǎn)的一虛擬卷一第一時(shí)間點(diǎn)拷貝。
2.如權(quán)利要求1所述的方法,其中根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的所述存儲熱點(diǎn)的一虛擬卷一第一時(shí)間點(diǎn)拷貝包括將定向到包括位于該第一存儲池中的所述存儲熱點(diǎn)的所述虛擬卷的寫請求重新定向到該第二存儲池。
3.如權(quán)利要求2所述的方法,進(jìn)一步包括檢測定向到該第二存儲池中的所述熱點(diǎn)的減少的輸入/輸出(IO)活動;和將該第二存儲池中的所述時(shí)間點(diǎn)拷貝合并到一第二時(shí)間點(diǎn)拷貝或該虛擬卷的至少一個(gè)中。
4.如權(quán)利要求2所述的方法,進(jìn)一步包括檢測所述第一時(shí)間點(diǎn)拷貝中包括該存儲熱點(diǎn)的邏輯塊地址(LBAs)的百分比;根據(jù)該百分比創(chuàng)建僅僅包括該存儲熱點(diǎn)的LBAs的一第二時(shí)間點(diǎn)拷貝。
5.如權(quán)利要求4所述的方法,進(jìn)一步包括將該第一時(shí)間點(diǎn)拷貝的非熱點(diǎn)LBAs合并到該虛擬卷中。
6.如權(quán)利要求1所述的方法,其中根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的所述存儲熱點(diǎn)的一虛擬卷一第一時(shí)間點(diǎn)拷貝進(jìn)一步包括接收訪問該虛擬卷的所述存儲熱點(diǎn)的一個(gè)或多個(gè)LBAs的一讀請求;將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到該第二存儲池中的所述第一時(shí)間點(diǎn)拷貝。
7.如權(quán)利要求6所述的方法,其中將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到該第二存儲池中的所述第一時(shí)間點(diǎn)拷貝進(jìn)一步包括如果該存儲熱點(diǎn)的該LBAs先前尚未被寫入到該第二存儲池,則將該存儲熱點(diǎn)的所述一個(gè)或多個(gè)邏輯塊地址的所述內(nèi)容拷貝到該第二存儲池中的該第一時(shí)間點(diǎn)拷貝。
8.如權(quán)利要求6所述的方法,進(jìn)一步包括檢測所述第一時(shí)間點(diǎn)拷貝中包括該存儲熱點(diǎn)的邏輯塊地址(LBAs)的百分比;根據(jù)該百分比創(chuàng)建僅僅包括該存儲熱點(diǎn)的該LBAs的一第二時(shí)間點(diǎn)拷貝。
9.如權(quán)利要求8所述的方法,進(jìn)一步包括將該第一時(shí)間點(diǎn)拷貝的非熱點(diǎn)LBAs合并到該虛擬卷中。
10.一種系統(tǒng)包括用于檢測位于一第一存儲池中的一存儲熱點(diǎn)的裝置;用于根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的該存儲熱點(diǎn)的一虛擬卷的一第一時(shí)間點(diǎn)拷貝的裝置。
11.如權(quán)利要求10所述的系統(tǒng),其中用于根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的該存儲熱點(diǎn)的一虛擬卷的一第一時(shí)間點(diǎn)拷貝的裝置包括用于將定向到包括位于該第一存儲池中的所述存儲熱點(diǎn)的所述虛擬卷的寫請求重新定向到該第二存儲池的裝置。
12.如權(quán)利要求11所述的系統(tǒng),進(jìn)一步包括用于檢測定向到該第二存儲池中的所述熱點(diǎn)的減少的輸入/輸出(IO)活動的裝置;和用于將該第二存儲池中的所述時(shí)間點(diǎn)拷貝合并到一第二時(shí)間點(diǎn)拷貝或該虛擬卷的至少一個(gè)中的裝置。
13.如權(quán)利要求11所述的系統(tǒng),進(jìn)一步包括用于檢測所述第一時(shí)間點(diǎn)拷貝中包括該存儲熱點(diǎn)的邏輯塊地址(LBAs)的百分比的裝置;用于根據(jù)該百分比創(chuàng)建僅僅包括該存儲熱點(diǎn)的LBAs的一第二時(shí)間點(diǎn)拷貝的裝置。
14.如權(quán)利要求13所述的系統(tǒng),進(jìn)一步包括用于將該第一時(shí)間點(diǎn)拷貝的非熱點(diǎn)LBAs合并到該虛擬卷中的裝置。
15.如權(quán)利要求10所述的系統(tǒng),其中所述的根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的該存儲熱點(diǎn)的一虛擬卷的一第一時(shí)間點(diǎn)拷貝進(jìn)一步包括用于接收訪問該虛擬卷的所述存儲熱點(diǎn)的一個(gè)或多個(gè)LBAs的一讀請求的裝置; 用于將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到該第二存儲池中的所述第一時(shí)間點(diǎn)拷貝的裝置。
16.如權(quán)利要求15所述的系統(tǒng),其中所述的將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到該第二存儲池中的所述第一時(shí)間點(diǎn)拷貝進(jìn)一步包括如果該存儲熱點(diǎn)的該LBAs先前尚未被寫入到該第二存儲池,則將該存儲熱點(diǎn)的所述一個(gè)或多個(gè)邏輯塊地址的所述內(nèi)容拷貝到該第二存儲池中的該第一時(shí)間點(diǎn)拷貝的裝置。
17.如權(quán)利要求15所述的系統(tǒng),進(jìn)一步包括用于檢測所述第一時(shí)間點(diǎn)拷貝中包括該存儲熱點(diǎn)的邏輯塊地址(LBAs)的百分比的裝置;用于根據(jù)該百分比創(chuàng)建僅僅包括該存儲熱點(diǎn)的LBAs的一第二時(shí)間點(diǎn)拷貝的裝置。
18.如權(quán)利要求17所述的系統(tǒng),進(jìn)一步包括用于將該第一時(shí)間點(diǎn)拷貝的非熱點(diǎn)LBAs合并到該虛擬卷中的裝置。
19.一種系統(tǒng)包括用于檢測位于一第一存儲池中的一存儲熱點(diǎn)的電路;用于根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的該存儲熱點(diǎn)的一虛擬卷的一第一時(shí)間點(diǎn)拷貝的電路。
20.如權(quán)利要求19所述的系統(tǒng),其中用于根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的該存儲熱點(diǎn)的一虛擬卷的一第一時(shí)間點(diǎn)拷貝的電路包括用于將定向到包括位于該第一存儲池中的所述存儲熱點(diǎn)的所述虛擬卷的寫請求重新定向到該第二存儲池的電路。
21.如權(quán)利要求20所述的系統(tǒng),進(jìn)一步包括用于檢測定向到該第二存儲池中的所述熱點(diǎn)的減少的輸入/輸出(IO)活動的電路;和用于將該第二存儲池中的所述時(shí)間點(diǎn)拷貝合并到一第二時(shí)間點(diǎn)拷貝或該虛擬卷的至少一個(gè)中的電路。
22.如權(quán)利要求20所述的系統(tǒng),進(jìn)一步包括用于檢測所述第一時(shí)間點(diǎn)拷貝中包括該存儲熱點(diǎn)的邏輯塊地址(LBAs)的百分比的電路;用于根據(jù)該百分比創(chuàng)建僅僅包括該存儲熱點(diǎn)的LBAs的一第二時(shí)間點(diǎn)拷貝的電路。
23.如權(quán)利要求22所述的系統(tǒng),進(jìn)一步包括用于將該第一時(shí)間點(diǎn)拷貝的非熱點(diǎn)LBAs合并到該虛擬卷中的電路。
24.如權(quán)利要求19所述的系統(tǒng),其中所述的根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的該存儲熱點(diǎn)的一虛擬卷的一第一時(shí)間點(diǎn)拷貝進(jìn)一步包括用于接收訪問該虛擬卷的所述存儲熱點(diǎn)的一個(gè)或多個(gè)LBAs的一讀請求的電路; 用于將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到該第二存儲池中的所述第一時(shí)間點(diǎn)拷貝的電路。
25.如權(quán)利要求M所述的系統(tǒng),其中其中所述的將該存儲熱點(diǎn)的一個(gè)或多個(gè)邏輯塊地址的內(nèi)容拷貝到該第二存儲池中的所述第一時(shí)間點(diǎn)拷貝進(jìn)一步包括如果該存儲熱點(diǎn)的該LBAs先前尚未被寫入到該第二存儲池,則將該存儲熱點(diǎn)的所述一個(gè)或多個(gè)邏輯塊地址的所述內(nèi)容拷貝到該第二存儲池中的該第一時(shí)間點(diǎn)拷貝的電路。
26.如權(quán)利要求M所述的系統(tǒng),進(jìn)一步包括用于檢測所述第一時(shí)間點(diǎn)拷貝中包括該存儲熱點(diǎn)的邏輯塊地址(LBAs)的百分比的電路;用于根據(jù)該百分比創(chuàng)建僅僅包括該存儲熱點(diǎn)的LBAs的一第二時(shí)間點(diǎn)拷貝的電路。
27.如權(quán)利要求沈所述的系統(tǒng),進(jìn)一步包括用于將該第一時(shí)間點(diǎn)拷貝的非熱點(diǎn)LBAs合并到該虛擬卷中的電路。
全文摘要
一種動態(tài)存儲分級方法可包括檢測位于第一存儲池中的存儲熱點(diǎn);和根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的存儲熱點(diǎn)的虛擬卷的第一時(shí)間點(diǎn)拷貝。一種動態(tài)存儲分級系統(tǒng)可包括用于檢測位于第一存儲池中的存儲熱點(diǎn)的裝置;和用于根據(jù)該檢測在第二存儲池內(nèi)創(chuàng)建包括位于該第一存儲池中的存儲熱點(diǎn)的虛擬卷的第一時(shí)間點(diǎn)拷貝的裝置。
文檔編號G06F13/00GK102272742SQ200980154489
公開日2011年12月7日 申請日期2009年3月31日 優(yōu)先權(quán)日2009年1月29日
發(fā)明者布萊恩·馬卡基, 羅德尼·A·德科寧, 馬丁·杰斯 申請人:Lsi公司