操作存儲(chǔ)器設(shè)備的方法及系統(tǒng)的制作方法
【專利摘要】根據(jù)一個(gè)實(shí)施例,一種用于操作存儲(chǔ)器設(shè)備的方法包括:從請(qǐng)求方接收第一請(qǐng)求,其中第一請(qǐng)求包括訪問(wèn)存儲(chǔ)器分塊中的第一存儲(chǔ)位置的數(shù)據(jù);打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面,其中打開(kāi)第一頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器中,所述行從存儲(chǔ)器分塊中的行位置加載;以及將來(lái)自第一存儲(chǔ)位置的數(shù)據(jù)發(fā)送給請(qǐng)求方。該方法還包括通過(guò)存儲(chǔ)器控制器根據(jù)與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息確定在執(zhí)行第一請(qǐng)求后是否關(guān)閉第一頁(yè)面。
【專利說(shuō)明】操作存儲(chǔ)器設(shè)備的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明一般地涉及計(jì)算機(jī)存儲(chǔ)器,更具體地涉及存儲(chǔ)器系統(tǒng)的頁(yè)面管理。
【背景技術(shù)】
[0002]當(dāng)計(jì)算機(jī)開(kāi)啟運(yùn)行時(shí),計(jì)算機(jī)系統(tǒng)通常需要相當(dāng)數(shù)量的高速存儲(chǔ)器(如,隨機(jī)存取存儲(chǔ)器(RAM))以保存信息(如,數(shù)據(jù)和程序)。隨著計(jì)算機(jī)系統(tǒng)性能和復(fù)雜度的增加,存儲(chǔ)器設(shè)備的密度也不斷增加。
[0003]從主處理器到高密度存儲(chǔ)器設(shè)備位置的通信由于增加的密度所導(dǎo)致的較長(zhǎng)的信號(hào)路徑可能需要額外的能量。另外,在高密度的存儲(chǔ)器設(shè)備中,當(dāng)主處理器和存儲(chǔ)器之間的有效帶寬因?yàn)樘幚砥骱痛鎯?chǔ)器之間的距離而降低時(shí),與數(shù)據(jù)操作相關(guān)的數(shù)據(jù)存取時(shí)間和延遲會(huì)增加。
[0004]使用存儲(chǔ)器封裝,經(jīng)常要在延遲、功耗和保持內(nèi)部存儲(chǔ)器頁(yè)面打開(kāi)(即從物理存儲(chǔ)器加載到緩沖器之中)之間做出權(quán)衡。允許頁(yè)面保持打開(kāi),可以在后續(xù)請(qǐng)求訪問(wèn)該頁(yè)面時(shí)獲得較低的延遲和功耗,當(dāng)頁(yè)面失效發(fā)生(即后續(xù)無(wú)法訪問(wèn)保持開(kāi)放的頁(yè)面)時(shí),可能發(fā)生額外延遲。與每次訪問(wèn)后關(guān)閉頁(yè)面的關(guān)閉頁(yè)面策略相比,打開(kāi)頁(yè)面策略的延遲和功耗更低。關(guān)閉頁(yè)面策略的平均延遲保持恒定,但對(duì)于背對(duì)背請(qǐng)求相同頁(yè)面時(shí)的情形,這以更高功耗和更長(zhǎng)等待時(shí)間的代價(jià)實(shí)現(xiàn)。
【發(fā)明內(nèi)容】
[0005]根據(jù)一個(gè)實(shí)施例,一種用于操作存儲(chǔ)器設(shè)備的方法,包括:從請(qǐng)求方接收第一請(qǐng)求,其中第一請(qǐng)求包括訪問(wèn)存儲(chǔ)器分塊中第一存儲(chǔ)位置的數(shù)據(jù)和打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面,其中打開(kāi)第一頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器之中,該行從存儲(chǔ)器分塊中的行的位置加載,并將來(lái)自第一存儲(chǔ)位置的數(shù)據(jù)發(fā)送給請(qǐng)求方。該方法還包括通過(guò)存儲(chǔ)器控制器根據(jù)與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息確定在執(zhí)行第一請(qǐng)求后是否關(guān)閉第一頁(yè)面。
[0006]根據(jù)另一個(gè)實(shí)施例,提供一種用于操作包括存儲(chǔ)器分塊和存儲(chǔ)器控制器的存儲(chǔ)器設(shè)備的系統(tǒng),其中該系統(tǒng)被配置為執(zhí)行一種方法,該方法包括:從請(qǐng)求方接收第一請(qǐng)求,其中第一請(qǐng)求包括訪問(wèn)存儲(chǔ)器分塊中第一存儲(chǔ)位置的數(shù)據(jù)和打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面,其中打開(kāi)第一頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器之中,該行從存儲(chǔ)器分塊中的行的位置加載。該方法還包括將來(lái)自第一存儲(chǔ)位置的數(shù)據(jù)發(fā)送給請(qǐng)求方,并通過(guò)存儲(chǔ)器控制器根據(jù)第一請(qǐng)求的選擇部分確定在執(zhí)行第一請(qǐng)求后是否關(guān)閉第一頁(yè)面,其中第一請(qǐng)求的選擇部分包括與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息。
【專利附圖】
【附圖說(shuō)明】
[0007]圖1示出了根據(jù)一個(gè)實(shí)施例的有效(active)緩沖存儲(chǔ)器系統(tǒng)的框圖。
[0008]圖2示出了根據(jù)一個(gè)實(shí)施例的用于操作具有有效緩沖存儲(chǔ)器的存儲(chǔ)器系統(tǒng)的方法的流程圖。
[0009]圖3示出了根據(jù)一個(gè)實(shí)施例的具有有效緩沖存儲(chǔ)器的存儲(chǔ)器系統(tǒng)的框圖;以及
[0010]圖4示出了根據(jù)一個(gè)實(shí)施例的用于操作具有有效緩沖存儲(chǔ)器的存儲(chǔ)器系統(tǒng)的方法的流程圖。
【具體實(shí)施方式】
[0011]實(shí)施例涉及操作包括存儲(chǔ)器設(shè)備(如,緩沖存儲(chǔ)器設(shè)備)的存儲(chǔ)器系統(tǒng)。存儲(chǔ)器設(shè)備可以是任何合適的存儲(chǔ)器設(shè)備,包括連接到被配置為控制存儲(chǔ)器設(shè)備的集線器(hub)芯片(也稱為存儲(chǔ)器控制器芯片)的一個(gè)或多個(gè)存儲(chǔ)器設(shè)備(例如,隨機(jī)存取存儲(chǔ)器“RAM”芯片)。在一個(gè)實(shí)施例中,緩沖存儲(chǔ)器設(shè)備包括多個(gè)存儲(chǔ)層,形成三維(“3D”)存儲(chǔ)器設(shè)備(也稱為“存儲(chǔ)器立方(memory cube)”),其中若干單獨(dú)的存儲(chǔ)器芯片列形成與集線器芯片通信的?;驇?kù)(vault)。在一個(gè)實(shí)施例中,多個(gè)存儲(chǔ)器棧位于存儲(chǔ)器模塊之中,其中每個(gè)棧都具有各自的集線器芯片。集線器芯片可以包括被配置為與存儲(chǔ)器及其它集線器芯片中的其他處理元件通信的處理元件。在一個(gè)實(shí)施例中,處理元件通過(guò)互連網(wǎng)絡(luò)訪問(wèn)庫(kù)中選擇的地址。在一個(gè)實(shí)施例中,多個(gè)存儲(chǔ)器設(shè)備、棧和處理元件可以通過(guò)互連網(wǎng)絡(luò)(如,縱橫開(kāi)關(guān))進(jìn)行通信。在實(shí)施例中,存儲(chǔ)器棧包括疊放在一起的多顆DRAM裸晶(die),其中每顆DRAM裸晶都被劃分成多個(gè)分塊(bank)。另外,在該示例中,每顆裸晶中垂直對(duì)齊的一組分塊都可以稱為庫(kù),這些庫(kù)可以通過(guò)庫(kù)控制器訪問(wèn)。
[0012]一個(gè)實(shí)施例使用動(dòng)態(tài)存儲(chǔ)器頁(yè)面管理方法和系統(tǒng)提供了減少延遲和功耗的改進(jìn)的存儲(chǔ)器操作。在一個(gè)實(shí)施例中,動(dòng)態(tài)存儲(chǔ)器頁(yè)面管理確定在系統(tǒng)運(yùn)行過(guò)程中在對(duì)加載到緩沖區(qū)中的頁(yè)面執(zhí)行操作后是否要打開(kāi)或關(guān)閉該頁(yè)面。例如,在第一請(qǐng)求已經(jīng)加載第一頁(yè)面,并且對(duì)第一頁(yè)面執(zhí)行操作之后,存儲(chǔ)器控制器讀取第一請(qǐng)求的選擇部分以確定第一頁(yè)面的狀態(tài)(例如,打開(kāi)或關(guān)閉)。在實(shí)施例中,第一請(qǐng)求的選擇部分包括有關(guān)后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性的信息。在一個(gè)實(shí)施例中,請(qǐng)求方將消息作為上述選擇部分附加到請(qǐng)求之上,從而指示后續(xù)請(qǐng)求訪問(wèn)當(dāng)前打開(kāi)的頁(yè)面的可能性。
[0013]在實(shí)施例中,與后續(xù)請(qǐng)求訪問(wèn)當(dāng)前打開(kāi)的頁(yè)面的可能性有關(guān)的信息可以被用來(lái)發(fā)送推測(cè)性請(qǐng)求(speculative request)以打開(kāi)或關(guān)閉頁(yè)面。在該示例中,可能性信息的使用沒(méi)有附加到數(shù)據(jù)存取請(qǐng)求之上,而是被用于生成打開(kāi)或關(guān)閉頁(yè)面的請(qǐng)求。在一個(gè)實(shí)施例中,接收到打開(kāi)頁(yè)面的請(qǐng)求,其中請(qǐng)求中唯一的操作是打開(kāi)頁(yè)面,并在打開(kāi)它之后對(duì)頁(yè)面中的數(shù)據(jù)不進(jìn)行任何操作。在另一個(gè)實(shí)施例中,該請(qǐng)求是關(guān)閉頁(yè)面的請(qǐng)求,其中唯一的操作是關(guān)閉頁(yè)面。因此,在一個(gè)示例中,可能性信息被用來(lái)提供在下一個(gè)數(shù)據(jù)存取請(qǐng)求(例如,加載或存儲(chǔ)請(qǐng)求)之前的推測(cè)性請(qǐng)求。因此,打開(kāi)頁(yè)面或關(guān)閉已經(jīng)打開(kāi)的頁(yè)面的推測(cè)性請(qǐng)求被用來(lái)提高性能和減少延遲。
[0014]在采用存儲(chǔ)器立方結(jié)構(gòu)的實(shí)施例中,每個(gè)存儲(chǔ)器分塊都打開(kāi)特定大小(例如,1024字節(jié))的頁(yè)面,并將頁(yè)面的一小部分(例如,16字節(jié))發(fā)送回請(qǐng)求方。如果對(duì)該分塊的下一個(gè)請(qǐng)求碰巧處理同一頁(yè)面內(nèi)的某個(gè)位置,如果頁(yè)面保持打開(kāi),這意味著完整的頁(yè)面仍在存儲(chǔ)器分塊的讀出放大緩沖器中,還沒(méi)有被寫(xiě)回存儲(chǔ)器,那么可以節(jié)省相當(dāng)數(shù)量的功率。因此,頁(yè)面保持打開(kāi)狀態(tài)直到下一個(gè)請(qǐng)求,如果下一個(gè)請(qǐng)求處理不同的分塊頁(yè)面中的某個(gè)位置,那么下一個(gè)請(qǐng)求將產(chǎn)生延遲。該延遲由關(guān)閉頁(yè)面(即,將讀出放大緩沖器中的內(nèi)容寫(xiě)回到存儲(chǔ)器)和打開(kāi)新頁(yè)面時(shí)產(chǎn)生。替代性地,關(guān)閉頁(yè)面的策略通過(guò)在操作完成后關(guān)閉頁(yè)面來(lái)保持平均延遲恒定。對(duì)于背對(duì)背請(qǐng)求相同的頁(yè)面時(shí)的情形,可以以更高功耗和更長(zhǎng)等待時(shí)間的代價(jià)執(zhí)行該策略。
[0015]動(dòng)態(tài)頁(yè)面管理的實(shí)施例使得存儲(chǔ)器系統(tǒng)能夠進(jìn)行復(fù)雜操作,以在做出請(qǐng)求時(shí)自主利用它知道的即將進(jìn)行的操作來(lái)通知存儲(chǔ)器分塊下一個(gè)請(qǐng)求訪問(wèn)相同頁(yè)面或不同頁(yè)面的可能性。存儲(chǔ)器分塊中的邏輯可以使用此信息和標(biāo)準(zhǔn)策略(例如,使用由可靠性和刷新考慮來(lái)管理的策略)來(lái)保持頁(yè)面打開(kāi)或關(guān)閉它。一個(gè)示例性實(shí)施例使用附加到提供給控制器的讀取或?qū)懭胝?qǐng)求之上的兩個(gè)比特。示例性的兩個(gè)比特的位值定義如下:00表示不希望保持頁(yè)面打開(kāi);01表示強(qiáng)烈希望保持頁(yè)面打開(kāi)(以節(jié)省功耗);10表示不希望關(guān)閉頁(yè)面;以及11表示強(qiáng)烈希望關(guān)閉頁(yè)面(以縮短延遲時(shí)間)。
[0016]在一個(gè)實(shí)施例中,頁(yè)面是否應(yīng)該保持打開(kāi)的指示被從源或請(qǐng)求方發(fā)送到目的地存儲(chǔ)器控制器。在一個(gè)示例中,訪問(wèn)過(guò)的分塊頁(yè)面由于后續(xù)請(qǐng)求預(yù)期在已加載的分塊頁(yè)面的地址范圍之內(nèi)而保持打開(kāi),從而降低延遲和功耗。在一個(gè)實(shí)施例中,由處理器或處理元件通過(guò)讀取地址步幅(stride)的向量加載/存儲(chǔ)更新指令來(lái)生成指示(indication)。在另一個(gè)示例中,通過(guò)執(zhí)行和使用邏輯,使用推測(cè)性加載/存儲(chǔ)提前預(yù)測(cè)機(jī)制(如,通過(guò)查看加載/存儲(chǔ)隊(duì)列中連續(xù)的項(xiàng)),來(lái)生成指示。提供指示的其他的實(shí)施例包括使用基于先前觀察到的行為的預(yù)測(cè)邏輯、使用來(lái)自編譯器或程序員的提示和使用來(lái)自預(yù)取(prefetch)機(jī)制的步幅信息。在預(yù)取機(jī)制中,實(shí)施的預(yù)取算法(通常是基于假設(shè)的順序訪問(wèn)或以前觀察到的步幅-N或其他的訪問(wèn)模式)知道下一次將要讀取的存儲(chǔ)器位置,因此在提供使用推測(cè)性打開(kāi)/關(guān)閉頁(yè)面請(qǐng)求的機(jī)會(huì)并在數(shù)據(jù)請(qǐng)求中提供有關(guān)保持頁(yè)面打開(kāi)還是關(guān)閉的提示比特的情況下,可以很容易地確定預(yù)取請(qǐng)求是落入還是未落入已經(jīng)打開(kāi)的頁(yè)面。在基于高速緩存的處理器或處理元件中,步幅或其他預(yù)取機(jī)制被用來(lái)提供該指示。在一個(gè)實(shí)施例中,指示通過(guò)應(yīng)用程序指令中的字段生成,從而允許方法“提前預(yù)測(cè)”應(yīng)用程序中的更長(zhǎng)的距離(進(jìn)一步未來(lái)的操作)。在應(yīng)用程序指令中的指示可以基于來(lái)自應(yīng)用程序程序員的提示,通過(guò)編譯器或通過(guò)用圖標(biāo)表示運(yùn)行(profiling run)進(jìn)行目標(biāo)地址計(jì)算或估計(jì)。
[0017]該存儲(chǔ)器系統(tǒng)和方法的實(shí)施例包括:利用對(duì)存儲(chǔ)器系統(tǒng)組織結(jié)構(gòu)(即存儲(chǔ)器大小、頁(yè)面大小)和應(yīng)用程序更多的了解來(lái)改善存儲(chǔ)器頁(yè)面管理,從而降低延遲時(shí)間和能耗。例如,在同一設(shè)備中的具有存儲(chǔ)器棧和處理元件的系統(tǒng)提供有關(guān)應(yīng)用程序和存儲(chǔ)器使用情況的額外信息,以允許處理元件確定后續(xù)存儲(chǔ)器的訪問(wèn)在與當(dāng)前加載的頁(yè)面相同的頁(yè)面上的可能性。并且,動(dòng)態(tài)策略允許頁(yè)面基于處理元件可用的信息在關(guān)閉或打開(kāi)狀態(tài)之間變化。
[0018]多個(gè)實(shí)施例包括具有集線器芯片中的處理元件和存儲(chǔ)器控制器的存儲(chǔ)器棧,稱為有效緩沖存儲(chǔ)器設(shè)備。有效緩沖存儲(chǔ)器設(shè)備可以執(zhí)行一組將存儲(chǔ)器設(shè)備內(nèi)的多個(gè)位置(例如,存儲(chǔ)在特定地址的數(shù)據(jù))用作操作數(shù)的復(fù)雜操作。據(jù)此提供對(duì)存儲(chǔ)器設(shè)備中的這些操作數(shù)自主執(zhí)行指令和操作的過(guò)程。指令和操作可以存儲(chǔ)在存儲(chǔ)器設(shè)備本身之中,而不從主處理器調(diào)度,其中存儲(chǔ)的指令被提供給處理元件,以通過(guò)存儲(chǔ)器設(shè)備中的處理元件進(jìn)行處理。在一個(gè)實(shí)施例中,處理元件是可編程引擎,包括指令緩沖器、包括分支功能和指令解碼的指令單元、矢量、標(biāo)量和掩膜寄存器文件的混合、用于存儲(chǔ)器和寄存器文件之間數(shù)據(jù)移動(dòng)的多個(gè)加載/存儲(chǔ)單元和用于各種數(shù)據(jù)類型的算術(shù)和邏輯處理的多個(gè)執(zhí)行單元。此外,存儲(chǔ)器設(shè)備還包括將虛擬地址轉(zhuǎn)換或轉(zhuǎn)譯為物理地址的地址轉(zhuǎn)譯功能、對(duì)存儲(chǔ)器和處理元件之間的數(shù)據(jù)移動(dòng)排序的統(tǒng)一加載/存儲(chǔ)隊(duì)列、和用于與主處理器通信的處理器通信單元。
[0019]在實(shí)施例中,有效緩沖存儲(chǔ)器設(shè)備被配置為在接收來(lái)自外部請(qǐng)求方(如,主處理器或其他處理元件)的命令之后,從有效緩沖存儲(chǔ)器設(shè)備的一部分加載配置信息或指令到處理元件之中。此外,處理元件可以進(jìn)行它在執(zhí)行加載的指令的同時(shí)計(jì)算的虛擬到真實(shí)地址的轉(zhuǎn)譯。
[0020]在實(shí)施例中,理想的是在有效緩沖存儲(chǔ)器設(shè)備中具有處理能力,以減少當(dāng)存儲(chǔ)器由駐留在單獨(dú)芯片中的處理器訪問(wèn)時(shí)將會(huì)經(jīng)歷的存儲(chǔ)器延遲和功耗。通過(guò)較低帶寬的通信路徑將數(shù)據(jù)從存儲(chǔ)器帶往單獨(dú)的處理芯片,通常情況下對(duì)數(shù)據(jù)執(zhí)行相當(dāng)簡(jiǎn)單的計(jì)算,然后將處理后的數(shù)據(jù)傳送回存儲(chǔ)器,取代這種做法的是,系統(tǒng)的主處理器對(duì)有效緩沖存儲(chǔ)器設(shè)備中的處理元件進(jìn)行配置,然后指示他們執(zhí)行數(shù)據(jù)處理任務(wù)。這可以通過(guò)從主處理器發(fā)送一個(gè)或多個(gè)命令到該設(shè)備來(lái)實(shí)現(xiàn)。在這種情況下,主處理器和存儲(chǔ)器之間的數(shù)據(jù)移動(dòng)大大減少,無(wú)論是在從存儲(chǔ)器芯片到處理器芯片必須要走的距離方面,還是在它必須經(jīng)過(guò)的存儲(chǔ)器分級(jí)的高速緩存的級(jí)數(shù)方面都是如此。
[0021]圖1示出根據(jù)一個(gè)實(shí)施例的用于在存儲(chǔ)器中存儲(chǔ)和獲取數(shù)據(jù)的系統(tǒng)框圖。圖1所示的系統(tǒng)100包括計(jì)算機(jī)處理器102、具有存儲(chǔ)器設(shè)備的存儲(chǔ)器106以及用于從計(jì)算機(jī)處理器102接收將要存儲(chǔ)在存儲(chǔ)器106中的數(shù)據(jù)的存儲(chǔ)器控制器104和處理元件108。在一個(gè)實(shí)施例中,存儲(chǔ)器控制器和處理元件108可以被稱為集線器芯片。
[0022]在一個(gè)實(shí)施例中,存儲(chǔ)器106和存儲(chǔ)器控制器104被耦接到計(jì)算機(jī)處理器102,并處理來(lái)自計(jì)算機(jī)處理器102的寫(xiě)請(qǐng)求。在一個(gè)示例中,寫(xiě)請(qǐng)求中包含將被寫(xiě)入存儲(chǔ)器106的數(shù)據(jù)和(多條)指令的存儲(chǔ)器位置,其中指令形成將被寫(xiě)入的數(shù)據(jù)的虛擬地址。存儲(chǔ)器控制器104將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器106內(nèi)的真實(shí)地址。在另一個(gè)示例中,計(jì)算機(jī)處理器102在存儲(chǔ)或獲取數(shù)據(jù)時(shí)將虛擬地址映射到存儲(chǔ)器106中的真實(shí)地址。在該示例中,寫(xiě)請(qǐng)求中包含將被寫(xiě)入存儲(chǔ)器106的數(shù)據(jù)和識(shí)別數(shù)據(jù)將被寫(xiě)入到的存儲(chǔ)器106中的位置的真實(shí)地址。每當(dāng)存儲(chǔ)器106中的數(shù)據(jù)被修改時(shí),給定的邏輯地址的真實(shí)地址都可能發(fā)生變化。
[0023]在一個(gè)實(shí)施例中,來(lái)自計(jì)算機(jī)處理器102的命令指定指令序列,該指令序列包括設(shè)置操作、執(zhí)行操作和通知完成操作。設(shè)置操作可以包括配置操作,如將來(lái)自存儲(chǔ)器設(shè)備內(nèi)的存儲(chǔ)器中的配置信息直接加載到處理元件108中的命令。通過(guò)提供存儲(chǔ)器設(shè)備中的配置信息,在接收到命令之后能夠?qū)μ幚碓?08進(jìn)行合適地配置。在一個(gè)實(shí)施例中,配置信息可以包括用于在存儲(chǔ)器的虛擬地址和真實(shí)址之間進(jìn)行轉(zhuǎn)譯的信息。此外,配置信息可以包括用來(lái)通過(guò)保證準(zhǔn)確性和一致性來(lái)保持存儲(chǔ)器映射以及處理元件和請(qǐng)求方(例如,主處理器)之間轉(zhuǎn)譯的連貫性的信息。設(shè)置操作也可以包括將來(lái)自存儲(chǔ)器106的代碼(如,指令序列)加載到處理元件108中。執(zhí)行操作包括:執(zhí)行包括加載、存儲(chǔ)、算術(shù)/邏輯和其他指令的代碼。
[0024]在一個(gè)實(shí)施例的附加模式中,處理元件108被耦接到計(jì)算機(jī)處理器102,并從計(jì)算機(jī)處理器102接收命令。該命令與存儲(chǔ)在存儲(chǔ)器中的執(zhí)行對(duì)待寫(xiě)入存儲(chǔ)器106中的數(shù)據(jù)的寫(xiě)入請(qǐng)求的指令對(duì)應(yīng)。在本實(shí)施例中,執(zhí)行(多條)指令,形成與存儲(chǔ)器106中的寫(xiě)入位置對(duì)應(yīng)的虛擬地址。該命令可以包括存儲(chǔ)(多條)指令的真實(shí)地址。存儲(chǔ)器控制器104和/或處理元件108將數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器106內(nèi)的真實(shí)地址。在一個(gè)實(shí)施例中,處理元件108在存儲(chǔ)或獲取數(shù)據(jù)時(shí),將虛擬地址映射到存儲(chǔ)器106中的真實(shí)地址。每當(dāng)存儲(chǔ)器106中的數(shù)據(jù)被修改時(shí),給定的邏輯地址的真實(shí)地址都可能發(fā)生變化。計(jì)算機(jī)處理器102提供命令給存儲(chǔ)器106,其中處理元件108接收該命令,并從存儲(chǔ)器中取出對(duì)應(yīng)的指令。
[0025]系統(tǒng)100的結(jié)構(gòu)是可以用來(lái)執(zhí)行本說(shuō)明書(shū)中描述的處理的一個(gè)示例。雖然已經(jīng)將系統(tǒng)100描述為只具有單個(gè)存儲(chǔ)器106、存儲(chǔ)器控制器104、處理元件108和計(jì)算機(jī)處理器102,但應(yīng)該理解的是,其他的實(shí)施例也可以在具有存儲(chǔ)器106、存儲(chǔ)器控制器104、處理元件108或計(jì)算機(jī)處理器102中的兩個(gè)或兩個(gè)以上的其他的系統(tǒng)中操作。另外,實(shí)施例可以包括比示出的更少的設(shè)備,如不具有處理元件108的存儲(chǔ)器系統(tǒng)。在一個(gè)實(shí)施例中,存儲(chǔ)器106、存儲(chǔ)器控制器104、處理元件108和計(jì)算機(jī)處理器102不位于同一臺(tái)計(jì)算機(jī)內(nèi)。例如,存儲(chǔ)器106、處理元件108和存儲(chǔ)器控制器104可以位于一個(gè)物理位置(例如,在一個(gè)存儲(chǔ)器模塊上),而計(jì)算機(jī)處理器102位于另一個(gè)物理位置(例如,計(jì)算機(jī)處理器102經(jīng)由網(wǎng)絡(luò)訪問(wèn)存儲(chǔ)器控制器104)。此外,本說(shuō)明書(shū)中描述的處理的部分跨越一個(gè)或多個(gè)存儲(chǔ)器106、存儲(chǔ)器控制器104、處理元件108和計(jì)算機(jī)處理器102。
[0026]圖2是用于操作存儲(chǔ)器系統(tǒng)的示例性方法和系統(tǒng)的流程圖200。方框可以通過(guò)任何合適的存儲(chǔ)器系統(tǒng)(如,包括有效緩沖存儲(chǔ)器設(shè)備的存儲(chǔ)器系統(tǒng))執(zhí)行。在方框202中,接收來(lái)自請(qǐng)求方的第一請(qǐng)求,其中第一請(qǐng)求包括訪問(wèn)在存儲(chǔ)器設(shè)備的存儲(chǔ)器分塊中第一存儲(chǔ)位置的數(shù)據(jù)。在實(shí)施例中,請(qǐng)求方是處理元件或處理器,請(qǐng)求由存儲(chǔ)器控制器接收。在方框204中,打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面,包括將包括第一存儲(chǔ)位置的行加載到緩沖器,該行從存儲(chǔ)器分塊中的行位置加載。在實(shí)施例中,第一存儲(chǔ)位置是該行中的某個(gè)元素。在方框206中,將來(lái)自第一存儲(chǔ)位置的數(shù)據(jù)從第一存儲(chǔ)位置發(fā)送給請(qǐng)求方。在一個(gè)實(shí)施例中,可以在發(fā)送數(shù)據(jù)給請(qǐng)求方之前對(duì)數(shù)據(jù)執(zhí)行操作。在另一個(gè)實(shí)施例中,請(qǐng)求方從控制器接收數(shù)據(jù)之后對(duì)數(shù)據(jù)執(zhí)行操作。在方框208中,存儲(chǔ)器控制器基于第一請(qǐng)求的選擇部分確定是否在執(zhí)行第一請(qǐng)求后關(guān)閉第一頁(yè)面,其中第一請(qǐng)求的選擇部分包括有關(guān)后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性的信息,從而實(shí)現(xiàn)動(dòng)態(tài)頁(yè)面策略。在一個(gè)實(shí)施例中,在發(fā)送請(qǐng)求之前,請(qǐng)求方將有關(guān)后續(xù)請(qǐng)求訪問(wèn)第一頁(yè)面的可能性的信息附加在請(qǐng)求上。在實(shí)施例中,存儲(chǔ)器分塊和存儲(chǔ)器控制器位于存儲(chǔ)器棧中。在打開(kāi)頁(yè)面的步驟中,包括第一存儲(chǔ)位置的行被加載到包括該存儲(chǔ)器分塊的存儲(chǔ)器設(shè)備的存儲(chǔ)器分塊中的緩沖器中。在關(guān)閉頁(yè)面時(shí),控制器將行的當(dāng)前版本寫(xiě)入到加載頁(yè)面的位置。在一個(gè)實(shí)施例中,控制器可以使頁(yè)面無(wú)效,在無(wú)效操作中,關(guān)閉頁(yè)面,但基于附加的數(shù)據(jù),該行不重新寫(xiě)回存儲(chǔ)位置。
[0027]圖3是實(shí)施動(dòng)態(tài)存儲(chǔ)器頁(yè)面管理的計(jì)算機(jī)系統(tǒng)300的一個(gè)實(shí)施例的示意圖。在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)300包括有效緩沖存儲(chǔ)器設(shè)備302、有效緩沖存儲(chǔ)器設(shè)備303和有效緩沖存儲(chǔ)器設(shè)備304。有效緩沖存儲(chǔ)器設(shè)備302包括存儲(chǔ)器庫(kù)306、存儲(chǔ)器控制器308和處理元件310。在一個(gè)實(shí)施例中,處理元件310、存儲(chǔ)器庫(kù)306和存儲(chǔ)器控制器308耦接,并通過(guò)互連網(wǎng)絡(luò)312通信。具體地說(shuō),處理元件310與存儲(chǔ)器庫(kù)306、存儲(chǔ)器控制器308和其他的存儲(chǔ)器設(shè)備(如,有效緩沖存儲(chǔ)器設(shè)備303和304)通過(guò)互連網(wǎng)絡(luò)312通信。互連網(wǎng)絡(luò)312也通過(guò)處理器鏈路320和322耦接到主處理器324。互連網(wǎng)絡(luò)312提供了在部分設(shè)備(如,這些處理元件、存儲(chǔ)器控制器和存儲(chǔ)器)之間通信的快速和高帶寬路徑,能夠改善有效緩沖存儲(chǔ)器的性能并降低延遲。
[0028]有效緩沖存儲(chǔ)器設(shè)備303包括存儲(chǔ)器庫(kù)326、存儲(chǔ)器控制器328和處理元件330。在一個(gè)實(shí)施例中,處理元件330、存儲(chǔ)器庫(kù)326和存儲(chǔ)器控制器328都位于互連網(wǎng)絡(luò)312的同一側(cè),如在單個(gè)棧之中。通過(guò)將處理元件330放置在與存儲(chǔ)器庫(kù)326相同的棧中,可以在訪問(wèn)存儲(chǔ)器庫(kù)326中的位置時(shí)降低延遲,從而進(jìn)一步提高性能。在一個(gè)實(shí)施例中,有效緩沖存儲(chǔ)器304包括存儲(chǔ)器庫(kù)314和通過(guò)互連網(wǎng)絡(luò)312耦接到處理元件310和處理元件318的存儲(chǔ)器控制器316。如圖所示,處理元件318位于遠(yuǎn)離存儲(chǔ)器控制器316和存儲(chǔ)器庫(kù)314的互連網(wǎng)絡(luò)312的另一側(cè)。在實(shí)施例中,有效緩沖存儲(chǔ)器設(shè)備302、303和304包括多層堆疊可尋址存儲(chǔ)器元件。此外,棧的存儲(chǔ)器可以被劃分成存儲(chǔ)器庫(kù)306、326和314或多個(gè)共享共用存儲(chǔ)器控制器和/或存儲(chǔ)器元件的存儲(chǔ)器設(shè)備的三維成塊區(qū)域(three-dimensionalblocked region),并能夠彼此獨(dú)立地為它們的存儲(chǔ)域提供存儲(chǔ)器訪問(wèn)請(qǐng)求服務(wù)。
[0029]在實(shí)施例中,處理元件、存儲(chǔ)器庫(kù)和存儲(chǔ)器控制器可以根據(jù)不同的應(yīng)用以合適的方式布置。例如,一個(gè)或多個(gè)處理元件(如,處理元件318)可以放置在互連網(wǎng)絡(luò)312的一側(cè)上,并可以作為可用于訪問(wèn)耦接到互連網(wǎng)絡(luò)312的存儲(chǔ)器系統(tǒng)中的任何存儲(chǔ)器的處理元件候選池(pool)操作。被放入候選池中的處理元件不限于訪問(wèn)特定的存儲(chǔ)器庫(kù),因此在從主處理器324接收到命令后,可以利用一個(gè)或多個(gè)元件。因此,處理元件318可以被配置為訪問(wèn)每個(gè)存儲(chǔ)器庫(kù)306、326和314。在另一個(gè)實(shí)施例中,一個(gè)或多個(gè)處理元件(如,處理元件330)作為包括存儲(chǔ)器庫(kù)326和存儲(chǔ)器控制器328的棧的一部分位于棧中。在這種配置中,處理元件330被配置為訪問(wèn)耦接到互連網(wǎng)絡(luò)312的存儲(chǔ)器庫(kù)326,包括存儲(chǔ)庫(kù)306和314。在一個(gè)實(shí)施例中,一個(gè)或多個(gè)處理元件(如,處理元件310)放置在遠(yuǎn)離存儲(chǔ)器庫(kù)306和存儲(chǔ)器控制器308的互連網(wǎng)絡(luò)312的相對(duì)側(cè)上。在該配置中,處理元件310被配置為訪問(wèn)耦接到互連網(wǎng)絡(luò)312的任何存儲(chǔ)器,包括存儲(chǔ)器庫(kù)326和314。
[0030]圖4是用于操作存儲(chǔ)器系統(tǒng)的示例性方法和系統(tǒng)的流程圖400。方框可以通過(guò)任何合適的存儲(chǔ)器系統(tǒng)(如,包括有效緩沖存儲(chǔ)器設(shè)備的存儲(chǔ)器系統(tǒng))執(zhí)行。在方框402中,存儲(chǔ)器控制器根據(jù)先前的數(shù)據(jù)訪問(wèn)和/或上面討論的其他的推測(cè)方法確定后續(xù)請(qǐng)求將訪問(wèn)當(dāng)前打開(kāi)的頁(yè)面或訪問(wèn)任何當(dāng)前打開(kāi)的頁(yè)面以外的存儲(chǔ)位置的可能性。在方框404中,請(qǐng)求方基于方框402的確定發(fā)出推測(cè)性關(guān)閉或使當(dāng)前打開(kāi)的頁(yè)面無(wú)效的請(qǐng)求。該關(guān)閉包括將緩沖器中的頁(yè)面內(nèi)容寫(xiě)回存儲(chǔ)位置。在方框406中,后繼請(qǐng)求通過(guò)請(qǐng)求方發(fā)出,并由接收器接收,以訪問(wèn)在方框404中關(guān)閉的頁(yè)面以外的存儲(chǔ)器中的存儲(chǔ)位置。在方框408中,當(dāng)確定后續(xù)請(qǐng)求可能訪問(wèn)落在任何當(dāng)前打開(kāi)的頁(yè)面外部的存儲(chǔ)位置時(shí),請(qǐng)求方基于方框402的確定發(fā)出推測(cè)性打開(kāi)頁(yè)面的請(qǐng)求。打開(kāi)頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器。在方框410中,接收訪問(wèn)在推測(cè)性打開(kāi)的頁(yè)面之內(nèi)的存儲(chǔ)位置的數(shù)據(jù)的請(qǐng)求。因此,圖400中所示的示例性方法通過(guò)動(dòng)態(tài)頁(yè)面管理可以降低延遲和提高性能。
[0031]在一個(gè)實(shí)施例中,為存儲(chǔ)器設(shè)備中的每個(gè)分塊都提供緩沖器(例如,3D存儲(chǔ)器立方)。因此,在一個(gè)示例中,使用上述過(guò)程、通過(guò)在后續(xù)請(qǐng)求訪問(wèn)與先前已經(jīng)加載的頁(yè)面相同的分塊中的存儲(chǔ)位置時(shí)打開(kāi)或關(guān)閉頁(yè)面來(lái)降低延遲,其中打開(kāi)或關(guān)閉是基于后繼請(qǐng)求將訪問(wèn)當(dāng)前已經(jīng)加載的頁(yè)面或訪問(wèn)任何當(dāng)前打開(kāi)的頁(yè)面以外的存儲(chǔ)位置的可能性。在另一個(gè)實(shí)施例中,緩沖器由存儲(chǔ)器設(shè)備中所有的分塊共享,其中無(wú)論后繼請(qǐng)求訪問(wèn)的分塊是否與當(dāng)前已經(jīng)加載的頁(yè)面相同,上述過(guò)程都可以降低延遲。
[0032]在一個(gè)實(shí)施例中,計(jì)算機(jī)系統(tǒng)可包括多個(gè)有效緩沖存儲(chǔ)器設(shè)備,如有效緩沖存儲(chǔ)器設(shè)備302、303和304。此外,每個(gè)有效緩沖存儲(chǔ)器設(shè)備可以包括多個(gè)棧,每個(gè)棧都包括存儲(chǔ)器庫(kù)、存儲(chǔ)器控制器和相關(guān)聯(lián)的處理元件。在一個(gè)示例中,處理元件的數(shù)量可以大于存儲(chǔ)器庫(kù)的數(shù)量。在另一個(gè)實(shí)施例中,存儲(chǔ)器設(shè)備可以包括比存儲(chǔ)器庫(kù)更少的處理元件。在實(shí)施例中,處理元件被放入候選池中,并可用于訪問(wèn)系統(tǒng)中的任何存儲(chǔ)器。例如,存儲(chǔ)器設(shè)備可以包括16個(gè)存儲(chǔ)器庫(kù)和存儲(chǔ)器控制器,但只有8個(gè)處理元件。8個(gè)處理元件被放入候選池中,用作訪問(wèn)耦接到互連網(wǎng)絡(luò)的任何存儲(chǔ)器庫(kù)的資源。在另一個(gè)示例中,存儲(chǔ)器設(shè)備可以是被動(dòng)的,其中設(shè)備由外部請(qǐng)求方(如,耦接到互連網(wǎng)絡(luò)的主處理器)控制。
[0033]技術(shù)效果包括改善頁(yè)面管理,在降低延遲并提高存儲(chǔ)器性能的同時(shí)降低不必要的頁(yè)面打開(kāi)/關(guān)閉操作所消耗的功率。
[0034]這里使用的術(shù)語(yǔ)僅用于描述特定實(shí)施例的目的,而不是意在限制本發(fā)明。如本說(shuō)明書(shū)中使用的,除非上下文清楚地另有指示,否則單數(shù)形式的“一”、“一個(gè)”和“該”也包括復(fù)數(shù)形式。應(yīng)該進(jìn)一步理解的是,在本說(shuō)明書(shū)中使用術(shù)語(yǔ)“包括”時(shí),明確指定存在所述的特征、整數(shù)、步驟、操作、元件和/或組件,但不排除存在或添加一個(gè)或多個(gè)其他的特征、整數(shù)、步驟、操作、元件、組件和/或它們的組合。
[0035]所附權(quán)利要求中的對(duì)應(yīng)的結(jié)構(gòu)、材料、行為和所有部件或步驟加功能元件的等價(jià)物也包括用于實(shí)現(xiàn)明確請(qǐng)求保護(hù)的與其他請(qǐng)求保護(hù)的元件組合的功能的任何結(jié)構(gòu)、材料或行為。展示本發(fā)明的說(shuō)明書(shū)的目的是為了示例和描述,而并非為了窮舉或?qū)⒈景l(fā)明限制為公開(kāi)的形式。對(duì)本領(lǐng)域的普通技術(shù)人員而言,在不脫離本發(fā)明的范圍和精神的情況下,許多改進(jìn)和變化都是顯而易見(jiàn)的。對(duì)實(shí)施例的選擇和描述是為了最好地解釋本發(fā)明的原理和實(shí)際應(yīng)用,并使本領(lǐng)域其他的普通技術(shù)人員能夠理解為適合預(yù)期的特定用途做出各種修改的本發(fā)明各種實(shí)施例。
[0036]所屬【技術(shù)領(lǐng)域】的技術(shù)人員知道,本發(fā)明的各個(gè)方面可以實(shí)現(xiàn)為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以具體實(shí)現(xiàn)為以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實(shí)施例中,本發(fā)明的各個(gè)方面還可以實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)中的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)中包含計(jì)算機(jī)可讀的程序代碼。
[0037]可以采用一個(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)、裝置或器件,或者任意以上的組合。計(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ǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0038]計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括——但不限于——電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0039]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括一但不限于一無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0040]可以用一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明的多個(gè)方面的操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,如Java、Smalltalk、C++等,還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言,如“C”語(yǔ)言或類似的程序設(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ī)可以通過(guò)任意種類的網(wǎng)絡(luò),包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN),連接到用戶計(jì)算機(jī),或者可以連接到外部計(jì)算機(jī)(例如,使用因特網(wǎng)服務(wù)提供商通過(guò)因特網(wǎng)連接)。
[0041]下面將參照根據(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ī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生了實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0042]也可以把這些計(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)0
[0043]計(jì)算機(jī)程序指令還可以加載到計(jì)算機(jī)、其他可編程數(shù)據(jù)處理裝置或其他設(shè)備上,以使得一系列操作步驟在計(jì)算機(jī)、其他可編程裝置或其他設(shè)備上執(zhí)行,產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,使得在計(jì)算機(jī)或其他可編程裝置上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖和/或框圖方框或多個(gè)方框中規(guī)定的功能/行為的處理。
[0044]附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或動(dòng)作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
【權(quán)利要求】
1.一種用于操作存儲(chǔ)器設(shè)備的方法,所述方法包括: 從請(qǐng)求方接收第一請(qǐng)求,其中第一請(qǐng)求包括訪問(wèn)存儲(chǔ)器分塊中的第一存儲(chǔ)位置的數(shù)據(jù); 打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面,其中打開(kāi)第一頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器中,所述行從存儲(chǔ)器分塊中的行位置加載; 將來(lái)自第一存儲(chǔ)位置的數(shù)據(jù)發(fā)送給請(qǐng)求方;以及 通過(guò)存儲(chǔ)器控制器根據(jù)與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息確定在執(zhí)行第一請(qǐng)求后是否關(guān)閉第一頁(yè)面。
2.如權(quán)利要求1所述的方法,其中從請(qǐng)求方接收第一請(qǐng)求包括從處理元件或處理器接收第一請(qǐng)求。
3.如權(quán)利要求1所述的方法,其中打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面包括在從請(qǐng)求方接收第一請(qǐng)求之前接收推測(cè)性打開(kāi)請(qǐng)求并打開(kāi)第一頁(yè)面,所述推測(cè)性打開(kāi)請(qǐng)求是基于與第一請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息。
4.如權(quán)利要求1所述的方法,其中通過(guò)存儲(chǔ)器控制器根據(jù)與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息確定在執(zhí)行第一請(qǐng)求后是否關(guān)閉第一頁(yè)面包括:基于包括與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息的第一請(qǐng)求的選擇部分,確定是否關(guān)閉第一頁(yè)面。
5.如權(quán)利要求3所述的方法,進(jìn)一步包括請(qǐng)求方在發(fā)送第一請(qǐng)求給存儲(chǔ)器控制器之前將選擇部分附加到第一請(qǐng)求。
6.如權(quán)利要求1所述 的方法,進(jìn)一步包括:請(qǐng)求方基于從由以下組成的選項(xiàng)組中選擇的至少一個(gè)確定后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性:讀取第一請(qǐng)求的地址步幅、使用執(zhí)行地址提前預(yù)測(cè)處理的邏輯、使用基于先前觀察到的行為的預(yù)測(cè)邏輯、使用來(lái)自編譯器或程序員的提示和使用來(lái)自預(yù)取機(jī)制的步幅信息。
7.如權(quán)利要求1所述的方法,其中打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面包括:加載包括第一存儲(chǔ)位置的行到包括所述存儲(chǔ)器分塊的存儲(chǔ)器模塊中的讀出放大緩沖器中,其中關(guān)閉第一頁(yè)面包括寫(xiě)入行的當(dāng)前版本到行位置。
8.如權(quán)利要求1所述的方法,其中所述存儲(chǔ)器分塊在存儲(chǔ)器設(shè)備的存儲(chǔ)器棧中,并且其中所述存儲(chǔ)器控制器位于存儲(chǔ)器棧中。
9.如權(quán)利要求1所述的方法,進(jìn)一步包括:從請(qǐng)求方接收基于與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息的推測(cè)性打開(kāi)請(qǐng)求或關(guān)閉請(qǐng)求,其中在第一請(qǐng)求之后并在后續(xù)請(qǐng)求之前接收推測(cè)性打開(kāi)或關(guān)閉請(qǐng)求。
10.如權(quán)利要求1所述的方法,進(jìn)一步包括:在打開(kāi)存儲(chǔ)器分塊的第一頁(yè)面之后寫(xiě)入信息到緩沖器以更新第一存儲(chǔ)位置的數(shù)據(jù)。
11.如權(quán)利要求1所述的方法,進(jìn)一步包括:在打開(kāi)存儲(chǔ)器分塊的第一頁(yè)面之后訪問(wèn)在第一存儲(chǔ)位置的數(shù)據(jù),并使用所述數(shù)據(jù)以用于存儲(chǔ)器分塊本地或相關(guān)聯(lián)的存儲(chǔ)器控制器中的計(jì)算。
12.一種用于操作存儲(chǔ)器設(shè)備的方法,所述方法包括: 從請(qǐng)求方接收第一請(qǐng)求,其中第一請(qǐng)求包括訪問(wèn)存儲(chǔ)器分塊中的第一存儲(chǔ)位置的數(shù)據(jù); 打開(kāi)存儲(chǔ)器分塊中的第一 頁(yè)面,其中打開(kāi)第一頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器中,所述行從存儲(chǔ)器分塊中的行位置加載; 寫(xiě)入信息到緩沖器以更新來(lái)自第一存儲(chǔ)位置的數(shù)據(jù);以及 由存儲(chǔ)器控制器基于第一請(qǐng)求的選擇部分確定在執(zhí)行第一請(qǐng)求之后是否關(guān)閉第一頁(yè)面,其中第一請(qǐng)求的選擇部分包括與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息。
13.如權(quán)利要求12所述的方法,其中從請(qǐng)求方接收第一請(qǐng)求包括從處理元件或處理器接收第一請(qǐng)求。
14.如權(quán)利要求12所述的方法,進(jìn)一步包括:請(qǐng)求方在發(fā)送第一請(qǐng)求給存儲(chǔ)器控制器之前將選擇部分附加到第一請(qǐng)求。
15.如權(quán)利要求14所述的方法,進(jìn)一步包括:請(qǐng)求方基于從由以下組成的選項(xiàng)組中選擇的至少一個(gè)確定后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性:讀取第一請(qǐng)求的地址步幅、使用執(zhí)行地址提前預(yù)測(cè)處理的邏輯、使用基于先前觀察到的行為的預(yù)測(cè)邏輯、使用來(lái)自編譯器或程序員的提示和使用來(lái)自預(yù)取機(jī)制的步幅信息。
16.如權(quán)利要求12所述的方法,其中打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面包括:加載包括第一存儲(chǔ)位置的行到包括所述存儲(chǔ)器分塊的存儲(chǔ)器模塊的讀出放大緩沖器中。
17.一種用于操作包括存儲(chǔ)器分塊和存儲(chǔ)器控制器的存儲(chǔ)器設(shè)備的系統(tǒng),所述系統(tǒng)被配置為執(zhí)行包括以下步驟的方法: 從請(qǐng)求方接收第一請(qǐng) 求,其中第一請(qǐng)求包括訪問(wèn)存儲(chǔ)器分塊中的第一存儲(chǔ)位置的數(shù)據(jù); 打開(kāi)存儲(chǔ)器分塊中的第一頁(yè)面,其中打開(kāi)第一頁(yè)面包括加載包括第一存儲(chǔ)位置的行到緩沖器中,所述行從存儲(chǔ)器分塊中的行位置加載; 將來(lái)自第一存儲(chǔ)位置的數(shù)據(jù)發(fā)送給請(qǐng)求方;以及 通過(guò)存儲(chǔ)器控制器根據(jù)第一請(qǐng)求的選擇部分確定在執(zhí)行第一請(qǐng)求后是否關(guān)閉第一頁(yè)面,其中第一請(qǐng)求的選擇部分包括與后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性相關(guān)的信息。
18.如權(quán)利要求17所述的系統(tǒng),其中從請(qǐng)求方接收第一請(qǐng)求包括從處理元件或處理器接收第一請(qǐng)求。
19.如權(quán)利要求17所述的系統(tǒng),其中關(guān)閉第一頁(yè)面包括使第一頁(yè)面無(wú)效或?qū)⑺鲂械漠?dāng)前版本寫(xiě)入行位置。
20.如權(quán)利要求19所述的系統(tǒng),進(jìn)一步包括:請(qǐng)求方在發(fā)送第一請(qǐng)求給存儲(chǔ)器控制器之前將選擇部分附加到第一請(qǐng)求。
21.如權(quán)利要求20所述的系統(tǒng),進(jìn)一步包括:請(qǐng)求方基于從由以下組成的選項(xiàng)組中選擇的至少一個(gè)確定后續(xù)請(qǐng)求將訪問(wèn)第一頁(yè)面的可能性:讀取第一請(qǐng)求的地址步幅、使用執(zhí)行地址提前預(yù)測(cè)處理的邏輯、使用基于先前觀察到的行為的預(yù)測(cè)邏輯、使用來(lái)自編譯器或程序員的提示和使用來(lái)自預(yù)取機(jī)制的步幅信息。
【文檔編號(hào)】G06F12/08GK103777898SQ201310491629
【公開(kāi)日】2014年5月7日 申請(qǐng)日期:2013年10月18日 優(yōu)先權(quán)日:2012年10月19日
【發(fā)明者】B.M.弗萊舍, H.M.雅各布森, R.奈爾 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司