新四季網

基於多符號多清理周期分析的搶先存儲器修複方法和系統的製作方法

2023-05-27 08:24:41

專利名稱:基於多符號多清理周期分析的搶先存儲器修複方法和系統的製作方法
技術領域:
本發明主題的實施例一般涉及計算機領域,尤其涉及計算機、裝置、設備等的存儲器的搶先修復。
背景技術:
現代計算機系統典型地配置有大量存儲器,以便將數據和指令提供給計算機系統中的一個或多個處理器。歷史上,處理器速度已經比大部分存儲器,尤其是DRAM存儲器(動態隨機存取存儲器)的存儲器存取時間更迅速地提高。為了減小處理器與存儲器之間的性能失配,已經構造多存儲器層級。例如,大多數現代處理器被構造成含有由處理器半導體芯 片上的SRAM (靜態隨機存取存儲器)構成的LI (I級)高速緩存。LI高速緩存非常快,只在處理器的一個或幾個周期中提供讀寫。然而,LI高速緩存雖然非常快,但也相當小,大概64KB (千字節)到256KB。通常還在處理器晶片上實現L2 (2級)高速緩存。L2高速緩存典型地也使用SRAM存儲構成,雖然一些處理器利用DRAM存儲。L2高速緩存通常比LI高速緩存大幾倍字節數,但讀寫較慢。一些現代處理器晶片還包含L3 (3級)高速緩存。L3高速緩存能夠保存比L2高速緩存大幾倍的數據。L3高速緩存有時利用DRAM存儲構成。一些計算機系統中的L3高速緩存被實現在與處理器分開的一個或多個晶片上,並利用印刷線路板(PWB)或多晶片模塊(MCM)上的布線與處理器耦合。計算機系統的主存儲器通常很大,往往多個GB (千兆字節),並且通常用DRAM實現。主存儲器通常利用存儲器控制器與處理器耦合,存儲器控制器可以集成在與處理器相同的器件上,或常常與處理器分開地處在相同MCM (多晶片模塊)或PWB上。存儲器控制器從處理器接收裝載或讀取命令和存儲或寫入命令,並為那些命令服務,從主存儲器中讀取數據或將數據寫入主存儲器中。通常,存儲器控制器含有一個或多個隊列,例如,讀取隊列和寫入隊列。讀取隊列和寫入隊列緩衝包括命令、控制、地址和數據的一種或多種的信息,從而使處理器能夠在給定時間在進程中含有多個請求——包括讀取和/或寫入請求。該行業不斷地把資金投入到廣泛的研究和開發努力中,以便通過改善存儲器系統或存儲器子系統設計和結構,來創建用於使整個系統性能和密度達到最大的改進、創新解決方案。由於顧客期待新計算機系統除了提供附加的功能、提高的性能、增大的存儲、和更低的運行成本等之外,在平均無故障時間(MTBF)方面也顯著優於現有系統,所以高可用性系統進一步提出了與整個系統可靠性有關的挑戰。其它常見顧客要求進一步加重了存儲器系統設計挑戰,並且包括這樣的項目,如易於升級以及降低系統環境影響像,諸如空間、功率和冷卻。隨著DRAM接口的速度增大,讀取包括由存儲器設備、存儲器信號路徑中的任何互連結構、存儲器接口、耦合噪聲、電源波動或噪聲、溫度變化、時間漂移等的一種或多種引起的可糾正錯誤的概率也增加
發明內容
在一些示範性實施例中,一種方法包括跨多個清理周期的一個清理周期進行存儲器的存儲器清理。該方法包括識別作為響應於存儲器清理來自存儲器的區段的存取結果的、存儲器中的符號的可糾正錯誤。該方法還包括跨多個清理周期地進行分析,其中分析的進行包含確定跨多個清理周期的至少兩個符號是否含有至少一個可糾正錯誤。該方法包括響應於跨多個清理周期的至少兩個符號含有至少一個可糾正錯誤的確定,進行包括所述存儲器的區段的存儲器的至少一個修復。在一些示範性實施例中,一種方法包括跨多個清理周期的一個清理周期地進行存儲器的存儲器清理。該方法包括識別作為響應於存儲器清理來自存儲器的區段的存取結果 的、存儲器中的符號的可糾正錯誤。該方法還包括跨多清理周期地進行分析,其中分析的進行包含確定是否對符號的至少兩個符號的每一個已經識別了至少一個可糾正錯誤。分析的進行還包括確定至少兩個符號的至少一個符號是否含有超過閾值的可糾正錯誤。分析的進行還包括響應於至少一個其它符號含有超過閾值的可糾正錯誤的確定,確定符號的至少一個其它符號是否含有超過閾值的可糾正錯誤。該方法包括響應於對至少兩個符號的每一個已經識別了至少一個可糾正錯誤的確定、至少兩個符號的至少一個符號含有超過閾值的可糾正錯誤的確定、和至少一個其它符號含有超過閾值的可糾正錯誤的確定,進行包括所述存儲器的區段的存儲器的至少一個修復。


