国产精品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>

      填充來自第一高速緩存的軌道的第一步幅以向第二高速緩存中的第二步幅寫入的制作方法

      文檔序號:6497915閱讀:182來源:國知局
      填充來自第一高速緩存的軌道的第一步幅以向第二高速緩存中的第二步幅寫入的制作方法
      【專利摘要】提供了用于在包括第一高速緩存、第二高速緩存以及存儲系統(tǒng)的高速緩存系統(tǒng)中管理數(shù)據(jù)的計(jì)算機(jī)程序產(chǎn)品、系統(tǒng)以及方法。進(jìn)行存儲在存儲系統(tǒng)中的軌道將從第一高速緩存降級的確定。形成包括要降級的確定軌道的第一步幅。進(jìn)行其中將包括第一步幅中的軌道的第二高速緩存中的第二步幅的確定。將來自第一步幅的軌道添加到第二高速緩存中的第二步幅。進(jìn)行將從第二高速緩存降級的第二高速緩存中的步幅中的軌道的確定。將被確定為從第二高速緩存降級的軌道降級。
      【專利說明】填充來自第一高速緩存的軌道的第一步幅以向第二高速緩
      存中的第二步幅寫入
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及用于填充來自第一高速緩存的軌道的第一步幅(stride)以向第二高速緩存中的第二步幅寫入的計(jì)算機(jī)程序產(chǎn)品、系統(tǒng)以及方法。
      【背景技術(shù)】
      [0002]高速緩存管理系統(tǒng)將由于讀和寫操作而最近被存取的存儲器件中的軌道緩存在諸如存儲器之類的比存儲所請求軌道的存儲器件更快的存取存儲器件中。對較快存取高速緩存存儲器中的軌道的后續(xù)讀請求被以與從較慢存取儲存器返回所請求軌道相比更快的速率返回,因此減少讀等待時(shí)間。高速緩存管理系統(tǒng)還可在指向存儲器件的已修改軌道被寫入高速緩存存儲器時(shí)和已修改軌道被寫出到存儲器件、諸如硬盤驅(qū)動器之前向?qū)懻埱蠓祷赝瓿?。到存儲器件的寫等待時(shí)間通常明顯長于向高速緩存存儲器寫入的等待時(shí)間。因此,使用聞速緩存也減少與等待時(shí)間。
      [0003]高速緩存管理系統(tǒng)可保持鏈接列表,其具有用于存儲在高速緩存中的每個(gè)軌道的一個(gè)條目,其可包括在向存儲器件寫入或讀取數(shù)據(jù)之前緩存在高速緩存中的寫數(shù)據(jù)。在一般使用的最近最少使用(LRU)高速緩存技術(shù)中,如果高速緩存中的軌道被訪問,即高速緩存“命中”,則用于被存取軌道的LRU列表中的條目被移動至列表的最近最多使用(MRU)結(jié)尾。如果所請求軌道不在高速緩存中,即高速緩存未命中,則可去除高速緩存中的其條目在列表的LRU結(jié)尾處的軌道(或降級回到儲存器),并且向LRU列表的MRU結(jié)尾添加用于從儲存器升級到高速緩存中的軌道數(shù)據(jù)的條目。用這種LRU高速緩存技術(shù),被更頻繁地存取的軌道很可能仍在高速緩存中,而較少頻繁地被存取的數(shù)據(jù)將很可能被從列表的LRU結(jié)尾去除以在高速緩存中為新存取的軌道讓出空間。
      [0004]在本領(lǐng)域中需要用于在存儲系統(tǒng)中使用高速緩存的改進(jìn)技術(shù)。

      【發(fā)明內(nèi)容】

      [0005]提供了用于在包括第一高速緩存、第二高速緩存以及存儲系統(tǒng)的高速緩存系統(tǒng)中管理數(shù)據(jù)的計(jì)算機(jī)程序產(chǎn)品、系統(tǒng)以及方法。進(jìn)行存儲在存儲系統(tǒng)中的軌道將從第一高速緩存降級的確定。形成包括被確定為降級的軌道的第一步幅。進(jìn)行其中將包括第一步幅中的軌道的第二高速緩存中的第二步幅的確定。將來自第一步幅的軌道添加到第二高速緩存中的第二步幅。進(jìn)行將從第二高速緩存降級的第二高速緩存中的分步幅的軌道的確定。將被確定為從第二高速緩存降級的軌道降級。
      【專利附圖】

      【附圖說明】
      [0006]圖1圖示出計(jì)算環(huán)境的實(shí)施例。
      [0007]圖2圖示出第一高速緩存管理信息的實(shí)施例。
      [0008]圖3圖示出第二高速緩存管理信息的實(shí)施例。[0009]圖4圖示出第一高速緩存控制塊的實(shí)施例。
      [0010]圖5圖示出第二高速緩存控制塊的實(shí)施例。
      [0011]圖6圖示出步幅信息的實(shí)施例。
      [0012]圖7圖示出第二高速緩存RAID配置的實(shí)施例。
      [0013]圖8圖示出儲存器RAID配置的實(shí)施例。
      [0014]圖9圖示出用以將未修改非順序軌道從第一高速緩存降級以晉級到第二高速緩存的操作實(shí)施例。
      [0015]圖10圖示出用以向第一高速緩存添加軌道的操作實(shí)施例。
      [0016]圖11圖示出用以將軌道從第一步幅添加到第二步幅的操作實(shí)施例。
      [0017]圖12圖示出用以釋放第二高速緩存中的空間的操作實(shí)施例。
      [0018]圖13圖示出用以釋放第二高速緩存中的步幅的操作實(shí)施例。
      [0019]圖14圖示出用以處理用于軌道的請求以返回至讀請求的操作實(shí)施例。
      【具體實(shí)施方式】
      [0020]所述實(shí)施例提供了用于分步幅地將軌道從第一高速緩存晉級、使得可將該軌道作為全步幅寫而寫入第二高速緩存中的各步幅以改善高速緩存晉級操作的效率的技術(shù)。此外,在正在將軌道作為步幅從第一高速緩存14晉級至第二高速緩存18的同時(shí),根據(jù)諸如LRU算法之類的高速緩存降級算法而將軌道基于軌道從第二高速緩存18降級。此外,可將部分已滿、即具有有效和無效軌道的第二高速緩存中的步幅組合成一個(gè)步幅以釋放第二高速緩存中的步幅以從第一高速緩存接收其他軌道步幅,使得第二高速緩存保持可用于由來自第一聞速緩存的軌道形成的步幅的空閑步幅。
      [0021]圖1圖示出計(jì)算環(huán)境的實(shí)施例。多個(gè)主機(jī)2a、2b"?2n可通過網(wǎng)絡(luò)6向存儲控制器4提交輸入/輸出(I/O)請求以在儲存器10中的卷8(例如,邏輯單元號、邏輯器件、邏輯子系統(tǒng)等)處存取數(shù)據(jù)。存儲控制器4包括處理器復(fù)合體12,包括具有單個(gè)或多個(gè)核的一個(gè)或多個(gè)處理器、第一高速緩存14和第二高速緩存18。第一高速緩存14和第二高速緩存18高速緩存在主機(jī)2a、2b...2n與儲存器10之間傳輸?shù)臄?shù)據(jù)。
      [0022]存儲控制器4具有存儲器20,其包括在第一高速緩存14以及第二高速緩存18中的用于管理在主機(jī)2a、2b…2n與儲存器10之間傳輸?shù)能壍纻鬏數(shù)拇鎯芾砥?2以及管理在主機(jī)2a、2b…2n與儲存器10之間傳輸?shù)臄?shù)據(jù)的高速緩存管理器24。軌道可包括在儲存器10中配置的任何數(shù)據(jù)單元,諸如軌道、邏輯塊地址(LBA)等,其是較大的一組軌道的一部分,諸如卷、邏輯器件等。高速緩存管理器24保持第一高速緩存管理信息26和第二高速緩存管理信息28以管理第一高速緩存14和第二高速緩存18中的讀(未修改)和寫(已修改)軌道。
      [0023]存儲管理器22和高速緩存管理器24在圖1中被示為被加載到存儲器20中并由處理器復(fù)合體12執(zhí)行的程序代碼。備選地,可在存儲控制器4中用硬件器件、諸如用專用集成電路(ASIC)來實(shí)現(xiàn)某些或所有功能。
      [0024] 第二高速緩存18可在日志結(jié)構(gòu)化陣列(LSA) 32中存儲軌道,其中,按照接收到的連續(xù)順序?qū)壍肋M(jìn)行寫入,因此提供被寫入第二高速緩存18的軌道的時(shí)間排序。在LSA中,在LSA32的結(jié)尾處寫入已存在于LSA中的軌道的較晚版本。在備選實(shí)施例中,第二高速緩存18可以用除LSA之外的格式來存儲數(shù)據(jù)。
      [0025]存儲器20還包括第二高速緩存RAID配置信息34,其提供關(guān)于用來確定如何形成要存儲在第二高速緩存18中的軌道步幅的RAID配置的信息。在一個(gè)實(shí)施例中,第二高速緩存18可包括多個(gè)存儲器件,諸如單獨(dú)固態(tài)存儲器件(SSD),使得跨形成第二高速緩存18的單獨(dú)存儲器件、諸如閃速存儲器而使由來自第一高速緩存14的軌道形成的步幅形條帶化。在另一實(shí)施例中,第二高速緩存18可包括單個(gè)存儲器件,諸如一個(gè)閃速存儲器,使得軌道被按照第二高速緩存RAID配置34的定義分步幅地分成組,但是軌道被作為步幅寫入單個(gè)器件,諸如一個(gè)閃速存儲器,實(shí)現(xiàn)第二高速緩存18。可將針對第二高速緩存RAID配置34而配置的步幅的軌道寫入第二高速緩存18器件中的LSA32。第二高速緩存RAID配置34可指定不同的RAID水平,例如5、10級等。
      [0026]存儲器20還包括存儲RAID配置信息36,其提供關(guān)于用來確定如何從第一高速緩存14或第二高速緩存18 (如果第二高速緩存18應(yīng)存儲已修改數(shù)據(jù))向存儲系統(tǒng)10寫入軌道的RAID配置的信息,其中,跨存儲系統(tǒng)10中的存儲器件、諸如磁盤驅(qū)動器而使降級步幅中的軌道形條帶化。
      [0027]在一個(gè)實(shí)施例中,第一高速緩存14可包括隨機(jī)存取存儲器(RAM),諸如動態(tài)隨機(jī)存取存儲器(DRAM),并且第二高速緩存18可包括閃速存儲器,諸如固態(tài)器件,并且儲存器10包括一個(gè)或多個(gè)順序存取存儲器件,諸如硬盤驅(qū)動器和磁帶。儲存器10可包括單個(gè)順序存取存儲器件,或者可包括存儲器件陣列,諸如磁盤簇(JBOD)、直接存取存儲器(DASD)Ji立磁盤冗余陣列(RAID)陣列、虛擬化設(shè)備等。在一個(gè)實(shí)施例中,第一高速緩存14是與第二高速緩存18相比的較快的存取器件,并且第二高速緩存18是與儲存器10相比的較快的存儲器件。此外,第一高速緩存14可具有比第二高速緩存18更大的每存儲單位成本,并且第二高速緩存18可具有比儲存器10中的存儲器件更大的每存儲單位成本。
      [0028]第一高速緩存14可以是存儲器20的一部分或者在單個(gè)存儲器件中實(shí)現(xiàn),諸如DRAM。
      [0029]網(wǎng)絡(luò)6可包括存儲區(qū)域網(wǎng)(SAN)、局域網(wǎng)(LAN)、廣域網(wǎng)(WAN)、因特網(wǎng)以及內(nèi)部網(wǎng)
      坐寸ο
      [0030]圖2圖示出第一高速緩存管理信息26的實(shí)施例,其包括提供第一高速緩存14中的軌道的索引以控制控制塊目錄52中的塊的軌道索引50 ;提供第一高速緩存14中的未修改順序軌道的時(shí)間排序的未修改順序LRU列表54 ;提供第一高速緩存14中的已修改順序和非順序軌道的時(shí)間排序的已修改LRU列表56 ;提供第一高速緩存14中的未修改非順序軌道的時(shí)間排序的未修改非順序LRU列表58 ;以及提供關(guān)于由第一高速緩存14中的未修改非順序軌道形成的步幅的信息以作為全步幅寫而寫入第二高速緩存18的步幅信息60。
      [0031]在某些實(shí)施例中,在確定第一高速緩存18已滿時(shí),已修改LRU列表56用來將已修改軌道從第一高速緩存14降級至儲存器10,使得拷貝第一高速緩存18中的那些降級的軌道。
      [0032]一旦已修改非順序軌道被從第一高速緩存14降級至儲存器10,則高速緩存管理器24可將該降級軌道指定為第一高速緩存14中的未修改非順序軌道,并向未修改非順序LRU列表58添加新指定的未修改軌道的指示,從中其有資格被晉級至第二高速緩存14。可通過更新第一高速緩存控制塊104以在字段106中將已降級已修改非順序軌道指定為未修改來改變已降級已修改軌道的狀態(tài)。因此,第一高速緩存14中的未修改非順序軌道可包括讀數(shù)據(jù)或已修改非順序軌道,其根據(jù)已修改LRU列表56而被降級至儲存器10。因此,可將變成LRU列表58中的未修改軌道的已降級已修改軌道晉級至第二高速緩存14以可用于后續(xù)讀請求。在這些實(shí)施例中,第二高速緩存14包括只讀高速緩存以高速緩存未修改非順序軌道。
      [0033]圖3圖示出第二高速緩存管理信息28的實(shí)施例,其包括提供第二高速緩存18中的軌道的索引以控制控制塊目錄72中的塊的磁帶索引70 ;提供第二高速緩存18中的未修改軌道的時(shí)間排序的未修改列表74 ;以及提供關(guān)于被寫入第二高速緩存18的軌道步幅的信息的步幅信息78。在一個(gè)實(shí)施例中,第二高速緩存18僅存儲未修改、非順序軌道。在其他實(shí)施例中,第二高速緩存18還可存儲已修改和/或順序軌道。
      [0034]所有LRU列表54、56、58和74可包括根據(jù)最后存取所識別軌道的時(shí)間而被排序的第一高速緩存14和第二高速緩存18中的軌道的軌道ID。LRU列表54、56、58和74具有指示最近被存取軌道的最近使用(MRU)結(jié)尾和指示最近最少使用或存取軌道的LRU結(jié)尾。被添加到高速緩存14和高速緩存18的軌道的軌道ID被添加到LRU列表的MRU結(jié)尾,并且從LRU結(jié)尾對從高速緩存14和高速緩存18降級的軌道進(jìn)行存取。軌道索引50和軌道索引70可包括離散索引表(SIT)。備選類型數(shù)據(jù)結(jié)構(gòu)可用來提供高速緩存14和高速緩存18中的軌道的時(shí)間排序。
      [0035]非順序軌道可包括在線交易處理(OLTP)軌道,其常常包括并非完全隨機(jī)且具有一定參考局部性、即具有被反復(fù)地存取的概率的小塊。
      [0036]圖4圖示出控制塊目錄52中的第一高速緩存控制塊100條目的實(shí)施例,包括控制塊標(biāo)識符(ID) 102、第一高速緩存14中的軌道的物理位置的第一高速緩存位置104、指示軌道已修改或未修改的信息106、指示軌道是順序還是非順序存取的信息108以及指示用于軌道的降級狀態(tài),諸如未降級、即將降級以及降級完成的信息110。
      [0037]圖5圖示出第二高速緩存控制塊目錄72中的第二高速緩存控制塊120條目的實(shí)施例,包括控制塊標(biāo)識符(ID) 122 ;LSA位置124,其中,軌道位于LSA32中;指示軌道已修改或未修改的已修改/未修改信息126 ;以及指示軌道有效或無效的有效/無效標(biāo)志128。如果軌道在第一高速緩存14中被更新或者如果軌道被從第二高速緩存18降級,則第二高速緩存18中的軌道被指示為無效。
      [0038]一旦已修改非順序軌道被從第一高速緩存14降級至儲存器10,則高速緩存管理器24可將該降級軌道指定為第一高速緩存14中的未修改非順序軌道,并向未修改非順序LRU列表58添加新指定的未修改軌道的指示,從中其有資格被晉級至第二高速緩存14。可通過更新第一高速緩存控制塊100以在字段106中將已降級已修改非順序軌道指示為未修改來改變已降級已修改軌道的狀態(tài)。因此,第一高速緩存14中的未修改非順序軌道可包括讀數(shù)據(jù)或已修改非順序軌道,其根據(jù)已修改LRU列表56而被降級至儲存器10。因此,可將變成LRU列表58中的未修改軌道的已降級已修改軌道晉級至第二高速緩存14以可用于后續(xù)讀請求。在這些實(shí)施例中,第二高速緩存14包括只讀高速緩存以高速緩存未修改非順序軌道。
      [0039]圖6圖示出用于將在第二高速緩存18中形成的一個(gè)步幅的步幅信息60、78的實(shí)例130,包括步幅標(biāo)識符(ID) 132、包括在步幅132中的儲存器10的軌道134以及指示軌道總數(shù)的步幅中的有效軌道的數(shù)目的占用136,其中,無效的步幅中的軌道適合于無用單元收集操作。
      [0040]圖7圖示出被保持以確定如何由第一高速緩存14中的軌道形成第二高速緩存18中的軌道的步幅的第二高速緩存RAID配置34的實(shí)施例。RAID水平140指示要使用的RAID配置,例如RAID1、RAID5、RAID6、RAIDlO等、存儲用戶數(shù)據(jù)的軌道的數(shù)據(jù)磁盤數(shù)目(m) 142以及存儲從數(shù)據(jù)磁盤142計(jì)算的奇偶性的奇偶磁盤數(shù)目(P) 144,其中,P可以是一個(gè)或多個(gè),指示用于存儲所計(jì)算奇偶塊的磁盤數(shù)目。未修改奇偶可選標(biāo)志148指示是否應(yīng)針對被晉級至第二高速緩存18的第一高速緩存14中的未修改非順序軌道計(jì)算奇偶性。此可選標(biāo)志148允許僅包括步幅中的未修改非順序軌道以用僅未修改非順序軌道來填充步幅??稍贚SA32中指示第一高速緩存14中的未修改非順序軌道的步幅,其中,跨形成第二高速緩存18的m加P個(gè)存儲器件而使步幅的軌道形條帶化。備選地,第二高速緩存18可包括少于η個(gè)器件。
      [0041]圖8圖示出被保持以確定如何形成第二高速緩存18中的已修改軌道的步幅以跨儲存器10的磁盤形條帶化的儲存器RAID配置36的實(shí)施例。RAID水平150指示要使用的RAID配置、存儲用戶數(shù)據(jù)的軌道的數(shù)據(jù)磁盤數(shù)目(m) 152、以及存儲從數(shù)據(jù)磁盤152計(jì)算的奇偶性的奇偶磁盤數(shù)目(P) 154,其中,P可以是一個(gè)或多個(gè),指示用于存儲所計(jì)算奇偶塊的磁盤數(shù)目。可跨存儲系統(tǒng)10中的磁盤使來自第二高速緩存18的軌道步幅條帶化。
      [0042]在一個(gè)實(shí)施例中,第二高速緩存34和儲存器36RAID配置可提供不同的參數(shù)或具有相同參數(shù),諸如不同的RAID水平、數(shù)據(jù)磁盤、奇偶磁盤等。
      [0043]圖9圖示出由高速緩存管理器24執(zhí)行以使未修改非順序軌道從第一高速緩存14降級以晉級至第二高速緩存18的操作實(shí)施例,其中,可在需要空間時(shí)從未修改非順序LRU列表58的LRU結(jié)尾選擇未修改非順序軌道。在發(fā)起(在方框200處)用以將所選未修改非順序軌道降級的操作時(shí),將被選擇為降級的未修改非順序軌道的降級狀態(tài)110(圖4)設(shè)置(在方框202處)為“就緒”。高速緩存管理器24使用(在方框204處)第二高速緩存RAID配置信息34而形成來自第一高速緩存114的軌道的第一步幅以晉級至第二高速緩存18中的步幅。例如,形成軌道的第一步幅可包括基于針對第二高速緩存被定義34為具有η個(gè)器件的RAID配置來形成用于RAID配置的步幅,所述η個(gè)器件包括用于存儲數(shù)據(jù)軌道的m個(gè)器件和用以存儲根據(jù)用于m個(gè)器件的數(shù)據(jù)軌道計(jì)算的奇偶數(shù)據(jù)的至少一個(gè)奇偶器件ρ。此外,在實(shí)施例中可在沒有奇偶性的情況下跨η個(gè)固態(tài)存儲器件使軌道的第一步幅條帶化以形成第二步幅,其中,第二高速緩存包括至少η個(gè)固態(tài)存儲器件。
      [0044]高速緩存管理器24處理(在方框206處)未修改非順序LRU58列表以確定在其控制塊100中具有就緒的降級狀態(tài)110的未修改非順序軌道的數(shù)目。如果高速緩存管理器24確定(在方框208處)未修改非順序軌道的數(shù)目足以形成步幅,則高速緩存管理器24填充(在方框210處)具有就緒的降級狀態(tài)110的未修改非順序軌道的第一步幅。在一個(gè)實(shí)施例中,可從未修改非順序LRU列表58的LRU結(jié)尾開始填充第一步幅,并以步幅為單位對數(shù)據(jù)磁盤使用足夠的軌道。如果(在方框212處)RAID配置指定奇偶磁盤,則高速緩存管理器24計(jì)算(在方框212處)用于包括在步幅中的未修改非順序軌道的奇偶性并在步幅中包括奇偶數(shù)據(jù)(用于P個(gè)奇偶磁盤)。如果(在方框208處)在第一高速緩存14中不存在足以填充第一步幅的未修改非順序軌道,則控制結(jié)束,直至存在具有可用于填充第一步幅的降級就緒狀態(tài)的足夠數(shù)目的未修改非順序軌道為止。
      [0045]在填充第一步幅(在方框210和方框212)之后,高速緩存管理器14確定(在方框214處)其中將包括來自第一步幅的軌道的第二高速緩存18中的空閑第二步幅。來自第一步幅的軌道被作為全步幅寫而寫入或條帶化(在方框216處)為跨形成第二高速緩存18的器件的第二步幅。在用來自第一步幅的軌道來填充第二高速緩存18中的第二步幅時(shí),高速緩存管理器14將用于第二步幅的步幅信息130的占用136指定(在方框218處)為已滿。高速緩存管理器24將用于包括在步幅中的未修改非順序軌道的降級狀態(tài)110更新(在方框220處)為降級“完成”。
      [0046]雖然將圖9的操作描述為將未修改非順序軌道從第一高速緩存14降級以晉級至第二高速緩存18,但在備選實(shí)施例中,該操作可適用于將不同類型的軌道降級,諸如已修改、順序等。
      [0047]用所述實(shí)施例,將來自第一高速緩存14的未修改軌道聚集并作為步幅寫入第二高速緩存18,使得使用一個(gè)輸入/輸出(I/O)操作來轉(zhuǎn)移多個(gè)軌道。
      [0048]圖10圖示出由高速緩存管理器24執(zhí)行以向第一高速緩存14添加(B卩,晉級)軌道的操作實(shí)施例,該軌道可包括來自主機(jī)2a、2b、...2n的寫或已修改軌道、經(jīng)受讀請求且作為結(jié)果被移動至第一高速緩存14的第二高速緩存18中的非順序軌道或者在高速緩存14或18中未找到并從儲存器10檢索的被讀請求的數(shù)據(jù)。在(在方框250處)接收到要添加到第一高速緩存14的軌道時(shí),如果(在方框252處)軌道的拷貝已被包括在第一高速緩存14中,即接收到的軌道是寫入,則高速緩存管理器24更新(在方框254處)第一高速緩存14中的軌道。如果(在方框252處)軌道未在高速緩存中,則高速緩存管理器24創(chuàng)建(在方框256處)用于要添加的軌道的控制塊100 (圖4),指示在第一高速緩存14中的位置104以及軌道是已修改/未修改106和順序/非順序108。此控制塊100被添加到第一高速緩存14的控制塊目錄52。高速緩存管理器24向第一高速緩存軌道索引50添加(在方框258處)條目,其具有要添加的軌道的軌道ID和到控制塊目錄52中的創(chuàng)建高速緩存控制塊100的索引。向要添加軌道的軌道類型的LRU列表54、56或58的MRU結(jié)尾添加(在方框260處)條目。如果(在方框262處)要添加的軌道是已修改非順序軌道,并且如果(在方框264處)根據(jù)第二高速緩存軌道索引70的確定要添加的軌道的拷貝在第二高速緩存18中,則使第二高速高速緩存18中的軌道的拷貝無效(在方框266處),諸如通過將用于第二高速緩存18中的軌道的高速緩存控制塊120的有效/無效標(biāo)志128設(shè)置成無效。如果(在方框306處)要添加的軌道是未修改順序的,則控制結(jié)束。
      [0049]圖11圖示出由高速緩存管理器24執(zhí)行以從來自第一高速緩存14的第一步幅向第二高速緩存18中的第二步幅添加軌道的操作實(shí)施例。高速緩存管理器24創(chuàng)建(在方框302處)用于第二步幅的步幅信息130(圖6),將來自被添加并指示占用136的第一步幅的軌道134指示為已滿。針對被添加的第一步幅中的每個(gè)軌道,在方框304至318處執(zhí)行操作循環(huán)。高速緩存管理器24添加(在方框302處)被晉級至第二高速緩存18中的LSA32的軌道的指示,諸如軌道ID。如果(在方框308處)正在添加的軌道已經(jīng)在第二高速緩存18中,則高速緩存管理器24更新(在方框310處)用于軌道的高速緩存控制塊120,其指示LSA32中的位置124、數(shù)據(jù)是未修改的126以及軌道是有效的128。如果(在方框308處)軌道不在第二高速緩存18中,則高速緩存管理器24創(chuàng)建(在方框312處)用于要添加的軌道的控制塊120(圖5),其指示LSA32中的軌道位置124以及軌道是已修改/未修改的126。向具有已晉級軌道的軌道ID和對用于第二高速緩存18的控制塊目錄72中的所創(chuàng)建高速緩存控制塊120的索引的第二高速緩存軌道索引70添加條目(在方框314處)。從方框310至316,高速緩存管理器24指示(在方框316處)未修改LRU列表74的MRU結(jié)尾處的已晉級軌道,諸如通過向MRU結(jié)尾添加軌道ID。
      [0050]圖12圖示出由高速緩存管理器24執(zhí)行以釋放第二高速緩存18中的空間以用于要添加到第二高速緩存18的新軌道、即正在從第一高速緩存14降級的軌道的操作實(shí)施例。在發(fā)起此操作(在方框350處)時(shí),高速緩存管理器24從未修改LRU列表74的LRU結(jié)尾確定(在方框352處)第二高速緩存18中的未修改軌道,并使所確定未修改軌道(在方框354處)無效而不使無效未修改軌道降級至儲存器10,并且還從未修改LRU列表74去除無效未修改軌道并在用于該軌道的高速緩存控制塊120中將該軌道指示為無效128。第二高速緩存18中的未修改軌道可包括被添加到第一高速緩存14的讀軌道或從第一高速緩存14降級的已修改軌道。此外,由高速緩存管理器24選擇用于從第二高速緩存18降級的軌道可來自在第二高速緩存18中形成的不同步幅。此外,第二高速緩存中的步幅可包括有效軌道和無效軌道兩者,其中,通過從第二高速緩存18降級或者通過在第一高速緩存18中更新軌道來使軌道無效。
      [0051]在某些實(shí)施例中,高速緩存管理器24使用不同的軌道降級算法以通過分別地對第一高速緩存14和第二高速緩存18使用單獨(dú)的LRU列表58和74來確定將從第一高速緩存14和第二高速緩存18降級的軌道,以確定要降級的軌道。用來在第一高速緩存14和第二高速緩存18中選擇用于降級的軌道的算法可考慮第一高速緩存14和第二高速緩存18中的軌道的特性以確定將首先降級的軌道。
      [0052]圖13圖示出由高速緩存管理器24執(zhí)行以釋放第二高速緩存18中的步幅以使得可用于第一高速緩存14中的軌道步幅的操作實(shí)施例。在發(fā)起(在方框370處)用以釋放第二高速緩存18中的步幅時(shí),高速緩存管理器確定(在方框372處)空閑步幅、即具有零占用136的步幅的數(shù)目是否小于空閑步幅閾值。例如,高速緩存管理器24可確保始終存在至少兩個(gè)或某個(gè)其他數(shù)目的步幅可用于由第一高速緩存14軌道形成的步幅。如果空閑步幅的數(shù)目不在閾值以下,則控制結(jié)束。否則,如果(在方框372處)空閑步幅的數(shù)目小于閾值,則高速緩存管理器24確定(在方框374處)具有零占用136的可用步幅且確定(在方框376處)部分已滿、即具有有效軌道和無效軌道的至少兩個(gè)步幅,其有效軌道能夠適合于空閑步幅。高速緩存管理器24(在方框378處)將來自所確定的至少兩個(gè)部分已滿步幅的有效軌道組合成所確定可用步幅。高速緩存管理器24然后(在方框380處)將所述至少兩個(gè)步幅指示為具有零占用136,來自該至少兩個(gè)步幅的軌道被合并,因此其可用于從來自第一高速緩存14的步幅接收軌道。
      [0053]圖14圖示出由高速緩存管理器24執(zhí)行以從高速緩存14和高速緩存18及儲存器10檢索用于讀請求的被請求軌道的操作實(shí)施例。處理讀請求的存儲管理器22可向高速緩存管理器24提交用于被請求軌道的請求。在接收到(在方框450處)用于軌道的請求時(shí),高速緩存管理器24使用(在方框254處)第一高速緩存軌道索引50來確定是否所有被請求軌道都在第一高速緩存14中。如果(在方框454處)并非所有被請求軌道都在第一高速緩存14中,則高速緩存管理器24使用(在方框456處)第二高速緩存軌道索引70來確定不在第一高速緩存14中的第二高速緩存18中的任何被請求軌道。如果(在方框458處)存在第一高速緩存14和第二高速緩存18中未找到的任何被請求軌道,則高速緩存管理器24確定(在方框460處)來自第二高速緩存軌道索引70的儲存器10中的任何被請求軌道不在第一高速緩存14和第二高速緩存18中。高速緩存管理器24然后將第二高速緩存18和儲存器10中的任何所確定軌道(在方框462處)晉級至第一高速緩存14。高速緩存管理器24使用(在方框264處)第一高速緩存軌道索引50來從第一高速緩存14檢索被請求軌道以返回至讀請求。用于所檢索軌道的條目被移動(在方框466處)至LRU列表54、56,58的MRU結(jié)尾,包括用于所檢索軌道的條目。
      [0054]用圖13的操作,高速緩存管理器24在前進(jìn)至儲存器10之前首先從最高水平高速緩存14、然后是第二高速緩存檢索被請求軌道,因?yàn)楦咚倬彺?4和高速緩存18將具有被請求軌道的最新修改版本。首先在第一高速緩存14中找到最新版本,如果不在第一高速緩存14中的話然后是第二高速緩存18,并且如果高速緩存14和高速緩存18中均不在的話然后是儲存器10。
      [0055]所述實(shí)施例提供了用以按根據(jù)用于第二高速緩存的RAID配置定義的步幅將第一高速緩存中的軌道分組、使得能夠按步幅將第一高速緩存中的軌道分組到第二高速緩存中的技術(shù)。然后可將高速緩存在第二高速緩存中的軌道分組成根據(jù)用于儲存器的RAID配置定義的步幅,并且然后與入存儲系統(tǒng)。
      [0056]所述實(shí)施例提供了用于分步幅地將軌道從第一高速緩存晉級、使得可將該軌道作為全步幅寫而寫入第二高速緩存中的各步幅以改善高速緩存晉級操作的效率的技術(shù)。所述實(shí)施例允許使用全步幅寫來將第一高速緩存中的已降級軌道晉級到第二高速緩存,以便通過將整個(gè)步幅晉級至第二高速緩存作為單個(gè)I/O操作來節(jié)省資源。
      [0057]此外,在正在將軌道作為步幅從第一高速緩存14晉級至第二高速緩存18的同時(shí),根據(jù)諸如LRU算法之類的高速緩存降級算法而逐個(gè)軌道地將軌道從第二高速緩存18降級。
      [0058]可使用標(biāo)準(zhǔn)編程和/或工程技術(shù)將所述操作實(shí)現(xiàn)為方法、裝置或計(jì)算機(jī)程序產(chǎn)品以產(chǎn)生軟件、固件、硬件或其任何組合。所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本實(shí)施例的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本實(shí)施例的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
      [0059]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號介質(zhì)或者計(jì)算機(jī)可讀存儲介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲介質(zhì)可以是任何包含或存儲程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
      [0060]計(jì)算機(jī)可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一但不限于一電磁信號、光信號或上述的任意合適的組合。計(jì)算機(jī)可讀的信號介質(zhì)還可以是計(jì)算機(jī)可讀存儲介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
      [0061]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
      [0062]可以以一種或多種程序設(shè)計(jì)語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語言一諸如Java、Smalltalk、C++等,還包括常規(guī)的過程式程序設(shè)計(jì)語言一諸如“C”語言或類似的程序設(shè)計(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ī)可以通過任意種類的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來通過因特網(wǎng)連接)。
      [0063]下面將參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明。應(yīng)當(dāng)理解,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動作的裝置。
      [0064]也可以把這些計(jì)算機(jī)程序指令存儲在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。
      [0065]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其它設(shè)備上,使得在計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其它設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過程,從而使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過程。
      [0066]術(shù)語“一實(shí)施例”、“實(shí)施例”、“多個(gè)實(shí)施例”、“該實(shí)施例”、“一個(gè)或多個(gè)實(shí)施例”、“某
      些實(shí)施例”以及“一個(gè)實(shí)施例”意指“本發(fā)明的一個(gè)或多個(gè)(但并非全部)實(shí)施例”,除非另外明確地指明。
      [0067]術(shù)語“包括”、“包含”、“具有”及其變體意指“包括但不限于”,除非另外明確地指定。
      [0068]項(xiàng)目的枚舉列表并不意味著任何或所有項(xiàng)目是相互排他性的,除非另外明確地指明。
      [0069]術(shù)語“一”、“一個(gè)”和“該”意指“一個(gè)或多個(gè)”,除非另外明確地指明。
      [0070]相互通信的設(shè)備不需要相互連續(xù)地通信,除非另外明確地指明。另外,相互通信的設(shè)備可以通過一個(gè)或多個(gè)中介來直接地或間接地進(jìn)行通信。
      [0071]具有相互通信的多個(gè)部件的實(shí)施例的描述并不意味著要求所有此類部件。相反,描述多種可選部件是為了舉例說明本發(fā)明的可能實(shí)施例的寬泛種類而描述的。
      [0072]此外,雖然可以按照相繼順序來描述過程步驟、方法步驟、算法等,但此類過程、方法和算法可以被配置成按照交替順序來工作。換言之,可以描述的步驟的任何序列或順序不一定指示按照該順序來執(zhí)行步驟的要求??梢园凑杖魏螌?shí)際的順序來執(zhí)行本文所述的過程步驟。此外,可以同時(shí)地執(zhí)行某些步驟。
      [0073]當(dāng)在本文中描述單個(gè)設(shè)備/物品(無論其是否合作)時(shí),將很容易顯而易見的是可以使用不止一個(gè)設(shè)備或物品來代替單個(gè)設(shè)備/物品。同樣地,在本文中描述超過一個(gè)設(shè)備或物品(無論其是否合作)的情況下,將顯而易見的是可使用單個(gè)設(shè)備/物品來代替超過一個(gè)設(shè)備或物品,或者可使用不同數(shù)目的設(shè)備/物品而不是所示數(shù)目的設(shè)備或程序。可以備選地用一個(gè)或多個(gè)其他設(shè)備來體現(xiàn)設(shè)備的功能和/或特征,其未被明確地描述為具有此類功能/特征。因此,本發(fā)明的其他實(shí)施例不需要包括設(shè)備本身。
      [0074]圖的所示操作示出了按照某個(gè)順序發(fā)生的某些事件。在替換實(shí)施例中國,某些操作可按照不同順序執(zhí)行、修改或去除。此外,可向上述邏輯添加步驟且其仍符合所述實(shí)施例。此外,本文所述的操作可連續(xù)地發(fā)生,或者可并行地執(zhí)行某些操作。此外,可由單個(gè)處理單元或由分布式處理單元來執(zhí)行操作。
      [0075]本發(fā)明的各種實(shí)施例的先前描述是出于舉例說明和描述的目的提出的。其并不意圖是排他性的或使本發(fā)明局限于所公開的精確形式。鑒于上述教導(dǎo),可以有許多修改和變更。意圖在于本發(fā)明的范圍不受此詳細(xì)描述的限制,而是由所附權(quán)利要求來限制。以上說明書、示例和數(shù)據(jù)提供了本發(fā)明的組合物的制造和使用的完整的敘述。由于在不脫離本發(fā)明的精神和范圍的情況下可實(shí)現(xiàn)本發(fā)明的許多實(shí)施例,所以本發(fā)明還存在于隨后的所附權(quán)利要求中。
      【權(quán)利要求】
      1.一種用于在包括第一高速緩存、第二高速緩存以及存儲系統(tǒng)的高速緩存系統(tǒng)中管理數(shù)據(jù)的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀存儲介質(zhì),其具有在其中體現(xiàn)的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼執(zhí)行以進(jìn)行操作,所述操作包括: 確定要從所述第一高速緩存降級的存儲在所述存儲系統(tǒng)中的軌道; 形成包括要降級的所確定軌道的第一步幅; 確定其中將包括所述第一步幅中的所述軌道的所述第二高速緩存中的第二步幅; 將來自所述第一步幅的所述軌道添加到所述第二高速緩存中的所述第二步幅; 確定要從所述第二高速緩存降級的所述第二高速緩存中的所述步幅中的軌道;以及 將被確定為要從所述第二高速緩存降級的軌道降級。
      2.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中所述第一高速緩存是比所述第二高速緩存更快的存取器件,并且其中所述第二高速緩存是比所述存儲系統(tǒng)更快的存取器件。
      3.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中所述第一高速緩存包括動態(tài)隨機(jī)存取存儲器(RAM),所述第二高速緩存包括多個(gè)閃速器件,并且所述存儲系統(tǒng)包括比所述閃速器件緩慢的多個(gè)存取器件。
      4.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中被確定為要從所述第二高速緩存降級的軌道來自所述第二高速緩存中的不同步幅。
      5.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中所述操作還包括: 將被確定為要從所述第二高速緩存降級的軌道指示為無效,其中所述第二高速緩存中的步幅包括有效軌道和無效軌道。
      6.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中所述操作還包括: 接收對所述第一高速緩存中的軌道的寫入; 確定接收所述寫入的所述軌道是否包括在所述第二高速緩存中;以及響應(yīng)于確定所述第一高速緩存中的被寫入的所述軌道包括在所述第二高速緩存中而使在所述第一高速緩存中更新的所述第二高速緩存中的所述軌道無效。
      7.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中所述操作還包括: 確定是否將所述第二高速緩存中的步幅合并; 響應(yīng)于確定將步幅合并,執(zhí)行: 確定不具有軌道的一個(gè)可用步幅; 確定具有有效軌道和無效軌道兩者的至少兩個(gè)步幅; 將來自至少兩個(gè)步幅的所述有效軌道組合成所確定可用步幅,其中所述至少兩個(gè)步幅可用于存儲來自從所述第一高速緩存降級的步幅的軌道。
      8.權(quán)利要求7的計(jì)算機(jī)程序產(chǎn)品,其中響應(yīng)于在將從所述第一高速緩存降級的所述步幅中的所述軌道寫入所述第二高速緩存中的一個(gè)可用步幅之后確定僅一個(gè)可用步幅具有所有空閑軌道而執(zhí)行是否將步幅合并的確定。
      9.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中形成軌道的所述第一步幅包括基于針對所述第二高速緩存被定義為具有η個(gè)器件的獨(dú)立磁盤冗余陣列(RAID)配置而形成用于RAID配置的步幅,所述η個(gè)器件包括 用于存儲數(shù)據(jù)軌道的m個(gè)器件和存儲根據(jù)用于所述m個(gè)器件的數(shù)據(jù)軌道計(jì)算的奇偶數(shù)據(jù)的至少一個(gè)奇偶器件。
      10.權(quán)利要求9的計(jì)算機(jī)程序產(chǎn)品,其中所述第一高速緩存包括動態(tài)隨機(jī)存取存儲器(DRAM),并且其中所述第二高速緩存包括η個(gè)固態(tài)存儲器件,其中跨所述η個(gè)固態(tài)存儲器件使來自所述第一高速緩存的軌道的所述第一步幅條帶化,以形成所述第二高速緩存中的所述第二步幅。
      11.權(quán)利要求1的計(jì)算機(jī)程序產(chǎn)品,其中所述操作還包括: 將第一最近最少使用(LRU)列表用于所述第一高速緩存中的軌道,其中從所述第一LRU列表確定要降級的軌道;以及 將第二 LRU列表用于所述第二高速緩存中的軌道以確定要從所述第二高速緩存降級的軌道。
      12.權(quán)利要求11的計(jì)算機(jī)程序產(chǎn)品,其中所述第一高速緩存存儲包括已修改或未修改數(shù)據(jù)的軌道,并且其中要晉級到所述第二高速緩存的所述第一高速緩存中的分步幅形成的軌道包括未修改數(shù)據(jù),其中所述操作還包括: 將來自所述第一高速緩存的已修改軌道降級到所述儲存器;以及將已降級已修改軌道指示為未修改軌道,其中被指示為所述未修改軌道的所述已降級已修改軌道適合于被包括在被晉級至所述第二高速緩存的所述步幅中。
      13.一種與存儲系統(tǒng)通信的系統(tǒng),包括: 處理器; 所述處理器可訪問的第一高速緩存; 所述處理器可訪問的第二高速緩存; 計(jì)算機(jī)可讀存儲介質(zhì),具有在其中體現(xiàn)的由所述處理器執(zhí)行以進(jìn)行操作的計(jì)算機(jī)可讀程序代碼,所述操作包括: 確定要從所述第一高速緩存降級的存儲在所述存儲系統(tǒng)中的軌道; 形成包括要降級的所確定軌道的第一步幅; 確定其中將包括所述第一步幅中的所述軌道的所述第二高速緩存中的第二步幅; 將來自所述第一步幅的所述軌道添加到所述第二高速緩存中的所述第二步幅; 確定要從所述第二高速緩存降級的所述第二高速緩存中的步幅中的軌道;以及 將被確定為要從所述第二高速緩存降級的軌道降級。
      14.權(quán)利要求13的系統(tǒng),其中所述第一高速緩存是比所述第二高速緩存更快的存取器件,并且其中所述第二高速緩存是比所述存儲系統(tǒng)更快的存取器件。
      15.權(quán)利要求13的系統(tǒng),其中被確定為要從所述第二高速緩存降級的軌道來自所述第二高速緩存中的不同步幅。
      16.權(quán)利要求13的系統(tǒng),其中所述操作還包括: 接收對所述第一高速緩存中的軌道的寫入; 確定在所述第二高速緩存中是否包括接收所述寫入的所述軌道;以及響應(yīng)于確定所述第一高速緩存中的被寫入的所述軌道包括在所述第二高速緩存中而使在所述第一高速緩存中更新的所述第二高速緩存中的所述軌道無效。
      17.權(quán)利要求13的系統(tǒng),其中所述操作還包括: 確定是否將所述第二高速緩存中的步幅合并; 響應(yīng)于確定將步幅合并,執(zhí)行: 確定不具有軌道的一個(gè)可用步幅;確定具有有效軌道和無效軌道兩者的至少兩個(gè)步幅; 將來自至少兩個(gè)步幅的所述有效軌道組合成所確定可用步幅,其中所述至少兩個(gè)步幅可用于存儲來自從所述第一高速緩存降級的步幅的軌道。
      18.權(quán)利要求13的系統(tǒng),其中形成軌道的所述第一步幅包括基于針對所述第二高速緩存被定義為具有η個(gè)器件的獨(dú)立磁盤冗余陣列(RAID)配置而形成用于RAID配置的步幅,所述η個(gè)器件包括用于存儲數(shù)據(jù)軌道的m個(gè)器件和存儲根據(jù)用于所述m個(gè)器件的數(shù)據(jù)軌道計(jì)算的奇偶數(shù)據(jù)的至少一個(gè)奇偶器件。
      19.權(quán)利要求13的系統(tǒng),其中所述操作還包括: 將第一最近最少使用(LRU)列表用于所述第一高速緩存中的軌道,其中從所述第一LRU列表確定要降級的軌道;以及 將第二 LRU列表用于所述第二高速緩存中的軌道以確定要從所述第二高速緩存降級的軌道。
      20.權(quán)利要求19的系統(tǒng),其中所述第一高速緩存存儲包括已修改或未修改數(shù)據(jù)的軌道,并且其中要晉級到所述第二高速緩存的所述第一高速緩存中的分步幅形成的軌道包括未修改數(shù)據(jù),其中所述操作還包括: 將來自所述第一高速緩 存的已修改軌道降級到所述儲存器;以及將已降級已修改軌道指示為未修改軌道,其中被指示為所述未修改軌道的已降級已修改軌道適合于被包括在被晉級至所述第二高速緩存的所述步幅中。
      21.一種用于在高速緩存系統(tǒng)中管理數(shù)據(jù)的方法,包括: 確定要從第一高速緩存降級的存儲在存儲系統(tǒng)中的軌道; 形成包括要降級的所確定軌道的第一步幅; 確定其中將包括所述第一步幅中的所述軌道的第二高速緩存中的第二步幅; 將來自所述第一步幅的軌道添加到所述第二高速緩存中的所述第二步幅; 確定要從所述第二高速緩存降級的所述第二高速緩存中的所述步幅中的軌道;以及 將被確定為要從所述第二高速緩存降級的軌道降級。
      22.權(quán)利要求21的方法,其中所述第一高速緩存是比所述第二高速緩存更快的存取器件,并且其中所述第二高速緩存是比所述存儲系統(tǒng)更快的存取器件。
      23.權(quán)利要求21的方法,其中被確定為要從所述第二高速緩存降級的軌道來自所述第二高速緩存中的不同步幅。
      24.權(quán)利要求21的方法,還包括: 接收對所述第一高速緩存中的軌道的寫入; 確定在所述第二高速緩存中是否包括接收所述寫入的軌道;以及響應(yīng)于確定所述第一高速緩存中的被寫入的所述軌道包括在所述第二高速緩存中而使在所述第一高速緩存中更新的所述第二高速緩存中的軌道無效。
      25.權(quán)利要求21的方法,還包括: 確定是否將所述第二高速緩存中的步幅合并; 響應(yīng)于確定將步幅合并,執(zhí)行: 確定不具有軌道的一個(gè)可用步幅; 確定具有有效軌道和無效軌道兩者的至少兩個(gè)步幅;將來自至少兩個(gè)步幅的有效軌道組合成所確定可用步幅,其中所述至少兩個(gè)步幅可用于存儲來自從所述第一高速緩存降級的步幅的軌道。
      26.權(quán)利要求21的方法,其中形成軌道的第一步幅包括基于針對所述第二高速緩存被定義為具有η個(gè)器件的獨(dú)立磁盤冗余陣列(RAID)配置而形成用于RAID配置的步幅,所述η個(gè)器件包括用于存儲數(shù)據(jù)軌道的m個(gè)器件和存儲根據(jù)用于所述m個(gè)器件的數(shù)據(jù)軌道計(jì)算的奇偶數(shù)據(jù)的至少一個(gè)奇偶器件。
      27.權(quán)利要求21的方法,還包括: 將第一最近最少使用(LRU)列表用于所述第一高速緩存中的軌道,其中從所述第一LRU列表確定要降級的軌道;以及 將第二 LRU列表用于所述第二高速緩存中的軌道以確定要從所述第二高速緩存降級的軌道。
      28.權(quán)利要求27的方法,其中所述第一高速緩存存儲包括已修改或未修改數(shù)據(jù)的軌道,并且其中要晉級到所述第二高速緩存的所述第一高速緩存中的分步幅形成的軌道包括未修改數(shù)據(jù),還包括: 將來自所述第一高速緩存的已修改軌道降級到所述儲存器;以及 將已降級已修改軌道指示為未修改軌道,其中被指示為未修改軌道的已降級已修改軌道適合于被包括在被晉級至所述第二高速緩存的所述步幅中。
      29.權(quán)利要求13的系統(tǒng),其中所述第一高速緩存包括動態(tài)隨機(jī)存取存儲器(DRAM),所述第二高速緩存包括多個(gè)閃速器件,并且所述存儲系統(tǒng)包括比所述閃速器件緩慢的多個(gè)存取器件。
      30.權(quán)利要求13的系統(tǒng),其中所述操作還包括: 將被確定為要從所述第二高速緩存降級的軌道指示為無效,其中所述第二高速緩存中的步幅包括有效軌道和無效軌道。
      31.權(quán)利要求17的系統(tǒng),其中響應(yīng)于在將從所述第一高速緩存降級的所述步幅中的所述軌道寫入所述第二高速緩存中的一個(gè)可用步幅之后確定僅一個(gè)可用步幅具有所有空閑軌道而執(zhí)行是否將步幅合并的確定。
      32.權(quán)利要求18的系統(tǒng),其中所述第一高速緩存包括動態(tài)隨機(jī)存取存儲器(DRAM),并且其中所述第二高速緩存包括η個(gè)固態(tài)存儲器件,其中跨所述η個(gè)固態(tài)存儲器件使來自所述第一高速緩存的軌道的第一步幅條帶化,以形成所述第二高速緩存中的所述第二步幅。
      【文檔編號】G06F12/08GK104040508SQ201280066402
      【公開日】2014年9月10日 申請日期:2012年12月10日 優(yōu)先權(quán)日:2012年1月17日
      【發(fā)明者】L·M·古普塔, M·J·卡洛斯, M·T·本哈斯, K·A·尼爾森, K·J·阿什 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1