從盤(pán)的內(nèi)徑和外徑周期性降級(jí)以改善讀響應(yīng)時(shí)間的制作方法
【專(zhuān)利摘要】包括高速緩存(108)的存儲(chǔ)控制器(102)從主機(jī)(104a、104b、...、104n)接收命令,其中必須滿足對(duì)應(yīng)于用于執(zhí)行該命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合(402)。執(zhí)行至少基于使用新近性和軌道的空間位置來(lái)使軌道降級(jí)的降級(jí)應(yīng)用,其中軌道的空間排序被保持在數(shù)據(jù)結(jié)構(gòu)中,并且降級(jí)應(yīng)用遍歷軌道的空間排序(404)。在遍歷軌道的空間排序的同時(shí),軌道以周期性間隔從至少盤(pán)內(nèi)徑或外徑被降級(jí),其中滿足對(duì)應(yīng)于用于執(zhí)行命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合(406)。
【專(zhuān)利說(shuō)明】從盤(pán)的內(nèi)徑和外徑周期性降級(jí)以改善讀響應(yīng)時(shí)間
【技術(shù)領(lǐng)域】
[0001]本公開(kāi)涉及用于從盤(pán)的內(nèi)徑和外徑周期性降級(jí)以改善讀響應(yīng)時(shí)間的方法、系統(tǒng)以及制品。
【背景技術(shù)】
[0002]存儲(chǔ)控制器可以控制可包括盤(pán)、磁帶等的多個(gè)存儲(chǔ)設(shè)備。高速緩存也可由存儲(chǔ)控制器維護(hù),其中,高速緩存可包括與諸如硬盤(pán)、磁帶等某些其他存儲(chǔ)設(shè)備相比可更快速地存取的高速儲(chǔ)存器。然而,高速緩存的存儲(chǔ)容量的總量與由存儲(chǔ)控制器控制的諸如硬盤(pán)等某些其他存儲(chǔ)設(shè)備的存儲(chǔ)容量相比是相對(duì)小的。高速緩存可包括可以以不同方式彼此互操作的隨機(jī)存取存儲(chǔ)器(RAM)、非易失性存儲(chǔ)設(shè)備(NVS)、讀高速緩存、寫(xiě)高速緩存等中的一個(gè)或多個(gè)。NVS可包括電池備份隨機(jī)存取存儲(chǔ)器,并且可允許以高速度執(zhí)行寫(xiě)操作。存儲(chǔ)控制器可管理來(lái)自聯(lián)網(wǎng)主機(jī)的對(duì)多個(gè)存儲(chǔ)設(shè)備的輸入/輸出(I/O)請(qǐng)求。
[0003]由存儲(chǔ)控制器實(shí)現(xiàn)的高速緩存技術(shù)幫助隱藏I/O等待時(shí)間。高速緩存可包括用來(lái)減少?gòu)牡退俅鎯?chǔ)器或設(shè)備讀數(shù)據(jù)或向該低速存儲(chǔ)器或設(shè)備寫(xiě)數(shù)據(jù)所需的有效時(shí)間的高速存儲(chǔ)器或存儲(chǔ)設(shè)備。高速緩存被用于從外部?jī)?chǔ)存器進(jìn)行的快速數(shù)據(jù)存取,以服務(wù)于讀數(shù)據(jù)存取請(qǐng)求,并用以提供對(duì)已修改數(shù)據(jù)的緩存。寫(xiě)請(qǐng)求被寫(xiě)至高速緩存且然后被寫(xiě)(即,降級(jí))至外部存儲(chǔ)設(shè)備。
[0004]引入了用于允許快速寫(xiě)入的NVS。一般地,在不存在NVS的情況下,數(shù)據(jù)寫(xiě)可能必須被同時(shí)直接地寫(xiě)(即,降級(jí))到存儲(chǔ)設(shè)備以確保一致性、正確性以及持續(xù)性。否則,服務(wù)器的故障可造成存儲(chǔ)在高速緩存中的數(shù)據(jù)丟失。一般地,主機(jī)寫(xiě)入的速率超過(guò)存儲(chǔ)設(shè)備的速度,因此在沒(méi)有NVS的情況下,到存儲(chǔ)設(shè)備的數(shù)據(jù)傳輸速率可能是緩慢的。NVS使得能夠?qū)崿F(xiàn)到高速緩存的快速寫(xiě)入,其中,寫(xiě)入被鏡像到并被安全地存儲(chǔ)在NVS中,直至能夠?qū)?xiě)入傳輸?shù)酵獠看鎯?chǔ)設(shè)備為止。數(shù)據(jù)稍后以異步方式從高速緩存被降級(jí)(并從NVS被丟棄),因此隱藏存儲(chǔ)設(shè)備的寫(xiě)等待時(shí)間。高速緩存和NVS通常存儲(chǔ)意圖用于多個(gè)存儲(chǔ)設(shè)備的更新。為了確保用于寫(xiě)入的持續(xù)低等待時(shí)間,可能必須將NVS中的數(shù)據(jù)排空,從而確保始終存在用于即將來(lái)臨的寫(xiě)入的某些空空間;否則,隨后的寫(xiě)入可有效地變成同步的,其可負(fù)面地影響用于主機(jī)寫(xiě)入的響應(yīng)時(shí)間。另一方面,如果寫(xiě)入被過(guò)于激進(jìn)地排空,則寫(xiě)高速緩存的益處可能被完全利用,因?yàn)樗玫腘VS高速緩存的平均量可能是低的。
[0005]可經(jīng)由多種高速緩存管理機(jī)制來(lái)執(zhí)行從輔助儲(chǔ)存器升級(jí)至高速緩存和從高速緩存降級(jí)至輔助儲(chǔ)存器。例如,諸如基于最近最少使用(LRU)機(jī)制的臨時(shí)機(jī)制可基于哪些軌道是最近最少使用(LRU)的而使軌道降級(jí)。軌道的空間排序可由某些高速緩存管理機(jī)制來(lái)執(zhí)行,其中,讀出和寫(xiě)入按照邏輯地址的升序或降序而被存儲(chǔ)在有序列表中,并且該有序列表被遍歷以進(jìn)行降級(jí)。此類(lèi)空間降級(jí)可有利于使一起最接近地位于盤(pán)上的數(shù)據(jù)段降級(jí)。
【發(fā)明內(nèi)容】
[0006]提供了一種方法、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品,其中包括高速緩存的存儲(chǔ)控制器從主機(jī)接收命令,其中必須滿足對(duì)應(yīng)于用于執(zhí)行命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合。執(zhí)行至少基于使用新近性和軌道的空間位置來(lái)使軌道降級(jí)的降級(jí)應(yīng)用,其中軌道的空間排序被保持在數(shù)據(jù)結(jié)構(gòu)中,并且降級(jí)應(yīng)用遍歷軌道的空間排序。在遍歷軌道的空間排序的同時(shí),軌道被以周期性間隔從至少盤(pán)內(nèi)徑或外徑降級(jí),其中滿足對(duì)應(yīng)于用于執(zhí)行命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)
口 O
[0007]在其他實(shí)施方式中,通過(guò)以周期性間隔使軌道從盤(pán)的內(nèi)徑和外徑降級(jí),通過(guò)違背空間排序來(lái)服務(wù)于相對(duì)遠(yuǎn)離磁頭的當(dāng)前位置的讀軌道。
[0008]在其他實(shí)施方式中,標(biāo)準(zhǔn)集合指定:平均讀響應(yīng)時(shí)間將小于第一閾值,并且將在小于第二閾值的時(shí)間內(nèi)執(zhí)行預(yù)定百分比的讀取。
[0009]在附加實(shí)施方式中,將定時(shí)器設(shè)置成預(yù)定時(shí)間間隔并將降級(jí)計(jì)數(shù)器設(shè)置成零。在遍歷包括數(shù)據(jù)結(jié)構(gòu)的軌道的分類(lèi)二叉樹(shù)的同時(shí)拾取光標(biāo)位置處的軌道以用于降級(jí)。響應(yīng)于確定定時(shí)器已到期,并且響應(yīng)于確定降級(jí)計(jì)數(shù)器是零,找到在分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道,在不改變光標(biāo)位置的情況下,并將第一軌道而不是光標(biāo)位置處的軌道降級(jí)。
[0010]將降級(jí)計(jì)數(shù)器遞增至一,并且降級(jí)應(yīng)用繼續(xù)拾取軌道以從光標(biāo)開(kāi)始執(zhí)行降級(jí)。
[0011]在附加實(shí)施方式中,響應(yīng)于確定定時(shí)器已到期,并且響應(yīng)于確定降級(jí)計(jì)數(shù)器不是零,找到在分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道,在不改變光標(biāo)位置的情況下,將該最后軌道而不是光標(biāo)位置處的軌道降級(jí)。將降級(jí)計(jì)數(shù)器設(shè)置成零并將定時(shí)器設(shè)置成預(yù)定時(shí)間間隔。降級(jí)應(yīng)用繼續(xù)拾取軌道以從光標(biāo)位置開(kāi)始執(zhí)行降級(jí)。
[0012]在某些實(shí)施方式中,周期性間隔是固定預(yù)定時(shí)間段,其中通過(guò)仿真對(duì)應(yīng)于存儲(chǔ)控制器處的來(lái)自嚴(yán)格讀要求應(yīng)用的至少讀請(qǐng)求的工作負(fù)荷來(lái)確定固定預(yù)定時(shí)間段。
【專(zhuān)利附圖】
【附圖說(shuō)明】
[0013]現(xiàn)在將僅以示例的方式并參考附圖來(lái)描述本發(fā)明的優(yōu)選實(shí)施方式,在所述附圖中:
[0014]圖1圖示出根據(jù)某些實(shí)施方式的包括被耦合到多個(gè)主機(jī)和多個(gè)存儲(chǔ)設(shè)備的存儲(chǔ)控制器的計(jì)算環(huán)境的框圖;
[0015]圖2圖示出示出了根據(jù)某些實(shí)施方式的對(duì)讀響應(yīng)時(shí)間的示例性要求的框圖;
[0016]圖3圖示出示出了根據(jù)某些實(shí)施方式的用于在遍歷按照分類(lèi)空間順序來(lái)存儲(chǔ)軌道的數(shù)據(jù)結(jié)構(gòu)的同時(shí)、從盤(pán)的內(nèi)徑和外徑執(zhí)行周期性降級(jí)的第一操作的流程圖;
[0017]圖4圖示出示出了根據(jù)某些實(shí)施方式的用于在遍歷按照分類(lèi)空間順序來(lái)存儲(chǔ)軌道的數(shù)據(jù)結(jié)構(gòu)的同時(shí)從盤(pán)的內(nèi)徑和/或外徑執(zhí)行周期性降級(jí)的第二操作的流程圖;以及
[0018]圖5圖示出示出了根據(jù)某些實(shí)施方式的可包括在圖1的存儲(chǔ)控制器中的某些元件的計(jì)算系統(tǒng)的框圖。
【具體實(shí)施方式】
[0019]在以下說(shuō)明書(shū)中,對(duì)構(gòu)成說(shuō)明書(shū)一部分的附圖并圖示出多個(gè)實(shí)施方式的附圖進(jìn)行參考。應(yīng)理解的是可利用其他實(shí)施方式,并且可進(jìn)行結(jié)構(gòu)和操作變更。
[0020]基于空間局部性(locality)的降級(jí)和讀響應(yīng)時(shí)間要求
[0021]智能高速緩存寫(xiě)(IWC)是稱(chēng)為CLOCK和CSCAN的兩個(gè)其他高速緩存管理機(jī)制的混合。CLOCK是基于最近最少使用(LRU)的機(jī)制,其基于哪些軌道是LRU或最近最少使用的來(lái)使軌道降級(jí)。為了模擬(emulate) CLOCK性質(zhì),IWC保持每個(gè)軌道的時(shí)間位。該時(shí)間位在主機(jī)對(duì)軌道進(jìn)行寫(xiě)入時(shí)被設(shè)定。時(shí)間位在降級(jí)掃描遇到具有被設(shè)定的時(shí)間位的軌道時(shí)被重置。如果降級(jí)掃描發(fā)現(xiàn)不具有被設(shè)定的時(shí)間位的軌道的步幅,則降級(jí)掃描能夠選擇該步幅以用于降級(jí)。CSCAN基于空間位置使軌道降級(jí)。為了模擬CSCAN性質(zhì),IWC使用平衡樹(shù)來(lái)保持軌道的分類(lèi)列表。尋找要降級(jí)的軌道的降級(jí)掃描可按照從最低至最高的軌道位置順序來(lái)遍歷平衡樹(shù)。
[0022]諸如任務(wù)關(guān)鍵性應(yīng)用、實(shí)時(shí)應(yīng)用或醫(yī)學(xué)領(lǐng)域中的某些應(yīng)用之類(lèi)的一些應(yīng)用可對(duì)讀響應(yīng)時(shí)間具有嚴(yán)格要求。此類(lèi)應(yīng)用可稱(chēng)為嚴(yán)格讀要求應(yīng)用。例如,在某些應(yīng)用中,平均讀響應(yīng)時(shí)間必須小于15毫秒,讀取的99.99%必須在小于600毫秒內(nèi)完成,讀取的99.9%必須在小于200毫秒內(nèi)完成,并且讀取的99%必須在小于60毫秒內(nèi)完成。例如,在每10000次讀取中,至少9900次讀取中的每一個(gè)必須在小于60毫秒內(nèi)完成,至少9990次讀取中的每一個(gè)必須在小于200毫秒內(nèi)完成,并且至少9999次讀取中的每一個(gè)必須在小于600毫秒內(nèi)完成,其中,每次讀取的平均時(shí)間應(yīng)小于15毫秒。換言之,10000次讀取之中的不超過(guò)一次讀取可以花費(fèi)600毫秒或更多的時(shí)間,10000之中的不超過(guò)10次讀取可以花費(fèi)200毫秒或更多的時(shí)間,并且10000之中的不超過(guò)100次讀取可以花費(fèi)60毫秒或更多的時(shí)間。
[0023]在某些情況下,通過(guò)使用IWC,按照空間順序來(lái)執(zhí)行降級(jí),并且讀取性能可能受損。當(dāng)IWC按照數(shù)據(jù)位置的分類(lèi)順序降級(jí)時(shí),可存在遍及所有設(shè)備的設(shè)備上讀取。盤(pán)驅(qū)動(dòng)器能夠忽視該讀取以便避免對(duì)服務(wù)于遠(yuǎn)離磁頭的讀取的長(zhǎng)期尋求??纱嬖诰哂?00毫秒的示例性默認(rèn)值的CAL(命令老化極限)定時(shí)器。當(dāng)CAL定時(shí)器到期時(shí),盤(pán)驅(qū)動(dòng)器被迫服務(wù)于尚未達(dá)到大于CAL定時(shí)器的默認(rèn)值的持續(xù)時(shí)間的讀請(qǐng)求。嚴(yán)格讀要求應(yīng)用可發(fā)現(xiàn)500毫秒的讀服務(wù)時(shí)間對(duì)于它們而言過(guò)高。
[0024]在某些實(shí)施方 式中,應(yīng)用增強(qiáng)的IWC高速緩存管理機(jī)制。在增強(qiáng)的IWC高速緩存管理機(jī)制中,通過(guò)遍歷軌道的分類(lèi)空間有序列表來(lái)執(zhí)行降級(jí)。然而,在從軌道的分類(lèi)空間有序列表執(zhí)行降級(jí)的同時(shí),增強(qiáng)的IWC高速緩存管理機(jī)制時(shí)常執(zhí)行盤(pán)驅(qū)動(dòng)器的ID(內(nèi)徑)處的一個(gè)降級(jí)和/或OD (外徑)處的一個(gè)降級(jí)。這迫使盤(pán)驅(qū)動(dòng)器服務(wù)于遠(yuǎn)離磁頭的當(dāng)前位置的命令。結(jié)果,能夠服務(wù)于遠(yuǎn)離降級(jí)位置的讀取,從而滿足嚴(yán)格讀要求應(yīng)用的讀要求。
[0025]圖1圖示根據(jù)某些實(shí)施方式的包括被耦合到多個(gè)主機(jī)104a、104b、...、104n以及多個(gè)存儲(chǔ)設(shè)備106的存儲(chǔ)控制器102的計(jì)算環(huán)境100的框圖。與包括在存儲(chǔ)控制器102中的高速緩存108相反,多個(gè)存儲(chǔ)設(shè)備106可稱(chēng)為輔助存儲(chǔ)設(shè)備。
[0026]存儲(chǔ)控制器102和主機(jī)104a...104η可包括任何適當(dāng)?shù)挠?jì)算設(shè)備,包括目前在本領(lǐng)域中已知的那些,諸如個(gè)人計(jì)算機(jī)、工作站、服務(wù)器、主機(jī)、手持式計(jì)算機(jī)、掌上計(jì)算機(jī)、電話服務(wù)、網(wǎng)絡(luò)設(shè)備、刀片計(jì)算機(jī)、服務(wù)器等。存儲(chǔ)控制器102、主機(jī)104a...104η以及多個(gè)存儲(chǔ)設(shè)備106可通過(guò)網(wǎng)絡(luò)進(jìn)行通信,該網(wǎng)絡(luò)諸如因特網(wǎng)、存儲(chǔ)區(qū)域網(wǎng)、廣域網(wǎng)、局域網(wǎng)等。
[0027]多個(gè)存儲(chǔ)設(shè)備106可包括本領(lǐng)域中已知的任何適當(dāng)存儲(chǔ)設(shè)備,諸如物理硬盤(pán)、固態(tài)磁盤(pán)等。存儲(chǔ)設(shè)備106被配置成卷。在某些實(shí)施方式中,存儲(chǔ)設(shè)備106可以是被配置為獨(dú)立磁盤(pán)冗余陣列(RAID)等級(jí)的磁盤(pán)。在圖1中,示出了多個(gè)RAID等級(jí)IlOa…110m。
[0028]高速緩存108可包括不同類(lèi)型的存儲(chǔ)器中的一個(gè)或多個(gè),諸如RAM、寫(xiě)高速緩存、讀高速緩存、NVS等。包括高速緩存的不同類(lèi)型的存儲(chǔ)器可彼此互操作。來(lái)自主機(jī)104a...104n的寫(xiě)入最初可被寫(xiě)到高速緩存108,并且稍后降級(jí)到存儲(chǔ)設(shè)備106。如果相應(yīng)信息在高速緩存108中可用,則可從高速緩存108滿足來(lái)自主機(jī)104a...104η的讀請(qǐng)求,否則將信息從存儲(chǔ)設(shè)備106升級(jí)到高速緩存108,并且然后提供給主機(jī)104a...104η。
[0029]存儲(chǔ)控制器102執(zhí)行也稱(chēng)為增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用的降級(jí)應(yīng)用114。增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114保持按照軌道在盤(pán)上的發(fā)生的空間順序布置的軌道116的分類(lèi)二叉樹(shù)。增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114還保持到分類(lèi)二叉樹(shù)116的光標(biāo)118,其中,光標(biāo)118在遍歷分類(lèi)二叉樹(shù)116的同時(shí)示出要降級(jí)的軌道的位置。
[0030]降級(jí)應(yīng)用114進(jìn)一步保持也稱(chēng)為定時(shí)器或IDOD定時(shí)器的內(nèi)徑(ID)外徑(OD)定時(shí)器120。最初可將定時(shí)器120設(shè)置成預(yù)定持續(xù)時(shí)間,諸如10毫秒。降級(jí)應(yīng)用114還保持稱(chēng)為降級(jí)計(jì)數(shù)器或IDOD降級(jí)計(jì)數(shù)器的計(jì)數(shù)器122。
[0031]在某些實(shí)施方式中,增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114遍歷軌道的分類(lèi)二叉樹(shù)116以執(zhí)行降級(jí),使得滿足用于某些示例性應(yīng)用的讀要求標(biāo)準(zhǔn)集合124(例如,示例性主機(jī)104a中所示的嚴(yán)格讀要求應(yīng)用126)。
[0032]在某些實(shí)施方式中,具有讀響應(yīng)時(shí)間要求124的嚴(yán)格讀要求應(yīng)用126可從主機(jī)104a向存儲(chǔ)控制器102發(fā)送命令。該命令可包括讀或?qū)懻?qǐng)求或某個(gè)其他命令。通過(guò)遍歷軌道的分類(lèi)二叉樹(shù)116,增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114處理該命令以至少滿足讀要求標(biāo)準(zhǔn)集合124所指示的標(biāo)準(zhǔn)。
[0033]圖2圖示出示出了根據(jù)某些實(shí)施方式的對(duì)用于示例性嚴(yán)格讀要求應(yīng)用126的讀響應(yīng)時(shí)間202的示例性要求的框圖200。
[0034]在某些實(shí)施方式中,讀響應(yīng)時(shí)間的示例性要求可如下:
[0035]I)平均讀響應(yīng)時(shí)間將小于15.0毫秒(經(jīng)由附圖標(biāo)記204示出);
[0036]2)四個(gè)九要求:99.99%的讀取將在600毫秒(經(jīng)由附圖標(biāo)記206示出)內(nèi)的時(shí)間內(nèi)完成;
[0037]3)三個(gè)九要求:99.9%的讀取將在200毫秒內(nèi)(經(jīng)由附圖標(biāo)記208示出)的時(shí)間內(nèi)完成;以及
[0038]4)兩個(gè)九要求:99%的讀取將在60毫秒內(nèi)(經(jīng)由附圖標(biāo)記210示出)的時(shí)間內(nèi)完成。
[0039]在某些實(shí)施方式中,如果用于讀取的等待時(shí)間大于500毫秒,則即使不存在任何待決寫(xiě)入,也執(zhí)行讀取。500毫秒時(shí)間是命令老化極限(CAL)時(shí)間。在此類(lèi)實(shí)施方式中,四個(gè)九要求可容易滿足,但是三個(gè)九要求和兩個(gè)九要求可能難以滿足,除非在使在分類(lèi)二叉樹(shù)116中指示的軌道降級(jí)的同時(shí),為遠(yuǎn)離盤(pán)驅(qū)動(dòng)的磁頭位置的待決讀取提供優(yōu)于待決降級(jí)(即,從高速緩存到盤(pán)的寫(xiě)入)的某些附加優(yōu)先權(quán)。
[0040]圖3圖示出示出了根據(jù)某些實(shí)施方式的用于在遍歷按照分類(lèi)空間順序來(lái)存儲(chǔ)軌道的數(shù)據(jù)結(jié)構(gòu)116的同時(shí)從盤(pán)的內(nèi)徑和外徑執(zhí)行周期性降級(jí)的第一操作的流程圖300。圖3中所示的操作可由在存儲(chǔ)控制器102中實(shí)現(xiàn)的增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114來(lái)執(zhí)行。
[0041]控制在其中將定時(shí)器120 (例如,IDOD定時(shí)器)設(shè)置成預(yù)定時(shí)間間隔(例如,10毫秒)的方框302處開(kāi)始,并且然后控制前進(jìn)至其中將降級(jí)計(jì)數(shù)器122 (例如,IDOD降級(jí)計(jì)數(shù)器)設(shè)置成零的方框304。
[0042]控制前進(jìn)至其中增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114開(kāi)始遍歷軌道的分類(lèi)二叉樹(shù)116(即掃描)的方框306。增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114在遍歷分類(lèi)二叉樹(shù)116的同時(shí)確定(在方框308處)光標(biāo)位置處的軌道是否已被拾取。如果是這樣,則進(jìn)行(在方框310處)關(guān)于定時(shí)器120是否已到期(即,已超過(guò)預(yù)定時(shí)間間隔)的確定。如果定時(shí)器120已到期,則進(jìn)行(在方框312處)關(guān)于降級(jí)計(jì)數(shù)器122是否是零的確定。
[0043]如果在方框312處,確定降級(jí)計(jì)數(shù)器122是零(來(lái)自方框312的“是”分支),則在不改變光標(biāo)位置的情況下,找到在分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道(在方框314處)并將其而不是光標(biāo)位置處的軌道降級(jí)(在方框316處)。結(jié)果,下一組降級(jí)將再次地從光標(biāo)位置開(kāi)始。將降級(jí)計(jì)數(shù)器122遞增(在方框318處)至一??刂品祷氐椒娇?06,并且增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114繼續(xù)拾取軌道以從光標(biāo)開(kāi)始執(zhí)行降級(jí)。
[0044]如果在方框312處,確定降級(jí)計(jì)數(shù)器122不是零(來(lái)自方框312的“否”分支),則在不改變光標(biāo)位置的情況下,找到在分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道(在方框320處)并將其而不是光標(biāo)位置處的軌道降級(jí)(在方框322處)。結(jié)果,下一組降級(jí)將再次地從光標(biāo)位置開(kāi)始。將降級(jí)計(jì)數(shù)器122設(shè)置(在方框324處)成零,并將定時(shí)器120設(shè)置(在方框326處)成預(yù)定時(shí)間間隔??刂品祷氐椒娇?06,并且增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114繼續(xù)拾取軌道以從光標(biāo)開(kāi)始執(zhí)行降級(jí)。當(dāng)后面是“否”分支時(shí),控制也從方框308和310返回到方框306。
[0045]因此,圖4圖示出改善對(duì)讀取的響應(yīng)時(shí)間的某些實(shí)施方式,其通過(guò)使用定時(shí)器120和降級(jí)計(jì)數(shù)器122、增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114,通過(guò)在遍歷空間排序軌道的分類(lèi)二叉樹(shù)116的同時(shí)周期性地移動(dòng)磁頭以用于從盤(pán)的內(nèi)徑和/或外徑降級(jí)來(lái)實(shí)現(xiàn)。讀響應(yīng)時(shí)間的增加至少足夠用于滿足讀要求標(biāo)準(zhǔn)集合124。如果讀響應(yīng)時(shí)間不足以滿足讀要求標(biāo)準(zhǔn)集合124,則可將定時(shí)器120設(shè)置成較低預(yù)定值,并且可以較小的時(shí)間間隔來(lái)執(zhí)行從內(nèi)徑和外徑的降級(jí)。在某些實(shí)施方式中,可執(zhí)行工作負(fù)荷模擬以確定定時(shí)器120的什么預(yù)定值足以用于滿足由讀要求標(biāo)準(zhǔn)124提供的讀響應(yīng)時(shí)間。
[0046]應(yīng)注意的是在某些實(shí)施方式中,分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道可對(duì)應(yīng)于盤(pán)的內(nèi)徑處的軌道或接近于盤(pán)內(nèi)徑的某個(gè)軌道,并且分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道可對(duì)應(yīng)于盤(pán)的外徑處的軌道或接近于盤(pán)的外徑的某個(gè)軌道。在替換實(shí)施方式中,分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道可對(duì)應(yīng)于盤(pán)的外徑處的軌道或接近于盤(pán)外徑的某個(gè)軌道,并且分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道可對(duì)應(yīng)于盤(pán)的內(nèi)徑處的軌道或接近于盤(pán)的內(nèi)徑的某個(gè)軌道。在分類(lèi)二叉樹(shù)中,存在于盤(pán)的內(nèi)徑和外徑內(nèi)的軌道是空間排序的。在替換實(shí)施方式中,除分類(lèi)二叉樹(shù)之外的其他數(shù)據(jù)結(jié)構(gòu)可表示軌道的排序。
[0047]圖4圖示出示出了根據(jù)某些實(shí)施方式的用于在遍歷按照分類(lèi)空間順序來(lái)存儲(chǔ)軌道的數(shù)據(jù)結(jié)構(gòu)的同時(shí)從盤(pán)的內(nèi)徑和/或外徑執(zhí)行周期性降級(jí)的第二操作的流程圖400。圖4中所示的操作可由在存儲(chǔ)控制器102中實(shí)現(xiàn)的增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114來(lái)執(zhí)行。
[0048]控制開(kāi)始于在其中包括高速緩存108的存儲(chǔ)控制器102從主機(jī)104a接收命令的方框402,其中,必須滿足對(duì)應(yīng)于用于執(zhí)行命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合124。執(zhí)行至少基于使用的新近性(recency)和軌道的空間位置來(lái)使軌道降級(jí)的降級(jí)應(yīng)用114(在方框440處),其中,軌道的空間排序被保持在數(shù)據(jù)結(jié)構(gòu)116中,并且降級(jí)應(yīng)用114遍歷軌道的空間排序。在某些實(shí)施方式中,降級(jí)應(yīng)用114是增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用。
[0049]控制前進(jìn)至方框406,其中在遍歷軌道的空間排序的同時(shí),軌道以周期性間隔從至少盤(pán)內(nèi)徑和/或外徑被降級(jí),其中,滿足對(duì)應(yīng)于用于執(zhí)行命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合124。在某些實(shí)施方式中,通過(guò)以周期性間隔使軌道從盤(pán)的內(nèi)徑和/或外徑降級(jí),通過(guò)違背空間排序來(lái)服務(wù)于相對(duì)遠(yuǎn)離磁頭的當(dāng)前位置的讀軌道。
[0050]因此,圖1-4圖示出其中增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用114增強(qiáng)的作為CLOCK和CSCAN降級(jí)機(jī)制的混合的智能寫(xiě)高速緩存應(yīng)用的某些實(shí)施方式。通過(guò)違背來(lái)自空間分類(lèi)列表的將被降級(jí)的當(dāng)前軌道,增強(qiáng)的智能寫(xiě)高速緩存應(yīng)用在遍歷用于降級(jí)的軌道的空間分類(lèi)列表的同時(shí),周期性地使軌道從盤(pán)的內(nèi)徑和/或外徑降級(jí)。結(jié)果,相比于其中不從盤(pán)的內(nèi)徑和/或外徑執(zhí)行處在預(yù)定時(shí)間間隔的周期性降級(jí),可用更快的響應(yīng)時(shí)間來(lái)執(zhí)行讀取。
[0051]可使用標(biāo)準(zhǔn)編程和/或工程技術(shù)將所述操作實(shí)現(xiàn)為方法、裝置或計(jì)算機(jī)程序產(chǎn)品以產(chǎn)生軟件、固件、硬件或其任何組合。相應(yīng)地,實(shí)施方式的各方面可采取全硬件實(shí)施方式、全軟件實(shí)施方式(包括固件、常駐軟件、微代碼等)或?qū)④浖陀布矫娼M合的實(shí)施方式的形式,所述硬件方面在本文中一般地可稱(chēng)為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施方式中,實(shí)施方式的各方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0052]可以利用一個(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ī)盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與其結(jié)合使用。
[0053]計(jì)算機(jī)可讀信號(hào)介質(zhì)可以包括具有在其中體現(xiàn)(例如在基帶中或作為載波的一部分)的計(jì)算機(jī)可讀程序代碼的傳播數(shù)據(jù)信號(hào)。此類(lèi)傳播信號(hào)可以采取多種形式中的任何一個(gè),包括但不限于電磁、光或其任意適當(dāng)?shù)慕M合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與其結(jié)合使用的程序。
[0054]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0055]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言-諸如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言-諸如“C”語(yǔ)言或類(lèi)似的程序設(shè)計(jì)語(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ī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)——連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0056]下面將參照根據(jù)本發(fā)明實(shí)施方式的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述了本發(fā)明的各方面。將理解的是可以由計(jì)算機(jī)程序指令來(lái)實(shí)現(xiàn)流程圖和/或方框圖的每個(gè)方框以及流程圖和/或方框圖中的方框的組合。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0057]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令使得計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,從而,存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令就產(chǎn)生出包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品(article of manufacture)。
[0058]也可以把計(jì)算機(jī)程序指令加載到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置、或其他設(shè)備上,使得在計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,從而使得在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令能夠提供實(shí)現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的過(guò)程。
[0059]圖5圖示出示出了根據(jù)某些實(shí)施方式的可包括在存儲(chǔ)控制器102或主機(jī)104a...104η中的某些元件的框圖。系統(tǒng)500可包括存儲(chǔ)控制器102或主機(jī)104a...104η,并且可包括電路502,其在某些實(shí)施方式中可包括至少處理器504。系統(tǒng)500還可包括存儲(chǔ)器506 (例如,易失性存儲(chǔ)設(shè)備)和儲(chǔ)存器508。儲(chǔ)存器508可包括非易失性存儲(chǔ)設(shè)備(例如,EEPROM, ROM、PROM、RAM、DRAM、SRAM、閃存、固件、可編程序邏輯等)、盤(pán)驅(qū)動(dòng)、光盤(pán)驅(qū)動(dòng)、磁帶驅(qū)動(dòng)等。儲(chǔ)存器508可包括內(nèi)部存儲(chǔ)設(shè)備、附接存儲(chǔ)設(shè)備和/或網(wǎng)絡(luò)可訪問(wèn)存儲(chǔ)設(shè)備。系統(tǒng)500可包括程序邏輯510,其包括可加載到存儲(chǔ)器506中且可由處理器504或電路502執(zhí)行的代碼512。在某些實(shí)施方式中,可將包括代碼512的程序邏輯510存儲(chǔ)在儲(chǔ)存器508中。在某些其他實(shí)施方式中,可在電路502中實(shí)現(xiàn)程序邏輯510。因此,雖然圖5與其他元件分開(kāi)地示出了程序邏輯510,但可在存儲(chǔ)器506和/或電路502中實(shí)現(xiàn)程序邏輯510。
[0060]某些實(shí)施方式可針對(duì)用于由人或自動(dòng)化處理集成計(jì)算機(jī)可讀代碼來(lái)將計(jì)算指令部署到計(jì)算系統(tǒng)中的方法,其中,使得與計(jì)算系統(tǒng)組合的代碼能夠執(zhí)行所述實(shí)施方式的操作。
[0061]除非另外明確地指明,術(shù)語(yǔ)“一實(shí)施方式”、“實(shí)施方式”、“多個(gè)實(shí)施方式”、“該實(shí)施方式”、“一個(gè)或多個(gè)實(shí)施方式”、“某些實(shí)施方式”以及“一個(gè)實(shí)施方式”意指“本發(fā)明的一個(gè)或多個(gè)(但并非全部)實(shí)施方式”。
[0062]除非另外明確地指定,術(shù)語(yǔ)“包括”、“包含”、“具有”及其變體意指“包括但不限于”。
[0063]項(xiàng)目的枚舉列表并不意味著任何或所有項(xiàng)目是相互排他性的,除非另外明確地指明。
[0064]術(shù)語(yǔ)“一”、“一個(gè)”和“該”意指“一個(gè)或多個(gè)”,除非另外明確地指明。
[0065]除非另外明確地指明,相互通信的設(shè)備不需要連續(xù)地相互通信。另外,相互通信的設(shè)備可以通過(guò)一個(gè)或多個(gè)中介來(lái)直接地或間接地進(jìn)行通信。
[0066]具有相互通信的多個(gè)部件的實(shí)施方式的描述并不意味著要求所有此類(lèi)部件。相反,描述多種可選部件是為了舉例說(shuō)明本發(fā)明的可能實(shí)施方式的寬泛種類(lèi)而描述的。
[0067]此外,雖然可以按照相繼順序來(lái)描述過(guò)程步驟、方法步驟、算法等,但此類(lèi)過(guò)程、方法和算法可以被配置成按照備選順序來(lái)工作。換言之,可以描述的步驟的任何序列或順序不一定指示按照該順序來(lái)執(zhí)行步驟的要求。可以按照任何實(shí)際的順序來(lái)執(zhí)行本文所述的過(guò)程步驟。此外,可以同時(shí)地執(zhí)行某些步驟。
[0068]當(dāng)在本文中描述單個(gè)設(shè)備/物品(無(wú)論其是否合作)時(shí),將很容易顯而易見(jiàn)的是可以使用不止一個(gè)設(shè)備或物品來(lái)代替單個(gè)設(shè)備/物品。同樣地,在本文中描述超過(guò)一個(gè)設(shè)備或物品(無(wú)論其是否合作)的情況下,將顯而易見(jiàn)的是可使用單個(gè)設(shè)備/物品來(lái)代替超過(guò)一個(gè)設(shè)備或物品,或者可使用不同數(shù)目的設(shè)備/物品而不是所示數(shù)目的設(shè)備或程序??梢蕴鎿Q地用一個(gè)或多個(gè)其他設(shè)備來(lái)體現(xiàn)設(shè)備的功能和/或特征,其未被明確地描述為具有此類(lèi)功能/特征。因此,本發(fā)明的其他實(shí)施方式不需要包括設(shè)備本身。
[0069]在圖中可能已舉例說(shuō)明的至少某些操作示出了按照某個(gè)順序發(fā)生的某些事件。在替換實(shí)施方式中,某些操作可按照不同順序執(zhí)行、修改或去除。此外,可向上述邏輯添加步驟且其仍符合所述實(shí)施方式。此外,本文所述的操作可順序地發(fā)生,或者可并行地執(zhí)行某些操作。此外,可由單個(gè)處理單元或由分布式處理單元來(lái)執(zhí)行操作。
[0070]本發(fā)明的各種實(shí)施方式的先前描述是出于舉例說(shuō)明和描述的目的提出的。鑒于上述教導(dǎo),可以有許多修改和變更。
[0071]_
[0072]*Java是Oracle和/或其分支機(jī)構(gòu)的商標(biāo)或注冊(cè)商標(biāo)。
【權(quán)利要求】
1.一種方法,包括: 由包 括高速緩存的存儲(chǔ)控制器從主機(jī)接收命令,其中必須滿足對(duì)應(yīng)于用于執(zhí)行所述命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合; 執(zhí)行至少基于使用新近性和軌道的空間位置來(lái)使所述軌道降級(jí)的降級(jí)應(yīng)用,其中所述軌道的空間排序被保持在數(shù)據(jù)結(jié)構(gòu)中,并且所述降級(jí)應(yīng)用遍歷所述軌道的所述空間排序;以及 在遍歷所述軌道的所述空間排序的同時(shí),以周期性間隔使軌道從至少盤(pán)的內(nèi)徑或外徑降級(jí),其中滿足對(duì)應(yīng)于用于執(zhí)行所述命令的所述讀響應(yīng)時(shí)間的所述標(biāo)準(zhǔn)集合。
2.根據(jù)權(quán)利要求1所述的方法,其中通過(guò)以周期性間隔使軌道從盤(pán)的所述內(nèi)徑和所述外徑降級(jí),通過(guò)違背所述空間排序來(lái)服務(wù)于相對(duì)遠(yuǎn)離磁頭的當(dāng)前位置的讀軌道。
3.根據(jù)權(quán)利要求1所述的方法,其中所述標(biāo)準(zhǔn)集合指定: 平均讀響應(yīng)時(shí)間將小于第一閾值;以及 預(yù)定百分比的讀取將在小于第二閾值的時(shí)間內(nèi)執(zhí)行。
4.根據(jù)權(quán)利要求1所述的方法,所述方法還包括: 將定時(shí)器設(shè)置成預(yù)定時(shí)間間隔并將降級(jí)計(jì)數(shù)器設(shè)置成零; 在遍歷包括所述數(shù)據(jù)結(jié)構(gòu)的軌道的分類(lèi)二叉樹(shù)的同時(shí),拾取光標(biāo)位置處的軌道以進(jìn)行降級(jí);以及 響應(yīng)于確定所述定時(shí)器已到期并且響應(yīng)于確定所述降級(jí)計(jì)數(shù)器是零,執(zhí)行: 找到在所述分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道; 在不改變所述光標(biāo)位置的情況下,將所述第一軌道而不是所述光標(biāo)位置處的軌道降級(jí); 將所述降級(jí)計(jì)數(shù)器遞增至一;以及 繼續(xù)拾取軌道以從所述光標(biāo)位置處執(zhí)行降級(jí)。
5.根據(jù)權(quán)利要求4所述的方法,所述方法還包括: 響應(yīng)于確定所述定時(shí)器已到期并且響應(yīng)于確定所述降級(jí)計(jì)數(shù)器不是零,執(zhí)行: 找到在所述分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道; 在不改變所述光標(biāo)位置的情況下,將所述最后軌道而不是所述光標(biāo)位置處的軌道降級(jí); 將所述降級(jí)計(jì)數(shù)器設(shè)置成零; 將所述定時(shí)器設(shè)置成所述預(yù)定時(shí)間間隔;以及 繼續(xù)拾取軌道以從所述光標(biāo)位置處執(zhí)行降級(jí)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述周期性間隔是固定的預(yù)定時(shí)間段,其中所述固定的預(yù)定時(shí)間段是通過(guò)仿真對(duì)應(yīng)于從嚴(yán)格讀要求應(yīng)用到達(dá)所述存儲(chǔ)控制器處的至少讀請(qǐng)求的工作負(fù)荷而確定的。
7.一種系統(tǒng),包括: 存儲(chǔ)器;以及 處理器,被耦合到所述存儲(chǔ)器,其中所述處理器執(zhí)行操作,所述操作包括: 從主機(jī)接收命令,其中必須滿足對(duì)應(yīng)于用于執(zhí)行所述命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合; 執(zhí)行至少基于使用新近性和軌道的空間位置來(lái)使所述軌道降級(jí)的降級(jí)應(yīng)用,其中所述軌道的空間排序被保持在數(shù)據(jù)結(jié)構(gòu)中,并且所述降級(jí)應(yīng)用遍歷所述軌道的所述空間排序;以及 在遍歷所述軌道的所述空間排序的同時(shí),以周期性間隔使所述軌道從至少盤(pán)的內(nèi)徑或外徑降級(jí),其中滿足對(duì)應(yīng)于用于執(zhí)行所述命令的所述讀響應(yīng)時(shí)間的所述標(biāo)準(zhǔn)集合。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其中通過(guò)以所述周期性間隔使所述軌道從盤(pán)的所述內(nèi)徑和所述外徑降級(jí),通過(guò)違背所述空間排序來(lái)服務(wù)于相對(duì)遠(yuǎn)離磁頭的當(dāng)前位置的讀軌道。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述標(biāo)準(zhǔn)集合指定: 平均讀響應(yīng)時(shí)間將小于第一閾值;以及 預(yù)定百分比的讀取將在小于第二閾值的時(shí)間內(nèi)執(zhí)行。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),所述操作還包括: 將定時(shí)器設(shè)置成預(yù)定時(shí)間間隔并將降級(jí)計(jì)數(shù)器設(shè)置成零; 在遍歷包括所述數(shù)據(jù)結(jié)構(gòu)的軌道的分類(lèi)二叉樹(shù)的同時(shí),拾取光標(biāo)位置處的軌道以進(jìn)行降級(jí);以及 響應(yīng)于確定所述定時(shí)器已到期并且響應(yīng)于確定所述降級(jí)計(jì)數(shù)器是零,執(zhí)行: 找到在所述分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道; 在不改變所述光標(biāo)位置的情況下,將所述第一軌道而不是所述光標(biāo)位置處的軌道降級(jí); 將所述降級(jí)計(jì)數(shù)器遞增至一;以及 繼續(xù)拾取軌道以從所述光標(biāo)位置處執(zhí)行降級(jí)。
11.根據(jù)權(quán)利要求10所述的系統(tǒng),所述操作還包括: 響應(yīng)于確定所述定時(shí)器已到期并且響應(yīng)于確定所述降級(jí)計(jì)數(shù)器不是零,執(zhí)行: 找到在所述分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道; 在不改變所述光標(biāo)位置的情況下,將所述最后軌道而不是所述光標(biāo)位置處的軌道降級(jí); 將所述降級(jí)計(jì)數(shù)器設(shè)置成零; 將所述定時(shí)器設(shè)置成所述預(yù)定時(shí)間間隔;以及 繼續(xù)拾取軌道以從所述光標(biāo)位置處執(zhí)行降級(jí)。
12.根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述周期性間隔是固定的預(yù)定時(shí)間段,其中所述固定的預(yù)定時(shí)間段是通過(guò)仿真對(duì)應(yīng)于從嚴(yán)格讀要求應(yīng)用到達(dá)所述存儲(chǔ)控制器處的至少讀請(qǐng)求的工作負(fù)荷而確定的。
13.一種計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括: 計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),具有用其體現(xiàn)的計(jì)算機(jī)可讀程序代碼,所述計(jì)算機(jī)可讀程序代碼被配置成執(zhí)行操作,所述操作包括: 由包括高速緩存的存儲(chǔ)控制器從主機(jī)接收命令,其中必須滿足對(duì)應(yīng)于用于執(zhí)行所述命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合;
執(zhí)行至少基于使用新近性和軌道的空間位置來(lái)使所述軌道降級(jí)的降級(jí)應(yīng)用,其中所述軌道的空間排序被保持在數(shù)據(jù)結(jié)構(gòu)中,并且所述降級(jí)應(yīng)用遍歷所述軌道的空間排序;以及在遍歷所述軌道的所述空間排序的同時(shí),以周期性間隔使所述軌道從至少盤(pán)的內(nèi)徑或外徑降級(jí),其中滿足對(duì)應(yīng)于用于執(zhí)行所述命令的所述讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合。
14.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其中通過(guò)以所述周期性間隔使所述軌道從盤(pán)的所述內(nèi)徑和所述外徑降級(jí),通過(guò)違背所述空間排序來(lái)服務(wù)于相對(duì)遠(yuǎn)離磁頭的當(dāng)前位置的讀軌道。
15.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其中所述標(biāo)準(zhǔn)集合指定: 平均讀響應(yīng)時(shí)間將小于第一閾值;以及 預(yù)定百分比的讀取將在小于第二閾值的時(shí)間內(nèi)執(zhí)行。
16.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,所述操作還包括: 將定時(shí)器設(shè)置成預(yù)定時(shí)間間隔并將降級(jí)計(jì)數(shù)器設(shè)置成零; 在遍歷包括所述數(shù)據(jù)結(jié)構(gòu)的軌道的分類(lèi)二叉樹(shù)的同時(shí),拾取光標(biāo)位置處的軌道以進(jìn)行降級(jí);以及 響應(yīng)于確定所述定時(shí)器已到期并且響應(yīng)于確定所述降級(jí)計(jì)數(shù)器是零,執(zhí)行: 找到在所述分類(lèi)二叉樹(shù)的開(kāi)頭處的第一軌道; 在不改變所述光標(biāo)位置的情況下,將所述第一軌道而不是所述光標(biāo)位置處的軌道降級(jí); 將所述降級(jí)計(jì)數(shù)器遞增至一;以及 繼續(xù)拾取軌道以從所述光標(biāo)位置處執(zhí)行降級(jí)。
17.根據(jù)權(quán)利要求16所述的計(jì)算機(jī)程序產(chǎn)品,所述操作還包括: 響應(yīng)于確定所述定時(shí)器已到期并且響應(yīng)于確定所述降級(jí)計(jì)數(shù)器不是零,執(zhí)行: 找到在所述分類(lèi)二叉樹(shù)的結(jié)尾處的最后軌道; 在不改變所述光標(biāo)位置的情況下,將所述最后軌道而不是所述光標(biāo)位置處的軌道降級(jí); 將所述降級(jí)計(jì)數(shù)器設(shè)置成零; 將所述定時(shí)器設(shè)置成所述預(yù)定時(shí)間間隔;以及 繼續(xù)拾取軌道以從所述光標(biāo)位置處執(zhí)行降級(jí)。
18.根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其中所述周期性間隔是固定的預(yù)定時(shí)間段,其中所述固定的預(yù)定時(shí)間段是通過(guò)仿真對(duì)應(yīng)于從嚴(yán)格讀要求應(yīng)用到達(dá)所述存儲(chǔ)控制器處的至少讀請(qǐng)求的工作負(fù)荷而確定的。
19.一種與主機(jī)和多個(gè)卷通信的存儲(chǔ)控制器,所述存儲(chǔ)控制器包括: 處理器;以及 高速緩存,被耦合到所述處理器,其中所述存儲(chǔ)控制器執(zhí)行: 從所述主機(jī)接收命令,其中必須滿足對(duì)應(yīng)于用于執(zhí)行所述命令的讀響應(yīng)時(shí)間的標(biāo)準(zhǔn)集合; 執(zhí)行至少基于使用新近性和軌道的空間位置來(lái)使所述軌道降級(jí)的降級(jí)應(yīng)用,其中所述軌道的所述空間排序被保持在數(shù)據(jù)結(jié)構(gòu)中,并且所述降級(jí)應(yīng)用遍歷所述軌道的所述空間排序;以及 在遍歷所述軌道的所述空間排序的同時(shí),以周期性間隔使所述軌道從至少盤(pán)的內(nèi)徑或外徑降級(jí),其中滿足對(duì)應(yīng)于用于執(zhí)行所述命令的所述讀響應(yīng)時(shí)間的所述標(biāo)準(zhǔn)集合。
20.根據(jù)權(quán)利要求19所述的存儲(chǔ)控制器,其中通過(guò)以所述周期性間隔使所述軌道從盤(pán)的所述內(nèi)徑和所述外徑降級(jí),通過(guò)違背所述空間排序來(lái)服務(wù)于相對(duì)遠(yuǎn)離磁頭的當(dāng)前位置的讀軌 道。
【文檔編號(hào)】G06F12/08GK103946820SQ201280056470
【公開(kāi)日】2014年7月23日 申請(qǐng)日期:2012年11月5日 優(yōu)先權(quán)日:2011年11月17日
【發(fā)明者】M·T·本哈斯, L·M·古普塔, C·斯特勞斯, W·A·賴(lài)特 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司