亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

持久存儲(chǔ)器中數(shù)據(jù)的觀察的制作方法_6

文檔序號(hào):9620868閱讀:來源:國(guó)知局
聯(lián)的、對(duì)該高速緩存行的進(jìn)一步消費(fèi)或修改。作為 替代,高速緩存500可以被直接連接到存儲(chǔ)器控制器,該存儲(chǔ)器控制器連接到持久存儲(chǔ)器。
[0116] 控制邏輯542可以利用許多算法來確定何時(shí)從緩沖區(qū)550解除對(duì)條目的分配。 例如,控制邏輯542可以使用特定的確定標(biāo)準(zhǔn),其中該標(biāo)準(zhǔn)可以包括從過渡到ro相干狀態(tài) 開始的定時(shí)器或計(jì)數(shù)值、用于整個(gè)緩沖區(qū)的填充容量閾值、基于線程的填充容量閾值,與到 持久存儲(chǔ)器的存儲(chǔ)指令關(guān)聯(lián)的優(yōu)先級(jí)值、同步指令的執(zhí)行,諸如成員持久指令;等等。同時(shí) 被分配和解除分配的條目的數(shù)量可以是可配置的并且可以基于到其它部件的總線。當(dāng)ro 緩沖區(qū)550中的條目被選擇用于解除分配時(shí),每線程ro線計(jì)數(shù)器560中對(duì)應(yīng)的計(jì)數(shù)器遞 減。當(dāng)高速緩存控制器540接收到高速緩存行已經(jīng)向持久存儲(chǔ)器提交的確認(rèn)時(shí),控制邏輯 542可以將用于高速緩存陣列510中選定的高速緩存路的相干狀態(tài)從Η)過渡到無效(I)。
[0117] 關(guān)于執(zhí)行同步指令,用于給定線程的同步指令可能一直到用于該給定線程的所有 之前到持久存儲(chǔ)器的存儲(chǔ)指令都將對(duì)應(yīng)的數(shù)據(jù)存儲(chǔ)在持久存儲(chǔ)器中才能提交。執(zhí)行給定線 程的處理器可以指示管芯上存儲(chǔ)隊(duì)列和/或存儲(chǔ)緩沖區(qū)沒有被分配到持久存儲(chǔ)器的存儲(chǔ) 指令。類似地,選定的高速緩存,諸如L2高速緩存,可以指示沒有具有ro相干狀態(tài)的用于 給定線程的高速緩存行的存儲(chǔ)。
[0118] 作為替代,用于給定線程的同步指令可以在處理器中退役并且指示被發(fā)送到高速 緩存500。如果該控制邏輯542檢測(cè)到每線程ro行計(jì)數(shù)器560中的計(jì)數(shù)器存儲(chǔ)指示沒有具 有ro狀態(tài)的高速緩存行存儲(chǔ)在用于給定線程的高速緩存陣列510中的零或其它值,則控制 邏輯542可以確定同步指令已完成。如果計(jì)數(shù)器存儲(chǔ)指示具有ro狀態(tài)的高速緩存行存儲(chǔ) 在用于給定線程的高速緩存陣列510中的非零值或其它值,則同步指令可以被存儲(chǔ)。例如, 同步指令可以被存儲(chǔ)在訪問請(qǐng)求隊(duì)列546中。當(dāng)之前到持久存儲(chǔ)器的存儲(chǔ)指令(按程序次 序)向持久存儲(chǔ)器提交時(shí),同步指令完成。一直到同步指令完成,隨后到持久存儲(chǔ)器的存儲(chǔ) 指令才被允許向持久存儲(chǔ)器提交。
[0119] 現(xiàn)在參考圖8,示出了用于可靠地處理持久存儲(chǔ)指令的方法600的一種實(shí)施例的 一般化流程圖。為了討論的目的,這個(gè)實(shí)施例中的步驟按順序示出。但是,一些步驟可以以 與所示不同的次序發(fā)生,一些步驟可以并發(fā)執(zhí)行,一些步驟可以與其它步驟組合,并且一些 步驟可以在另一種實(shí)施例中不存在。
[0120] 在方框602中,用于一個(gè)或多個(gè)軟件應(yīng)用的程序指令被處理。如果給定的處理器 使到持久存儲(chǔ)器的存儲(chǔ)指令退役(條件方框604),則在方框606中,對(duì)應(yīng)于退役存儲(chǔ)的給定 高速緩存行的拷貝利用存儲(chǔ)數(shù)據(jù)進(jìn)行更新。該給定的高速緩存行可以在處于高速緩存層次 結(jié)構(gòu)的給定級(jí)別的高速緩存中。在方框608中,給定高速緩存行的高速緩存相干狀態(tài)可以 過渡到持久臟(PD)相干狀態(tài)。ro狀態(tài)可以指示高速緩存行臟并且不可被讀訪問。
[0121] 在方框610中,給定高速緩存中的高速緩存控制器可以阻塞對(duì)具有ro狀態(tài)的任何 高速緩存行的讀訪問。在方框612中,對(duì)于給定級(jí)別之下的高速緩存,對(duì)應(yīng)于退役存儲(chǔ)的任 何高速緩存行拷貝都可能會(huì)失效。給定級(jí)別之下的高速緩存可以位于對(duì)應(yīng)的處理器與給定 級(jí)別之間。例如,L1高速緩存在L2高速緩存之下。在方框614中,用于對(duì)應(yīng)線程的具有 相干狀態(tài)的高速緩存行數(shù)量的計(jì)數(shù)遞增。此外,用于退役存儲(chǔ)請(qǐng)求的條目在緩沖區(qū)中被分 配。緩沖區(qū)可以存儲(chǔ)用于已經(jīng)被發(fā)送到給定高速緩存但是還未被提交到持久存儲(chǔ)器的、到 持久存儲(chǔ)器的存儲(chǔ)指令的對(duì)應(yīng)信息。緩沖區(qū)可以被用來隨后向持久存儲(chǔ)器發(fā)送請(qǐng)求進(jìn)行存 儲(chǔ)。雖然到持久存儲(chǔ)器的更多存儲(chǔ)指令可以在高速緩存行被寫到持久存儲(chǔ)器之前更新具有 ro狀態(tài)的高速緩存行,但是用于對(duì)應(yīng)線程的具有ro狀態(tài)的高速緩存行的數(shù)量的計(jì)數(shù)不會(huì) 遞增,因?yàn)榈匠志么鎯?chǔ)器的后續(xù)存儲(chǔ)指令不會(huì)造成到ro狀態(tài)的相干狀態(tài)過渡。高速緩存行 已經(jīng)具有關(guān)聯(lián)的ro狀態(tài)。
[0122] 許多限制條件之一可以被用來確定什么時(shí)候以及有多少請(qǐng)求要發(fā)送到持久存儲(chǔ) 器,用于與緩沖的存儲(chǔ)指令關(guān)聯(lián)的數(shù)據(jù)的存儲(chǔ)。如前所述,控制邏輯可以使用特定的確定標(biāo) 準(zhǔn),其中該標(biāo)準(zhǔn)可以包括從過渡到ro相干狀態(tài)開始的定時(shí)器或計(jì)數(shù)值、用于整個(gè)緩沖區(qū)的 填充容量閾值、基于線程的填充容量閾值,與存儲(chǔ)指令關(guān)聯(lián)的優(yōu)先級(jí)值、同步指令的執(zhí)行, 諸如成員持久指令;等等。
[0123] 如果檢測(cè)到將存儲(chǔ)請(qǐng)求的緩沖區(qū)清空到持久存儲(chǔ)器的合格條件(條件方框616), 則在方框618中,請(qǐng)求被發(fā)送,以便將當(dāng)前存儲(chǔ)在給定高速緩存行中的高速緩存行拷貝存 儲(chǔ)在持久存儲(chǔ)器中。如果接收到指示給定高速緩存行存儲(chǔ)在持久存儲(chǔ)器中的確認(rèn)(條件方 框620),則在方框622中,給定高速緩存中給定高速緩存行拷貝的相干狀態(tài)從過渡到獨(dú) 占(E)。使得該給定高速緩存行可再次被讀訪問。在方框624中,用于對(duì)應(yīng)線程的計(jì)數(shù) 遞減。此外,緩沖區(qū)中用于退役存儲(chǔ)請(qǐng)求的條目被解除分配。
[0124] 應(yīng)當(dāng)注意的是,上述實(shí)施例可以包括軟件。在這種實(shí)施例中,實(shí)現(xiàn)方法和/或機(jī)制 的程序指令可以在計(jì)算機(jī)可讀介質(zhì)上被傳送或存儲(chǔ)。被配置為存儲(chǔ)程序指令的多種類型的 介質(zhì)是可用的并且包括硬盤、軟盤、CD-ROM、DVD、閃存存儲(chǔ)器、可編程ROM(PR0M)、隨機(jī)存取 存儲(chǔ)器(RAM),以及各種其它形式的易失性或非易失性儲(chǔ)存器。
[0125] 雖然以上已經(jīng)相當(dāng)詳細(xì)地描述了實(shí)施例,但是,一旦完全理解了以上公開內(nèi)容,各 種變化和修改就將對(duì)本領(lǐng)域技術(shù)人員變得明顯。其旨在以下權(quán)利要求應(yīng)當(dāng)被解釋為包含所 有這些變化和修改。
【主權(quán)項(xiàng)】
1. 一種計(jì)算系統(tǒng),包括: 多個(gè)處理器; 高速緩存,被配置為被所述多個(gè)處理器中的至少兩個(gè)處理器訪問; 高速緩存控制器,耦合到高速緩存; 持久存儲(chǔ)器,耦合到高速緩存控制器; 其中所述多個(gè)處理器中的第一處理器被配置為經(jīng)由高速緩存控制器向持久存儲(chǔ)器發(fā) 送給定數(shù)據(jù)塊,以便存儲(chǔ);及 其中高速緩存控制器被配置為,響應(yīng)于檢測(cè)到所述給定數(shù)據(jù)塊要被發(fā)送以便存儲(chǔ)在持 久存儲(chǔ)器中,阻止對(duì)所述高速緩存中所述給定數(shù)據(jù)塊的拷貝的任何讀訪問。2. 如權(quán)利要求1所述的計(jì)算系統(tǒng),其中高速緩存控制器還被配置為,響應(yīng)于接收到所 述給定數(shù)據(jù)塊存儲(chǔ)在持久存儲(chǔ)器中的確認(rèn),允許對(duì)所述高速緩存中所述給定數(shù)據(jù)塊的所述 拷貝的讀和寫訪問。3. 如權(quán)利要求2所述的計(jì)算系統(tǒng),其中,響應(yīng)于確定所述給定數(shù)據(jù)塊要存儲(chǔ)在持久存 儲(chǔ)器中,高速緩存控制器還被配置為使第一處理器與所述高速緩存之間的任何高速緩存級(jí) 中所述給定數(shù)據(jù)塊的任何拷貝失效。4. 如權(quán)利要求2所述的計(jì)算系統(tǒng),其中,響應(yīng)于檢測(cè)到數(shù)據(jù)要存儲(chǔ)在持久存儲(chǔ)器中,高 速緩存控制器還被配置為只對(duì)由第一處理器執(zhí)行的多個(gè)線程中的第一線程允許對(duì)所述高 速緩存中所述給定數(shù)據(jù)塊的所述拷貝的寫訪問。5. 如權(quán)利要求4所述的計(jì)算系統(tǒng),其中,響應(yīng)于執(zhí)行第一線程中的給定指令,第一處理 器被配置為: 選擇要發(fā)送到持久存儲(chǔ)器用于存儲(chǔ)并具有對(duì)應(yīng)的確認(rèn)的所述給定數(shù)據(jù)塊;及 將指示和所述給定數(shù)據(jù)塊都發(fā)送到高速緩存控制器,其中所述指示指示在持久存儲(chǔ)器 中存儲(chǔ)所述給定數(shù)據(jù)塊并具有確認(rèn)。6. 如權(quán)利要求5所述的計(jì)算系統(tǒng),其中所述給定指令是持久存儲(chǔ)指令并且持久存儲(chǔ)器 利用包括相變存儲(chǔ)器(PCM)、自旋力矩轉(zhuǎn)移RAM和憶阻器之一的存儲(chǔ)介質(zhì)。7. 如權(quán)利要求5所述的計(jì)算系統(tǒng),其中第一處理器還被配置為阻止繞過對(duì)應(yīng)于持久存 儲(chǔ)指令的數(shù)據(jù)塊而去到依賴于該持久存儲(chǔ)指令的加載指令。8. 如權(quán)利要求5所述的計(jì)算系統(tǒng),其中,響應(yīng)于檢測(cè)到相應(yīng)的數(shù)據(jù)塊要存儲(chǔ)在持久存 儲(chǔ)器中,高速緩存控制器還被配置為阻止到指示相應(yīng)數(shù)據(jù)塊既臟又可讀訪問的相干狀態(tài)的 任何相干狀態(tài)過渡。9. 如權(quán)利要求5所述的計(jì)算系統(tǒng),其中高速緩存控制器還被配置為響應(yīng)于已經(jīng)為要發(fā) 送到持久存儲(chǔ)器進(jìn)行存儲(chǔ)的、對(duì)應(yīng)于第一線程的每個(gè)數(shù)據(jù)塊接收到相應(yīng)的確認(rèn),向第一處 理器發(fā)送指示提交由第一線程執(zhí)行的同步指令的指示。10. 如權(quán)利要求8所述的計(jì)算系統(tǒng),其中高速緩存控制器還被配置為: 響應(yīng)于從第一處理器中的第一線程接收到要發(fā)送到持久存儲(chǔ)器進(jìn)行存儲(chǔ)的數(shù)據(jù)塊并 具有對(duì)應(yīng)確認(rèn),并且對(duì)應(yīng)的相干狀態(tài)還沒有阻止讀訪問,遞增用于第一線程的相應(yīng)的每線 程計(jì)數(shù);及 響應(yīng)于接收到所接收數(shù)據(jù)塊存儲(chǔ)在主存儲(chǔ)器中的對(duì)應(yīng)確認(rèn)而遞減相應(yīng)的每線程計(jì)數(shù)。11. 如權(quán)利要求5所述的計(jì)算系統(tǒng),其中高速緩存控制器還被配置為: 從第一處理器接收由第一線程執(zhí)行的同步指令被提交的第一指示;及 響應(yīng)于確定還未接收到用于要發(fā)送到持久存儲(chǔ)器進(jìn)行存儲(chǔ)的、對(duì)應(yīng)于第一線程的數(shù)據(jù) 塊的至少一個(gè)相應(yīng)確認(rèn),存儲(chǔ)指示同步指令還未完成的第二指示。12. 如權(quán)利要求11所述的計(jì)算系統(tǒng),其中高速緩存控制器還被配置為響應(yīng)于確定已經(jīng) 接收到用于要發(fā)送到持久存儲(chǔ)器進(jìn)行存儲(chǔ)的、對(duì)應(yīng)于第一線程的每個(gè)數(shù)據(jù)塊的相應(yīng)確認(rèn), 存儲(chǔ)指示同步指令完成的第三指示。13. 如權(quán)利要求11所述的計(jì)算系統(tǒng),其中高速緩存控制器還被配置為,響應(yīng)于確定對(duì) 于在第一指示之前接收到的數(shù)據(jù)塊還未接收到至少一個(gè)相應(yīng)確認(rèn),阻止在第一指令之后接 收到的、來自第一處理器中第一線程的任何數(shù)據(jù)塊被發(fā)送到持久存儲(chǔ)器進(jìn)行存儲(chǔ)。14. 一種用在計(jì)算系統(tǒng)中的方法,該方法包括: 將給定數(shù)據(jù)塊發(fā)送到持久存儲(chǔ)器,進(jìn)行存儲(chǔ);及 響應(yīng)于檢測(cè)到所述給定數(shù)據(jù)塊要被發(fā)送以便存儲(chǔ)在持久存儲(chǔ)器中,阻止對(duì)高速緩存中 所述給定數(shù)據(jù)塊的拷貝的任何讀訪問。15. 如權(quán)利要求14所述的方法,還包括,響應(yīng)于接收到所述給定數(shù)據(jù)塊存儲(chǔ)在持久存 儲(chǔ)器中的確認(rèn),允許對(duì)所述高速緩存中所述給定數(shù)據(jù)塊的所述拷貝的讀和寫訪問。16. 如權(quán)利要求15所述的方法,其中持久存儲(chǔ)器使用包括相變存儲(chǔ)器(PCM),自旋力矩 轉(zhuǎn)移RAM和憶阻器之一的存儲(chǔ)介質(zhì)。17. 如權(quán)利要求15所述的方法,還包括阻止到指示相應(yīng)數(shù)據(jù)塊既臟又可讀訪問的相干 狀態(tài)的任何相干狀態(tài)過渡。18. -種存儲(chǔ)程序指令的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中程序指令可操作為在跨多 個(gè)節(jié)點(diǎn)的數(shù)據(jù)運(yùn)輸期間降低功耗,其中程序指令可由處理器執(zhí)行,以便: 將給定數(shù)據(jù)塊發(fā)送到持久存儲(chǔ)器,進(jìn)行存儲(chǔ);及 響應(yīng)于檢測(cè)到該給定數(shù)據(jù)塊要被發(fā)送以便存儲(chǔ)在持久存儲(chǔ)器中,阻止對(duì)高速緩存中該 給定數(shù)據(jù)塊的拷貝的任何讀訪問。19. 如權(quán)利要求18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中程序指令還可執(zhí)行,以響 應(yīng)于接收到所述給定數(shù)據(jù)塊存儲(chǔ)在持久存儲(chǔ)器中的確認(rèn)而允許對(duì)所述高速緩存中所述給 定數(shù)據(jù)塊的所述拷貝的讀和寫訪問。20. 如權(quán)利要求18所述的非暫態(tài)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中程序指令還可執(zhí)行,以阻 止到指示相應(yīng)數(shù)據(jù)塊既臟又可讀訪問的相干狀態(tài)的任何相干狀態(tài)過渡。
【專利摘要】用于可靠地使用數(shù)據(jù)存儲(chǔ)介質(zhì)的系統(tǒng)和方法。多個(gè)處理器被配置為訪問持久存儲(chǔ)器。對(duì)于對(duì)應(yīng)于來自第一處理器的對(duì)持久存儲(chǔ)器的寫訪問請(qǐng)求的給定數(shù)據(jù)塊,高速緩存控制器阻止對(duì)關(guān)聯(lián)的高速緩存中該給定數(shù)據(jù)塊的拷貝的任何讀訪問。在檢測(cè)到還未接收到給定數(shù)據(jù)塊存儲(chǔ)在持久存儲(chǔ)器中的確認(rèn)時(shí),高速緩存控制器阻止任何讀訪問。在接收到確認(rèn)之前,高速緩存控制器都只對(duì)第一處理器中最初發(fā)送寫訪問請(qǐng)求的線程允許對(duì)關(guān)聯(lián)的高速緩存中給定數(shù)據(jù)塊的拷貝的寫訪問。高速緩存控制器使該關(guān)聯(lián)的高速緩存之下的任何高速緩存級(jí)中給定數(shù)據(jù)塊的任何拷貝失效。
【IPC分類】G06F12/084, G06F12/0868
【公開號(hào)】CN105378682
【申請(qǐng)?zhí)枴緾N201480039876
【發(fā)明人】W·H·小布萊杰, P·羅文斯坦, M·A·勒特雷爾
【申請(qǐng)人】甲骨文國(guó)際公司
【公開日】2016年3月2日
【申請(qǐng)日】2014年6月10日
【公告號(hào)】EP3008603A1, US9367472, US20140365734, WO2014200962A1
當(dāng)前第6頁(yè)1 2 3 4 5 6 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1