專利名稱:使用跨步對(duì)象管理寫入高速緩存的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及計(jì)算機(jī),更具體地涉及一種用于在計(jì)算存儲(chǔ)環(huán)境中使用跨步對(duì)象(stride object),識(shí)別工作數(shù)據(jù)和管理寫入高速緩存的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。
背景技術(shù):
在諸如可以使用于公司、政府機(jī)構(gòu)或者其它實(shí)體中的企業(yè)數(shù)據(jù)處理安排中,信息經(jīng)常存儲(chǔ)在服務(wù)器上并且由用戶通過(guò)例如網(wǎng)絡(luò)訪問(wèn)。該信息可以包括要處理的程序和/或數(shù)據(jù)的任何類型的信息。用戶使用他們的個(gè)人計(jì)算機(jī)、工作站等(通常,“計(jì)算機(jī)”),將使得他們的計(jì)算機(jī)能夠檢索要處理的信息,并且,另外使得能夠在例如遠(yuǎn)程服務(wù)器上存儲(chǔ)信息。通常,服務(wù)器在典型地包括多個(gè)盤存儲(chǔ)單元的海量存儲(chǔ)子系統(tǒng)中存儲(chǔ)數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)在諸如文件的單元中。在服務(wù)器中,文件可以存儲(chǔ)在一個(gè)盤存儲(chǔ)單元上,或者可替換地,文件的部分可以存儲(chǔ)在若干盤存儲(chǔ)單元中。服務(wù)器可以同時(shí)為來(lái)自多個(gè)用戶的訪問(wèn)請(qǐng)求服務(wù),并且將理解,優(yōu)選的將會(huì)是同時(shí)被服務(wù)的訪問(wèn)操作與跨越多個(gè)盤存儲(chǔ)單元分布的信息有關(guān),使得它們可以被同時(shí)服務(wù)。除非聲明,通常期望以這樣的方式在盤存儲(chǔ)單元中存儲(chǔ)信息,使得一個(gè)盤驅(qū)動(dòng)單元負(fù)荷不重或者繁忙地為訪問(wèn)服務(wù),而其它盤驅(qū)動(dòng)單元負(fù)荷輕或者空閑。為了提供冗余和提高性能,可以以獨(dú)立盤冗余陣列(RAID)拓?fù)鋪?lái)配置多個(gè)存儲(chǔ)裝置,其中以RAID等級(jí)組織存儲(chǔ)體。商業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)可以具有彼此遠(yuǎn)離放置的多個(gè)存儲(chǔ)網(wǎng)絡(luò)和商業(yè)用戶。存儲(chǔ)網(wǎng)絡(luò)還可以在不同類型的系統(tǒng)上托管(host)。為了正確地執(zhí)行作業(yè),該商業(yè)用戶可以要求快速和可靠地訪問(wèn)在所有存儲(chǔ)網(wǎng)絡(luò)中包含的數(shù)據(jù)。由于實(shí)時(shí)地發(fā)生對(duì)該數(shù)據(jù)的訪問(wèn),所以期望盡可能快速地發(fā)生存儲(chǔ)操作(諸如寫入或讀出)。
發(fā)明內(nèi)容
為了移動(dòng)數(shù)據(jù),例如,海量存儲(chǔ)子系統(tǒng)從非易失性存儲(chǔ)器(NVS)到RAID裝置降級(jí) (destage)數(shù)據(jù)。如將進(jìn)一步描述的,在結(jié)合RAID和NVS裝置的海量存儲(chǔ)子系統(tǒng)中可操作的、對(duì)寫入高速緩存的當(dāng)前管理,可以在系統(tǒng)執(zhí)行重復(fù)(duplicative)降級(jí)掃描操作時(shí),造成中央處理單元(CPU)周期的浪費(fèi)。如將再次進(jìn)一步描述的,存在對(duì)于在某些情況下減少或者消除CPU周期的浪費(fèi)的機(jī)制的需求。鑒于前述,提供了各種方法、系統(tǒng),以及計(jì)算機(jī)程序產(chǎn)品實(shí)施例,它們?cè)谟糜趶姆且资源鎯?chǔ)器(NVQ到存儲(chǔ)單元降級(jí)數(shù)據(jù)的計(jì)算存儲(chǔ)環(huán)境中,通過(guò)處理器裝置在跨步基礎(chǔ)上識(shí)別工作數(shù)據(jù)。在一個(gè)實(shí)施例中,僅通過(guò)示例的方式,在修改的高速緩存中為每個(gè)跨步建立多更新(multi-update)位。該多更新位適于指示工作集(working set)中的至少一個(gè)軌道(track)?;诙鄠€(gè)緊急級(jí)別來(lái)配置降級(jí)掃描的調(diào)度?;诙喔挛皇欠裰梦?,多個(gè)緊急級(jí)別的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè),來(lái)執(zhí)行降級(jí)操作。還公開(kāi)了相關(guān)的系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品實(shí)施例,并且這些有關(guān)的系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品實(shí)施例提供了附加的優(yōu)點(diǎn)。
為了將容易地理解本發(fā)明的優(yōu)點(diǎn),將參照附圖中圖示的特定實(shí)施例,來(lái)表現(xiàn)以上簡(jiǎn)要描述的本發(fā)明的更具體的描述。理解這些附圖僅描繪本發(fā)明的實(shí)施例,并且因此這些附圖不應(yīng)被認(rèn)為是對(duì)本發(fā)明的范圍的限制,通過(guò)使用附圖,將以附加的特性和細(xì)節(jié)來(lái)描述和說(shuō)明本發(fā)明,在附圖中圖1是包括存儲(chǔ)服務(wù)器和存儲(chǔ)管理服務(wù)器的分布式計(jì)算機(jī)系統(tǒng)的框圖,其中可以實(shí)施以下描述和要求保護(hù)的主題的各方面;圖2是圖1的存儲(chǔ)服務(wù)器之一的框圖;圖3是根據(jù)本發(fā)明各個(gè)方面的、用于便于在跨步的基礎(chǔ)上識(shí)別工作數(shù)據(jù)的示例性方法的流程圖;圖4是根據(jù)本發(fā)明各個(gè)方面的、用于降級(jí)完成的示例性方法的流程圖;以及圖5是根據(jù)本發(fā)明各個(gè)方面的、用于執(zhí)行降級(jí)掃描操作的示例性方法的流程圖。
具體實(shí)施例方式如將進(jìn)一步更詳細(xì)地描述的,以下說(shuō)明的實(shí)施例描述了高效和高度可擴(kuò)展的機(jī)制,該機(jī)制用于識(shí)別頻繁更新的軌道的工作集、以及使用跨步對(duì)象管理寫入高速緩存。這些機(jī)制使用管理技術(shù),管理技術(shù)關(guān)注以每跨步為基礎(chǔ)(per-stride)、而不是以每軌道 (per-track)為基礎(chǔ)的檢查和管理。關(guān)于這一點(diǎn),例如因?yàn)楸仨殭z查的對(duì)象較少,所以減少和/或消除了 CPU浪費(fèi)。此外,在說(shuō)明的實(shí)施例之一中,建立多更新位用于識(shí)別之前討論的工作集。下文中圖1提供了鏡像數(shù)據(jù)存儲(chǔ)系統(tǒng)架構(gòu)的一部分的一個(gè)示例,其中可以實(shí)施說(shuō)明性的實(shí)施例的機(jī)制。然而,應(yīng)當(dāng)理解,圖1僅是示例性的,并且不是意圖在于陳述或者暗示關(guān)于特定架構(gòu)的任何限制,該特定架構(gòu)中可以實(shí)施說(shuō)明性實(shí)施例的示例性方面??梢詫?duì)圖1中描繪的架構(gòu)進(jìn)行許多修改,而不脫離以下的描述和要求保護(hù)的主題的范圍和精神。圖1圖示了包括本發(fā)明的、一般用10指定的示例性分布式計(jì)算機(jī)系統(tǒng)。系統(tǒng) 10包括多個(gè)、類似的存儲(chǔ)服務(wù)器/控制器14a、b、C,其具有每個(gè)簇(cluster)的多個(gè)CPU 40a、b、c(以下參見(jiàn)圖2,對(duì)于每個(gè)簇中的CPU組織)、高速緩存44a、b、c,非易失性存儲(chǔ)器 (“NVS”)46a、b、c,操作系統(tǒng) 48a、b、c,I/O 單元 50a、b、c,以及 TCP/IP 適配器卡 52a、b、c。 每個(gè)存儲(chǔ)服務(wù)器14a、b、c管理存儲(chǔ)分配以及客戶端40、41和42分別對(duì)多個(gè)存儲(chǔ)裝置(諸如盤)30al-an、30bl-bn 及 30cl_cn 的訪問(wèn)。CPU40、41和42具有諸如光纖信道適配器卡的適配器卡50、51和52,用于經(jīng)由諸如光纖信道之類的通信路徑53a、b、c連接到交換器55。交換器(switch) 55可以經(jīng)由主機(jī)總線Ma、b、c耦接到存儲(chǔ)服務(wù)器14a、b、c,并且可以按照客戶端上的配置將來(lái)自客戶端40、 41或42中的任一的請(qǐng)求轉(zhuǎn)發(fā)到存儲(chǔ)服務(wù)器14a、b、c中的任一。管理員已經(jīng)向客戶端40、 41和42的每個(gè)分配了多個(gè)存儲(chǔ)“體(volume)”。每個(gè)“體”駐留在存儲(chǔ)陣列上?!按鎯?chǔ)陣列” 可以包括一個(gè)或者多個(gè)存儲(chǔ)裝置并且配置在多種RAID等級(jí)(諸如RAID5、RAID10)或者僅盤捆綁(Just a Bunch of Disks,通常稱為 JBOD)中。
在圖2圖示的示例性實(shí)施例中,存儲(chǔ)控制器14a(以及同樣的存儲(chǔ)控制器14b和 c)包括CPU 68a和78a、高速緩存66a和76a,NVS 69a和79a的兩個(gè)相同的簇61a和71a, 以及任何數(shù)量的裝置適配器對(duì)(每簇62a-(N) a以及72a-(N) a)。存在分別用于每個(gè)簇61a 和71a的共享高速緩存(半導(dǎo)體)存儲(chǔ)器66a和76a。高速緩存66a和76a每個(gè)分別包含存儲(chǔ)在每個(gè)高速緩存上的軌道的目錄。該目錄包括與每個(gè)軌道關(guān)聯(lián)的任何數(shù)量的目錄條目 (entry)。每個(gè)簇還包含電池備份存儲(chǔ)器69a和79a(也被稱作“NVS”)。在圖2中,“D”表示數(shù)據(jù)盤、“P”表示用于存儲(chǔ)針對(duì)數(shù)據(jù)盤中的數(shù)據(jù)的奇偶校驗(yàn)位的奇偶校驗(yàn)盤,而“S”表示在數(shù)據(jù)盤或者奇偶校驗(yàn)盤故障的情形下的備用盤。每個(gè)簇維護(hù)對(duì)每個(gè)客戶端的存儲(chǔ)分配的映射,所述映射將每個(gè)存儲(chǔ)體與存儲(chǔ)陣列上的對(duì)應(yīng)物理位置相關(guān)。NVS 69a和79a分別經(jīng)由通信鏈路60a和70a與盤6 和7 互連。在某些實(shí)施例中,通信鏈路60a和70a從諸如RS-232或RS-422的串行互連、以太網(wǎng)互連、SCSI互連、 光纖信道互連、ESCON互連、FICON互連、局域網(wǎng)(LAN)、專用廣域網(wǎng)(WAN)、公共廣域網(wǎng)、存儲(chǔ)域網(wǎng)(SAN)、傳輸控制協(xié)議/因特網(wǎng)協(xié)議(TCP/IP)、因特網(wǎng)、以及其組合中選擇。在某些實(shí)施例中,盤6 和7 包括一個(gè)或多個(gè)光學(xué)存儲(chǔ)介質(zhì)、一個(gè)或多個(gè)磁存儲(chǔ)介質(zhì)、一個(gè)或多個(gè)電子存儲(chǔ)介質(zhì)、以及其組合。在某些實(shí)施例中,盤6 和7 在簇61a和 71a的外部。在某些實(shí)施例中,盤65a和75a在簇61a和71a的內(nèi)部。當(dāng)客戶端請(qǐng)求訪問(wèn)存儲(chǔ)時(shí),即讀取分配給該客戶端的體的一個(gè)中的數(shù)據(jù),或者向其寫入數(shù)據(jù)時(shí),那么管理該體的存儲(chǔ)簇將處理該請(qǐng)求,即,暫時(shí)地將客戶端更新存儲(chǔ)到該成對(duì)簇上的高速緩存存儲(chǔ)器、及NVS (如果該請(qǐng)求是寫入)。對(duì)于更新請(qǐng)求,當(dāng)NVS存儲(chǔ)時(shí),I/ 0完成通知發(fā)送給該客戶端。在達(dá)到用于待決寫入的內(nèi)部閾值時(shí),該簇將客戶端請(qǐng)求映射到物理位置,然后將映射的請(qǐng)求從高速緩存存儲(chǔ)轉(zhuǎn)發(fā)到合適的存儲(chǔ)陣列。對(duì)于讀取請(qǐng)求,數(shù)據(jù)或者從高速緩存存儲(chǔ)器得到滿足,或者請(qǐng)求盤訪問(wèn)(因?yàn)椤案咚倬彺驽e(cuò)失”)。對(duì)于讀取請(qǐng)求的高速緩存錯(cuò)失,要求該簇將客戶端請(qǐng)求映射到存儲(chǔ)陣列上的物理位置,并且將數(shù)據(jù)從陣列上的物理位置轉(zhuǎn)移到滿足客戶端I/O請(qǐng)求的高速緩存存儲(chǔ)器。再次參照?qǐng)D2,示出包括操作系統(tǒng)67a和77a的服務(wù)器14a,每個(gè)簇一個(gè)操作系統(tǒng)。 如本領(lǐng)域普通技術(shù)人員將理解的,操作系統(tǒng)67a和77a可以物理地或者虛擬地放置于多種位置。為了說(shuō)明的目的,如所示的,示出了操作系統(tǒng)67a和77a并入到每個(gè)簇。在一個(gè)實(shí)施例中,CPTO8a和78a可以執(zhí)行操作系統(tǒng)67a和77a的部分。如所示的,每個(gè)操作系統(tǒng)67a和 77a包括降級(jí)模塊95a、97a。在一個(gè)實(shí)施例中,降級(jí)模塊%a和97a可以連同操作系統(tǒng)67a 和77a、描繪的CPU、高速緩存存儲(chǔ)器、NVS等一起,操作以實(shí)施本發(fā)明的各個(gè)方面,諸如將進(jìn)一步描述的,執(zhí)行降級(jí)掃描和降級(jí)操作。雖然示出降級(jí)模塊%a和97a并入到操作系統(tǒng)67a 和77a中,但本領(lǐng)域普通技術(shù)人員將理解,降級(jí)模塊%a和97a可以物理地或者邏輯地位于任何地方,仍然保持與描繪的CPU、高速緩存存儲(chǔ)器、NVS等的通信。以下將進(jìn)一步描述降級(jí)模塊9 和97a的附加功能。在本發(fā)明的說(shuō)明實(shí)施例之一中,之前在圖1和2中描繪的分布式計(jì)算環(huán)境和存儲(chǔ)服務(wù)器,例如可以使用各種機(jī)制來(lái)管理高速緩存存儲(chǔ)器、NVS,并且執(zhí)行降級(jí)掃描和降級(jí)操作。一個(gè)機(jī)制根據(jù)基于最近少使用(LRU)的方法學(xué)使軌道降級(jí)(demote),并且維護(hù)每軌道的時(shí)間位。當(dāng)主機(jī)寫軌道時(shí),置位該時(shí)間位。當(dāng)降級(jí)掃描檢查時(shí)間位被置位的軌道時(shí),復(fù)位該時(shí)間位。如果降級(jí)掃描發(fā)現(xiàn)不具有使時(shí)間位置位的軌道的跨步,則可以選擇這些軌道用于降級(jí)。另一機(jī)制根據(jù)空間位置使軌道降級(jí)。使用平衡樹(shù)維護(hù)軌道的分類列表。例如, 查找要降級(jí)軌道的降級(jí)掃描可以按照從最低到最高的軌道位置的順序,來(lái)遍歷(traverse) 該平衡樹(shù)。如之前描述的,“工作集”可以意在指被頻繁地更新的軌道組。當(dāng)前不存在檢測(cè)高速緩存存儲(chǔ)器中的工作集的機(jī)制。結(jié)果,這些軌道可以被降級(jí)多次。優(yōu)選地,工作集不降級(jí),只要它們?cè)趯懭敫咚倬彺嬷斜唤?jīng)常地更新。因此,存在對(duì)于一種識(shí)別工作集并且防止它們被降級(jí)的機(jī)制的需求。如果寫入高速緩存用工作集一部分的軌道填充,則這些軌道通常將使它們的關(guān)聯(lián)時(shí)間位置位。執(zhí)行檢查這些軌道(使關(guān)聯(lián)時(shí)間位被置位)的降級(jí)掃描的當(dāng)前機(jī)制將跳過(guò)這些軌道。結(jié)果,當(dāng)降級(jí)掃描重復(fù)地掃描和跳過(guò)這些軌道時(shí),可以招致浪費(fèi)的 CPU周期。如之前描述的,當(dāng)高速緩存存儲(chǔ)器用這些軌道填充時(shí),存在對(duì)于一種減少或消除 CPU周期浪費(fèi)的機(jī)制的需求。再次,如之前描述的,本發(fā)明的機(jī)制從以每軌道基礎(chǔ)到以跨步基礎(chǔ)改變遍歷的對(duì)象(即,基于跨步而不是軌道維護(hù)軌道的分類列表)。由于需要檢查更少的對(duì)象,所以這減少了 CPU周期的浪費(fèi)。另外,再次如之前描述的,每跨步建立多更新位。該位用于識(shí)別高速緩存中的工作集。最后,如以下將要描述的,如果不在NVS滿的危急情況下,就不使工作集降級(jí)。這些機(jī)制減少了用于降級(jí)掃描花費(fèi)的CPU周期,并且改進(jìn)了關(guān)聯(lián)的存儲(chǔ)控制器的性能。另外,所述機(jī)制防止了工作集降級(jí),改進(jìn)了關(guān)聯(lián)的存儲(chǔ)控制器的數(shù)據(jù)吞吐量。以下,圖3圖示了用于執(zhí)行針對(duì)如之前描述的高速緩存管理和工作集識(shí)別的、并入了本發(fā)明的各個(gè)方面的、對(duì)特定軌道操作的主機(jī)寫入的示例性方法100。方法100通過(guò)定位要寫入的特定軌道所屬的跨步對(duì)象(步驟104),來(lái)開(kāi)始(步驟10 。然后在跨步對(duì)象上置位關(guān)聯(lián)的時(shí)間位(步驟106)。在描繪的實(shí)施例中,如果該軌道識(shí)別為寫入任何域軌道 (IMS WADS)(步驟108),則置位多更新位以指示該軌道處于工作集中(步驟110)。可替換地,檢查該軌道以確定該軌道之前是否已經(jīng)被修改(步驟112)。如果確定該軌道之前已經(jīng)被修改,則計(jì)算當(dāng)前時(shí)間和軌道上次被降級(jí)的時(shí)間之間的時(shí)間增量(步驟114)。如果時(shí)間增量小于預(yù)定值(諸如在一個(gè)示例性實(shí)施例中小于 250ms)(步驟116),則置位多更新位以指示該軌道處于工作集中(步驟118)。然后方法100 結(jié)束(步驟120)。返回步驟112,如果該軌道之前還未被修改,則方法100結(jié)束(再次,步驟120)。返回到步驟116,如果時(shí)間增量不小于預(yù)定值,則方法結(jié)束(再次,步驟120)。以下,圖4圖示了在完成降級(jí)操作之后,將特定軌道的數(shù)據(jù)移動(dòng)到關(guān)聯(lián)的存儲(chǔ)單元的示例性方法130,并且再次并入了本發(fā)明的各個(gè)方面和以下要求保護(hù)的主題。方法130 通過(guò)置位用于關(guān)聯(lián)的軌道的位以指示該軌道之前已經(jīng)被修改(步驟134),來(lái)開(kāi)始(步驟 132)。作為之后的步驟,在軌道控制結(jié)構(gòu)中存儲(chǔ)當(dāng)前時(shí)間以指示該軌道被降級(jí)的時(shí)間(步驟134)。然后方法130結(jié)束(步驟138)。如之前描述的,可以限制關(guān)聯(lián)的降級(jí)掃描的頻率以減少CPU周期的浪費(fèi)。在一個(gè)實(shí)施例中,可以基于掃描可以多快地循環(huán)通過(guò)等級(jí)環(huán)(rank ring),來(lái)限制降級(jí)掃描。當(dāng)從關(guān)聯(lián)的等級(jí)的結(jié)束到開(kāi)始循環(huán)時(shí),可以檢查該度量。如下的,在一個(gè)實(shí)施例中,可以限制對(duì)用于等級(jí)的軌道的修改列表執(zhí)行降級(jí)掃描的頻率。可以建立用于執(zhí)行降級(jí)掃描的一系列的 “緊急”級(jí)別。在一個(gè)實(shí)施例中,可以建立定義為(1)低、(2)中等、(3)高、以及(4)危急的用于降級(jí)掃描的四個(gè)緊急級(jí)別。可以通過(guò)關(guān)聯(lián)的等級(jí)對(duì)NVS的當(dāng)前占用率和所有等級(jí)的總 NVS占用率,來(lái)確定這些緊急級(jí)別?;谇笆龅臑榻导?jí)掃描建立四個(gè)緊急級(jí)別的實(shí)施例考慮以下示例。在本示例中, 當(dāng)NVS當(dāng)前占用率小于全部的50%,并且用于該等級(jí)的NVS占用率是允許用于該等級(jí)的 50%時(shí),緊急級(jí)別可以定義為低。類似地,當(dāng)NVS當(dāng)前占用率在全部的50%和70%之間,或者用于該等級(jí)的NVS占用率是在允許用于該等級(jí)的50%和70%之間時(shí),緊急級(jí)別可以定義為中等。類似地,當(dāng)NVS當(dāng)前占用率在全部的70%和90%之間,或者用于該等級(jí)的NVS占用率在允許用于該等級(jí)的70%和90%之間時(shí),緊急級(jí)別可以定義為高。最后,當(dāng)NVS大于全部的90%,或者用于該等級(jí)的NVS占用率超過(guò)允許用于該等級(jí)的90%時(shí),緊急級(jí)別可以定義為危急。記住前述的定義,在一個(gè)實(shí)施例中,可以根據(jù)當(dāng)前活動(dòng)的特定的緊急級(jí)別,限制用于關(guān)聯(lián)的軌道的修改列表的降級(jí)掃描。例如,當(dāng)緊急級(jí)別為低時(shí),降級(jí)掃描可以限制為10 秒一次,當(dāng)緊急級(jí)別為中等時(shí),為5秒一次,當(dāng)緊急級(jí)別為高時(shí),為1秒一次,而當(dāng)緊急級(jí)別為危急時(shí),不限制。當(dāng)然,本領(lǐng)域普通技術(shù)人員將理解,緊急級(jí)別的定義、用于每個(gè)級(jí)別的統(tǒng)計(jì)要求、以及對(duì)降級(jí)操作執(zhí)行的限制可以根據(jù)具體的實(shí)施和/或應(yīng)用而變化。鑒于上述的,以下圖5是用于執(zhí)行并入本發(fā)明的各個(gè)方面的降級(jí)操作的示例性方法 140 (包括如先前指示的緊急級(jí)別)。方法140通過(guò)按跨步對(duì)象的位置的順序掃描它們的分類列表(步驟144),來(lái)開(kāi)始(142)。遞增到目前為止掃描的跨步的計(jì)數(shù)(步驟146)。如果掃描的跨步數(shù)量小于預(yù)定數(shù)量(步驟14 ,并且定位時(shí)間位和多更新位清除(步驟150)、以及沒(méi)有繁忙的軌道(步驟15 的跨步,則選擇該跨步用于降級(jí)操作(步驟154)。作為之后的步驟,并且可替換地,在步驟148、150和152中,如果不是這種情形,則方法移至步驟156。步驟156查詢到目前為止掃描的跨步數(shù)目是否大于預(yù)定數(shù)目。如果不是這種情形,則方法140移至步驟144以掃描附加跨步。如果是這種情形,則方法140查詢緊急等級(jí)是低還是中等(步驟158)。如果是這樣,則降級(jí)掃描被重新分派給另一線程(步驟160)。 如果不是這樣,則方法140查詢緊急等級(jí)是否是高(步驟162)。如果是這樣,則重新檢查到目前為止掃描的跨步以定位多更新位未置位的第一跨步(步驟164)。選擇識(shí)別的跨步用于降級(jí)操作(步驟166)。返回到步驟162,如果緊急級(jí)別不為高,則方法140查詢緊急等級(jí)是否為危急(步驟168)。如果是這樣,則選擇來(lái)自到目前為止掃描的跨步的第一跨步用于降級(jí)操作(步驟 170),并且方法返回到步驟144以在必要時(shí)掃描附加跨步。如本領(lǐng)域的普通技術(shù)人員將理解的,本發(fā)明的各方面可以體現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各方面可以采用以下的形式完全硬件實(shí)施例、完全軟件實(shí)施例(包括固件、駐留軟件、微代碼等)、或通常可以在此稱為“電路”、“模塊”或“系統(tǒng)”的組合軟件和硬件方面的實(shí)施例。此外,本發(fā)明的各方面可以采用在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中體現(xiàn)的計(jì)算機(jī)程序產(chǎn)品的形式,在該一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)上體現(xiàn)了計(jì)算機(jī)可讀程序代碼。可以利用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是但不限于電子的、磁的、光學(xué)的、電磁的、紅外的或半導(dǎo)體的系統(tǒng)、裝置、或器件,或前述的任何合適的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的示例(非窮舉列表)會(huì)包括以下具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或快閃存儲(chǔ)器)、光纖、便攜式緊湊盤只讀存儲(chǔ)器(CD-ROM)、光學(xué)存儲(chǔ)器件、磁存儲(chǔ)器件,或者前述的任何合適的組合。在本文的語(yǔ)境中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何可以包含或者存儲(chǔ)由指令執(zhí)行系統(tǒng)、裝置或器件使用的、或與指令執(zhí)行系統(tǒng)、裝置或器件有關(guān)的有形的介質(zhì)。計(jì)算機(jī)可讀介質(zhì)上體現(xiàn)的程序代碼可以使用任何適合的介質(zhì)來(lái)傳送,包括但不限于無(wú)線的、有線的、光纜、RF等,或者前述的任何合適的組合。用于執(zhí)行本發(fā)明的各方面的操作的計(jì)算機(jī)程序代碼,可以以一個(gè)或多個(gè)編程語(yǔ)言的任何組合來(lái)編寫,所述編程語(yǔ)言包括面向?qū)ο蟮木幊陶Z(yǔ)言(如Java、Smalltalk、C++等)和常規(guī)的過(guò)程編程語(yǔ)言(如“C”編程語(yǔ)言或類似編程語(yǔ)言)。程序代碼可以完全地在用戶的計(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ī)可以通過(guò)任何類型的網(wǎng)絡(luò)(包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN))連接到用戶的計(jì)算機(jī),或者可以(例如,利用因特網(wǎng)服務(wù)提供商通過(guò)因特網(wǎng))連接到外部計(jì)算機(jī)。已經(jīng)參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程示和/或框圖在上面描述了本發(fā)明的各方面。將理解,流程示和/或框圖中的每個(gè)框、 以及流程示和/或框圖中的各框的組合,可以通過(guò)計(jì)算機(jī)程序指令實(shí)施。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,以產(chǎn)生一種機(jī)器,使得通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令,創(chuàng)建實(shí)施流程圖和/或框圖的一個(gè)或多個(gè)框中規(guī)定的功能/動(dòng)作的裝置(means)。這些計(jì)算機(jī)程序指令還可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,其能指引計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或者其它裝置以特定方式起作用,使得存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生一種包括用于實(shí)施流程圖和/或框圖的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品。計(jì)算機(jī)程序指令還可以加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或者其它裝置上,使得在計(jì)算機(jī)、其它可編程裝置或者其它裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)施的過(guò)程,從而在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令,提供用于實(shí)施在流程圖和/或框圖的一個(gè)或多個(gè)框中規(guī)定的功能/動(dòng)作的過(guò)程。上述附圖中的流程圖和框圖,圖示了根據(jù)本發(fā)明的各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)施的架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)框可以代表模塊、段、或代碼的一部分,所述模塊、段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)施規(guī)定的邏輯功能的可執(zhí)行指令。還應(yīng)該注意,在一些替代實(shí)施中,方框中所標(biāo)注的功能可以以脫離附圖中所標(biāo)注的順序發(fā)生。例如,依據(jù)所涉及的功能,兩個(gè)接連地表示的框?qū)嶋H上可以基本并行地執(zhí)行,或者該框有時(shí)可以按相反的順序執(zhí)行。還將注意,框圖和/或流程示中的每個(gè)框、以及框圖和/或流程示中的框的組合,可以由執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)、或者專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)施。雖然已經(jīng)詳細(xì)說(shuō)明了本發(fā)明的一個(gè)或多個(gè)實(shí)施例,但是本領(lǐng)域普通技術(shù)人員將理解,可以在不脫離如權(quán)利要求中提出的本發(fā)明的范圍的情況下,對(duì)這些實(shí)施例進(jìn)行修改和改編。
9
權(quán)利要求
1.一種用于通過(guò)處理器裝置在跨步基礎(chǔ)上識(shí)別工作數(shù)據(jù)的方法,使用在用于從非易失性存儲(chǔ)器NVS到存儲(chǔ)單元降級(jí)數(shù)據(jù)的計(jì)算存儲(chǔ)環(huán)境中,該方法包括在修改的高速緩存中為每個(gè)跨步建立多更新位,其中該多更新位適于指示工作集中的至少一個(gè)軌道;基于多個(gè)緊急級(jí)別來(lái)配置降級(jí)掃描的調(diào)度;以及基于多更新位是否置位、多個(gè)緊急級(jí)別的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè),來(lái)執(zhí)行降級(jí)操作。
2.根據(jù)權(quán)利要求1所述的方法,其中建立多更新位包括 為軌道的主機(jī)寫入操作,定位所述軌道所屬的跨步對(duì)象,以及如果所述軌道指定為寫入任何域軌道IMS WADS,則置位該多更新位。
3.根據(jù)權(quán)利要求2所述的方法,其中建立多更新位還包括,在主機(jī)寫入上 如果確定該軌道之前被修改過(guò),則計(jì)算自該軌道上次降級(jí)起的時(shí)間增量,以及如果該時(shí)間增量小于預(yù)定值,則置位該多更新位。
4.根據(jù)權(quán)利要求3所述的方法,還包括執(zhí)行至少以下步驟之一 在軌道降級(jí)之后,置位附加位以指示該軌道之前已經(jīng)被修改,以及在軌道控制結(jié)構(gòu)中存儲(chǔ)當(dāng)前時(shí)間,以指示該軌道降級(jí)的時(shí)間。
5.根據(jù)權(quán)利要求1所述的方法,其中基于多個(gè)緊急級(jí)別來(lái)配置降級(jí)掃描的調(diào)度包括 協(xié)調(diào)多個(gè)緊急級(jí)別中的每個(gè),以便對(duì)應(yīng)于一等級(jí)的NVS的當(dāng)前占用率、和NVS中所有等級(jí)的總的可允許NVS占用率中的至少一個(gè)。
6.根據(jù)權(quán)利要求1所述的方法,其中基于多更新位是否置位、多個(gè)緊急級(jí)別中的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè)來(lái)執(zhí)行降級(jí)操作包括,按照降級(jí)掃描之一遞增跨步數(shù)目,以及如果跨步數(shù)目小于預(yù)定數(shù)目,并且定位具有清除的時(shí)間位、清除的多更新位、和不繁忙的軌道的跨步,則選擇該跨步用于降級(jí)操作。
7.根據(jù)權(quán)利要求1所述的方法,其中基于多更新位是否置位、多個(gè)緊急級(jí)別中的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè)、來(lái)執(zhí)行降級(jí)操作包括,按照降級(jí)掃描之一如果跨步的數(shù)目大于預(yù)定數(shù)目,則檢查多個(gè)級(jí)別的緊急級(jí)別,其中如果緊急級(jí)別是較低緊急級(jí)別,則重新分派降級(jí)掃描之一,如果緊急級(jí)別是較高緊急級(jí)別,則選擇目前掃描的多個(gè)跨步中具有清除的多更新位的跨步用于降級(jí)操作,以及如果緊急級(jí)別是危急級(jí)別,則選擇目前掃描的多個(gè)跨步中的第一跨步用于降級(jí)操作。
8.一種用于在跨步基礎(chǔ)上識(shí)別工作數(shù)據(jù)的系統(tǒng),使用在用于從非易失性存儲(chǔ)器NVS到存儲(chǔ)單元降級(jí)數(shù)據(jù)的計(jì)算存儲(chǔ)環(huán)境中,該系統(tǒng)包括所述計(jì)算存儲(chǔ)環(huán)境中可操作的處理器裝置,其中所述處理器裝置適于執(zhí)行以下中的至少一個(gè)在修改的高速緩存中為每個(gè)跨步建立多更新位,其中該多更新位適于指示工作集中的至少一個(gè)軌道;基于多個(gè)緊急級(jí)別來(lái)配置降級(jí)掃描的調(diào)度;以及基于多更新位是否置位、多個(gè)緊急級(jí)別中的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè),來(lái)執(zhí)行降級(jí)操作。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器裝置還適于,按照建立多更新位為軌道的主機(jī)寫入操作,定位所述軌道所屬的跨步對(duì)象,以及如果所述軌道指定為寫入任何域軌道IMS WADS,則置位該多更新位。
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中所述處理器裝置還適于,按照在主機(jī)寫入上建立多更新位如果確定該軌道之前被修改過(guò),則計(jì)算自該軌道上次降級(jí)起的時(shí)間增量,以及如果該時(shí)間增量小于預(yù)定值,則置位多更新位。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中所述處理器裝置還適于執(zhí)行至少以下步驟之在軌道降級(jí)之后,置位附加位以指示該軌道之前已經(jīng)被修改,并且在軌道控制結(jié)構(gòu)中存儲(chǔ)當(dāng)前時(shí)間,以指示該軌道降級(jí)的時(shí)間。
12.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器裝置還適于,按照基于多個(gè)緊急級(jí)別來(lái)配置降級(jí)掃描的調(diào)度,協(xié)調(diào)多個(gè)緊急級(jí)別中的每個(gè),以便對(duì)應(yīng)于一等級(jí)的NVS的當(dāng)前占用率、和NVS中所有等級(jí)的總的可允許NVS占用率中的至少一個(gè)。
13.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器裝置還適于,按照基于多更新位是否置位、多個(gè)緊急級(jí)別的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè)來(lái)執(zhí)行降級(jí)操作包括,按照降級(jí)掃描之一遞增跨步數(shù)目,以及如果跨步數(shù)目小于預(yù)定數(shù)目,并且定位具有清除的時(shí)間位、清除的多更新位、以及不繁忙的軌道的跨步,則選擇該跨步用于降級(jí)操作。
14.根據(jù)權(quán)利要求8所述的系統(tǒng),其中所述處理器裝置還適于,按照基于多更新位是否置位、多個(gè)緊急級(jí)別中的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè)來(lái)執(zhí)行降級(jí)操作包括,按照降級(jí)掃描之一,如果跨步的數(shù)目大于預(yù)定數(shù)目,則檢查多個(gè)級(jí)別的緊急級(jí)別,其中如果緊急級(jí)別是較低緊急級(jí)別,則重新分派降級(jí)掃描之一,如果緊急級(jí)別是較高緊急級(jí)別,則選擇目前掃描的多個(gè)跨步中具有清除的多更新位的跨步用于降級(jí)操作,以及如果緊急級(jí)別是危急級(jí)別,則選擇目前掃描的多個(gè)跨步中的第一跨步用于降級(jí)操作。
全文摘要
公開(kāi)了使用跨步對(duì)象管理寫入高速緩存的方法和系統(tǒng)。在用于從非易失性存儲(chǔ)器(NVS)到存儲(chǔ)單元降級(jí)數(shù)據(jù)的計(jì)算存儲(chǔ)環(huán)境中,提供了通過(guò)處理器裝置在跨步基礎(chǔ)上識(shí)別工作數(shù)據(jù)的方法、系統(tǒng)、以及計(jì)算機(jī)程序產(chǎn)品實(shí)施例。在修改的高速緩存中為每個(gè)跨步建立多更新位。該多更新位適于指示工作集中的至少一個(gè)軌道?;诙鄠€(gè)緊急級(jí)別來(lái)配置降級(jí)掃描的調(diào)度?;诙喔挛皇欠裰梦?、多個(gè)緊急級(jí)別中的危急級(jí)別是否活動(dòng)、以及通過(guò)降級(jí)掃描檢查的跨步數(shù)目的至少一個(gè)來(lái)執(zhí)行降級(jí)操作。
文檔編號(hào)G06F3/06GK102436354SQ201110303340
公開(kāi)日2012年5月2日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2010年9月29日
發(fā)明者B.C.比爾茲利, J.S.海德二世, L.M.古普塔, M.T.本哈斯, S.E.威廉斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司