專利名稱:基于需求的糾錯(cuò)的制作方法
技術(shù)領(lǐng)域:
0001]本公開(kāi)涉及信息處理領(lǐng)域,以及更具體來(lái)說(shuō),涉及存儲(chǔ)
器、如高速緩沖存儲(chǔ)器中的數(shù)據(jù)糾錯(cuò)的領(lǐng)域。
背景技術(shù):
計(jì)算機(jī)系統(tǒng)和/或微處理器可采用一個(gè)或多個(gè)高速緩沖 存儲(chǔ)器來(lái)提供對(duì)最近使用數(shù)據(jù)的較快訪問(wèn)。例如,圖l說(shuō)明由處理器、 高速緩存和存儲(chǔ)器組成的計(jì)算機(jī)系統(tǒng)。 一般來(lái)說(shuō),高速緩存模塊可由 多級(jí)高速緩存組成,但是為了簡(jiǎn)潔起見(jiàn),僅示出一級(jí)高速緩存。當(dāng)處 理器取指令或數(shù)據(jù)(一般稱作"數(shù)據(jù)")時(shí),它可能首先訪問(wèn)高速緩存 模塊。如果訪問(wèn)產(chǎn)生高速緩存"命中"(即高速緩存中存在所請(qǐng)求數(shù) 據(jù)),則高速緩存可向處理器提供該數(shù)據(jù)。如果訪問(wèn)引起丟失(即高速 緩存中不存在所請(qǐng)求數(shù)據(jù)),則高速緩存可從存儲(chǔ)器(例如DRAM)中訪 問(wèn)相應(yīng)線并將其存儲(chǔ)在高速緩存中。 在處理器把數(shù)據(jù)編程或"寫"到存儲(chǔ)器(例如經(jīng)由發(fā)出從 處理器到存儲(chǔ)器的"寫請(qǐng)求"事務(wù)處理)的情況中,根據(jù)高速緩存的寫 入策略,數(shù)據(jù)可能是或者可能不是直接被寫入存儲(chǔ)器。例如,如果高 速緩存采用"直寫"策略,則數(shù)據(jù)可被寫入高速緩存以及存儲(chǔ)器。但 是,如果高速緩存采用"回寫"策略,則數(shù)據(jù)只可被寫入高速緩存, 并且相應(yīng)的高速緩存線可標(biāo)簽為"已修改",然后在該線被逐出高速 緩存時(shí)再回寫到存儲(chǔ)器中。
0004]是采用回寫高速緩存還是直寫高速緩存的選擇取決于若
千設(shè)計(jì)考慮、如可用總線帶寬。 一般來(lái)說(shuō),回寫高速緩存可能需要比 直寫高速緩存更小的總線帶寬。為了保存芯片外的總線帶寬(即從處理
器到存儲(chǔ)器的總線帶寬),許多現(xiàn)代高速緩存分層結(jié)構(gòu)可采用回寫策 略。高速緩存存儲(chǔ)器可能容易受到數(shù)據(jù)破壞影響,從而導(dǎo)致 錯(cuò)誤數(shù)據(jù)存儲(chǔ)在高速緩存中并由處理器使用。高速緩存中的錯(cuò)誤數(shù)據(jù) 在未被檢測(cè)到的情況下可能導(dǎo)致處理器采用錯(cuò)誤數(shù)據(jù)來(lái)進(jìn)入不希望的 狀態(tài)和/或產(chǎn)生不希望的結(jié)果。4皮檢測(cè)到但未糾正的高速緩存錯(cuò)誤或 "故障"有時(shí)稱作檢測(cè)到的不可恢復(fù)錯(cuò)誤(DUE)。
〖0006] 對(duì)于直寫高速緩存(即采用直寫策略的那些高速緩存), 所有緩存數(shù)據(jù)的副本均在存儲(chǔ)器中可得到。因此,通過(guò)只是例如經(jīng)由 可用于針對(duì)高速緩存數(shù)據(jù)的奇偶校驗(yàn)的檢錯(cuò)碼(EDC)來(lái)檢測(cè)高速緩存 錯(cuò)誤,可使直寫高速緩存避免高速緩存故障。在直寫高速緩存中,如 果在高速緩存線中檢測(cè)到錯(cuò)誤,則使相應(yīng)的高速緩存線無(wú)效,并從存 儲(chǔ)器中讀取該線的副本。 但是,對(duì)于回寫高速緩存,修改高速緩存線的副本不一 定在存儲(chǔ)系統(tǒng)中可得到。如果回寫高速緩存僅采用EDC來(lái)保護(hù),則修 改線中的錯(cuò)誤可能產(chǎn)生DUE狀況。為了避免DUE狀況,回寫高速緩存 通常采用不僅用于檢測(cè)而且還用于糾正高速緩存故障的糾錯(cuò)碼 (ECC)。 圖2說(shuō)明一種現(xiàn)有技術(shù)的四路組關(guān)聯(lián)高速緩存陣列,其 中,各線(線0、 1、 2、 3)具有相應(yīng)的ECC(ECC 0、 1、 2、 3)。在圖2 的示例中,各線包含表明該線是否有效("vld"字段)、該線是否經(jīng)過(guò) 修改("mod"字段)以及該線是否將被替換或"逐出"("repl"字段) 的信息,此外,各線還包含關(guān)于該線所對(duì)應(yīng)的存儲(chǔ)器地址的指示("標(biāo) 簽"字段)以及高速緩存線中存儲(chǔ)的數(shù)據(jù)/指令("數(shù)據(jù)"字段)。通過(guò)附圖
、作為示例而不是限制來(lái)說(shuō)明本發(fā)明。圖l說(shuō)明包括處理器、高速緩存模塊和存儲(chǔ)器的現(xiàn)有技
術(shù)計(jì)算機(jī)系統(tǒng)。 圖2說(shuō)明一種現(xiàn)有技術(shù)的四路組關(guān)聯(lián)高速緩存陣列,其 中,各高速緩存線具有相應(yīng)的ECC。 圖3說(shuō)明根據(jù)本發(fā)明的一個(gè)實(shí)施例的四路組關(guān)聯(lián)高速緩 存陣列。 圖4是流程圖,說(shuō)明可用于執(zhí)行本發(fā)明的至少一個(gè)實(shí)施 例的操作。圖5是在其中可"f吏用本發(fā)明的一個(gè)實(shí)施例的共享總線系統(tǒng)。
0016] 圖6是在其中可4吏用本發(fā)明的一個(gè)實(shí)施例的點(diǎn)對(duì)點(diǎn)總線 系統(tǒng)。
具體實(shí)施例方式
本發(fā)明的實(shí)施例涉及計(jì)算機(jī)系統(tǒng)。更具體來(lái)說(shuō),本發(fā)明 的至少 一個(gè)實(shí)施例涉及減小包含糾錯(cuò)碼(ECC)的高速緩沖存儲(chǔ)器的存 儲(chǔ)開(kāi)銷、同時(shí)基本上保持高速緩存的相同性能的技術(shù)。本發(fā)明的至少 一個(gè)實(shí)施例利用以下事實(shí)只有已修改高速緩存線(即處于'已修改, 狀態(tài)的那些高速緩存線)才需要糾錯(cuò),而未修改高速緩存線(即不是處 于'已修改,狀態(tài)的那些高速緩存線)可能僅僅需要檢錯(cuò)。因此,在一 個(gè)實(shí)施例中,通過(guò)僅包括高速緩存線的足夠ECC字段來(lái)實(shí)現(xiàn)可能在高 速緩存陣列中同時(shí)存在的最大數(shù)量的已修改高速緩存線的糾錯(cuò),可節(jié)
省存儲(chǔ)開(kāi)銷。
〖0018] 在一個(gè)實(shí)施例中,可通過(guò)僅對(duì)處于'已修改,狀態(tài)的高 速緩存線使用ECC字段來(lái)減小回寫高速緩存的存儲(chǔ)開(kāi)銷。此外,至少 一個(gè)實(shí)施例使ECC代碼能夠在高速緩存線進(jìn)入和離開(kāi)已修改狀態(tài)時(shí)與 不同的高速緩存線動(dòng)態(tài)關(guān)聯(lián)。在一個(gè)實(shí)施例中,在任何特定時(shí)間可能 處于已修改狀態(tài)的高速緩存線的特定陣列(例如四路組關(guān)聯(lián)高速緩存
陣列)中的高速緩存線的數(shù)量限制為兩個(gè)。在其它實(shí)施例中,可能同時(shí) 處于已修改狀態(tài)的陣列中的高速緩存線的數(shù)量可能少于或多于兩個(gè)。 此外,在其它實(shí)施例中,可能同時(shí)處于已修改狀態(tài)的陣列中的高速緩 存線的數(shù)量可動(dòng)態(tài)改變。圖3說(shuō)明根據(jù)一個(gè)實(shí)施例的高速緩存線的陣列,其中, 每次只有兩個(gè)ECC字段可用于與不超過(guò)兩個(gè)的已修改高速緩存線關(guān) 聯(lián)。具體來(lái)說(shuō),ECC陣列303中的兩個(gè)ECC字段301和305可同時(shí)動(dòng) 態(tài)地分配給高速緩存線陣列300中的四個(gè)高速緩存線310、 315、 320 和330的任何兩個(gè)。這樣,ECC字段的數(shù)量、因而存儲(chǔ)它們所需的存 儲(chǔ)區(qū)可減少。雖然圖3所示的高速緩存陣列是四路組關(guān)聯(lián)高速緩存陣 列,但是本發(fā)明的至少一個(gè)實(shí)施例的原理可適用于在其中保持ECC、 EDC或其它狀態(tài)相關(guān)信息開(kāi)銷的任何類型的高速緩存線。 一般來(lái)說(shuō), 本發(fā)明的實(shí)施例可擴(kuò)展到在其中保持某種開(kāi)銷量以及在其中所保持開(kāi) 銷取決于其中存儲(chǔ)的信息(數(shù)據(jù)或指令)的狀態(tài)的高速緩存或其它存儲(chǔ) 類型。 在一個(gè)實(shí)施例中,根據(jù)由高速緩存線的已修改字段表明 的、高速緩存線的哪些同時(shí)處于已修改狀態(tài),兩個(gè)BCC字段動(dòng)態(tài)分配 給圖3的四路組關(guān)聯(lián)高速緩存中所示的四條線的兩條。此外,本發(fā)明 的至少一個(gè)實(shí)施例通過(guò)在各高速緩存線中包含標(biāo)識(shí)高速緩存線所對(duì)應(yīng) 的ECC字段的標(biāo)識(shí)符,來(lái)限制可能同時(shí)處于已修改狀態(tài)的圖3的陣列 中的高速緩存線的數(shù)量。在一個(gè)實(shí)施例中,如果處于已修改狀態(tài)的已 修改高速緩存線的數(shù)量少于所允許的數(shù)量(例如在一個(gè)實(shí)施例中為2),則標(biāo)識(shí)符可能改變。 例如,高速緩存線320的內(nèi)容在圖3中表示為包括有效 字段指示符321、已修改字段指示符322、標(biāo)識(shí)符字段指示符323、替 換指示符字段324、標(biāo)簽字段325以及數(shù)據(jù)(或指令)字段326。在一個(gè) 實(shí)施例中,標(biāo)識(shí)符字段("ID"字羊殳)標(biāo)識(shí)高速緩存線所對(duì)應(yīng)的ECC字 段之一。類似地,可能存在其ID字段標(biāo)識(shí)其它的ECC字段的另一個(gè)高 速緩存線。在其它實(shí)施例中,可能有更多的ECC字段,因而更多高速 緩存線的ID字段將標(biāo)識(shí)相應(yīng)的ECC字段。在一個(gè)實(shí)施例中,例如,一 個(gè)高速緩存線的ID可能包含"0"值來(lái)標(biāo)識(shí)ECC字段之一,而笫二高 速緩存線可能包含'T,值來(lái)標(biāo)識(shí)另一個(gè)ECC字段。在其它實(shí)施例中, 其它ID值可用來(lái)標(biāo)識(shí)與特定高速緩存線對(duì)應(yīng)的ECC字段。 但是,在圖3所示的實(shí)施例中,ECC字段的數(shù)量、因而 可能處于已修改狀態(tài)的高速緩存線的數(shù)量限制為兩個(gè)。圖3中只有兩 條高速緩存線可能同時(shí)處于已修改狀態(tài),由此減少必須保持的ECC字 段的數(shù)量。但是,其余高速緩存線可采用EDC。在其它實(shí)施例中,其 余未修改高速緩存線可能不采用EDC。 如果在操作401寫高速緩存線,以及如果在操作"2,處 于已修改狀態(tài)的高速緩存線的數(shù)量沒(méi)有由于寫操作而超過(guò)允許極限, 則在操作403,把來(lái)自寫操作的數(shù)據(jù)編程到尋址高速緩存線的數(shù)據(jù)字 段,并且高速緩存線的ID字段;故更新為指向ECC字段之一 (例如仍未 與處于已修改狀態(tài)的高速緩存線關(guān)聯(lián)的一個(gè)ECC字段)。但是,如果寫 操作使處于已修改狀態(tài)的高速緩存線的數(shù)量超過(guò)允許極限,則在操作
410,來(lái)自已經(jīng)與ECC字段關(guān)聯(lián)的已修改高速緩存線的數(shù)據(jù)被回寫到存 儲(chǔ)器,并更新"已清理"高速緩存線的已修改字段以表明該高速緩存 線不再處子已修改狀態(tài),以及已清理高速緩存線的ID字段被更新為指 向EDC字段而不是ECC字段。當(dāng)ECC字段再次能夠自由使用之后,在 操作415,來(lái)自掛起寫操作的數(shù)據(jù)可被編程到已清理高速緩存線,已修 改(例如困3中的"mod"字段)字段被更新以表明數(shù)據(jù)經(jīng)過(guò)修改,以及 高速緩存線的ID字段設(shè)置為指向空閑ECC字段。 圖5的處理器中所示的是機(jī)器狀態(tài)的存儲(chǔ)區(qū)506。在一 個(gè)實(shí)施例中,存儲(chǔ)區(qū)可能是一組寄存器,而在其它實(shí)施例中,存儲(chǔ)區(qū) 可能是其它存儲(chǔ)器結(jié)構(gòu)。圖5中還表示的是根據(jù)一個(gè)實(shí)施例、用于保 存區(qū)段的存儲(chǔ)區(qū)507。在其它實(shí)施例中,保存區(qū)段可能位于其它裝置 或存儲(chǔ)器結(jié)構(gòu)中。處理器可具有任何數(shù)量的處理核。但是,本發(fā)明的 其它實(shí)施例可在系統(tǒng)的其它裝置、如獨(dú)立總線代理中實(shí)現(xiàn),或者通過(guò) 硬件、軟件或它們的某種組合分布于整個(gè)系統(tǒng)。 主存儲(chǔ)器可通過(guò)各種存儲(chǔ)源來(lái)實(shí)現(xiàn),例如動(dòng)態(tài)隨機(jī)存取 存儲(chǔ)器(DRAM)、硬盤驅(qū)動(dòng)器(HDD) 520或者經(jīng)由網(wǎng)絡(luò)接口 HO遠(yuǎn)離計(jì)算 機(jī)系統(tǒng)設(shè)置的包含各種存儲(chǔ)裝置和技術(shù)的存儲(chǔ)源。高速緩沖存儲(chǔ)器可 設(shè)置在處理器內(nèi)或者設(shè)置在處理器附近,例如設(shè)置在處理器的本地總 線507上。 此外,高速緩沖存儲(chǔ)器可包舍較快的存儲(chǔ)單元、如六晶 體管(6T)單元,或者接近相等或更快的存取速度的其它存儲(chǔ)單元。圖5 的計(jì)算機(jī)系統(tǒng)可能是例如微處理器等的總線代理的點(diǎn)對(duì)點(diǎn)(PtP)網(wǎng) 絡(luò),它們經(jīng)由專用于PtP網(wǎng)絡(luò)上的各代理的總線信號(hào)進(jìn)行通信。圖6 說(shuō)明以點(diǎn)對(duì)點(diǎn)(PtP)配置來(lái)設(shè)置的計(jì)算機(jī)系統(tǒng)。具體來(lái)說(shuō),圖6說(shuō)明其 中的處理器、存儲(chǔ)器和輸入/輸出裝置通過(guò)多個(gè)點(diǎn)對(duì)點(diǎn)接口互連的系 統(tǒng)。 圖6的系統(tǒng)還可包括若干處理器,為了筒潔起見(jiàn)僅示出 其中兩個(gè)處理器670、 680。處理器670、 680均可包括與存儲(chǔ)器22、 24連接的本地存儲(chǔ)控制器集線器(MCH) 672、 682。處理器670、 680可 采用PtP接口電路678、688經(jīng)由點(diǎn)對(duì)點(diǎn)(PtP)來(lái)交換數(shù)據(jù)。處理器670、 680均可采用點(diǎn)對(duì)點(diǎn)接口電路676、 694、 686、 698經(jīng)由各個(gè)PtP接口 652、 654與芯片組690交換數(shù)據(jù)。芯片組690還可經(jīng)由高性能圖形接 口 639與高性能圖形電路638交換數(shù)據(jù)。本發(fā)明的實(shí)施例可設(shè)置在具 有任何數(shù)量的處理核的任何處理器中或者設(shè)置在圖6的PtP總線代理 的每個(gè)中。 但是,本發(fā)明的其它實(shí)施例可存在于圖6的系統(tǒng)的其它 電路、遲輯單元或裝置中。此外,本發(fā)明的其它實(shí)施例可分布于圖6 所示的若干電路、邏輯單元或裝置上。
0031] 本文涉及的處理器或者根據(jù)本發(fā)明的一個(gè)實(shí)施例設(shè)計(jì)的 其它任何組件可在從創(chuàng)建到模擬到制造的各個(gè)階段中進(jìn)行設(shè)計(jì)。表示 設(shè)計(jì)的數(shù)據(jù)可通過(guò)多種方式來(lái)表示設(shè)計(jì)。首先,如在模擬中可用的那 樣,硬件可采用硬件描述語(yǔ)言或者另一種功能描述語(yǔ)言來(lái)表示。作為 補(bǔ)充或替代,采用邏輯和/或晶體管門的電路級(jí)模型可在設(shè)計(jì)過(guò)程的部 分階段產(chǎn)生。此外,在某個(gè)階段,大部分設(shè)計(jì)達(dá)到在其中它們可采用 表示各種裝置的物理設(shè)置的數(shù)據(jù)來(lái)建模的等級(jí)。在使用傳統(tǒng)半導(dǎo)體制 造技術(shù)的情況中,表示裝置設(shè)置模型的數(shù)據(jù)可能是指定在用于生產(chǎn)集 成電路的掩模的不同掩模層上的各種特征是否存在的數(shù)據(jù)。 在設(shè)計(jì)的任何表示中,數(shù)據(jù)可存儲(chǔ)在任何形式的機(jī)器可 讀媒體中。經(jīng)調(diào)制或者以其它方式產(chǎn)生以便傳送這種信息的光或電 波、存儲(chǔ)器或者磁或光存儲(chǔ)裝置、如盤可能是機(jī)器可讀媒體。這些媒
體的任一個(gè)可"承栽"或"表明"該設(shè)計(jì)或者在本發(fā)明的實(shí)施例中使 用的其它信息、如差錯(cuò)恢復(fù)例程中的指令。傳送表明或承栽信息的電 栽波以便執(zhí)行電信號(hào)的復(fù)制、緩沖或重傳時(shí),制作新的副本。因此, 通信提供商或網(wǎng)絡(luò)提供商的動(dòng)作可能是制作體現(xiàn)本發(fā)明的技術(shù)的產(chǎn) 品、如栽波的副本。 因此,公開(kāi)用于引導(dǎo)存儲(chǔ)器存取、如加載或存儲(chǔ)的技術(shù)。 雖然在附圖中描述和表示了某些實(shí)施例,但是要理解,這些實(shí)施例只 是對(duì)廣泛的發(fā)明的說(shuō)明而不是限制,以及本發(fā)明不限于所示及所述的 具體構(gòu)造和配置,因?yàn)楸绢I(lǐng)域的技術(shù)人員在研究本公開(kāi)"^后可能會(huì)想 到其它各種修改。在其中的增長(zhǎng)迅速并且不易預(yù)見(jiàn)其它進(jìn)步的例如這
樣的技術(shù)的領(lǐng)域中,通過(guò)實(shí)現(xiàn):汰術(shù)進(jìn)步進(jìn)行促進(jìn),所公開(kāi)的實(shí)施例在 配置和細(xì)節(jié)上可易于修改,而沒(méi)有背離本公開(kāi)的原理或所附權(quán)利要求 書的范閨。
0034] 本發(fā)明的 一個(gè)或多個(gè)實(shí)施例的各個(gè)方面可能在可使用本 發(fā)明的一個(gè)或多個(gè)實(shí)施例的處理器或計(jì)算機(jī)系統(tǒng)的廣告中描述、論述 或引用。這類廣告可包括但不限于新聞紙、雜志、廣告牌或其它報(bào)紙 或有形媒體。具體來(lái)說(shuō),本發(fā)明的一個(gè)或多個(gè)實(shí)施例的各個(gè)方面可經(jīng) 由網(wǎng)站、"彈出"廣告或其它基于萬(wàn)維網(wǎng)的々某體在互聯(lián)網(wǎng)上做廣告, 而不管包含生成網(wǎng)站或彈出廣告的程序是位于美國(guó)還是其領(lǐng)區(qū)。
權(quán)利要求
1.一種設(shè)備,包括多個(gè)高速緩存線;多個(gè)糾錯(cuò)碼(ECC)存儲(chǔ)區(qū),所述多個(gè)ECC存儲(chǔ)區(qū)小于高速緩存線的數(shù)量。
2. 如權(quán)利要求l所述的設(shè)備,其中,ECC存儲(chǔ)區(qū)的數(shù)量等于已修 改高速壤存線的最大數(shù)量。
3. 如權(quán)利要求l所述的設(shè)備,其中,所述多個(gè)高速緩存線包括表 明相應(yīng)高速緩存線所對(duì)應(yīng)的相應(yīng)ECC存儲(chǔ)區(qū)的標(biāo)識(shí)(ID)字段。
4. 如權(quán)利要求3所述的設(shè)備,其中,所述多個(gè)高速緩存線包括表 明所述相應(yīng)高速緩存線是否包舍已修改數(shù)據(jù)的已修改字段(MOD)。
5. 如權(quán)利要求2所述的設(shè)備,其中,所述已修改高速緩存線的最 大數(shù)量為二。
6. 如權(quán)利要求5所述的設(shè)備,其中,所述高速緩存線位于將要釆 用回寫相干性策略的組關(guān)聯(lián)高速緩存中。
7. 如權(quán)利要求6所述的設(shè)備,其中,不處于已修改狀態(tài)的所述高 速緩存線將對(duì)應(yīng)于許多檢錯(cuò)碼(EDC)存儲(chǔ)區(qū)之一而不是ECC存儲(chǔ)區(qū)。
8. 如權(quán)利要求l所述的設(shè)備,其中,所述高速緩存線位于第l級(jí) 高速緩沖存儲(chǔ)器中。
9. 一種系統(tǒng),包括 存儲(chǔ)器;處理器,耦合到所述存儲(chǔ)器,把數(shù)據(jù)寫入多個(gè)高速緩存線,所迷 高速緩存線存儲(chǔ)少于或等于最大數(shù)量的已修改數(shù)據(jù),所述最大已修改 數(shù)據(jù)小于所述多個(gè)高速緩存線。
10. 如權(quán)利要求9所述的系統(tǒng),其中,所述已修改數(shù)據(jù)的最大數(shù) 量的每個(gè)對(duì)應(yīng)于糾錯(cuò)碼(ECC)字段的最大數(shù)量。
11. 如權(quán)利要求10所述的系統(tǒng),其中,所述多個(gè)高速緩存線包括 表明相應(yīng)高速緩存線所對(duì)應(yīng)的相應(yīng)ECC字段的標(biāo)識(shí)(ID)字段。
12. 如權(quán)利要求ll所述的系統(tǒng),其中,所述已修改高速緩存數(shù)據(jù) 的最大數(shù)量為二。
13. 如權(quán)利要求12所述的系統(tǒng),其中,所述多個(gè)高速緩存線位于 將要采用回寫相干性策略的組關(guān)聯(lián)高速緩存中。
14. 如權(quán)利要求13所述的系統(tǒng),其中,不處于已修改狀態(tài)的所述 高速緩存線將對(duì)應(yīng)于許多檢錯(cuò)碼(EDC)存儲(chǔ)區(qū)之一而不是ECC存儲(chǔ) 區(qū)。
15. 如權(quán)利要求9所述的系統(tǒng),其中,如果所述處理器嘗試把數(shù) 據(jù)寫入所述多個(gè)高速緩存線,并且已修改數(shù)據(jù)的數(shù)量等于所述已修改 數(shù)據(jù)的最大數(shù)量,則所述已修改數(shù)據(jù)中的數(shù)據(jù)將被寫入所述存儲(chǔ)器。
16. 如權(quán)利要求15所述的系統(tǒng),其中,所述多個(gè)高速緩存線位于 第1級(jí)(L1)高速緩沖存儲(chǔ)器中。
17. 如權(quán)利要求15所述的系統(tǒng),其中,所述多個(gè)高速緩存線位于 第2級(jí)(L2)高速緩沖存儲(chǔ)器中。
18. —種方法,包括 向高速緩存線陣列發(fā)出寫操作;在所述高速緩存線陣列包舍最大數(shù)量的已修改高速緩存線時(shí)把已 修改數(shù)據(jù)回寫到存儲(chǔ)器,已修改高速緩存線的所述最大數(shù)量少于所迷高速緩存線陣列中的全部所述高速緩存線;把所述數(shù)據(jù)寫入清理高速纟復(fù)存線,對(duì)應(yīng)于所述已修改數(shù)據(jù)。
19. 如權(quán)利要求18所述的方法,還包括把所述清理高速緩存線中 的標(biāo)識(shí)(ID)字段更新為指向糾錯(cuò)碼(ECC)字段,其中ECC字段的最大數(shù) 量等于所述已修改高速緩存線的最大數(shù)量。
20. 如權(quán)利要求19所迷的方法,如果讀取所述高速緩存線數(shù)據(jù), 則針對(duì)檢錯(cuò)碼(BDC)對(duì)高速緩存線數(shù)據(jù)執(zhí)行奇偶校驗(yàn)而不執(zhí)行糾錯(cuò)。
21. 如權(quán)利要求20所述的方法,其中,所述ECC字段的最大數(shù)量 動(dòng)態(tài)分配給所述高速緩存線陣列中的高速緩存線。
22. 如權(quán)利要求21所迷的方法,最大數(shù)量為二。
23. 如權(quán)利要求22所述的方法,在組關(guān)聯(lián)高速緩存中。
24. 如權(quán)利要求23所述的方法, 四路。 其中,所述已修改高速緩存線的 其中,所述高速緩存線陣列包舍 其中,所述組關(guān)聯(lián)高速緩存包括
全文摘要
一種用于基于需求的糾錯(cuò)的技術(shù)。更具體來(lái)說(shuō),本發(fā)明的至少一個(gè)實(shí)施例涉及減小包含糾錯(cuò)碼(ECC)的高速緩沖存儲(chǔ)器的存儲(chǔ)開(kāi)銷、同時(shí)基本上保持高速緩存的相同性能的技術(shù)。
文檔編號(hào)G06F11/10GK101187886SQ200710085299
公開(kāi)日2008年5月28日 申請(qǐng)日期2007年2月27日 優(yōu)先權(quán)日2006年2月27日
發(fā)明者M·屈雷施, P·拉庫(kù)納斯, S·穆克赫吉 申請(qǐng)人:英特爾公司