通過參考附圖可以更好地理解本實施例,並且使許多目的、特徵和優點對本領域的普通技術人員來說是顯而易見的。圖I描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的計算機系統。圖2描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的流程圖。圖3描繪了按照一些示範性實施例、存儲跨多個清理周期的多個符號的錯誤的二維表格。圖4描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的繼續操作的流程圖。圖5描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的繼續操作的流程圖。圖6描繪了按照一些示範性實施例、利用三個不同修復的搶先存儲器修復的流程圖。圖7描繪了按照一些其它示範性實施例、存儲跨多個清理周期的多個符號的錯誤的二維表格。
具體實施例方式如下的描述包括體現本發明主題的技術的示範性系統、方法、技術、指令序列以及電腦程式產品。但是,要理解所述的實施例可以無需這些具體細節地實施。例如,儘管一些例子提到三個類型的搶先存儲器修復,但一些示範性實施例可以應用更多種或更少數量的搶先修復以及其它類型的搶先修復。在其它情況下,未詳細示出眾所周知的指令實例、協議、結構和技術,以便不混亂本描述。存儲器中的錯誤可以因存儲單元未適當存儲數據而發生。錯誤也可以發生在存儲器的外部(例如,存取存儲器的數據引腳)從而引起存儲器中的錯誤。一些示範性實施例收集用於分析的數據以將不同類型的修復應用於存儲器來糾正這些錯誤。在一些示範性實施例中,糾錯碼(ECC)存儲器可以將不同修複方法應用於存儲器來修復。第一修複方法包括修復一個符號寬度ECC高速緩存行錯誤的符號標誌修復——兩位寬度修復。第二修複方法包括修復一個晶片寬度ECC高速緩存行錯誤的晶片標誌修復一八位寬度修復。在一些示範性實施例中,使用一個或多個糾錯碼(ECC)操作糾正符號標誌修復和晶片標誌修復。具體地,根據ECC校驗位,可以對什麼數據應該已經存儲在存儲器中作出確定。於是,ECC操作可以從存儲器接收不正確的數據,並重新計算以提供正確的數據。這樣的ECC操作可以針對符號級寬度存取以及晶片級寬度存取來進行。第三修複方法包括存儲器(例如,動態隨機存取存儲器(DRAM)調整。一旦出現一個壞晶片,存儲器調整就部署一個備用存儲器。一些示範性實施例建立和應用確定將哪些修複方法應用於存儲器修復的不同準則。與傳統存 儲器修複方法相比,一些示範性實施例收集建立這些不同準則的附加數據。具體地,一些示範性實施例包括跨多個清理(scrub)周期延伸多個清理周期和多個符號的分析。於是,一些實施例能夠跟蹤可以隨時間緩慢積累(可能無法通過傳統錯誤檢查方法檢測)的小錯誤。如果得不到修復,這些小的可糾正錯誤可以轉變成導致系統崩潰的不可恢復錯誤。傳統方法未嘗試過跨多個清理周期地尋找多個出錯符號。於是,對於傳統方法,可以對於單個清理周期內而不是在另一個清理周期期間檢測壞符號。因此,對於傳統方法,因為沒有足夠的數據用於分析和採取行動,所以仍然存在即將發生不可恢復錯誤(由多個出錯符號引起)的機會。一些示範性實施例在跨多個清理周期的時段上累積可恢復錯誤,以便找出以後可能導致不可恢復錯誤的、含有跨高速緩存行(cache line)的可恢復錯誤的多個符號。在累積了跨多個清理周期的多個符號的清理統計量之後,可以分析這樣的統計量。如下面進一步所述,可以確定相對於可配置閾值的含有跨多個清理周期的可恢復錯誤的多個符號的各種組合。這樣的分析可以導致將應用於含有可恢復錯誤的存儲器的各種搶先ECC修復、存儲器替換修復等。一些示範性實施例在存儲器中建立存儲有關可恢復錯誤(CE)的統計量的二維數據陣列或表格。CE統計量可以針對存儲器的給定列(rank)的符號。此外,可以為每個清理周期收集CE統計量,其中將跨多個清理周期的CE統計量存儲在二維陣列中。可以根據先進先出(FIFO)原則將每個清理周期的CE統計量插入陣列中和從陣列中刪除。陣列(CE_Table)的大小可以是N個符號X滑動窗口 CE_Table[N_Symbols][Sliding_ffindow],其中N_Symbols=對於用於存儲器的存儲器控制器的給定列上的符號數;SlidingJVindow=用於CE分析的清理周期數。CE_TabIe [N_SymboI s] [O]含有最老清理周期的數據統計量,和CE_TabIe [N_Symbols] [Sliding_Window_l]含有當前清理周期的數據統計量。在一些示範性實施例中,可以跨存儲在陣列中的多個清理周期收集數據。陣列的大小可以基於系統的類型、存儲器的類型、應用的類型等而變。在一些示範性實施例中,存在用於存儲器內的每列的表格。雖然針對存儲器的列來描述,但一些示範性實施例可應用於存儲器中的不同地址範圍的任何區段或分段(例如,行)。此外,對於存儲器中的不同列可以存在跟蹤錯誤的多個表格。一列可以具有取決於系統的類型、應用等的不同大小(例如,1GB、2GB等)。因此,如下面進一步所述,對於存儲器中的分開列,可以分開進行分析和糾錯。圖I描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的計算機系統。計算機系統100包括處理器102 (可能包括多個處理器、多個核、多個節點、和/或實現多線程等)。計算機系統100還包括可以代表不同級別高速緩存(例如,LI,L2,L3等)的高速緩存106。處理器102通信地與高速緩存106耦合,高速緩存106通信地與總線 108 (例如,PCI、ISA、PCI-Express、HyperTransport 、InfiniBand. 、NuBus 等)、網絡接口 YY05 (例如,ATM接口、乙太網接口、幀中繼接口、SONET接口、無線接口等)、和存儲設備YY09 (例如,光存儲,磁存儲體)耦合。 計算機系統100還包括存儲器系統110,存儲器系統110包括存儲器控制器112和存儲器114。存儲器系統110通信地與總線108耦合。存儲器114可以包括同步動態存取存儲器(SRAM)、DRAM、零電容器RAM、雙電晶體RAM、擴展數據輸出(EDO) RAM、雙數據速率(DDR)RAM、納米RAM (NRAM)、電阻性RAM (RRAM)等。存儲器114包括可以包括一個或多個列的多個模塊115(例如,雙列直插式存儲模塊(DIMM))。在一些示範性實施例中,可以將模塊115之一的列與上面的多個存儲器晶片相聯繫。在一些示範性實施例中,一個或多個存儲器晶片可以是用於存儲器調整修復(可糾正錯誤的可能的搶先修復之一)的備用晶片。計算機系統100還包括服務處理器105,服務處理器105被配置成運行錯誤模塊107。服務處理器105通信地與高速緩存106耦合。例如,錯誤模塊107可以是軟體和/或固件指令。如下面進一步所述,在運行時,錯誤模塊107可以定位存儲在存儲器114的列115中的數據的錯誤。錯誤模塊107也可以填充跨多個符號和跨多個清理周期地存儲錯誤的二維陣列。錯誤模塊107還可以根據相對於可配置閾值的跨多個符號和多個清理周期的錯誤數量,為搶先修復配置存儲器114。錯誤模塊107的操作將在下面參考例示在圖2-5中的流程圖作進一步描述。雖然描述在相對於處理器102的獨立服務處理器上執行錯誤模塊107的操作,但在一些其他示範性實施例中處理器102也可以運行錯誤模塊107。計算機系統100還包括ECC解碼器111,ECC解碼器111通信地與總線108耦合。如下面進一步所述,ECC解碼器111可以配置成執行ECC操作來為存儲器114中的數據糾正存儲器錯誤。例如,ECC解碼器111可以執行ECC操作以進行符號標誌修復和晶片標誌修復的至少一個。具體地,根據ECC校驗位,可以對什麼數據應該已經存儲在存儲器中作出確定。於是,ECC操作可以從存儲器接收不正確數據,並重新計算以提供正確數據。這樣的ECC操作可以針對符號級寬度存取以及晶片級寬度存取來進行。計算機系統100還包括非易失性機器可讀介質150 (例如,光存儲、磁存儲等),非易失性機器可讀介質150通信地與總線108耦合。並且,一些實現可以包括未例示在圖I中的更少或附加組件(例如,視頻卡、音頻卡、附加網絡接口、外圍設備等)。現在描述按照一些示範性實施例的操作的流程圖。具體地,圖2以及圖4-6描繪了基於多符號多清理周期分析的搶先存儲器修復的流程圖。如下面進一步所述,圖2以及4-5中的流程圖的操作在不同過渡點(過渡點A,B和C)上相互跨越地移動。圖6描繪了包括作為圖4的方塊406中的操作的擴展的操作的流程圖。在一些示範性實施例中,圖2以及4-6中的流程圖的操作由圖I的錯誤模塊107和ECC解碼器111執行。於是,圖2以及圖4-6中的流程圖參考計算機系統100來描述。此外,為了有助於描述,參考例示在圖3和7中的示範性二維表格來描述流程圖。針對對存儲器的一列執行的操作來描述圖2-5的流程圖的操作。但是,一些示範性實施例可以對其中不止一個或所有列執行。圖2描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修 復的流程圖。流程圖200的操作從方塊202開始。在方塊202中,錯誤模塊107跨多個清理周期的一個新清理周期地進行存儲器的新存儲器清理。參照圖1,錯誤模塊107進行存儲器114的列的新存儲器清理。在存儲器清理周期期間,從高速緩存106中讀取高速緩存線,使得從存儲器114的數據的相應讀取。在一些示範性實施例中,高速緩存線的符號覆蓋存儲器114的地址空間。ECC解碼器111使用ECC操作(例如,使用存儲成高速緩存線的一部分的校驗位)檢測是否存在符號錯誤。對於識別的每個符號錯誤,通知錯誤模塊107。在一些示範性實施例中,周期性(例如,每隔12小時)地進行新存儲器清理。在方塊204中繼續流程圖200的操作。在方塊204中,ECC解碼器111以高速緩存線為粒度識別存儲器114中的符號的可糾正錯誤。參考圖1,ECC解碼器111可以接收來自存儲器114的數據,並響應於存取確定是否返回了正確數據。如一些示範性實施例所述,存儲器清理針對高速緩存106中的給定高速緩存線中的每個符號。此外,ECC解碼器111可以將可糾正錯誤的標識提供給錯誤模塊107。在方塊206中繼續流程圖200的操作。在方塊206中,錯誤模塊107利用對這個清理周期識別的可糾正錯誤更新表格(存儲跨多個清理周期的高速緩存的高速緩存行中定義的符號的可糾正錯誤)。參考圖1,錯誤模塊107可以從ECC解碼器111接收可糾正錯誤的這些標識。為了例示的目的,圖3描繪了按照一些示範性實施例、存儲跨多個清理周期的多個符號的錯誤的二維表格。圖3描繪了存儲沿著高速緩存的高速緩存行的符號的可糾正錯誤的計數的表格300。表格300的垂直軸包括用於高速緩存行的不同清理周期的行。表格300的水平軸包括以高速緩存行為粒度(例如,128個字節)的用於存儲器114的不同符號的列。在一些示範性實施例中,高速緩存行包含兩個64位元組ECC字,其中對每個64位元組字進行ECC生成和校驗。如本文所述,可以每列存儲可糾正錯誤統計量。於是,在一些示範性實施例中,清理讀取列中的所有高速緩存行。存儲器控制器112維持多少次讀取遇到該符號的可覆蓋錯誤的每符號計數。例如,清理結束時符號N的64計數指示,對於那個列中的64個不同ECC字或32個不同高速緩存行在相同符號索引上存在可覆蓋錯誤。具體地,表格300包括映射到高速緩存行的10個不同符號的10個不同列(column)。為了清晰起見,對於給定高速緩存行只示出了 10個符號。在一些示範性實施例中,高速緩存106中的給定高速緩存行包括72個符號。在這樣的實施例中,表格300包括高速緩存行的72個不同符號的72個不同列。表格300包括10個不同符號的10個列——列322、324、326、328、330、332、334、336、338、和340。列322存儲高速緩存行中的第I符號的可糾正錯誤計數。列324存儲高速緩存行中的第2符號的可糾正錯誤計數。列326存儲高速緩存行中的第3符號的可糾正錯誤計數。列328存儲高速緩存行中的第4符號的可糾正錯誤計數。列330存儲高速緩存行中的第5符號的可糾正錯誤計數。列332存儲高速緩存行中的第6符號的可糾正錯誤計數。列334存儲高速緩存行中的第7符號的可糾正錯誤計數。列336存儲高速緩存行中的第8符號的可糾正錯誤計數。列338存儲高速緩存行中的第9符號的可糾正錯誤計數。列340存儲高速緩存行中的第10符號的可糾正錯誤計數。表格300還包括映射到10個不同清理周期的10個不同行(row)。為了清晰起見,只示出了 10個不同清理周期。但是,在表格300中可以存儲更少或更多數量的清理周期。
表格 300 包括 10 個不同行-行 302、304、306、308、310、312、314、316、318、和 320。行 302
存儲當前清理周期的10個不同符號的錯誤計數。行 304存儲以前清理周期的相同10個符號的錯誤計數。行306存儲以前清理周期的相同10個符號的錯誤計數。行308存儲以前清理周期的相同10個符號的錯誤計數。行310存儲以前清理周期的相同10個符號的錯誤計數。行312存儲以前清理周期的相同10個符號的錯誤計數。行314存儲以前清理周期的相同10個符號的錯誤計數。行316存儲以前清理周期的相同10個符號的錯誤計數。行318存儲以前清理周期的相同10個符號的錯誤計數。行320存儲最老清理周期的相同10個符號的錯誤計數。在一些示範性實施例中,根據先進先出(FIFO)原理建立和刪除表格300的行。具體地,表格300將限定數量的清理周期存儲在行中。在本例中,表格300存儲10不同清理周期的符號的錯誤計數。一旦跟蹤到超過10個清理周期的錯誤計數,錯誤模塊107 (圖I)就刪除最老清理周期以便存儲當前清理周期。返回到圖2的描述,錯誤模塊107根據沿著高速緩存行的不同符號的錯誤計數(從ECC解碼器111接收)更新表格300。在本例中,錯誤模塊107將當前清理周期的錯誤計數存儲在表格300的頂部(行302),並刪除具有最老清理周期——在時間上比存儲在行320中的最老清理周期更老的清理周期的行。可以將表格300存儲在非易失性機器可讀介質150中。在方塊208中繼續圖2的流程圖200的操作。在方塊208中,錯誤模塊107從以前的分析中確定是否已經將修複方法應用於存儲器的這個列。具體地,如下面進一步所述,可以將限定數量的修複方法應用於存儲器的給定列來修復其中的符號的錯誤。因此,如果當前正在應用這些修複方法的一些修復其它符號的以前識別錯誤,則這些修複方法不用於修復在這個分析期間識別的符號的任何錯誤。
在一些不範性實施例中,將三個不同修複方法應用於存儲器的給定列-符號標誌修復、
晶片標誌修復和存儲器調整修復。如下面進一步所述,可以將這些修復的至少兩個應用於給定分析,以便可以將第三修復應用於在隨後分析中識別的錯誤。於是,方塊208中的操作需要從以前的分析中確定是否已經應用了這樣的修復。如果從以前的分析中已經應用了修復,則流程圖200的操作繼續轉到在圖5 (下面更詳細描述)的流程圖500上繼續的過渡點C。否則,在方塊210中繼續流程圖200的操作。在方塊210中,錯誤模塊107確定是否已經對至少兩個符號的每一個至少識別了可糾正錯誤(跨其數據存儲在表格中的多個清理周期)。參照圖3,錯誤模塊107對跨整個表格300的兩個不同符號確定是否存在至少兩個非零條目。於是,錯誤模塊107跨多個清理周期地進行分析。在本例中,對於三個不同符號,在表格300中存在12個非零條目I)行302列330上的條目存儲20的錯誤計數一第一符號;
2)行304列330上的條目存儲20的錯誤計數一第一符號;3)行306列330上的條目存儲15的錯誤計數一第一符號;4)行308列330上的條目存儲20的錯誤計數一第一符號;5)行310列330上的條目存儲35的錯誤計數一第一符號;6)行312列330上的條目存儲20的錯誤計數一第一符號;7)行314列330上的條目存儲20的錯誤計數一第一符號;8)行316列330上的條目存儲20的錯誤計數一第一符號;9)行318列330上的條目存儲18的錯誤計數一第一符號;10)行320列330上的條目存儲15的錯誤計數一第一符號;11)行316列322上的條目存儲16的錯誤計數一第二符號;12)行316列340上的條目存儲11的錯誤計數一第三符號。於是,在本例中,錯誤模塊107遍歷表格300,定位含有非零條目的三個符號。如果不存在含有非零條目的至少兩個符號,則在方塊202中繼續流程圖200的操作,其中對於新的清理周期進行新的存儲器清理。否則,流程圖200的操作在過渡點A繼續,過渡點A在圖4 (的流程圖400現在描述)繼續。圖4描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的繼續操作的流程圖。流程圖400的操作在方塊402開始。在方塊402上,錯誤模塊107確定含有至少一個可糾正錯誤的至少一個符號是否含有超過閾值的可糾正錯誤(跨其數據存儲在表格中的多個清理周期)。參考圖3,錯誤模塊107確定被識別成具有非零錯誤計數的三個符號(符號1,符號2或符號3)的至少一個是否含有表格300中具有超過閾值的錯誤計數的條目。在一些示範性實施例中,閾值是取決於系統的類型、應用的類型、存儲器的類型等的可配置值。假設將閾值設置成值30。在本例中,表格300的一個條目超過閾值一行310列330上的條目存儲35的錯誤計數。如果沒有至少一個符號含有錯誤計數超過閾值的條目,則圖400的操作在返回到流程圖200的方塊202的過渡點B繼續,其中對新的清理周期內進行新的存儲器清理。否則,在方塊404中繼續流程圖400的操作。在方塊404中,錯誤模塊107確定至少兩個其它符號是否含有超過閾值的可糾正錯誤(跨其數據存儲在表格中的多個清理周期)。參考圖3,錯誤模塊107再次遍歷表格300,嘗試定位含有超過閾值的可糾正錯誤的至少兩個其它符號。假設將閾值設置成值10而不是30。在這樣的情況下,錯誤模塊107識別出條目的錯誤計數超過閾值的兩個其它符號I)行316列322上的條目存儲16的錯誤計數一第二符號;2)行316列340上的條目存儲11的錯誤計數一第三符號。如果存在含有超過閾值的可糾正錯誤的至少兩個其它符號,則在方塊406繼續流程圖400的操作。否則,在方塊408繼續流程圖400的操作。在方塊406中,錯誤模塊107利用三個不同修復進行搶先修復。具體地,錯誤模塊107已經識別了具有已經超過閾值的錯誤計數的至少三個符號。利用三個不同修復進行搶先修復的操作將在下面參考圖6作更詳細描述。然後完成圖4的流程圖400的操作。在方塊408中,錯誤模塊107確定至少一個其它符號是否含有超過閾值的可糾正錯誤(跨其數據存儲在表格中的多個清理周期)。參考圖3,錯誤模塊107再次遍歷表格300,嘗試定位含有超過閾值的可糾正錯誤的至少一個其它符號。假設將閾值設置成值15而不是30或10。在這樣的情況下,錯誤模塊107識別出條目的錯誤計數超過閾值的一個其它符號I)行316列322上的條目存儲16的錯誤計數一第二符號。如果不存在含有超過閾值的可糾正錯誤的至少一個其它符號,則流程圖400的操作在返回到流程圖200的方塊202的過渡點B繼續,其中對於新的清理周期內進行新的存儲器清理。否則,在方塊410繼續流程圖400的操作。
在方塊410中,錯誤模塊107對含有最多可糾正錯誤的符號進行存儲器調整修復(識別成含有超過閾值的錯誤的兩個符號之間)。具體地說,錯誤模塊107在方塊402中識別出具有超過閾值的錯誤計數的第一符號,和在方塊408中識別出具有超過閾值的錯誤計數的第二符號。對於存儲器調整修理,錯誤模塊107將配置存儲器114,以便用備用存儲器晶片替換存儲含有最多可糾正錯誤的符號的存儲器晶片。如上所述,存儲器114被配置成以便備用晶片可用於允許存儲器調整。作為修復的一部分,錯誤模塊107可以將內容從被替換的晶片複製到備用晶片(除了具有超過閾值的錯誤計數的符號之外)。對於這些符號,錯誤模塊107可以根據ECC解碼器111提供的數據寫入正確數據。此外,錯誤模塊107可以將存儲器控制器112重新配置成以便將對從舊晶片存取數據的請求現在重新指向備用晶片。雖然描述了以便將存儲器調整修復應用於存儲含有最多可糾正錯誤的符號的存儲器晶片,但一些其它實施例可以使用其它準則來確定將哪個修復應用於哪個符號(如下面進一步所述)。在方塊412繼續流程圖400的操作。在方塊412中,錯誤模塊107對含有超過閾值的可糾正錯誤的其它符號進行晶片標誌修復或符號標誌修復。在一些示範性實施例中,錯誤模塊107根據故障的寬度確定使用哪個修復。例如,如果存在具有彼此相鄰或相近的非零錯誤計數的其它符號(作為相同晶片的一部分),則錯誤模塊107進行晶片標誌修復(從而糾正八位)。如果不存在含有與這個特定錯誤相近或相鄰的錯誤的其它符號,則錯誤模塊107進行符號標誌修復(從而糾正兩位)。在一些示範性實施例中,使用ECC解碼器111執行的一個或多個糾錯碼(ECC)操作進行符號標誌修復和晶片標誌修復。具體地,根據ECC校驗位,ECC解碼器111確定什麼數據應該已經存儲在存儲器中。於是,ECC解碼器111可以從存儲器接收不正確數據,並重新計算以提供正確數據。這樣的ECC操作可以針對符號級寬度存取以及晶片級寬度存取來進行。於是,錯誤模塊107可以將指令發送給ECC解碼器111,以便對從存儲器114存取的給定位組進行晶片標誌修復或符號標誌修復。圖400的操作在返回到流程圖200的方塊202的過渡點B繼續,其中對新的清理周期內進行新的存儲器清理。圖5描繪了按照一些示範性實施例、基於多符號多清理周期分析的搶先存儲器修復的繼續操作的流程圖。流程圖500的操作在方塊502開始。這是從圖2的流程圖200的過渡點C的繼續,其中從以前的分析中確定已經存在已應用的修復。如果從以前的分析中完成了這樣的修復,則使用三個修復的兩個(參見上述的方塊410-412)。在方塊502中,錯誤模塊107確定至少一個符號是否含有超過閾值的可糾正錯誤(跨其數據存儲在表格中的多個清理周期)。參考圖3,錯誤模塊107遍歷表格300,定位含有超過閾值的可糾正錯誤的符號。在一些示範性實施例中,如果存在滿足這些準則的多個符號,則錯誤模塊107選擇含有最多可糾正錯誤的符號。在一些示範性實施例中,錯誤模塊107選擇在遍歷表格300期間定位的滿足準則的第一符號。如果不存在至少一個符號含有錯誤計數超過閾值的條目,則流程圖500的操作在返回到流程圖200的方塊202的過渡點B繼續,其中對新的清理周期內進行新的存儲器清理。否則,在方塊504中繼續流程圖500的操作。在方塊504中,錯誤模塊107對這個識別的符號進行晶片標誌修復或符號標誌修復。具體地,錯誤模塊107根據以前的分析進行當前未使用的修復。錯誤模塊107進行在上述的方塊412 (其中選擇晶片標誌修復或符號標誌修復)中未選擇的修復。在一些示範性實施例中,使用ECC解碼器111執行的一個或多個糾錯碼(ECC)操作進行符號標誌修復和晶片標誌修復。具體地,根據ECC校驗位,ECC解碼器111確定什麼數據應該已 經存儲在存儲器中。於是,ECC解碼器111可以從存儲器接收不正確數據,並重新計算以提供正確數據。這樣的ECC操作可以針對符號級寬度存取以及晶片級寬度存取來進行。於是,錯誤模塊107可以將指令發送給ECC解碼器111以便對從存儲器114存取的給定位組進行晶片標誌修復或符號標誌修復。完成流程圖500的操作(因為已經將所有三個修復都應用於存儲器的這個列)。圖6描繪了按照一些示範性實施例、利用三個不同修複方法的搶先存儲器修復的流程圖。流程圖600包括作為在圖4的方塊406的操作的擴展的操作(其中進行利用三個不同修復的搶先修復)。流程圖600的操作在方塊602開始。在方塊602中,錯誤模塊107對含有最多可糾正錯誤的符號進行存儲器調整修復(識別成含有超過閾值的錯誤的三個符號當中)。具體地說,錯誤模塊107在方塊402中識別出具有超過閾值的錯誤計數的第一符號和在方塊404中識別出具有超過閾值的錯誤計數的第二和第三符號。對於存儲器調整修理,錯誤模塊107將配置存儲器114,以便用備用存儲器晶片替換存儲含有最多可糾正錯誤的符號的存儲器晶片。如上所述,配置存儲器114以便備用晶片可用於允許存儲器調整。作為修復的一部分,錯誤模塊107可以將內容從被替換的存儲器晶片複製到備用存儲器晶片(除了具有超過閾值的錯誤計數的符號之外)。對於這些符號,錯誤模塊107可以根據ECC解碼器111提供的數據寫入正確數據。此外,錯誤模塊107可以重新配置存儲器控制器112,以便將對從舊存取晶片訪問數據的請求現在重新指向到備用存儲器晶片。在方塊604中繼續流程圖600的操作。在方塊604中,錯誤模塊107對含有超過閾值的次多可糾正錯誤的符號進行晶片標誌修復。在一些示範性實施例中,使用ECC解碼器111執行的一個或多個糾錯碼(ECC)操作進行晶片標誌修復。具體地,根據ECC校驗位,ECC解碼器111確定什麼數據應該已經存儲在存儲器中。於是,ECC解碼器111可以從存儲器接收不正確數據,並重新計算以提供正確數據。於是,錯誤模塊107可以將指令發送給ECC解碼器111以便對從存儲器114存取的八位進行晶片標誌修復。在方塊606中繼續流程圖600的操作。在方塊606中,錯誤模塊107對含有超過閾值的第三多可糾正錯誤的符號進行符號標誌修復。在一些示範性實施例中,使用ECC解碼器111執行的一個或多個糾錯碼(ECC)操作進行符號標誌修復。具體地,根據ECC校驗位,ECC解碼器111確定什麼數據應該已經存儲在存儲器中。於是,ECC解碼器111可以從存儲器接收不正確數據,並重新計算以提供正確數據。於是,錯誤模塊107可以將指令發送給ECC解碼器111以便對從存儲器114存取的兩位進行符號標誌修復。結束流程圖600的操作。
雖然描述了以便將存儲器調整修復應用於含有最多可糾正錯誤的符號,將晶片標誌修復應用於含有次多可糾正錯誤的符號,以及將符號標誌修復應用於含有最少量可糾正錯誤的符號,但一些示範性實施例可以根據其它準則將這些修復應用於不同符號。例如,錯誤模塊107可以考慮內含有可糾正錯誤的符號的分組。具體地,錯誤模塊107可以為那個晶片內含有最多可糾正錯誤的那個存儲器晶片選擇存儲器調整修復。此外,在一些示範性實施例中,錯誤模塊107可以根據故障的寬度確定使用哪個修復。例如,如果存在具有彼此相鄰或相近的非零錯誤計數的其它符號(作為相同晶片的一部分),則錯誤模塊107進行晶片標誌修復(從而糾正八位)。如果不存在含有與這個特定錯誤相近或相鄰的錯誤的其它符號,則錯誤模塊107進行符號標誌修復(從而糾正兩位)。一些示範性實施例可以將可替代或附加準則用於確定符號是否適合修復。為了例示的目的,圖7描繪了按照一些其它示範性實施例、存儲跨多個清理周期的多個符號的錯誤的二維表格。與圖3類似,圖7描繪了存儲沿著高速緩存的高速緩存行的符號的可糾正錯誤的計數的表格700。表格700的垂直軸包括高速緩存行的不同清理周期的行。表格700的水平軸包括高速緩存行的不同符號的列。 具體地,表格700包括映射到高速緩存行的10個不同符號的10個不同列。為了清晰起見,對於給定高速緩存行只示出了 10個符號。在一些示範性實施例中,高速緩存106中的給定高速緩存行包括72個符號。在這樣的實施例中,表格700將包括高速緩存行的72個不同符號的72個不同列。表格700包括10個不同符號的10個列——列722、724、726、728、730、732、734、736、738、和740。列722存儲高速緩存行中的第I符號的可糾正錯誤計數。列724存儲高速緩存行中的第2符號的可糾正錯誤計數。列726存儲高速緩存行中的第3符號的可糾正錯誤計數。列728存儲高速緩存行中的第4符號的可糾正錯誤計數。列730存儲高速緩存行中的第5符號的可糾正錯誤計數。列732存儲高速緩存行中的第6符號的可糾正錯誤計數。列734存儲高速緩存行中的第7符號的可糾正錯誤計數。列736存儲高速緩存行中的第8符號的可糾正錯誤計數。列738存儲高速緩存行中的第9符號的可糾正錯誤計數。列740存儲高速緩存行中的第10符號的可糾正錯誤計數。表格700還包括映射到10個不同清理周期的10個不同行。為了清晰起見,只示出了 10個不同清理周期。但是,在表格700中可以存儲更少或更多個清理周期。表格700
包括 10 個不同行-行 702、704、706、708、710、712、714、716、718、和 720。行 702 存儲當
前清理周期的10個不同符號的錯誤計數。行704存儲以前清理周期的相同10個符號的錯誤計數。行706存儲以前清理周期的相同10個符號的錯誤計數。行708存儲以前清理周期的相同10個符號的錯誤計數。行710存儲以前清理周期的相同10個符號的錯誤計數。行712存儲以前清理周期的相同10個符號的錯誤計數。行714存儲以前清理周期的相同10個符號的錯誤計數。行716存儲以前清理周期的相同10個符號的錯誤計數。行718存儲以前清理周期的相同10個符號的錯誤計數。行720存儲最老清理周期的相同10個符號的錯誤計數。在一些示範性實施例中,根據先進先出(FIFO)原理建立和刪除表格700的行。具體地,表格700將限定數量的清理周期存儲在行中。在本例中,表格700存儲10不同清理周期的符號的錯誤計數。一旦跟蹤到超過10個清理周期的錯誤計數,錯誤模塊107 (圖I)就刪除最老清理周期以便存儲當前清理周期。
為了例示,與表格300的條目相比較,將用於確定符號適合修復不同錯誤計數的可替代或附加準則的使用存儲在表格700的條目中。具體地,存儲在列730中的相同符號在三個相繼清理周期(行712、行710和行708)內具有非零錯誤計數。此外,存儲在列722中的相同符號在兩個相繼清理周期(行718和行716)內具有非零錯誤計數。存儲在列740中的相同符號在兩個非相繼清理周期(行720和行716)內具有非零錯誤計數。在一些示範性實施例中,錯誤模塊107可以遵循給定符號的錯誤計數的趨勢以確定是否需要修復。例如,如果相同符號對兩個相繼清理周期具有至少兩個非零錯誤計數(例如,列722中的符號),則需要修復。在另一個例子中,如果相同符號對相繼或非相繼清理周期具有大於閾值(例如,15)的至少兩個錯誤計數(例如,列730中的符號),則需要修復。在另一個例子中,如果相同符號對相繼或非相繼清理周期具有至少兩個非零錯誤計數(例如,列740中的符號),則需要修復。可替代地或除了上面在圖2-6中所述的準則之外,錯誤模塊107可以使用這些準則。作為附加準則使用可以強化符號需要校正的假設。
如所屬技術領域的技術人員知道,本發明主題可以實現為系統、方法或電腦程式產品。因此,本發明主題可以具體採用為以下形式,即可以是完全的硬體實施例、也可以是完全的軟體(包括固件、駐留軟體、微代碼等)實施例,還可以是硬體和軟體方面結合實施例的形式,本文一般都稱為「電路」、「模塊」或「系統」。此外,本發明主題的各方面還可以採用為在一個或多個計算機可讀介質中的電腦程式產品的形式,該計算機可讀介質中包含其上實現的計算機可讀的程序代碼。可以採用一個或多個計算機可讀的介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一但不限於——電、磁、光、電磁、紅外線、或半導體的系統、裝置或器件,或者以上的任何適當組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括以下具有一個或多個導線的電連接、可攜式計算機磁碟、硬碟、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或快閃記憶體)、光纖、可攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件上下文中,計算機可讀存儲介質可以是任何可以包含或存儲程序的有形介質,該程序可以被指令執行系統、裝置或者器件使用或者與其結合使用。計算機可讀的信號介質可以包括例如在基帶中或者作為載波一部分傳播的數據信號,其中承載了計算機可讀的程序代碼。這種傳播的數據信號可以採用多種形式的任一,包括——但不限於——電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發送、傳播或者傳輸用於由指令執行系統、裝置或者器件使用或者與其結合使用的程序。計算機可讀介質上實現的程序代碼可以用任何適當的介質傳輸,包括一但不限於一無線、電線、光纜、RF等等,或者上述的任意合適的組合。可以以一種或多種程序設計語言的任何組合來編寫用於本發明主題各方面的操作的電腦程式代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java、Smalltalk、C++,還包括常規的過程式程序設計語言一諸如」 C」程序設計語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執行、部分地在用戶計算機上執行、作為一個獨立的軟體包執行、部分在用戶計算機上部分在遠程計算機上執行、或者完全在遠程計算機或伺服器上執行。在後者的情形中,遠程計算機可以通過任意種類的網絡一包括區域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以進行連接到外部計算機(例如利用網際網路服務提供商來通過網際網路)。下面將參照根據本發明主題的實施例的方法、裝置(系統)和電腦程式產品的流程示和/或框圖描述本發明主題。應當理解,流程示和/或框圖的每個方框以及流程示和/或框圖中各方框的組合,都可以由電腦程式指令實現。這些電腦程式指令可以提供給通用計算機、專用計算機或其它可編程數據處理裝置的處理器,從而生產出一種機器,這些指令通過計算機或其它可編程數據處理裝置的處理器執行,產生了實現流程圖和/或框圖中的方框中規定的功能/操作的裝置。 也可以把這些電腦程式指令存儲在能指引計算機、其它可編程數據處理裝置、或其他設備以特定方式工作的計算機可讀介質中,這樣,存儲在計算機可讀介質中的指令就產生出一個包括實現流程圖和/或框圖中的方框中規定的功能/操作的製造品(manufacture)。也可以把電腦程式指令加載到計算機、其它可編程數據處理裝置、或其它設備上,使得在計算機、其它可編程數據處理裝置或其它設備上執行一系列操作步驟,以產生計算機實現的過程,從而使得在計算機或其它可編程裝置上執行的指令提供實現流程圖和/或框圖中的方框中規定的功能/操作的過程。雖然參考各種實現和開發描述了各實施例,但應該明白,這些實施例是例示性的,本發明主題的範圍不局限於它們。一般說來,如本文所述的搶先存儲器修復技術可以利用與任何硬體系統或硬體系統相容的設施實現。許多改變、修改、添加和改進是可能的。可以為本文描述成單個實例的部件、操作或結構提供多個實例。最後,各種部件、操作和數據存儲之間的邊界有些任意,並且特定操作是在特定例示性配置的背景下例示的。功能的其它分配可以被預想,並且可以都在本發明主題的範圍之內。一般說來,在示範性配置中表示成單獨部件的結構和功能可以實現成組合結構或部件。類似地,表示成單個部件的結構和功能可以實現幾個單獨部件。這些和其它改變、修改、添加和改進都在本發明主題的範圍之內。
權利要求
1.一種修復存儲器的方法,其包含 跨多個清理周期的一個清理周期地進行存儲器的存儲器清理; 識別作為響應於存儲器清理來自存儲器的區段的存取的結果的、存儲器中的符號的可糾正錯誤; 跨多個清理周期地進行分析,其中分析的進行包含確定跨多個清理周期的至少兩個符號是否含有至少一個可糾正錯誤;以及 響應於確定跨多個清理周期的至少兩個符號含有至少一個可糾正錯誤,進行包括所述存儲器的區段的存儲器的至少一個修復。
2.如權利要求I所述的方法,其中確定跨多個清理周期的至少兩個符號是否含有至少一個可糾正錯誤包含 確定是否對符號的至少兩個符號的每一個已經識別至少一個可糾正錯誤; 確定至少兩個符號的至少一個符號是否含有超過閾值的可糾正錯誤;以及響應於確定至少一個其它符號含有超過閾值的可糾正錯誤,確定符號的至少一個其它符號是否含有超過閾值的可糾正錯誤。
3.如權利要求2所述的方法,其中進行包括所述存儲器的區段的存儲器的至少一個修復包含 響應於確定對至少兩個符號的每一個已經識別了至少一個可糾正錯誤、確定至少兩個符號的至少一個符號含有超過閾值的可糾正錯誤、和確定至少一個其它符號含有超過閾值的可糾正錯誤,進行包括所述存儲器的區段的存儲器的至少一個修復。
4.如權利要求I所述的方法,其中進行包括所述存儲器的區段的存儲器的至少一個修復包含進行包括所述存儲器的區段的存儲器的至少兩個修復,其中至少兩個修復包含存儲器調整修復、晶片標誌修復和符號標記修復中的至少兩個。
5.如權利要求I所述的方法,其中確定跨多個清理周期的至少兩個符號含有至少一個可糾正錯誤包含對多個清理周期的至少兩個相繼清理周期確定至少兩個符號的每一個超過閾值。
6.如權利要求I所述的方法,其中所述存儲器的區段包含存儲器的列。
7.一種修復存儲器的方法,包含 跨多個清理周期的一個清理周期地進行存儲器的存儲器清理; 識別作為響應於存儲器清理來自存儲器的區段的存取的結果的、存儲器中符號的可糾正錯誤; 跨多個清理周期地進行分析,其中進行分析包含 確定是否對符號的至少兩個符號的每一個已經識別了至少一個可糾正錯誤; 確定至少兩個符號的至少一個符號是否含有超過閾值的可糾正錯誤;以及響應於確定至少一個其它符號含有超過閾值的可糾正錯誤,確定符號的至少一個其它符號是否含有超過閾值的可糾正錯誤;以及 響應於確定對至少兩個符號的每一個已經識別了至少一個可糾正錯誤、確定至少兩個符號的至少一個符號含有超過閾值的可糾正錯誤、和確定至少一個其它符號含有超過閾值的可糾正錯誤,進行包括所述存儲器的區段的存儲器的至少一個修復。
8.如權利要求7所述的方法,進一步包含在進行分析期間確定第一其它符號和第二其它符號含有超過閾值的可糾正錯誤,其中進行存儲器的至少一個修復包含 針對至少一個符號、第一其它符號、和第二其它符號,根據可糾正錯誤的數量確定至少一個符號、第一其它符號、和第二其它符號之間的次序; 對於存儲至少一個符號、第一其它符號、和第二其它符號之間含有最多可糾正錯誤的符號的存儲器晶片,用備用存儲器晶片替換存儲器的所述存儲器晶片; 對於存儲至少一個符號、第一其它符號、和第二其它符號之間含有次多可糾正錯誤的符號的存儲器晶片,進行存儲器的晶片寬度糾錯碼(ECC)高速緩存行修復;以及 對於至少一個符號、第一其它符號、和第二其它符號之間含有第三多可糾正錯誤的符號,進行存儲器的符號寬度ECC高速緩存行修復。
9.如權利要求7所述的方法,進一步包含 跨多個清理周期的不同清理周期地進行存儲器的不同存儲器清理; 對於所述不同清理周期,識別作為響應於存儲器清理來自所述存儲器的區段的存取的結果的、限定在高速緩存的高速緩存行中的符號的可糾正錯誤; 跨多個清理周期地進行不同的分析,其中進行不同的分析包含 跨多個清理周期地確定符號的不同符號是否含有超過閾值的可糾正錯誤,並且在以前進行的分析中是否未被識別出來;以及 響應於確定不同符號含有超過閾值的可糾正錯誤,進行包括所述存儲器的區段的存儲器的不同修復,其中進行不同修復包含在至少一個修復期間進行以前未進行過的ECC高速緩存行修復。
10.如權利要求7所述的方法,其中所述存儲器的區段包含存儲器的列。
11.一種修復存儲器的裝置,其包含 配置成跨多個清理周期的一個清理周期地進行存儲器的存儲器清理的部件; 配置成對於所述清理周期,識別作為響應於存儲器清理來自存儲器的區段的存取的結果的、限定在通信地與存儲器耦合的高速緩存的高速緩存行中的符號的可糾正錯誤的部件; 配置成利用對於所述清理周期識別的符號的可糾正錯誤更新表格的部件,其中所述表格被配置成存儲跨多個清理周期的符號的可糾正錯誤; 配置成對跨其數據仍然存儲在表格中的多個清理周期的符號進行表格分析的部件,其包含 配置成確定對符號的至少兩個符號的每一個是否已經識別了至少一個可糾正錯誤的部件; 配置成確定至少兩個符號的至少一個符號是否含有超過閾值的可糾正錯誤的部件;以及 配置成響應於確定至少一個其它符號含有超過閾值的可糾正錯誤,確定符號的至少一個其它符號是否含有超過閾值的可糾正錯誤的部件;以及 配置成響應於確定對至少兩個符號的每一個已經識別了至少一個可糾正錯誤、確定至少兩個符號的至少一個符號含有超過閾值的可糾正錯誤、和確定至少一個其它符號含有超過閾值的可糾正錯誤,進行包括所述存儲器的區段的存儲器的至少一個修復的部件。
12.如權利要求11所述的裝置,其中配置成確定至少一個其它符號含有超過閾值的可糾正錯誤的部件包含配置成在進行分析期間確定第一其它符號和第二其它符號含有超過閾值的可糾正錯誤的部件。
13.如權利要求12所述的裝置,其中配置成進行存儲器的至少一個修復的部件包含 配置成針對至少一個符號、第一其它符號、和第二其它符號,根據可糾正錯誤的數量確定至少一個符號、第一其它符號、和第二其它符號之間的次序的部件; 配置成對於存儲至少一個符號、第一其它符號、和第二其它符號之間含有最多可糾正錯誤的符號的存儲器晶片,用備用存儲器晶片替換存儲器的所述存儲器晶片的部件; 配置成對於存儲至少一個符號、第一其它符號、和第二其它符號之間含有次多可糾正錯誤的符號的存儲器晶片,進行存儲器的晶片寬度糾錯碼(ECC)高速緩存行修復的部件;以及 配置成對於至少一個符號、第一其它符號、和第二其它符號之間含有第三多可糾正錯誤的符號,進行存儲器的符號寬度ECC高速緩存行修復的部件。
14.如權利要求11所述的裝置,其中配置成確定至少一個其它符號含有超過閾值的可糾正錯誤的部件包含配置成在分析期間確定只有一個其它符號含有超過閾值的可糾正錯誤的部件,其中配置成進行存儲器的至少一個修復的部件包含 配置成針對至少一個符號和只有一個其它符號,根據可糾正錯誤的數量確定至少一個符號和只有一個其它符號之間的次序的部件; 配置成對於存儲至少一個符號和只有一個其它符號之間含有最多可糾正錯誤的符號的存儲器模塊,用備用存儲器模塊替換存儲器的所述存儲器模塊的部件;以及 配置成對於至少一個符號和只有一個其它符號之間含有次多可糾正錯誤的符號,進行對存儲該符號的存儲器晶片的存儲器的晶片寬度糾錯碼(ECC)高速緩存行修復、和存儲器的符號寬度ECC高速緩存行修復中的至少一個的部件。
15.如權利要求14所述的裝置,進一步包含配置成跨多個清理周期的不同清理周期地進行存儲器的不同存儲器清理的部件; 配置成對於所述不同清理周期,識別作為響應於存儲器清理來自所述存儲器的區段的存取的結果的、限定在高速緩存的高速緩存行中的符號的可糾正錯誤的部件;配置成利用對於所述不同清理周期識別的符號的可糾正錯誤更新表格的部件; 配置成對跨多個清理周期的符號進行表格的不同分析的部件,其中配置成進行不同分析的部件包含 配置成跨多個清理周期地確定符號的不同符號是否含有超過閾值的可糾正錯誤並且在以前進行的分析中是否未被識別出來的部件;以及 配置成響應於確定不同符號含有超過閾值的可糾正錯誤,進行包括所述存儲器的區段的存儲器的不同修復的部件,其中進行不同修復包含在至少一個修復期間進行以前未進行過的ECC高速緩存行修復。
16.一種修復存儲器的裝置,其包含 配置成跨多個清理周期的一個清理周期地進行存儲器的存儲器清理的部件; 配置成識別作為響應於存儲器清理來自存儲器的區段的存取的結果的、存儲器中的符號的可糾正錯誤的部件;配置成跨多個清理周期地進行分析的部件,其中所述分析包含跨多個清理周期的至少兩個符號是否含有至少一個可糾正錯誤的確定;以及 配置成響應於跨多個清理周期的至少兩個符號含有至少一個可糾正錯誤的確定,進行包括所述存儲器的區段的存儲器的至少一個修復的部件。
17.如權利要求16所述的裝置,其中配置成確定跨多個清理周期的至少兩個符號是否含有至少一個可糾正錯誤的部件包含 配置成確定是否對符號的至少兩個符號的每一個已經識別了至少一個可糾正錯誤的部件; 配置成確定至少兩個符號的至少一個符號是否含有超過閾值的可糾正錯誤的部件;以及 配置成響應於至少一個符號含有超過閾值的可糾正錯誤的確定,確定符號的至少一個其它符號是否含有超過閾值的可糾正錯誤的部件。
18.如權利要求17所述的裝置,其中配置成進行至少一個修復的部件包含 配置成響應於對至少兩個符號的每一個已經識別了至少一個可糾正錯誤的確定、至少兩個符號的至少一個符號含有超過閾值的可糾正錯誤的確定、和至少一個其它符號含有超過閾值的可糾正錯誤的確定,進行包括所述存儲器的區段的存儲器的至少一個修復的部件。
19.如權利要求16所述的裝置,其中配置成進行至少一個修復的部件包含配置成進行包括所述存儲器的區段的存儲器的至少兩個修復的部件,其中至少兩個修復包含存儲器調整修復、晶片標誌修復和符號標記修復的至少兩個。
20.如權利要求16所述的裝置,其中配置成確定跨多個清理周期的至少兩個符號含有至少一個可糾正錯誤的部件包含配置成對多個清理周期的至少兩個相繼清理周期確定至少兩個符號的每一個超過閾值的部件。
21.如權利要求16所述的裝置,其中所述存儲器的區段包含存儲器的列。
全文摘要
在一些示範性實施例中,一種方法包括跨多個清理周期的一個清理周期地進行存儲器的存儲器清理。該方法包括識別作為響應於存儲器清理來自存儲器的區段中的存取的結果的、存儲器中的符號的可糾正錯誤。該方法還包括跨多個清理周期地進行分析,其中分析的進行包含確定跨多個清理周期的至少兩個符號是否含有至少一個可糾正錯誤。該方法包括響應於確定跨多個清理周期的至少兩個符號含有至少一個可糾正錯誤,進行包括所述存儲器的區段的存儲器的至少一個修復。
文檔編號G11C29/44GK102855941SQ20121022598
公開日2013年1月2日 申請日期2012年6月29日 優先權日2011年6月29日
發明者J.W.卡曼, M.A.戈魯布, A.卡恩杜爾, J.帕特爾 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