本申請案主張2014年4月18日申請且標題為“用于在失效操作之后檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的高速緩沖存儲器錯誤檢測電路,以及相關方法和基于處理器的系統(tǒng)”的第14/256,360號美國專利申請案的優(yōu)先權,其以全文引用的方式并入本文中。
技術領域
本發(fā)明的領域涉及檢測基于處理器的系統(tǒng)中的高速緩沖存儲器中的位翻轉(zhuǎn)。
背景技術:
存儲器單元是計算機數(shù)據(jù)存儲裝置的基本構建塊,也被稱為“存儲器”。計算機系統(tǒng)可從存儲器讀取數(shù)據(jù)或?qū)?shù)據(jù)寫入到存儲器。作為實例,存儲器可用以提供中央處理單元(CPU)系統(tǒng)中的高速緩沖存儲器。高速緩沖存儲器是將存儲存儲在主存儲器中頻繁存取的存儲地址處的數(shù)據(jù)的復本的較小、較快的存儲器,或用以減少存儲器存取等待時間的較高層級高速緩沖存儲器。因此,高速緩沖存儲器是可由CPU用來減少存儲器存取時間的存儲器。
高速緩沖存儲器包括標記陣列和數(shù)據(jù)陣列。標記陣列含有也被稱作“標記”的地址。所述標記提供數(shù)據(jù)陣列中的數(shù)據(jù)存儲位置的索引。標記陣列中的標記和存儲在數(shù)據(jù)陣列中的標記的索引處的數(shù)據(jù)也被稱作“高速緩存行”或“高速緩存條目”。如果作為存儲器存取請求的一部分提供到高速緩沖存儲器的存儲器地址或其部分與標記陣列中的標記匹配,那么這被稱為“高速緩存命中”。高速緩存命中意味著數(shù)據(jù)陣列中的在匹配標記的索引處所含有的數(shù)據(jù)含有對應于主存儲器和/或較高層級高速緩沖存儲器中的所請求存儲器地址的數(shù)據(jù)。數(shù)據(jù)陣列中的在匹配標記的索引處所含有的數(shù)據(jù)可用于存儲器存取請求,而不必須存取具有較大存儲器存取延時的主存儲器或較高層級高速緩沖存儲器。然而,如果所述存儲器存取請求的存儲地址或其部分并不與標記陣列中的標記匹配,或如果高速緩存條目以其它方式無效,那么這被稱為“高速緩沖存儲器未中”。在高速緩存未中的情況下,數(shù)據(jù)陣列被認為不含有可滿足存儲器存取請求的數(shù)據(jù)。
對于高速緩存命中,不僅存儲器存取請求的存儲器地址必須與標記陣列中的標記匹配,而且對應于所述所匹配的標記的高速緩存條目必須也是有效的。就此而言,為高速緩沖存儲器中的每一高速緩存條目提供有效指示符(例如有效位),以指示高速緩存條目的有效性。因此,所述有效指示符也在高速緩沖存儲器存取中作為高速緩沖存儲器錯誤邏輯的一部分來查詢。當存儲在高速緩存條目的數(shù)據(jù)陣列中的數(shù)據(jù)不再有效時,可將所述有效指示符設定成無效狀態(tài)。所述有效指示符還提供用于刪除高速緩存條目的方便方法。為了刪除高速緩存條目,可簡單地將對應于待刪除的高速緩存條目的有效指示符設定成無效狀態(tài)(例如邏輯零‘0’值,其中邏輯一‘1’值指示有效狀態(tài)),相對于為所述高速緩存條目覆寫存儲在數(shù)據(jù)陣列中的數(shù)據(jù)。因此,如果隨后在用有效數(shù)據(jù)填充之前存取刪除的高速緩存條目,那么所存取的高速緩存條目的有效指示符將表示高速緩存條目的無效狀態(tài)。在此實例中,有效指示符將致使所述高速緩沖存儲器針對高速緩存條目存取產(chǎn)生高速緩沖存儲器未中。然而,如果有效指示符中出現(xiàn)無意位翻轉(zhuǎn),從而致使有效指示符不恰當?shù)刂甘緹o效高速緩存條目的有效狀態(tài),例如從輻射或電涌,那么當存取此無效高速緩存條目時,高速緩沖存儲器將產(chǎn)生錯誤的高速緩存命中,相對于真實高速緩沖存儲器未中。因此,可因有效的指示符位翻轉(zhuǎn)而針對所述存儲器存取請求從高速緩沖存儲器提供無效數(shù)據(jù)。
因此,高速緩沖存儲器設計中希望考慮有效指示符中的位翻轉(zhuǎn)的可能性。解決高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的一種方法是防止位翻轉(zhuǎn)發(fā)生。舉例來說,所述有效指示符可為抗輻射的,以使所述有效指示符較不容易發(fā)生翻轉(zhuǎn)。然而,抗輻射可以減小高速緩沖存儲器的性能的方式增加成本或電路復雜性。
防止高速緩沖存儲器中的有效指示符中發(fā)生位翻轉(zhuǎn)的一種替代方法是檢測有效指示符中的位翻轉(zhuǎn)。一種檢測有效指示符中的位翻轉(zhuǎn)的方法是復制高速緩沖存儲器中的每一高速緩存條目中的有效指示符。高速緩沖存儲器被設計成僅在所存取的高速緩存條目的兩個有效指示符均有效的情況下產(chǎn)生高速緩存命中。因此,如果所述有效指示符中的一者中發(fā)生位翻轉(zhuǎn),那么復制有效指示符將不匹配。然而,復制高速緩沖存儲器中的高速緩存條目中的有效指示符需要高速緩沖存儲器中的額外電路。由于為確定所存取的高速緩存條目的有效指示符是否匹配所需的額外邏輯提供復制的有效指示符,因此高速緩沖存儲器的存取等待時間和高速緩沖存儲器存取所消耗的能量也可增加。并且,如果給定高速緩存條目的所復制的有效指示符中發(fā)生相同的位翻轉(zhuǎn),那么有效指示符仍將匹配且可能產(chǎn)生錯誤的高速緩存命中。
檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的另一方法是在奇偶校驗運算和奇偶校驗中包含有效指示符。奇偶校驗邏輯可提供于高速緩沖存儲器中,以產(chǎn)生高速緩存條目或其部分的奇偶校驗(例如奇偶校驗位或字),其包含高速緩存條目的填充物上的高速緩存條目的有效指示符。當在高速緩沖存儲器中存取高速緩存條目時,檢查奇偶校驗。如果已發(fā)生無意的位翻轉(zhuǎn),那么所產(chǎn)生的奇偶校驗將不與高速緩存條目的奇偶校驗或其部分匹配,且因此高速緩沖存儲器未中將由高速緩沖存儲器產(chǎn)生。因此,如果高速緩存條目的有效指示符包含于奇偶校驗的產(chǎn)生中,那么有效指示符中的位翻轉(zhuǎn)將導致奇偶校驗失配,其將用以產(chǎn)生高速緩沖存儲器未中或用信號通知錯誤。然而,提供有效指示符作為奇偶校驗指示符的一部分可能是不利的。如果有效指示符包含于高速緩存條目的奇偶校驗中,那么當高速緩沖存儲器中的高速緩存條目改變時,必須重新產(chǎn)生奇偶校驗。因此,如果高速緩存條目被刪除,那么有效指示符就無法簡單地設定成無效狀態(tài)。還必須產(chǎn)生新的奇偶校驗指示符,且存儲在高速緩存條目中,從而增加高速緩存條目刪除操作的等待時間和能量。如果高速緩沖存儲器支持“閃存失效”或“選擇性失效”操作,其允許通過簡單地使有效指示符失效,來使高速緩沖存儲器中的多個高速緩存條目同時且快速地失效。如果高速緩沖存儲器的有效指示符包含于高速緩存條目的奇偶校驗中,對于每一高速緩沖存儲器閃存失效或選擇性失效操作,還必須重新產(chǎn)生每一失效的高速緩存條目的奇偶校驗。
技術實現(xiàn)要素:
本文所揭示的方面包含高速緩沖存儲器錯誤檢測電路,用于在失效操作之后檢測高速緩沖存儲器中的有效指示符(例如有效位)中的位翻轉(zhuǎn)。還揭示相關方法和基于處理器的系統(tǒng)。如果高速緩存命中因失效操作之后對高速緩存條目(例如標簽)的存取而產(chǎn)生,但在再建立高速緩存條目之前,與高速緩存條目相關聯(lián)的有效指示符中已發(fā)生位翻轉(zhuǎn)。這是因為有效指示符應指示無效狀態(tài)(對于高速緩沖存儲器未中),如相對于失效操作之后和高速緩存條目的重新建立之前的有效狀態(tài)(對于高速緩存命中)。因此,在本文所揭示的方面中,當有效指示符指示高速緩沖存儲器中的所存取高速緩存條目的有效狀態(tài)時,高速緩沖存儲器錯誤檢測電路經(jīng)配置以確定在重新建立高速緩存條目之前,是否對所述高速緩存條目執(zhí)行失效操作。如果對高速緩存條目執(zhí)行失效操作,那么有效指示符中已發(fā)生位翻轉(zhuǎn),因為有效指示符應指示無效狀態(tài),致使將產(chǎn)生高速緩沖存儲器未中。所述有效指示符應指示無效狀態(tài),因為在失效操作之后,所述有效指示符設定成無效狀態(tài)。所述高速緩沖存儲器錯誤檢測電路可致使產(chǎn)生高速緩沖存儲器未中,或針對所存取的高速緩存條目將指示錯誤,因此,即使高速緩存條目的有效指示符歸因于位翻轉(zhuǎn)而指示有效狀態(tài)。
因此,在本文所揭示的方面中,為了使高速緩沖存儲器錯誤檢測電路確定在高速緩存條目的重新建立之前何時已發(fā)生失效操作,提供失效間隔指示符(例如計數(shù)器)。失效間隔指示符針對高速緩沖存儲器上執(zhí)行的每一失效操作推進失效間隔狀態(tài)(例如計數(shù))。當在高速緩沖存儲器中建立高速緩存條目時,失效間隔狀態(tài),或其經(jīng)編碼版本,存儲在高速緩存條目中。如果隨后存取的高速緩存條目的有效指示符指示有效狀態(tài),那么高速緩沖存儲器錯誤檢測電路確認失效操作尚未出現(xiàn)。如果當建立高速緩存條目時原先存儲或編碼在高速緩存條目中的失效間隔狀態(tài)不是所存取的高速緩存條目的有效指示符指示有效狀態(tài)時的當前失效間隔狀態(tài),此為失效操作之后與高速緩存條目相關聯(lián)的有效指示符中已發(fā)生位翻轉(zhuǎn)的指示。這是因為在失效操作之后,所存取的高速緩存條目的有效指示符應指示無效狀態(tài),如相對于有效狀態(tài),因為失效操作迫使所述有效指示符成為無效狀態(tài)。因此,在此實例中,高速緩沖存儲器錯誤檢測電路經(jīng)配置以致使當在檢測到的失效操作之后在與所存取的高速緩存條目相關聯(lián)的有效指示符中檢測到位翻轉(zhuǎn)時,將產(chǎn)生高速緩沖存儲器未中(相對于高速緩存命中)或錯誤指示,以便避免使用存儲在數(shù)據(jù)陣列中的對應于所述高速緩存條目的數(shù)據(jù)。
因為當建立高速緩存條目時,失效間隔狀態(tài)存儲或編碼在高速緩沖存儲器中的高速緩存條目中,所以高速緩沖存儲器錯誤檢測電路可檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn),而不使保護有效指示符使其免于抗輻射,或包含高速緩存條目的奇偶校驗中的有效指示符。如果有效指示符包含于高速緩存條目的奇偶校驗中以檢測有效指示符位翻轉(zhuǎn),那么除迫使有效指示符處于無效狀態(tài)之外,將必須在高速緩沖存儲器閃存失效操作上重新計算每一高速緩存條目的奇偶校驗,因此實質(zhì)上增加閃存失效操作的等待時間和能量。然而,如果在建立后失效間隔狀態(tài)即刻存儲在每一高速緩存條目中,那么對于高速緩沖存儲器中的每一高速緩存條目,必須包含額外位。然而,在本文所揭示的其它方面中,為了避免需要將此額外存儲包含在高速緩沖存儲器中的每一高速緩存條目,以在建立高速緩存條目時存儲失效間隔狀態(tài),失效間隔狀態(tài)可或者用存儲在高速緩存條目中的現(xiàn)有高速緩存條目奇偶校驗來編碼。因此,在此后一實例中,高速緩沖存儲器中將僅需要失效間隔指示符的開銷以及用以分別在高速緩存條目建立和存取后編碼和檢查高速緩存條目的奇偶校驗中的當前失效間隔狀態(tài)的邏輯。
就此來說,在一個方面中,提供用于檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的高速緩沖存儲器錯誤檢測電路。所述高速緩沖存儲器錯誤檢測電路包括至少一個失效間隔指示符,其經(jīng)配置以基于高速緩沖存儲器中執(zhí)行的失效操作,推進失效間隔狀態(tài)(例如使計數(shù)器遞增)。高速緩沖存儲器錯誤檢測電路進一步包括冗余信息指示符產(chǎn)生電路,其經(jīng)配置以響應于高速緩沖存儲器中至少一個高速緩存條目的建立,基于失效間隔狀態(tài)來產(chǎn)生至少一個高速緩存條目中的每一者的冗余信息指示符。高速緩沖存儲器錯誤檢測電路還包括至少一個冗余信息指示符驗證電路。所述冗余信息指示符驗證電路響應于高速緩沖存儲器中的所存取的高速緩存條目有效指示符指示有效狀態(tài),經(jīng)配置以接收高速緩沖存儲器中的所存取高速緩存條目的冗余信息指示符。所述冗余信息指示符驗證電路還經(jīng)配置以從至少一個失效間隔指示符接收失效間隔狀態(tài),且基于所述失效間隔狀態(tài)產(chǎn)生當前冗余信息指示符。所述冗余信息指示符驗證電路進一步經(jīng)配置以將所存取的高速緩存條目的冗余信息指示符與當前冗余信息指示符進行比較,且產(chǎn)生高速緩存條目錯誤指示符。所述高速緩存條目錯誤指示符可基于冗余信息指示符與當前冗余信息指示符的比較,指示所存取的高速緩存條目中是否出現(xiàn)位翻轉(zhuǎn)。
在一個方面中,提供用于檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的高速緩沖存儲器錯誤檢測電路。高速緩沖存儲器錯誤檢測電路包括用于基于高速緩沖存儲器上執(zhí)行的失效操作來推進失效間隔狀態(tài)的裝置。所述高速緩沖存儲器錯誤檢測電路進一步包括用于響應于至少一個高速緩存條目的建立,基于失效間隔狀態(tài)產(chǎn)生高速緩沖存儲器中的至少一個高速緩存條目中的每一者的冗余信息指示符的裝置。所述高速緩沖存儲器錯誤檢測電路還包括:用于響應于高速緩沖存儲器中的所存取的高速緩存條目的有效指示符指示有效狀態(tài),接收高速緩沖存儲器中的所存取的高速緩存條目的冗余信息指示符,接收失效間隔狀態(tài),基于所述失效間隔狀態(tài)產(chǎn)生當前冗余信息指示符,以及將所述所存取的高速緩存條目的冗余信息指示符與當前冗余信息指示符進行比較且產(chǎn)生高速緩存條目錯誤指示符的裝置。所述高速緩存條目錯誤指示符可基于冗余信息指示符與當前冗余信息指示符的比較,指示所存取的高速緩存條目中是否出現(xiàn)位翻轉(zhuǎn)。
在另一方面中,提供一種在失效操作之后檢測來自高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的高速緩沖存儲器錯誤的方法。所述方法包括基于高速緩沖存儲器上執(zhí)行的失效操作來推進至少一個失效間隔指示符的失效間隔狀態(tài),以及響應于建立至少一個高速緩存條目,產(chǎn)生高速緩沖存儲器中的至少一個高速緩存條目中的每一者的冗余信息指示符。所述方法進一步包括接收高速緩沖存儲器中的所存取高速緩存條目的冗余信息指示符,以及從所述至少一個失效間隔指示符接收失效間隔狀態(tài)。所述方法還包括基于失效間隔狀態(tài)產(chǎn)生當前冗余信息指示符,將所存取的高速緩存條目的冗余信息指示符與當前冗余信息指示符進行比較,以及產(chǎn)生高速緩存條目錯誤指示符。所述方法還可包括在基于冗余信息指示符與當前冗余信息指示符的比較,在所存取的高速緩存條目中出現(xiàn)位翻轉(zhuǎn)的情況下,產(chǎn)生高速緩存條目錯誤指示符。
在另一方面中,提供一種上面存儲有計算機可執(zhí)行指令以致使基于處理器的高速緩沖存儲器錯誤檢測電路檢測高速緩沖存儲器中的有效指示符的位翻轉(zhuǎn)的非暫時性計算機可讀媒體。上面存儲有計算機可執(zhí)行指令的所述非暫時性計算機可讀媒體致使基于處理器的高速緩沖存儲器錯誤檢測電路基于高速緩沖存儲器上執(zhí)行的失效操作,推進至少一個失效間隔指示符的失效間隔狀態(tài);響應于建立至少一個高速緩存條目,針對高速緩沖存儲器中的至少一個高速緩存條目中的每一者產(chǎn)生冗余信息指示符;接收高速緩沖存儲器中的所存取的高速緩存條目的冗余信息指示符;從至少一個失效間隔指示符接收失效間隔狀態(tài),基于失效間隔狀態(tài)產(chǎn)生當前冗余信息指示符;以及將所存取的高速緩存條目的冗余信息指示符與當前冗余信息指示符進行比較。
附圖說明
圖1是高速緩沖存儲器中提供的示范性高速緩沖存儲器錯誤檢測電路的示意圖,其中高速緩沖存儲器錯誤檢測電路經(jīng)配置以檢測高速緩沖存儲器上執(zhí)行的失效操作之后高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn);
圖2是說明圖1中的高速緩沖存儲器中的一系列示范性高速緩存條目事件的表,其示范在高速緩沖存儲器上執(zhí)行失效操作之后,高速緩存條目的有效指示符中的位翻轉(zhuǎn)的出現(xiàn)率,以及圖1中的高速緩沖存儲器錯誤檢測電路使用經(jīng)編碼的冗余信息指示符來檢測有效指示符的位翻轉(zhuǎn)的能力;
圖3是說明用于針對高速緩沖存儲器上執(zhí)行的每一失效操作,推進圖1中的高速緩沖存儲器錯誤檢測電路的失效間隔指示符中的失效間隔狀態(tài)的示范性過程;
圖4是說明圖1中的高速緩沖存儲器錯誤檢測電路中的冗余信息指示符產(chǎn)生電路在高速緩沖存儲器中的建立后,從失效間隔指示符接收將用以編碼高速緩存條目中的冗余信息指示符的當前失效間隔狀態(tài)的示范性過程的流程圖;
圖5是說明圖1中的高速緩沖存儲器錯誤檢測電路中的冗余信息指示符驗證電路在所存取的高速緩存條目的建立以及失效間隔指示符中的當前失效間隔狀態(tài)期間,基于編碼有所存取的高速緩存條目的冗余信息指示符,檢測高速緩沖存儲器中的所存取的高速緩存條目的有效指示符中是否已發(fā)生位翻轉(zhuǎn)的示范性過程;
圖6是提供于高速緩沖存儲器中的另一示范性高速緩沖存儲器錯誤檢測電路的示意圖,其中所述高速緩沖存儲器錯誤檢測電路經(jīng)配置以在所述高速緩沖存儲器上執(zhí)行的失效操作之后檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn),其中失效間隔指示符編碼在對應于所存取的高速緩存條目的檢錯碼(例如奇偶校驗)中;
圖7是說明圖6中的高速緩沖存儲器中的一系列示范性高速緩存條目事件的表,其示范在對所述高速緩沖存儲器執(zhí)行失效操作之后用于高速緩存條目的有效指示符中的位翻轉(zhuǎn)的出現(xiàn)率,以及圖6中的高速緩沖存儲器錯誤檢測電路使用經(jīng)編碼冗余信息指示符作為所存取的高速緩存條目的檢錯碼的一部分來檢測有效指示符的位翻轉(zhuǎn)的能力;
圖8是可提供于圖6中的高速緩沖存儲器錯誤檢測電路中的示范性冗余信息指示符驗證電路的示意圖,其中所述冗余信息指示符驗證電路經(jīng)配置以在高速緩沖存儲器中的高速緩存條目的建立后,即刻基于編碼有來自失效間隔指示符的失效間隔狀態(tài)的相關聯(lián)冗余信息指示符來檢測所存取高速緩存條目的有效指示符中的位翻轉(zhuǎn);
圖9是可提供于圖6中的高速緩沖存儲器錯誤檢測電路中的示范性冗余信息指示符產(chǎn)生電路的示意圖,其中所述冗余信息指示符產(chǎn)生電路經(jīng)配置以基于對應于待建立的所存取高速緩存條目的經(jīng)編碼檢錯碼以及在所述所存取高速緩存條目的建立時來自所述失效間隔指示符的失效間隔狀態(tài)而產(chǎn)生冗余信息指示符;
圖10是說明圖9中的冗余信息指示符產(chǎn)生電路接收來自待編碼的失效間隔指示符的當前失效間隔狀態(tài)作為高速緩沖存儲器中的所建立高速緩存條目的檢錯碼的一部分的示范性過程的流程圖;
圖11是說明圖8中的冗余信息指示符驗證電路基于編碼有所建立的高速緩存條目的失效間隔狀態(tài)的冗余信息指示符以及失效間隔指示符中的當前失效間隔狀態(tài)來檢測高速緩沖存儲器中的所存取高速緩存條目的有效指示符中是否已發(fā)生位翻轉(zhuǎn)的示范性過程的流程圖;以及
圖12是可包含高速緩沖存儲器的示范性基于處理器的系統(tǒng)的框圖,所述高速緩沖存儲器包含經(jīng)配置以在對高速緩沖存儲器的高速緩存條目執(zhí)行失效操作之后檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的任何高速緩沖存儲器錯誤檢測電路。
具體實施方式
本文所揭示的方面包含高速緩沖存儲器錯誤檢測電路,用于在失效操作之后檢測高速緩沖存儲器中的有效指示符(例如有效位)中的位翻轉(zhuǎn)。還揭示相關方法和基于處理器的系統(tǒng)。如果高速緩存命中因失效操作之后對高速緩存條目(例如標簽)的存取而產(chǎn)生,但在再建立高速緩存條目之前,與高速緩存條目相關聯(lián)的有效指示符中已發(fā)生位翻轉(zhuǎn)。這是因為有效指示符應指示無效狀態(tài)(對于高速緩沖存儲器未中),如相對于失效操作之后和高速緩存條目的重新建立之前的有效狀態(tài)(對于高速緩存命中)。因此,在本文所揭示的方面中,當有效指示符指示高速緩沖存儲器中的所存取高速緩存條目的有效狀態(tài)時,高速緩沖存儲器錯誤檢測電路經(jīng)配置以確定在重新建立高速緩存條目之前,是否對所述高速緩存條目執(zhí)行失效操作。如果對高速緩存條目執(zhí)行失效操作,那么有效指示符中已發(fā)生位翻轉(zhuǎn),因為有效指示符應指示無效狀態(tài),致使將產(chǎn)生高速緩沖存儲器未中或?qū)⒅甘惧e誤。所述有效指示符應指示無效狀態(tài),因為在失效操作之后,所述有效指示符設定成無效狀態(tài)。所述高速緩沖存儲器錯誤檢測電路可致使產(chǎn)生高速緩沖存儲器未中,或針對所存取的高速緩存條目將指示錯誤,因此,即使高速緩存條目的有效指示符歸因于位翻轉(zhuǎn)而指示有效狀態(tài)。
就此來說,圖1是高速緩沖存儲器12中提供的示范性高速緩沖存儲器錯誤檢測電路10的示意圖。高速緩沖存儲器12包括標記陣列14和數(shù)據(jù)陣列16。高速緩沖存儲器12可建立標記陣列14和數(shù)據(jù)陣列16中的高速緩存條目18(0)到18(N),其中‘N+1”是高速緩沖存儲器12中的高速緩存條目18的數(shù)目。通過將相關聯(lián)的標簽20(0)到20(N)存儲在標記陣列14中來建立高速緩存條目18(0)到18(N)。高速緩存條目18(0)到18(N)的建立還包括將對應的數(shù)據(jù)條目22(0)到22(N)存儲在數(shù)據(jù)陣列16中。所述數(shù)據(jù)條目22(0)到22(N)可對應于存儲在較高層級存儲器(例如較高層級高速緩沖存儲器或主存儲器)中的數(shù)據(jù)。在高速緩存條目18(0)到18(N)的建立后,與每一高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)設定成有效狀態(tài)(例如存儲邏輯高“1”),其指示高速緩存條目18(0)到18(N)的有效性。如果高速緩存條目18(0)到18(N)不再有效,那么不再有效的高速緩存條目18(0)到18(N)的對應有效指示符24(0)到24(N)可改變?yōu)闊o效狀態(tài)(例如存儲邏輯低“0”),來使高速緩存條目18(0)到18(N)失效。所述有效指示符24(0)到24(N)可用以確定針對相應的高速緩存條目18(0)到18(N)是否應產(chǎn)生高速緩沖存儲器未中或其它錯誤。
繼續(xù)參考圖1,當希望使高速緩存條目18(0)到18(N)中的高速緩存條目18失效時,可對將失效的高速緩存條目18執(zhí)行失效操作。在一失效操作中可使一個高速緩存條目18失效,或作為對高速緩沖存儲器12執(zhí)行的快閃失效操作的一部分,可使整個高速緩沖存儲器12或多個高速緩存條目18(0)到18(N)失效。在接收到在失效啟用輸入28上接收到的失效啟用信號26后,即刻起始在圖1中的高速緩沖存儲器12中的高速緩存條目18(0)到18(N)中的一或多者上執(zhí)行的失效操作。作為響應,高速緩沖存儲器12將與失效的高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)設定為無效狀態(tài)。如果對高速緩沖存儲器12執(zhí)行快閃失效操作來使所有的高速緩存條目18(0)到18(N)失效,那么高速緩沖存儲器12將對應于所有高速緩存條目18(0)到18(N)的所有有效指示符24(0)到24(N)的狀態(tài)設定為無效狀態(tài)。
繼續(xù)參考圖1,如果高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)在失效操作后但在高速緩存條目18(0)到18(N)的重新建立之前指示有效狀態(tài),則已知與高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)中已發(fā)生位翻轉(zhuǎn)。這是因為在失效操作之后、在重新建立高速緩存條目18(0)到18(N)之前,有效指示符24(0)到24(N)應指示無效狀態(tài)(對于高速緩沖存儲器未中),而非有效狀態(tài)(對于高速緩存命中)。因此,當有效指示符24(0)到24(N)對于高速緩沖存儲器12中的所存取高速緩存條目18(0)到18(N)指示有效狀態(tài)時,如下文將更詳細地論述,則提供于高速緩沖存儲器錯誤檢測電路10中的冗余信息指示符驗證電路30可確定在高速緩存條目18(0)到18(N)的重新建立之前,是否對高速緩存條目18(0)到18(N)執(zhí)行失效操作。如果在高速緩存條目18(0)到18(N)的重新建立之前,對高速緩存條目18(0)到18(N)執(zhí)行失效操作,則圖1中的高速緩沖存儲器錯誤檢測電路10可致使產(chǎn)生高速緩沖存儲器未中,或產(chǎn)生所存取的高速緩存條目18(0)到18(N)的錯誤,即使高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)因有效指示符24(0)到24(N)中的位翻轉(zhuǎn)而指示有效狀態(tài)。
繼續(xù)參考圖1,在高速緩存條目錯誤指示符線32上提供高速緩存條目錯誤指示符34,以指示所存取的高速緩存條目18(0)到18(N)是否已引發(fā)錯誤,例如已出現(xiàn)位翻轉(zhuǎn)。作為圖1中示出的一個實例且作為非限制性實例,高速緩存條目錯誤指示符34可與指示高速緩沖存儲器錯誤(例如奇偶校驗錯誤)的其它任選輸入36組合,作為到高速緩存命中/未中指示符電路38的輸入,以在高速緩存命中/未中指示符線42上產(chǎn)生高速緩存命中/未中指示符40。作為另一實例,可提供高速緩存條目錯誤指示符34,以與高速緩沖存儲器錯誤產(chǎn)生和/或報告分開指示所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)中的錯誤。作為又一實例,高速緩存條目錯誤指示符34可用于通過復位到所要的校驗點,使用錯誤校正碼(ECC)或向后錯誤恢復來產(chǎn)生前向錯誤恢復。
在論述圖1中的高速緩沖存儲器錯誤檢測電路10的進一步示范性細節(jié)之前,本文首先描述圖2來闡釋圖1中的高速緩沖存儲器錯誤檢測電路10在失效操作之后,可如何檢測有效指示符24(0)到24(N)中的位翻轉(zhuǎn)。在這點上,圖2說明表44,其說明針對圖1中的高速緩沖存儲器12中的高速緩存條目18(0)執(zhí)行的一系列示范性事件。然而,應注意,本實例也適用于存取高速緩存條目18(1)到18(N)。表44示范在失效操作之后高速緩存條目18(0)的有效指示符24(0)中的位翻轉(zhuǎn)的出現(xiàn),以及圖1中的高速緩沖存儲器錯誤檢測電路10檢測所述位翻轉(zhuǎn)的能力。
在這點上,以圖1中的高速緩沖存儲器12中的高速緩存條目18(0)作為實例,高速緩存條目18(0)示出為通過圖2中的建立事件52在高速緩沖存儲器12中建立。在高速緩存條目18(0)的建立期間,將有效指示符24(0)設定成有效狀態(tài)(例如“1”)。在此實例中,使用呈失效間隔計數(shù)48(例如“10”)的形式的當前失效間隔狀態(tài)來作為冗余信息指示符46(0),其在建立后即刻存儲在高速緩存條目18(0)中。因此,在此實施例中,冗余信息指示符46(0)含有實際未經(jīng)編碼形式的失效間隔計數(shù)48。高速緩沖存儲器錯誤檢測電路10使用對應于每一高速緩存條目18(0)到18(N)的冗余信息指示符46(0)到46(N)以及失效間隔指示符所提供的當前失效間隔計數(shù)48(在此實例中,呈圖1中的高速緩沖存儲器錯誤檢測電路10中失效間隔計數(shù)器50的形式)來檢測位翻轉(zhuǎn)。還為高速緩存條目18(0)建立標記20(0)。注意,失效間隔指示符可以不同于計數(shù)器的其它形式提供,以不受限地存儲任何類型的所要指示符,例如與失效間隔狀態(tài)不同的狀態(tài)或其它狀態(tài)。
接下來,繼續(xù)參考圖2,對高速緩存條目18(0)執(zhí)行失效操作54。失效操作54將高速緩存條目18(0)的有效指示符24(0)的有效性狀態(tài)設定為無效狀態(tài)(例如“0”),以使高速緩存條目18(0)失效,如上文所論述。在此實例中,還通過遞增來推進當前失效間隔計數(shù)48,以記錄失效操作54。注意,雖然當前失效間隔計數(shù)48已遞增,但高速緩存條目18(0)中的冗余信息指示符46(0)保持相同。如下文所述,后來使用此信息來確定在高速緩存條目18(0)的先前建立事件52之后出現(xiàn)失效操作54。
繼續(xù)參考圖2,出于說明的目的,接下來假定發(fā)生在此實例中導致有效指示符24(0)中出現(xiàn)位翻轉(zhuǎn)(例如從“0”到“1”的位翻轉(zhuǎn))的輻射事件56。然而,如上文所論述,高速緩存條目18(0)中的冗余信息指示符46(0)不等于當前失效間隔計數(shù)48,意味著在預期有效指示符24(0)含有無效狀態(tài)(例如‘0’)的情況下,出現(xiàn)失效操作54。因此,當隨后在再建立之前在存取事件58中存取高速緩存條目18(0),那么高速緩存條目18(0)的有效指示符24(0)指示有效狀態(tài)。然而,如上所述,歸因于先前失效操作54,高速緩存條目18(0)實際上無效。因為當前失效間隔計數(shù)48由于失效操作54而遞增,所以當建立高速緩存條目18(0)時,當前失效間隔計數(shù)48將不與存儲在高速緩存條目18(0)中的冗余信息指示符46(0)匹配。因此,高速緩沖存儲器錯誤檢測電路10可經(jīng)配置以確定此失配,作為在失效操作54之后檢測有效指示符24(0)中出現(xiàn)位翻轉(zhuǎn)的方法。如下文將更詳細地論述,高速緩沖存儲器錯誤檢測電路10可致使對高速緩存條目18(0)的存取事件58產(chǎn)生高速緩沖存儲器未中,或即使有效指示符24(0)歸因于位翻轉(zhuǎn)而指示有效狀態(tài)也產(chǎn)生錯誤,以防止產(chǎn)生錯誤的高速緩存命中。
在這點上,現(xiàn)將論述圖1中的高速緩沖存儲器錯誤檢測電路10的較多示范性細節(jié)。在這點上,圖1中的高速緩沖存儲器錯誤檢測電路10中的冗余信息指示符驗證電路30基于失效間隔計數(shù)器50確定在高速緩存條目18(0)到18(N)的重新建立之前何時已發(fā)生失效操作(未圖示)時。在此實例中,對于對高速緩沖存儲器12中的高速緩存條目18(0)到18(N)執(zhí)行的每一失效操作,失效間隔計數(shù)器50使失效間隔計數(shù)48遞增。當在高速緩沖存儲器12中建立高速緩存條目18(0)到18(N)時,失效間隔計數(shù)48通過冗余信息指示符產(chǎn)生電路60存儲在高速緩存條目18(0)到18(N)中,作為冗余信息指示符46(0)到46(N)。
失效間隔計數(shù)器50可經(jīng)配置以使失效間隔計數(shù)48遞增一(1),或可能希望使失效間隔計數(shù)48遞增不同于一(1)的值。失效間隔計數(shù)器50可經(jīng)配置以基于失效間隔計數(shù)器50所使用的位數(shù),來使失效間隔計數(shù)48在失效間隔計數(shù)值的范圍內(nèi)遞增。舉例來說,如果失效間隔計數(shù)器50使用兩(2)個位,此處將為失效間隔計數(shù)48的四(4)個可能值(例如“00”、“01”、“10”和“11”);如圖2中所描述,三(3)個位將提供八(8)個值的范圍。還可能為失效間隔計數(shù)48配置失效間隔計數(shù)值的范圍,或甚至基于失效間隔配置設定62而停用失效間隔計數(shù)器50。失效間隔計數(shù)48由失效間隔計數(shù)器50提供到冗余信息指示符產(chǎn)生電路60,并且還提供到冗余信息指示符驗證電路30。
繼續(xù)參考圖1,如果隨后存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)指示有效狀態(tài),高速緩沖存儲器錯誤檢測電路10中的冗余信息指示符驗證電路30確認是否因為所存取高速緩存條目18(0)到18(N)的上一次建立而已發(fā)生失效操作。當建立高速緩存條目18(0)到18(N)時,冗余信息指示符驗證電路30基于當前失效間隔計數(shù)48和存儲在高速緩存條目18(0)到18(N)中作為冗余信息指示符46(0)到46(N)的失效間隔計數(shù)來確認是否已發(fā)生失效操作。如果在建立高速緩存條目18(0)到18(N)時存儲在高速緩存條目18(0)到18(N)中的失效間隔計數(shù)并不與建立所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)時的相關聯(lián)當前失效間隔計數(shù)48匹配,那么這導致失配。此失配是在失效操作之后與高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)中已發(fā)生位翻轉(zhuǎn)的指示。這是因為在失效操作之后,相對于有效狀態(tài)所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)應指示無效狀態(tài),因為失效操作迫使有效指示符24(0)到24(N)進入無效狀態(tài)。
因此,在圖1中的此實例中,高速緩沖存儲器錯誤檢測電路10中的冗余信息指示符驗證電路30經(jīng)配置以致使產(chǎn)生高速緩沖存儲器未中(相對于高速緩存命中),或在與所存取的高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)中檢測到位翻轉(zhuǎn)時,產(chǎn)生錯誤。失效間隔計數(shù)器50所提供的并不與和高速緩存條目18(0)到18(N)相關聯(lián)的冗余信息指示符46(0)到46(N)匹配的當前失效間隔計數(shù)48是在失效操作之后,有效指示符24(0)到24(N)中已發(fā)生位翻轉(zhuǎn)的指示。當在所述檢測到的失效操作之后檢測到位翻轉(zhuǎn)時,產(chǎn)生高速緩沖存儲器未中或其它錯誤,以避免使用存儲在數(shù)據(jù)陣列16中對應于高速緩存條目18(0)到18(N)的數(shù)據(jù)條目22(0)到22(N)。如果針對所存取的高速緩存條目18(0)到18(N)尚未檢測到不正確的有效指示符24(0)到24(N)狀態(tài),那么高速緩沖存儲器12將已產(chǎn)生錯誤高速緩存命中,相對于真實高速緩沖存儲器未中。
在這點上,圖3是說明針對對高速緩沖存儲器12中的高速緩存條目18(0)到18(N)執(zhí)行的每一失效操作(未圖示),使圖1中的高速緩沖存儲器錯誤檢測電路10的失效間隔計數(shù)器50中的失效間隔計數(shù)48遞增的示范性過程。參考圖1和3,失效間隔計數(shù)器50接收失效啟用信號26(框64)。失效間隔計數(shù)器50接著基于接收到失效啟用信號26使失效間隔計數(shù)48遞增(框66)。失效間隔計數(shù)器50可使失效間隔計數(shù)48遞增失效間隔配置設定62所設定的可配置增量。還可基于失效間隔配置設定62來停用失效間隔計數(shù)器50,或?qū)⑵湓O定成固定的失效間隔計數(shù)48的值。
在這點上,圖4是說明圖1中的高速緩沖存儲器錯誤檢測電路10中的冗余信息指示符產(chǎn)生電路60從失效間隔計數(shù)器50接收當前失效間隔計數(shù)48以在建立后即刻將冗余信息指示符46(0)到46(N)存儲在高速緩存條目18(0)到18(N)中。參考圖1和4,冗余信息指示符產(chǎn)生電路60經(jīng)配置以接收提供于待建立的高速緩存條目18(0)到18(N)中的標記20(0)到20(N)(框68)。冗余信息指示符產(chǎn)生電路60還經(jīng)配置以接收失效間隔計數(shù)器50所提供的當前失效間隔計數(shù)48(框70)。冗余信息指示符產(chǎn)生電路60將從失效間隔計數(shù)器50接收到的當前失效間隔計數(shù)48存儲在正建立的高速緩存條目18(0)到18(N)中(框72)。在此實例中,冗余信息指示符46(0)到46(N)是當前失效間隔計數(shù)48,且存儲在高速緩存條目18(0)到18(N)中作為冗余信息指示符46(0)到46(N)。冗余信息指示符46(0)到46(N)將由高速緩沖存儲器錯誤檢測電路10的冗余信息指示符驗證電路30用來驗證與高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)。
在這點上,圖5是說明圖1中的高速緩沖存儲器錯誤檢測電路10中的冗余信息指示符驗證電路30檢測高速緩沖存儲器12中的所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)中是否已發(fā)生位翻轉(zhuǎn)。檢測是否已發(fā)生位翻轉(zhuǎn)是基于將高速緩存條目18(0)到18(N)的建立期間與高速緩存條目18(0)到18(N)相關聯(lián)的冗余信息指示符46(0)到46(N)與失效間隔計數(shù)器50中的當前失效間隔計數(shù)48的比較。參考圖1和5,冗余信息指示符驗證電路30基于存儲在高速緩存條目18(0)到18(N)中的冗余信息指示符46(0)到46(N),來驗證對應于正存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)。冗余信息指示符驗證電路30響應于用于所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)指示有效狀態(tài),接收用于所存取的高速緩存條目18(0)到18(N)的冗余信息指示符46(0)到46(N)(框74)。冗余信息指示符驗證電路30還從失效間隔計數(shù)器50接收當前失效間隔計數(shù)48(框76)。冗余信息指示符驗證電路30將與所存取的高速緩存條目18(0)到18(N)相關聯(lián)的冗余信息指示符46(0)到46(N)與當前失效間隔計數(shù)48進行比較(框78)。如果在所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)指示有效狀態(tài)時,當前失效間隔計數(shù)48并不與存儲在冗余信息指示符46(0)到46(N)中的失效間隔計數(shù)匹配,那么這是在失效操作之后,與高速緩存條目18(0)到18(N)相關聯(lián)的有效指示符24(0)到24(N)中已發(fā)生位翻轉(zhuǎn)的指示。這是因為在失效操作之后,相對于有效狀態(tài),所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)應指示無效狀態(tài),因為失效操作迫使有效指示符24(0)到24(N)處于無效狀態(tài)。匹配將指示高速緩存條目18(0)到18(N)的建立和所建立的高速緩存條目18(0)到18(N)的存取兩者已在同一失效間隔中出現(xiàn)。高速緩存條目錯誤指示符34基于冗余信息指示符46(0)到46(N)與當前失效間隔計數(shù)48的比較,指示在此方面中用于所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)中是否已發(fā)生位翻轉(zhuǎn)(框80)。
圖1中的高速緩沖存儲器錯誤檢測電路10可檢測高速緩沖存儲器12中的有效指示符24(0)到24(N)中的位翻轉(zhuǎn),而不用抗輻射來保護有效指示符24(0)到24(N),或?qū)⒂行е甘痉?4(0)到24(N)包含在高速緩存條目18(0)到18(N)的檢錯碼(例如奇偶校驗)中。當建立高速緩存條目18(0)到18(N)時,高速緩沖存儲器錯誤檢測電路10可檢測正存儲在高速緩沖存儲器12中的高速緩存條目18(0)到18(N)中的失效間隔計數(shù)48的位翻轉(zhuǎn)。如果有效指示符24(0)到24(N)包含于高速緩存條目18(0)到18(N)的檢錯碼中,那么除迫使有效指示符24(0)到24(N)處于無效狀態(tài)之外,將必須在高速緩沖存儲器快閃失效操作上重新計算每一失效的高速緩存條目18(0)到18(N)的檢錯碼,從而增加快閃失效操作的等待時間。然而,如果在建立后失效間隔計數(shù)48即刻存儲在每一高速緩存條目18(0)到18(N)中,那么針對高速緩沖存儲器12中的每一高速緩存條目18(0)到18(N),必須包含額外位。為了避免需要在高速緩沖存儲器12中的每一高速緩存條目18(0)到18(N)中提供額外位來存儲建立高速緩存條目18(0)到18(N)時的失效間隔計數(shù)48,可替代地用存儲在高速緩存條目18(0)到18(N)中的現(xiàn)有高速緩存條目檢錯碼(例如奇偶校驗)來編碼失效間隔計數(shù)48。
關于圖6,提供示范性高速緩沖存儲器錯誤檢測電路10(1)的示意圖,所述電路提供類似于圖1的高速緩存條目錯誤檢測。圖6中的高速緩沖存儲器錯誤檢測電路10(1)包含具有圖1的高速緩沖存儲器錯誤檢測電路10的一些常見元件,其共享常見元件編號。因此,此處將不重新描述這些常見元件。圖6中的高速緩沖存儲器錯誤檢測電路10(1)還提供檢測高速緩存條目18(0)到18(N)中的位翻轉(zhuǎn)的功能。高速緩沖存儲器錯誤檢測電路10(1)由先前在圖1中描述的至少一個失效間隔計數(shù)器50(0)-50(M)組成。高速緩沖存儲器錯誤檢測電路10(1)將失效間隔計數(shù)48(0)到48(M)提供到冗余信息指示符產(chǎn)生電路60(1)并且還提供到冗余信息指示符驗證電路30(1)。
繼續(xù)參考圖6,提供多個失效間隔計數(shù)器50(0)-50(M),其包含相關聯(lián)的失效間隔計數(shù)48(0)到48(M),以促進跟蹤選擇性失效操作。選擇性失效操作是僅對高速緩沖存儲器12(1)中的高速緩存條目18(0)到18(N)(其可為或可不為連續(xù)的)的一部分執(zhí)行的失效操作,相對于對高速緩沖存儲器12(1)中的所有高速緩存條目18(0)到18(N)或其子集執(zhí)行的快閃失效操作。選擇性失效操作允許高速緩存條目18(0)到18(N)的子集(其可或可不為連續(xù)的)與特定失效間隔計數(shù)器50(0)-50(M)和對應失效間隔計數(shù)48(0)到48(M)相關聯(lián)??苫?但不限于)權限、安全性、異常等級、不同操作模式、條目類型等來確定選擇性失效操作。以此方式,圖6中的高速緩沖存儲器錯誤檢測電路10(1)可經(jīng)配置以響應于失效啟用信號26使僅與高速緩存條目18(0)到18(N)的一部分相關聯(lián)的失效間隔計數(shù)48(0)到48(M)遞增。
繼續(xù)參考圖6,在此實例中,高速緩沖存儲器12(1)包含多個數(shù)據(jù)陣列16(0)到16(X),其中數(shù)據(jù)陣列16的數(shù)目等于“X+1”。所述多個數(shù)據(jù)陣列16(0)到16(X)中的每一者與失效間隔計數(shù)器50(0)-50(M)相關聯(lián)。如果所述多個數(shù)據(jù)陣列16(0)到16(X)正使用失效操作可基于例如權限、安全性、異常等級、不同操作模式、條目類型等的常見事件列表,那么數(shù)據(jù)陣列16(0)到16(X)還共享常見失效間隔計數(shù)器50(0)-50(M)。多個高速緩沖存儲器(未圖示)可各自提供冗余信息指示符產(chǎn)生電路60(1)和冗余信息指示符驗證電路30(1)。舉例來說,所述多個高速緩沖存儲器(未圖示)所提供的多個高速緩沖存儲器層級可一起失效,從而消除了對每一高速緩沖存儲器12(1)或高速緩沖存儲器12(1)的每一層級的失效間隔計數(shù)器50(0)-50(M)的需要。
繼續(xù)參考圖6,冗余信息指示符產(chǎn)生電路60(1)接收與正存取的高速緩存條目18(0)到18(N)相關聯(lián)的失效間隔計數(shù)器50(0)-50(M)所提供的當前失效間隔計數(shù)48(0)到48(M)。另外,作為非限制性實例,冗余信息指示符產(chǎn)生電路60(1)接收采用標記奇偶校驗82的形式的檢錯碼81,作為標記檢錯碼產(chǎn)生電路84所提供的第二輸入。標記檢錯碼產(chǎn)生電路84基于高速緩存條目18(0)到18(N)中接收到的標記20(0)到20(N)產(chǎn)生標記奇偶校驗82。標記奇偶校驗82用于錯誤檢查目的,從而允許高速緩沖存儲器12(1)檢測標記20(0)到20(N)是否已損毀,或已另外出乎意料地改變。在此實例中,冗余信息指示符產(chǎn)生電路60(1)接收標記奇偶校驗82,且編碼接收到的失效間隔計數(shù)48(0)到48(M),以提供接收到的失效間隔計數(shù)48(0)到48(M)的經(jīng)編碼版本作為標記奇偶校驗82的一部分。由于此編碼,冗余信息指示符產(chǎn)生電路60(1)輸出對應于待建立的高速緩存條目18(0)到18(N)的待存儲的冗余信息指示符46'(1)(0)-46'(1)(N)的經(jīng)編碼版本。
將失效間隔計數(shù)48(0)到48(M)編碼在標記奇偶校驗82中允許編碼失效間隔計數(shù)48(0)到48(M)而無需額外位來用于奇偶校驗存儲的益處。這種形式的編碼還提供將有效指示符24(0)到24(N)與標記20(0)到20(N)檢錯碼(例如奇偶校驗)檢查組合到冗余信息指示符驗證電路30(1)中的單個操作中的益處。接著使用所存儲的經(jīng)編碼冗余信息指示符46'(1)(0)-46'(1)(N)來驗證對應于隨后存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)。然而,如下文較詳細論述,如果在圖6中的高速緩沖存儲器12(1)中的高速緩存條目18(0)到18(N)中檢測到位翻轉(zhuǎn),那么所述位翻轉(zhuǎn)可能已出現(xiàn)在高速緩存條目18(0)到18(N)中的任何地方,相對于僅在有效指示符24(0)到24(N)中。為了進一步闡釋圖6中的高速緩沖存儲器12(1),圖7提供說明圖6中的高速緩沖存儲器12(1)中的一系列示范性高速緩存條目18(0)事件。作為一實例,表86示范在失效操作之后有效指示符24(0)中的位翻轉(zhuǎn)的出現(xiàn)率,以及使用經(jīng)編碼冗余信息指示符46'(1)(0)和當前失效間隔計數(shù)48(0)來檢測高速緩存條目18(0)到18(N)中的位翻轉(zhuǎn)的能力。參考圖7,所說明的示范性事件由一系列高速緩存條目18(0)事件組成。最初在建立事件90中建立高速緩存條目18(0)。在高速緩存條目18(0)建立事件90后,標記20(0)即刻存儲在標記陣列14中。另外,通過高速緩沖存儲器12(1)將有效指示符24(0)設定成有效狀態(tài)(例如邏輯高或“1”)。在此實例中,冗余信息指示符46(1)(0)由冗余信息指示符產(chǎn)生電路60(1)用當前失效間隔計數(shù)48(0)(例如“10”)來編碼,以提供存儲在標記陣列14中的高速緩存條目18(0)中的經(jīng)編碼冗余信息指示符46'(1)(0)。在此實例中,冗余信息指示符產(chǎn)生電路60(1)使用“異或”函數(shù),用標記20(0)(例如“0111”)來編碼當前失效間隔計數(shù)48(0)(例如“10”),從而產(chǎn)生所存儲的對應于高速緩存條目18(0)的“00”的值。在一些時間點,接收到的失效啟用信號26(未圖示)所指示的失效操作92使至少一個高速緩存條目18(0)失效。當發(fā)生失效操作92時,高速緩沖存儲器12(1)將把有效指示符24(0)設定為無效狀態(tài)(例如邏輯低或“0”)。另外,響應于接收到指示失效操作92的失效啟用信號26,當前失效間隔計數(shù)48(0)通過失效間隔計數(shù)器50(0)遞增所配置的間隔(例如“11”)。然而,雖然當前失效間隔計數(shù)48(0)遞增,但具有經(jīng)編碼失效間隔計數(shù)48(0)的所存儲的經(jīng)編碼冗余信息指示符46'(1)(0)保持不變。
繼續(xù)參考圖7,高速緩沖存儲器錯誤檢測電路10(1)經(jīng)配置以在失效操作92之后檢測高速緩存條目18(0)到18(N)中的位翻轉(zhuǎn)。如果隨后存取的高速緩存條目18(0)的有效指示符24(0)指示有效狀態(tài),那么高速緩沖存儲器錯誤檢測電路10(1)確認失效間隔計數(shù)器50(0)所提供的當前失效間隔計數(shù)48(0)的經(jīng)編碼版本與建立高速緩存條目18(0)時的冗余信息指示符46(1)(0)匹配。以與冗余信息指示符46(1)(0)相同的方式來編碼當前失效間隔計數(shù)48(0)。因此,當前失效間隔計數(shù)48(0)與所存儲的冗余信息指示符46(1)(0)匹配意味著相同失效間隔計數(shù)48(0)曾用以建立和存取高速緩存條目18(0)。因此,在存取高速緩存條目18(0)之前,不執(zhí)行失效操作92。然而,如果在對高速緩存條目18(0)的存取事件96后,當前失效間隔計數(shù)48(0)的經(jīng)編碼版本并不與和高速緩存條目18(0)相關聯(lián)的失效間隔計數(shù)48(0)匹配,那么這是在失效操作92之后,所存取的高速緩存條目18(0)中已發(fā)生位翻轉(zhuǎn)的指示,即使所存取的高速緩存條目18(0)的有效指示符24(0)指示有效狀態(tài)也是如此。以此方式,高速緩沖存儲器12(1)可產(chǎn)生錯誤高速緩存命中,相對于真高速緩沖存儲器未中。
圖8提供示范性冗余信息指示符驗證電路30(1)的示意圖的額外細節(jié),所述電路可提供于圖6中的高速緩沖存儲器12(1)中的高速緩沖存儲器錯誤檢測電路10(1)中,以檢測高速緩存條目18(0)到18(N)中的位翻轉(zhuǎn)。冗余信息指示符驗證電路30(1)經(jīng)配置以在高速緩存條目18(0)到18(N)建立時,編碼有來自失效間隔計數(shù)器50(0)-50(M)的失效間隔計數(shù)48(0)到48(M)的所存儲的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)來檢測高速緩存條目18(0)到18(N)中的位翻轉(zhuǎn)。參看圖8,冗余信息指示符驗證電路30(1)經(jīng)配置以將所存儲的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)與當前冗余信息指示符98進行比較,以將有效指示符24(0)到24(N)確定為恰當?shù)赜行?。下文論述當前冗余信息指示符的產(chǎn)生。提供冗余信息指示符比較電路100,以將在高速緩存條目18(0)到18(N)建立時編碼的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)與高速緩存條目18(0)到18(N)存取時產(chǎn)生的當前冗余信息指示符98進行比較。通過將經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)與當前冗余信息指示符98進行比較,冗余信息指示符驗證電路30(1)能夠確定在高速緩存條目18(0)到18(N)建立之后且在高速緩存條目18(0)到18(N)存取之前,是否已發(fā)生失效操作。如果經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)和當前冗余信息指示符98不相等,那么這是在高速緩存條目18(0)到18(N)的建立之后已發(fā)生失效操作且相關聯(lián)的有效指示符24(0)到24(N)應設定成無效狀態(tài)的指示。
繼續(xù)參考圖8,當前冗余信息指示符98由提供于冗余信息指示符驗證電路30(1)中的第二冗余信息指示符產(chǎn)生電路102產(chǎn)生。第二冗余信息指示符產(chǎn)生電路102接收采用標記奇偶校驗104的形式的當前所產(chǎn)生的檢錯碼103,作為圖6中的標記檢錯碼電路106所提供的非限制性實例。第二冗余信息指示符產(chǎn)生電路102還接收失效間隔計數(shù)器50(0)-50(M)所提供的當前失效間隔計數(shù)48(0)到48(M)。失效間隔計數(shù)48(0)到48(M)表示高速緩存條目18(0)到18(N)存取時的當前失效間隔計數(shù)48(0)到48(M)。當前冗余信息指示符98以與經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)類似的方式由第二冗余信息指示符產(chǎn)生電路102產(chǎn)生。
繼續(xù)參考圖8,第二冗余信息指示符產(chǎn)生電路102使用多個邏輯門108,其實施基于“或”的函數(shù)來產(chǎn)生當前冗余信息指示符98。舉例來說,在此實例中,邏輯柵極108為“異或”門,但其它門,包含基于“或”的門(例如“或”和/或“或非”門也可用作實例。作為非限制性實例,如果失效間隔計數(shù)48(0)到48(M)為“10”,且標記20(0)到20(N)是“0111”,那么第一奇偶校驗產(chǎn)生電路110對“10”+“0111”或“100111”的組合的或串接的值的奇數(shù)位執(zhí)行“異或”函數(shù)。組合的或串接的值“100111”的前兩(2)個位是失效間隔計數(shù)48(0)到48(M),且接下來的四(4)個位是高速緩存條目18(0)到18(N)中的標記20(0)到20(N)。對組合的或串接的值“100111”的奇數(shù)位的“異或”函數(shù)的結果是“0”,其變?yōu)榻?jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的第一位。在第二奇偶校驗產(chǎn)生電路112中,使用應用于偶數(shù)位中的每一者的相同“異或”函數(shù)來編碼標記奇偶校驗104的偶數(shù)位以及失效間隔計數(shù)48(0)到48(M)的偶數(shù)位。所述結果形成經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的第二位。經(jīng)由應用于奇數(shù)和偶數(shù)位中的每一者的“異或”函數(shù),所得經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)變?yōu)榫幋a有失效間隔計數(shù)48(0)到48(M)的標記奇偶校驗104。應注意,除“異或”函數(shù)以外,可使用其它數(shù)字邏輯函數(shù)。
繼續(xù)參考圖6和8,冗余信息指示符驗證電路30(1)可經(jīng)配置以接收表示標記奇偶校驗104的多個位,使得標記奇偶校驗[0]114表示第一或最低有效位,且標記奇偶校驗[Y]116表示最后一個或最高有效位,其中標記奇偶校驗104中存在Y個位。冗余信息指示符驗證電路30(1)還可經(jīng)配置以接收表示失效間隔計數(shù)48(0)到48(M)的多個位,使得失效間隔計數(shù)[0]118表示第一或最低有效位,且失效間隔計數(shù)[Z]120表示最后一個或最高有效位,其中失效間隔計數(shù)48(0)到48(M)中存在Z個位。所得經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)存儲在對應于高速緩存條目18(0)到18(N)的標記陣列14中。
一旦產(chǎn)生,就通過冗余信息指示符比較電路100將當前冗余信息指示符98與所存儲的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)進行比較,以確定是否存在匹配。如果存在匹配,那么這是有效指示符24(0)到24(N)應有效的指示,因為高速緩存條目18(0)到18(N)建立和高速緩存條目18(0)到18(N)存取已在如由同一失效間隔計數(shù)48(0)到48(M)表示的同一失效間隔中出現(xiàn)。由于所述比較,冗余信息指示符比較電路100產(chǎn)生高速緩存條目錯誤指示符122,其發(fā)信號通知高速緩存條目18(0)到18(N)中是否已發(fā)生位翻轉(zhuǎn)。
繼續(xù)參考圖6,圖9中提供高速緩沖存儲器12(1)中的示范性冗余信息指示符產(chǎn)生電路60(1)的示意圖的額外細節(jié)。冗余信息指示符產(chǎn)生電路60(1)經(jīng)配置以基于對應于待建立的高速緩存條目18(0)到18(N)的經(jīng)編碼檢錯碼(例如奇偶校驗)以及建立高速緩存條目18(0)到18(N)時的失效間隔計數(shù)48(0)到48(M)來產(chǎn)生經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)。參看圖9中的冗余信息指示符產(chǎn)生電路60(1),說明一種用標記奇偶校驗82來編碼失效間隔計數(shù)48(0)到48(M)以產(chǎn)生經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的方法。在此實例中,冗余信息指示符產(chǎn)生電路60(1)使用多個邏輯門108,其實施“異或”函數(shù)來將失效間隔計數(shù)48(0)到48(M)編碼在標記奇偶校驗82中。冗余信息指示符產(chǎn)生電路60(1)類似于冗余信息指示符驗證電路30(1)。可使用“異或”函數(shù)來實施奇偶校驗產(chǎn)生,作為數(shù)字電路中的檢錯碼。在此實例中,冗余信息指示符產(chǎn)生電路60(1)將基于將“異或”應用于接收到的輸入的奇數(shù)位和偶數(shù)位中的每一者來產(chǎn)生經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)。在第一奇偶校驗產(chǎn)生電路110中,使用應用于奇數(shù)位中的每一者的“異或”函數(shù)來編碼標記奇偶校驗82的奇數(shù)位以及失效間隔計數(shù)48(0)到48(M)的奇數(shù)位。所述結果形成經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的第一位。
結合圖6繼續(xù)參考圖9,作為非限制性實例,如果失效間隔計數(shù)48(0)到48(M)是“10”,且標記20(0)到20(N)是“0111”,那么第一奇偶校驗產(chǎn)生電路110對“10”+“0111”或“100111”的組合的或串接的值的奇數(shù)位執(zhí)行“異或”函數(shù)。組合的或串接的值“100111”的前兩(2)個位是失效間隔計數(shù)48(0)到48(M),且第二四(4)個位是高速緩存條目18(0)到18(N)中的標記20(0)到20(N)。對組合的或串接的值“100111”的奇數(shù)位的“異或”函數(shù)的結果是“0”,其變?yōu)榻?jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的第一位。在第二奇偶校驗產(chǎn)生電路112中,使用應用于偶數(shù)位中的每一者的相同“異或”函數(shù)來編碼標記奇偶校驗82的偶數(shù)位以及失效間隔計數(shù)48(0)到48(M)的偶數(shù)位。所述結果形成經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的第二位。經(jīng)由應用于奇數(shù)位和偶數(shù)位中的每一者的“異或”函數(shù),所得經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)變?yōu)榫幋a有失效間隔計數(shù)48(0)到48(M)的標記奇偶校驗82。應注意,除“異或”函數(shù)以外,可使用其它數(shù)字邏輯函數(shù)。
繼續(xù)參考圖6和9,冗余信息指示符產(chǎn)生電路60(1)可經(jīng)配置以接收表示標記奇偶校驗82的多個位,使得標記奇偶校驗[0]114表示第一或最低有效位,且標記奇偶校驗[Y]116表示最后一個或最高有效位,其中標記奇偶校驗82中存在Y個位。冗余信息指示符產(chǎn)生電路60(1)還可經(jīng)配置以接收表示失效間隔計數(shù)48(0)到48(M)的多個位,使得失效間隔計數(shù)[0]118表示第一或最低有效位,且失效間隔計數(shù)[Z]120表示最后一個或最高有效位,其中失效間隔計數(shù)48(0)到48(M)中存在Z個位。所得經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)存儲在對應于高速緩存條目18(0)到18(N)的標記陣列14中。
繼續(xù)參考圖6,冗余信息指示符驗證電路30(1)經(jīng)配置以響應于正存取的高速緩存條目18(0)到18(N)而接收當前失效間隔計數(shù)48(0)到48(M)。冗余信息指示符驗證電路30(1)還經(jīng)配置以接收所存儲的對應于所存取的高速緩存條目18(0)到18(N)的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)。另外,冗余信息指示符驗證電路30(1)經(jīng)配置以從標記奇偶校驗電路106接收當前所產(chǎn)生的標記奇偶校驗104。以與從上文所論述的標記奇偶校驗產(chǎn)生電路84產(chǎn)生標記奇偶校驗82類似的方式產(chǎn)生當前所產(chǎn)生的標記奇偶校驗104。標記奇偶校驗電路106使用提供于標記奇偶校驗電路106中的邏輯門(未圖示)來產(chǎn)生當前所產(chǎn)生的標記奇偶校驗104。然而,在此實例中,檢查標記奇偶校驗104不是在標記奇偶校驗電路106中執(zhí)行的。在此實例中,在冗余信息指示符驗證電路30(1)中檢查標記奇偶校驗104。雖然仍檢查標記奇偶校驗104,但現(xiàn)在是對標記20(0)到20(N)和有效指示符24(0)到24(N)兩者執(zhí)行,即使針對經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)仍使用相同數(shù)目的位。將經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)的同一位數(shù)用作將在其中僅執(zhí)行對標記20(0)到20(N)的標記奇偶校驗104校驗的情境中使用。以此方式,經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)有效指示符24(0)到24(N)以及標記20(0)到20(N)兩者提供檢錯碼(例如奇偶校驗)保護。另外,失效間隔計數(shù)器50(0)-50(M)也可由其它高速緩沖存儲器(未圖示)用來跟蹤失效操作。
作為一個非限制性實例,提供于圖6中的高速緩沖存儲器錯誤檢測電路10(1)中的每一失效間隔計數(shù)48(0)到48(M)中的位數(shù)可提供為小于或等于標記奇偶校驗82中的位數(shù)。否則,圖8中的冗余信息指示符驗證電路30(1)可能不可能在所有情形中都檢測到位翻轉(zhuǎn)。舉例來說,假定存在提供于失效間隔計數(shù)48中的四(4)個計數(shù)器位,以及當前標記奇偶校驗104中的兩(2)個校驗位。并且假定‘0111’和‘1000’的計數(shù)器值為失效間隔計數(shù)48。當考慮‘0111’和‘1000’的這些失效間隔計數(shù)的偶數(shù)和奇數(shù)位時,兩者導致圖9中的冗余信息指示符產(chǎn)生電路60(1)產(chǎn)生相同的“偶數(shù)”結果=1“異或”1=0“異或”0=0。兩者還導致圖9中的冗余信息指示符產(chǎn)生電路60(1)產(chǎn)生相同的“奇數(shù)”結果=0“異或”1=1“異或”0=1。因此,當失效間隔計數(shù)48歸因于失效操作從‘0111’遞增到‘1000’時,對于作為新失效間隔計數(shù)48的‘0111’和‘1000’的兩個失效間隔計數(shù),冗余信息指示符產(chǎn)生電路60(1)將相同的值編碼在經(jīng)編碼冗余信息指示符46'中。因此,在此實例中,在使失效間隔計數(shù)48從‘0111’遞增到‘1000’的對應的失效操作之后,圖8中的冗余信息指示符驗證電路30(1)將不可能檢測到位翻轉(zhuǎn),因為在此實例中,冗余信息指示符產(chǎn)生電路60(1)所提供的冗余信息指示符46的編碼結果將相同。
注意,也可能在建立高速緩存條目18(0)到18(N)時,冗余信息指示符46(1)(0)到46(1)(N)可編碼有失效間隔計數(shù),以提供不同于當前失效間隔計數(shù)48(0)到48(M)的經(jīng)編碼冗余信息指示符46'。此技術可用于對不是快閃無效的高速緩沖存儲器12(1)執(zhí)行的其它操作。舉例來說,可能希望將特定高速緩存條目18(0)到18(N)作為目標來使其失效。在此實例中,可用指示對應的高速緩存條目18(0)到18(N)無效的無效指示符來蓋寫目標高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)。還可蓋寫目標高速緩存條目18(0)到18(N)的標記奇偶校驗82。以此方式,如果有效指示符24(0)到24(N)翻轉(zhuǎn)返回到有效狀態(tài),那么可檢測到此情況。當前失效間隔計數(shù)48(0)到48(M)也將不遞增。以此方式,在失效操作之后高速緩沖存儲器12(1)檢測其它所建立的高速緩存條目18(0)到18(N)中的位翻轉(zhuǎn)的能力不受影響,因為用以編碼其它所建立的高速緩存條目18(0)到18(N)的標記奇偶校驗82的當前失效間隔計數(shù)48(0)到48(M)不更改。
在此實例中,不同于當前失效間隔計數(shù)48(0)到48(M)的失效間隔計數(shù)可用以編碼對應于目標高速緩存條目18(0)到18(N)的冗余信息指示符46(1)(0)到46(1)(N),以提供經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)。舉例來說,在當前失效間隔計數(shù)48的經(jīng)配置計數(shù)值的范圍外的失效間隔計數(shù)可用于提供對應于目標高速緩存條目18(0)到18(N)的經(jīng)編碼冗余信息指示符46'(1)(0)-46'(1)(N)。否則,如果失效操作不是發(fā)信號通知失效啟用信號26的類型,且因此并不推進當前失效間隔計數(shù)48(0)到48(M),那么在失效的目標高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)中發(fā)生的位翻轉(zhuǎn)可能無法被冗余信息指示符驗證電路30(1)檢測到。
關于圖10,提供說明圖6中的冗余信息指示符產(chǎn)生電路60(1)從失效間隔計數(shù)器50(0)到50(M)接收當前失效間隔計數(shù)48(0)到48(M)來編碼在所建立的高速緩存條目18(0)到18(N)的標記奇偶校驗82中的示范性過程的流程圖。冗余信息指示符產(chǎn)生電路60(1)經(jīng)配置以基于待建立的高速緩存條目18(0)到18(N)來接收標記奇偶校驗82(框124)。產(chǎn)生標記奇偶校驗82,作為標記檢錯碼產(chǎn)生電路84的檢錯碼81。另外,冗余信息指示符產(chǎn)生電路60(1)經(jīng)配置以接收當前失效間隔計數(shù)48(0)到48(M)(框126)。冗余信息指示符產(chǎn)生電路60(1)經(jīng)配置以響應于建立高速緩存條目18(0)到18(N),基于當前失效間隔計數(shù)48(0)到48(M),提供高速緩存條目18(0)到18(N)中的每一者的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)(框128)。在此實例中,如上文所描述,所述編碼包括使用“異或”函數(shù)來編碼如圖6和9中所描述的具有標記奇偶校驗82的失效間隔計數(shù)48(0)到48(M)。一旦經(jīng)編碼,高速緩存條目18(0)到18(N)中的每一者的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)就存儲在對應于高速緩存條目18(0)到18(N)中的每一者的標記陣列14(框130)。所存儲的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)將由冗余信息指示符驗證電路30(1)用來檢測有效指示符24(0)到24(N)中的位翻轉(zhuǎn)。
關于圖11,提供說明圖6中的冗余信息指示符驗證電路30(1)的示范性過程的流程圖。冗余信息指示符驗證電路30(1)檢測高速緩沖存儲器12(1)中的所存取高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)中是否已發(fā)生位翻轉(zhuǎn)。冗余信息指示符驗證電路30(1)基于高速緩存條目18(0)到18(N)建立期間編碼有失效間隔計數(shù)48(0)到48(M)的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)以及失效間隔計數(shù)器50(0)到50(M)中的當前失效間隔計數(shù)48(0)到48(M)來檢測位翻轉(zhuǎn)。冗余信息指示符驗證電路30(1)接收用于所存取的高速緩存條目18(0)到18(N)的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)(框132)。冗余信息指示符驗證電路30(1)另外從失效間隔計數(shù)器50(0)-50(M)接收當前失效間隔計數(shù)48(0)到48(M)(框134)。冗余信息指示符驗證電路30(1)接著基于當前失效間隔計數(shù)48(0)到48(M)產(chǎn)生當前冗余信息指示符98(如圖8中示出)(框136)。冗余信息指示符比較電路100將用于所存取的高速緩存條目18(0)到18(N)的經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)與當前冗余信息指示符98進行比較(框138)?;谒霰容^,冗余信息指示符比較電路100基于經(jīng)編碼冗余信息指示符46'(1)(0)到46'(1)(N)與當前冗余信息指示符98的比較而產(chǎn)生用于所存取的高速緩存條目18(0)到18(N)的有效指示符24(0)到24(N)中是否出現(xiàn)位翻轉(zhuǎn)的高速緩存條目錯誤指示符122(框140)。
根據(jù)本文所揭示的各方面的用于在失效操作之后檢測高速緩沖存儲器中的有效指示符中的位翻轉(zhuǎn)的高速緩沖存儲器錯誤檢測電路,以及相關方法和基于處理器的系統(tǒng)可在任何基于處理器的裝置中提供或集成到任何基于處理器的裝置中。實例包含(但不限于)機頂盒、娛樂單元、導航裝置、通信裝置、固定位置數(shù)據(jù)單元、移動位置數(shù)據(jù)單元、移動電話、蜂窩式電話、計算機、便攜式計算機、桌上型計算機、個人數(shù)字助理(PDA)、監(jiān)視器、計算機監(jiān)視器、電視機、調(diào)諧器、無線電、衛(wèi)星無線電、音樂播放器、數(shù)字音樂播放器、便攜式音樂播放器、數(shù)字視頻播放器、視頻播放器、數(shù)字影音光盤(DVD)播放器和便攜式數(shù)字視頻播放器。
在這點上,圖12說明基于處理器的系統(tǒng)146的實例,其可使用高速緩沖存儲器錯誤檢測電路147,所述電路可分別包含圖1、6和12中的高速緩沖存儲器錯誤檢測電路10、10(1)和10(2)中的任一者,作為非限制性實例,用于在失效操作之后,檢測高速緩沖存儲器中的有效指示符(例如有效位)中的位翻轉(zhuǎn)。在此實例中,基于處理器的系統(tǒng)146包含一或多個CPU 148,其各自包含一或多個處理器150。CPU 148可具有高速緩沖存儲器152,其耦合到處理器150以用于對臨時存儲的數(shù)據(jù)的快速存取。CPU 148耦合到系統(tǒng)總線154,且可將包含在基于處理器的系統(tǒng)146中的主裝置和從裝置互相耦合。眾所周知,CPU 200通過經(jīng)由系統(tǒng)總線154交換地址、控制和數(shù)據(jù)信息而與這些其它裝置通信。舉例來說,CPU 148可將總線事務請求傳送到作為從屬裝置的實例的存儲器控制器156。雖然圖12中未說明,但是可提供多個系統(tǒng)總線154,其中每一系統(tǒng)總線154構成不同構造。
其它主裝置和從屬裝置可連接到系統(tǒng)總線154。如圖12中所說明,作為實例,這些裝置可包含存儲器系統(tǒng)158、一或多個輸入裝置160、一或多個輸出裝置162、一或多個網(wǎng)絡接口裝置164及一或多個顯示器控制器166。輸入裝置160可包含任何類型的輸入裝置,包含但不限于輸入鍵、開關、話音處理器等。輸出裝置162可包含任何類型的輸出裝置,包含但不限于音頻、視頻、其它視覺指示等。網(wǎng)絡接口裝置164可為經(jīng)配置以允許數(shù)據(jù)與網(wǎng)絡168間的交換的任何裝置。網(wǎng)絡222可為任何類型的網(wǎng)絡,包含但不限于有線或無線網(wǎng)絡、私用網(wǎng)絡或公用網(wǎng)絡、局域網(wǎng)(LAN)、廣域網(wǎng)(WLAN)和因特網(wǎng)。網(wǎng)絡接口裝置164可經(jīng)配置以支持所要的任何類型的通信協(xié)議。存儲器系統(tǒng)158可包含一或多個存儲器單元170(0到N)。
CPU 148還可經(jīng)配置以經(jīng)由系統(tǒng)總線154存取顯示器控制器166以控制發(fā)送到一或多個顯示器172的信息。顯示器控制器166經(jīng)由一或多個視頻處理器174將信息發(fā)送到顯示器172來顯示,其將待顯示的信息處理成適合于顯示器172的格式。顯示器172可包含任何類型的顯示器,包含但不限于陰極射線管(CRT)、液晶顯示器(LCD)、等離子顯示器等。
所屬領域的技術人員將進一步了解,結合本文中所揭示的方面所描述的各種說明性邏輯塊、模塊、電路及算法可被實施為電子硬件、存儲于存儲器或另一計算機可讀媒體中且由處理器或其它處理裝置執(zhí)行的指令,或此兩者的組合。作為實例,本文中所描述的主裝置和從裝置可用于任何電路、硬件組件、集成電路(IC)或IC芯片中。本文所披露的存儲器可以是任何類型和大本文揭示的存儲器可以是任何類型和大小的存儲器,并且可經(jīng)配置以存儲所需的任何類型的信息。為清楚地說明此可互換性,上文已大為清楚說明這個可互換性,上文已大體上關于其功能性而描述了各種說明性組件、塊、模塊、電路和步驟。如何實施此功能性取決于特定應用、設計選項如何實施此功能性取決于特定應用、設計選項和/或強加于整個系統(tǒng)的設計約束。熟練的技術人員可針對每一特定應用以不本領域的技術人員可針對每一特定應用以不同的方式實施所描述的功能性,但此類實施決策不應被解釋為會造成對本發(fā)明的范圍的偏離。
結合本文中所揭示的方面描述的各種說明性邏輯塊、模塊和電路可用以下各項來實施或執(zhí)行:處理器、數(shù)字信號處理器(DSP)、專用集成電路(ASIC)、現(xiàn)場可編程門陣列(FPGA)或其它可編程邏輯裝置、離散門或晶體管邏輯、離散硬件組件,或經(jīng)設計以執(zhí)行本文中所描述的功能的其任何組合。處理器可為微處理器,但在替代方案中,處理器可為任何常規(guī)處理器、控制器、微控制器或狀態(tài)機。處理器還可實施為計算裝置的組合,例處理器還可實施為計算裝置的組合,例如,DSP和微處理器的組合、多個微處理器、結合DSP核心的一或多個微處理器或任何其它這些配置。
本文中所揭示的方面可以硬件和存儲于硬件中的指令來體現(xiàn),且可駐留于(例如)隨機存取存儲器(RAM)、快閃存儲器、只讀存儲器(ROM)、電可編程ROM(EPROM)、電可擦除可編程ROM(EEPROM)、寄存器、硬盤、可裝卸式磁盤、CD-ROM或此領域中已知的任何其它形式的計算機可讀媒體中。示范性存儲媒體耦合到處理器,使得處理器可從存儲媒體讀取信息和將信息寫入到存儲媒體。在替代方案中,存儲媒體可與處理器成一體。處理器和存儲媒體可駐留于ASIC中。ASIC可駐留于遠程站中。在替代方案中,處理器和存儲媒體可作為離散組件駐留在遠程站、基站或服務器中。
還應注意,描述本文中的示范性方面中的任一者中所描述的操作步驟是為了提供實例和論述。可用除了所說明的序列之外的大量不同序列來執(zhí)行所描述的操作。另外,單個操作步驟中所描述的操作此外,單個操作步驟中所描述的操作實際上可在許多不同步驟中執(zhí)行。另外,可組合在示范性方面中所論述的一或多個操作步驟。應理解,如所屬領域的技術人員將容易顯而易見,流程圖中所說明的操作步驟可以經(jīng)受眾多不同修改。所屬領域的技術人員還將了解,可使用多種不同技術和技法中的任一者來表示信息和信號。舉例來說,可通過電壓、電流、電磁波、磁場或磁粒子、光場或光粒子或其任何組合來表示在整個上文描述中可能參考的數(shù)據(jù)、指令、命令、信息、信號、位、符號和碼片。
提供本發(fā)明的前述描述以使所屬領域的技術人員能夠制造或使用本發(fā)明。所屬領域的技術人員將容易顯而易見對本發(fā)明的各種修改,且本文中界定的一般原理可應用于其它變化而不脫離本發(fā)明的精神或范圍。因此,本發(fā)明并不希望限于本文中所描述的實例和設計,而是應被賦予與本文中所揭示的原理和新穎特征相一致的最廣范圍。