国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于識別故障存儲器元件的系統(tǒng)和方法

      文檔序號:6781596閱讀:371來源:國知局
      專利名稱:用于識別故障存儲器元件的系統(tǒng)和方法
      技術(shù)領(lǐng)域
      本發(fā)明 一般地涉及計算機系統(tǒng),并且更特別地涉及當存在有缺陷存 儲器部件時提高存儲器系統(tǒng)的服務(wù)性能。
      背景技術(shù)
      目前的高性能計算主存儲器系統(tǒng)通常包括一個或多個動態(tài)隨機存取存儲器(DRAM)器件,這些器件經(jīng)由一個或多個存儲器控制元件連 接到一個或多個處理器。整體計算機系統(tǒng)性能受到計算機結(jié)構(gòu)的每一關(guān) 鍵元件的影響,包括處理器的性能/結(jié)構(gòu)、任意存儲器高速緩存、輸入/ 輸出(I/O)子系統(tǒng)、存儲器控制功能的效率、主存儲器器件、存儲器互 連接口的類型和結(jié)構(gòu)以及與系統(tǒng)的 一個或多個元件相關(guān)聯(lián)的任意故障 ^^企測/糾正功能的類型和效率。圖1涉及與本申請共同轉(zhuǎn)讓的授予Dell等人的美國專利 No.5,513,135,并且描述了一種早期的同步存儲器模塊。圖1中描述的存 儲器模塊是雙列直插存儲器模塊(DIMM)。這種模塊包括同步DRAM 108、緩沖器器件112、優(yōu)化引出線和互連,以及用以實現(xiàn)高性能才喿作的 電容性解耦方法。該專利還描述了使用這些器件作為鎖相環(huán)(PLL)而 在該模塊上使用時鐘重驅(qū)動(re-drive)。圖2涉及同此共同轉(zhuǎn)讓的授予Dell等人的美國專利No.6,173,382, 并且描述了計算機系統(tǒng)210,該系統(tǒng)包括經(jīng)由總線240直接(即,點對 點)連接到存儲器控制器214的同步存儲器模塊220,并且還包括對接 收自存儲器控制器214的地址、數(shù)據(jù)和控制信息進行緩沖、寄存或者其 他動作的邏輯電路224 (諸如專用集成電路或"ASIC")。存儲器模塊220 可以被編程為在存儲器初始化進程的一部分中或在正常操作期間,借助 諸如集成電路間(I2C)控制總線234之類的獨立總線以多種可選擇或可編程的模式操作。當在需要不止一個直接連接到存儲器控制器的存儲 器模塊的應(yīng)用中使用時,該專利注意到通過使用場效應(yīng)晶體管(FET) 開關(guān)將模塊從總線上電分離可以使得到的分支線最短化。相對于美國專利No.5,513,135,美國專利No.6,173,382還演示了將 所有定義的功能(地址、命令、數(shù)據(jù)、存在檢測等)集成到單個器件中 的能力。多項功能的集成是一項公共的行業(yè)實踐,技術(shù)進步使其成為可 能,并且在這種情況下,其使得另外的模塊密集度和/或功能性成為可能。行業(yè)投入的廣泛研究和開發(fā)努力,通過改進存儲器系統(tǒng)/子系統(tǒng)的設(shè) 計和/或結(jié)構(gòu),不斷地創(chuàng)造著使整體系統(tǒng)性能和密度最大化的改進的和/ 或革新的解決方案。對高可用性和最小(如果有的話)停用時間的需求 帶來了與整體系統(tǒng)可靠性有關(guān)的更多挑戰(zhàn),因為客戶都期望新計算機系 統(tǒng)能夠在平均故障間隔時間(MTBF)方面顯著超越現(xiàn)有系統(tǒng),而另外 又提供額外的功能、更高的性能、更多的存儲以及更低的操作成本等。對增強糾錯技術(shù)的使用已經(jīng)成為改善MTBF的主要因素,然而,在 被并行地存取以提供高速緩存線存取(典型地是64字節(jié)、128字節(jié)或更 大)的一組(2個、4個或更多個)模塊中識別單個故障模塊卻變得越 來越困難。在錯誤被ECC結(jié)構(gòu)識別為"不可糾正"的情況下,這種困難 尤其明顯。在已調(diào)度或未調(diào)度的修復(fù)動作期間,若給定有限數(shù)量的故障 數(shù)據(jù)(尤其是在不可糾正錯誤導致了修復(fù)動作的情況下)且需要使系統(tǒng) 很快上線,常常會響應(yīng)于表觀的存儲器系統(tǒng)故障而移除不止一個存儲器 模塊。為了減少被不必要地替換的功能模塊的數(shù)目,期望具有快速且準 確識別特定故障存儲器模塊的能力。發(fā)明內(nèi)容一個示例性實施例包括一種用于當兩個或更多模塊響應(yīng)于讀取請 求而一致操作時識別存儲器系統(tǒng)中的故障存儲器元件的方法。該方法包 括接收與不可糾正錯誤(UE)相關(guān)聯(lián)的病征比特和地址。響應(yīng)于前^"可 糾正錯誤(CE)已經(jīng)發(fā)生,獲取該前一 CE的位置。CE的位置指定了 CE的存儲器器件位置。使用該前一 CE的位置以及UE的病征比特作為輸入來確定UE的位置。UE的位置指定了存儲器器件位置。識別與UE的位置相關(guān)聯(lián)的故障存儲器元件。另 一個示例性實施例包括一種用于識別兩個或更多存儲器模塊響 應(yīng)于讀取請求而 一致操作的存儲器系統(tǒng)中的故障存儲器元件的方法。該方法包括接收與UE相關(guān)聯(lián)的地址以及與該UE相關(guān)的數(shù)據(jù),該數(shù)據(jù)包 括與該UE相關(guān)的一個或多個病征比特和讀:f又數(shù)據(jù)。響應(yīng)于前一 CE已 經(jīng)發(fā)生,獲取與該前一 CE相關(guān)的數(shù)據(jù)。使用與該前一 CE相關(guān)的數(shù)據(jù) 和與該UE相關(guān)的數(shù)據(jù)作為輸入來識別故障存儲器元件。又一個示例性實施例包括一種用于識別故障存儲器元件的存儲器 系統(tǒng)。該存儲器系統(tǒng)包括兩個或更多存儲器模塊、存儲裝置和處理器。 每個存儲器模塊包括多個存儲器器件,并且該兩個或更多存儲器模塊中 的至少兩個存儲器模塊響應(yīng)于讀取請求而一致操作。該存儲裝置存儲與 某地址處的第一故障相關(guān)聯(lián)的故障信息。該處理器包括用于實現(xiàn)接收與 UE相關(guān)聯(lián)的病征比特和地址的邏輯。響應(yīng)于前一CE已經(jīng)發(fā)生,獲取該 前一 CE的位置。該CE的位置指定了 CE的存儲器器件位置。使用該前 一 CE的位置以及該UE的病征比特作為輸入來確定該UE的位置。該 UE的位置指定了存儲器器件位置。識別與該UE的位置相關(guān)聯(lián)的故障存 儲器元件。在研究下述附圖和具體描述之后,根據(jù)實施例的其他系統(tǒng)、方法和 /或計算機程序產(chǎn)品對本領(lǐng)域技術(shù)人員來說將是明顯的,或者將變得明 顯。意圖是所有這些另外的系統(tǒng)、方法和/或計算機程序產(chǎn)品都包括于本 說明書內(nèi),包括于本發(fā)明的范圍內(nèi),并且由所附的權(quán)利要求保護。


      現(xiàn)在參考附圖,其中在若干附圖中相同的元件使用了相似的標號。 圖1示出了一個示例性的早期同步存儲器模塊; 圖2示出了一個示例性的計算機系統(tǒng),其具有直接連接到存儲器控 制器的全緩沖同步存儲器模塊;閨3示出了一個示例性的存儲器系統(tǒng),其示出為具有單個傳統(tǒng)多點分支線總線;圖4示出了全緩沖同步存儲器模塊和系統(tǒng)結(jié)構(gòu),其中全緩沖同步存 儲器模塊包括轉(zhuǎn)發(fā)器功能;圖5示出了一個計算機存儲器系統(tǒng)的框圖,該系統(tǒng)包括一致操作以 支持單個數(shù)據(jù)存取請求的多個獨立的級聯(lián)互連存儲器接口總線;圖6示出了一個計算機存儲器系統(tǒng)的框圖,該系統(tǒng)可以用于實現(xiàn)本 發(fā)明的示例性實施例;圖7示出了一個存儲器結(jié)構(gòu),其具有級聯(lián)的存儲器模塊以及單向的 總線,該結(jié)構(gòu)可以用于實現(xiàn)本發(fā)明的示例性實施例;圖8是可以由本發(fā)明的示例性實施例實現(xiàn)的用于識別不可糾正錯誤 的位置的進程流;圖9示出了一個存儲器結(jié)構(gòu),其具有級聯(lián)的存儲器模塊和單向的總 線,該結(jié)構(gòu)可以用于實現(xiàn)本發(fā)明的示例性實施例;以及圖10-圖13示出了可以由本發(fā)明的示例性實施例實現(xiàn)的示例性電路。
      具體實施方式
      示例性實施例幫助識別存儲器系統(tǒng)中的特定故障存儲器模塊,以便 減少當存儲器系統(tǒng)中發(fā)生故障時被替換的存儲器模塊的數(shù)目。利用第一 可糾正字節(jié)錯誤的位置信息來找到第二不可糾正字節(jié)錯誤的位置。在示 例性實施例中,第二錯誤的位置用于識別有缺陷的存儲器元件(例如, 模塊或存儲器器件)。此外,第二字節(jié)錯誤可以被糾正,由此使得存儲 器系統(tǒng)能夠繼續(xù)用于生產(chǎn)和/或診斷目的的執(zhí)行。當前某些計算機系統(tǒng)中的現(xiàn)有技術(shù)是使用 一 字節(jié)糾錯、二字節(jié)檢錯 的Reed-Solomon (或等效的)錯誤控制碼來對數(shù)據(jù)進行編碼。當適當?shù)?應(yīng)用這種碼時(例如,使得任意存儲器芯片故障最多影響一個字節(jié)), 該碼允許系統(tǒng)從單個比特混亂以及影響直至整個DRAM存儲器芯片的 故障中恢復(fù)。這種被糾正的第一錯誤稱為可糾正錯誤(CE)。這類存儲 器芯片故障包括大型故障(例如,"chipkiir )或更普遍的,由諸如I/O馬區(qū)動器/接收器故障以及連接器故障之類的事件引起的個別I/O通路的故 障。在使用上述Reed-Solomon碼的情況下當?shù)诙e誤發(fā)生時,該碼(如 同其當前被使用的情況)不能糾正該錯誤并生成不可糾正錯誤(UE)信 號。通常的策略是當UE發(fā)生時暫停系統(tǒng)執(zhí)行。然而,經(jīng)常存在這種情 況兩種錯誤(即CE和UE)最初并不同時發(fā)生,而是第一錯誤類型在 某個地址處發(fā)生(例如,信號比特故障、1/0故障、芯片獵殺等),并且 僅在一段時間之后,影響同一ECC字中的不同比特、字節(jié)或字節(jié)部分的 第二故障才發(fā)生。在間隙時間中,對與該地址相關(guān)聯(lián)的數(shù)據(jù)的其他存取 (例如,處理器請求的存取,由于擦除機制的存取等)將導致與第一故 障類型和位置 一致的永久性錯誤。后面的圖3-圖5用于描述將應(yīng)用本發(fā)明的示例性實施例的示例傳 統(tǒng)存儲器結(jié)構(gòu)。圖3來自于同此共同轉(zhuǎn)讓的授予Grundon等人的美國專利 No.6,510,100,其示出了關(guān)于存儲器系統(tǒng)310的簡化框圖和描述,該系統(tǒng) 包括在傳統(tǒng)多點分支線總線上的共計四個寄存式DIMM 340。子系統(tǒng)包 括存儲器控制器320、外部時鐘緩沖器330、寄存式DIMM 340、地址總 線350、控制總線360和數(shù)據(jù)總線370,端子395在地址總線350和數(shù) 據(jù)總線370上。盡管在圖3中只示出了單個存儲器通道,但是以這些模 塊生產(chǎn)的系統(tǒng)通常包括不止一個來自存儲器控制器的分立存儲器通道, 每個存儲器通道單獨操作(當單個通道上組裝了模塊時)或并行操作(當 兩個或更多通道上組裝了模塊時)以獲得期望的系統(tǒng)功能性和/或性能。 使用傳統(tǒng)的寄存式DIMM,從每個存儲器通道可以獲得72比特的數(shù)據(jù) 總線寬度。盡管只示出了一個通道,但是系統(tǒng)通常將具有2個、4個或 更多所示類型的存儲器通道,從而得到在響應(yīng)高速緩存線操作時的32、 64、 128或更多字節(jié)數(shù)據(jù)的傳送。此外,每個DIMM 340或存儲器模塊 通常將包括72比特的數(shù)據(jù),允許利用位于存儲器控制器320中^ ECC 電路或邏輯使用ECC糾正最多的數(shù)據(jù)錯誤。圖4來自于授予Bonella等人的美國專利No.6,587,912,其示出了同步存儲器模塊410和系統(tǒng)結(jié)構(gòu),其中轉(zhuǎn)發(fā)器集線器420包括經(jīng)由總線421 和422將地址、命令和數(shù)據(jù)本地重驅(qū)動到本地存儲器器件401和402; 生成本地時鐘(如在其他附圖和專利文本中所描述的那樣);以及經(jīng)由 總線400將適當?shù)拇鎯ζ鹘涌谛盘栔仳?qū)動到系統(tǒng)中的下一模塊或組件。圖5示出了由集成處理器芯片500構(gòu)成的存儲器系統(tǒng),其包含一個 或多個處理器元件以及集成存儲器控制器510。在圖5所示的配置中, 多個獨立級聯(lián)互連存儲器接口總線506邏輯地聚集在一起,以便一致地 操作以支持較高帶寬的單個獨立存取請求,其中數(shù)據(jù)和錯誤檢測/糾正信 息分布或"分割(strip)"在并行總線和相關(guān)聯(lián)的器件上。存儲器控制器 510附著到四個窄/高速點對點存儲器總線506,每個總線506將若干唯 一的存儲器控制器接口通道之一連接到級聯(lián)互連存儲器子系統(tǒng)503,該 子系統(tǒng)包括至少一個集線器器件504以及一個或多個存儲器器件509(或 DRAM)。使用同期的同步存儲器器件,由存儲器控制器510發(fā)起的存 取通??梢缘玫?28字節(jié)數(shù)據(jù)的傳送(8字節(jié)DIMM寬度x 4個一致操 作的DIMM x來自每個所選DRAM的4比特突發(fā))。使用傳統(tǒng)的緩沖DIMM,在每個DIMM上可獲得72比特的數(shù)據(jù)總 線寬度(典型地,通過對8比特寬的9個存儲器器件509進行存取,或 對4比特寬的18個存儲器器件509進行存取),允許使用ECC識別和糾 正最多的數(shù)據(jù)錯誤。如圖3和圖4所示的數(shù)據(jù)路徑ECC電路,或圖5 中的邏輯通常將位于存儲器控制器510中,并且包括校驗比特生成和隨 后的錯誤檢測和糾正。盡管可以如關(guān)于圖3 -圖5所描述地那樣實現(xiàn)同期的存儲器ECC結(jié) 構(gòu),但是ECC功能的位置(例如,ECC電路或邏輯)可以存在于存儲 器控制器之外的其他系統(tǒng)元件中,包括處理器本身、存儲器集線器、寄 存器、緩沖器或存在于存儲器控制器與存儲器器件之間的其他存儲器接 口器件,或者存在于存儲器器件本身中。圖6示出了可以用于實現(xiàn)本發(fā)明的示例性實施例的計算才A疊儲器系 統(tǒng)的框圖。圖6示出了由集成處理器芯片600構(gòu)成的存儲器系統(tǒng),其包 含一個或多個處理器元件和集成存儲器控制器610。在圖6所示的配置中,多個獨立級聯(lián)互連存儲器接口總線606邏輯地聚集在一起,以便一 致地操作以支持較高帶寬的單個獨立存取請求,其中數(shù)據(jù)和錯誤檢測/ 糾正信息分布或"分割"在并行總線和相關(guān)聯(lián)的器件上。存儲器控制器610附著到四個窄/高速點對點存^f渚器總線606,每個總線606將若干唯 一的存儲器控制器接口通道之一連接到級聯(lián)互連存儲器子系統(tǒng)603,該 子系統(tǒng)包括至少一個集線器器件604以及一個或多個存儲器器件609(或 DRAM)。圖6中的存儲器系統(tǒng)與圖5所示的存儲器系統(tǒng)類似,而又外加了服 務(wù)處理器612、用于存儲錯誤相關(guān)信息(例如它們的地址、它們的位置、 獲取的數(shù)據(jù)和病征比特)的非易失性存儲裝置(NVS ) 614以及ECC邏 輯塊616。在圖6所示的示例性實施例中,本文所述(例如,參見圖8) 的UE處理的一部分位于存儲器控制器中的ECC邏輯616內(nèi),并且UE 處理的其他部分位于服務(wù)處理器612中。在集成處理器芯片600外部使 用服務(wù)處理器612的好處在于即使當集成處理器芯片600不可操作時, 該服務(wù)處理器612也可以用于執(zhí)行錯誤診斷。類似地,在存儲器控制器 610外部使用服務(wù)處理器612的好處在于,即使當存儲器控制器—610不 可操作時,該服務(wù)處理器612也可以用于執(zhí)行錯誤診斷。此外,使用NVS 614存儲錯誤相關(guān)信息的好處在于當存儲器控制器610和/或服務(wù)處理 器不可操作時,也可以對錯誤相關(guān)信息進行存取。圖7示出了一個存儲器結(jié)構(gòu),其具有級聯(lián)的存儲器模塊以及單向的 總線,該結(jié)構(gòu)可以用于實現(xiàn)本發(fā)明的示例性實施例。圖7是圖6的另一 個視圖,服務(wù)處理器612和NVS614位于存儲器控制器610外部。在此 處所描述的例子中并且對于當前存儲器系統(tǒng)典型的是,高速緩存線是 128字節(jié);然而在不偏離此處所描述的本發(fā)明示例性實施例的范圍的情 況下,這一數(shù)字可以改變。圖7所示的存儲器系統(tǒng)只包括一個存儲器模 塊702,可以選4奪具有級聯(lián)互連到一個或多個才莫塊702的一個或多個額 外的模塊(如圖6中的例子所示)。其他的實施例可以只包括一排存儲 器模塊或根據(jù)需要包括模塊的其他組合以優(yōu)化地提供所需的系統(tǒng)線尺 寸(例如,32、 64、 128、 256字節(jié)等)。如圖7所示,存儲器控制器610附著到四個窄/高速點對點存儲器總線606a、 606b、 606c、 606d,每個總線分別將若干唯一的存儲器控制器 接口通道之一連接到存儲器模塊702a、 702b、 702c和702d。在圖7中 所示的示例性實施例中,每個存儲器模塊702包含存儲器器件509,每 個存儲器器件具有8個數(shù)據(jù)輸入/輸出(I/O)通路并且以值為四的突發(fā) 長度操作。突發(fā)長度是在對存儲器器件509的任意給定存取中每個所選 存儲器器件509將通過I/O通路(經(jīng)由存儲器總線606 )處理(例如讀 或?qū)?的數(shù)據(jù)拍(例如,連續(xù)數(shù)據(jù)傳送)的數(shù)量。在示例性實施例中, 需要總計32個存儲器器件509服務(wù)于一條128字節(jié)的高速緩存線。通 常,如圖7所示,為存儲器模塊702中的每八個存儲器器件509提供一 個額外的第九存儲器器件509。在圖7所示的例子中,在四個存儲器模 塊702上提供了總計四個額外的存儲器器件509。在示例性實施例中, 四個額外的存儲器器件509中的一個被指定為備用存儲器器件509,其 他三個被用于存儲ECC信息。在每個存儲器器件數(shù)據(jù)拍上應(yīng)用Reed-Solomon碼,其利用3個額 外冗余字節(jié)保護32字節(jié)的數(shù)據(jù)。該碼能夠糾正任意的一字節(jié)錯誤并檢 測任意的二字節(jié)錯誤。當兩個字節(jié)錯誤發(fā)生時,如果兩個錯誤的位置都 已知,則該Reed-Solomon碼可以用于糾正兩個錯誤。在圖7所示的存 儲器系統(tǒng)中,在四個存儲器模塊702之一上的任意存儲器器件509上, 將識別并糾正共計一個字節(jié)錯誤。本發(fā)明的示例性實施例致力于確定第 二錯誤的位置,該第二錯誤影響直至數(shù)據(jù)的整個字節(jié)(例如,芯片獵殺)。 一旦確定了第二錯誤的位置,就可以糾正第二錯誤,并且/或者可以確定 和報告該位置以輔助識別哪一 (哪些)存儲器元件(例如,存儲器器件 509、存儲器系統(tǒng)603、存儲器模塊702等)發(fā)生了故障,以及應(yīng)當替換 哪一可替換元件(例如,存儲器模塊、存儲器卡等)以糾正存儲器系統(tǒng) 中的錯誤。在本發(fā)明的示例性實施例中,從圖7中最左邊的存儲器器件509開 始,從1到36對存儲器器件509連續(xù)編號,以指定存儲器器伴509的 位置(并因此指定錯誤的位置)。存儲器模塊702a中的九個存儲器器件509從1到9編號;存儲器模塊702b中的九個存儲器器件509從10到 18編號;存儲器模塊702c中的九個存儲器器件509從19到27編號;以 及存儲器模塊702d中的九個存儲器器件509從28到36編號。由此, 如果錯誤在位置20中,則錯誤與存儲器模塊702c中從左邊數(shù)第二個存 儲器器件509相關(guān)聯(lián)。使用器件方位或位置,可以識別相應(yīng)的故障存儲 器元件(如存儲器模塊)用于替換。通過包括器件故障位置,以及故障 模塊,當返回要修復(fù)的模塊時,故障位置信息還可以用于實現(xiàn)對故障模 塊的后續(xù)修復(fù)。在又一些示例性實施例中,在存儲器模塊702上可以安 裝多于9個或少于9個存儲器器件(典型地,18個、36個或72個), 故障比特(1個比特或多個比特)或字節(jié)位置用于識別故障模塊(例如, 模塊702c具有18個8比特寬的存儲器器件,并且錯誤與72比特模塊數(shù) 據(jù)寬度上的第4組8比特有關(guān))。在多排存儲器模塊中,諸如所描述的 具有18個8比特寬的存儲器器件的72比特才莫塊中,故障的地址可以識 別故障存儲器器件排。在系統(tǒng)初始化期間確定存儲器模塊配置(例如,存儲器器件數(shù)量、 存儲器器件數(shù)據(jù)寬度、模塊密度等),此時處理器、服務(wù)處理器、存儲 器控制器或其他控制元件通常借助IIC或類似的接口總線對安裝在存儲 器模塊上的非易失性存儲器進行詢問(例如,串行存在檢測或SPD EEPROM)。 一旦確定了存儲器子系統(tǒng)結(jié)構(gòu),就對存儲器接口進行初始 化以允許高速通信(例如,經(jīng)由總線606),并且在正常的系統(tǒng)操作之前 完成進一步的初始化和認證操作。在這些后續(xù)步驟期間,ECC邏輯616 和非易失性存儲裝置614可以被配置為允許基于在模塊詢問進程期間確 定的存儲器器件和模塊信息對故障存儲器器件和/或模塊進行糾正識別。在本;^明的示例性實施例中,當標準ECC處理(例如,已經(jīng)由同期 存儲器系統(tǒng)執(zhí)行的用于檢測雙重錯誤的存在和糾正單個錯誤的標準 ECC解碼器)檢測到UE或CE時,將錯誤相關(guān)信息存儲在另 一系統(tǒng)如 服務(wù)處理器612可存取的存儲介質(zhì)(例如NVS614)中。在示例性實施 例中,該第二系統(tǒng)通過實現(xiàn)定位第二 UE錯誤的算法的軟件和/或硬件工 具來分析該信息。其他示例性實施例可以在處理器、存儲器控制器、外部處理器件或某些其他處理或分析裝置中完成這種分析。為了確定構(gòu)成 UE錯誤的故障的位置,不可糾正錯誤必須發(fā)生在先前在存儲器存取期 間已經(jīng)記錄有可糾正錯誤的地址處。第二系統(tǒng)所需的最少必要信息是UE的數(shù)據(jù)讀取的病征和(永久性)第一錯誤或CE的位置。UE的病征通過 將ECC奇偶校驗矩陣(通常用H表示)乘以接收到的數(shù)據(jù)向量(通常 用c表示,c是列向量)獲得。這可以表示為s-Hc。 UE的病征與第一 錯誤的位置一起是第二系統(tǒng)中的軟件工具獲得第二錯誤的位置,并且如 果需要,獲得第一和第二錯誤的數(shù)量所需的全部信息??蛇x地,代替病 征或作為對病征的補充可以存儲當UE和CE發(fā)生時讀取的實際數(shù)據(jù)。 這可以允許第二系統(tǒng)上的軟件工具確定故障的性質(zhì)(例如,不管輸入值 為何,I/O通路總是輸出'T,比特)。該信息也可以用于例如收集故障 的統(tǒng)計信息。圖8是可以由本發(fā)明的示例性實施例實現(xiàn)的用于識別UE (例如第 二字節(jié)錯誤)的位置的進程流。圖8示出了用于當兩個或更多存儲器模 塊響應(yīng)于讀取請求而一致操作時識別存儲器系統(tǒng)(參見,例如圖5-圖 7和圖9)中的故障存儲器元件(例如,存儲器器件和/或存儲器模塊) 的示例進程。在方框802,當對特定存儲位置進行存取時檢測到錯誤。 在示例性實施例中,由標準ECC處理檢測到該4晉誤。如果在方框804 中確定該錯誤是CE,則執(zhí)行方框806并且執(zhí)行標準ECC CE處理以確 定CE的位置并糾正該CE。在示例性實施例中,由位于同期存儲器控制 器中的標準ECC處理執(zhí)行方框806。接下來,執(zhí)行方框808以存儲CE 的地址和位置。在示例性實施例中,該信息存儲在NVS614中,以便即 使當存儲器控制器610不可操作時也能對該信息進行存取。在又一些示 例性實施例中,將只存儲每個唯一故障的單個副本,并且針對每個唯一 的故障編譯錯誤計數(shù)(直至預(yù)定的最大計數(shù)),其可以用于驗證CE是否 為永久性錯誤。如果在方框804中確定4晉誤是UE,則執(zhí)行方框810。在方框810, 例如將UE的地址和病征比特存儲在NVS 614中。在方框812,'檢查以 確定先前是否已經(jīng)發(fā)生了 CE。如果先前還沒有發(fā)生CE,則執(zhí)行方框814以執(zhí)行標準UE處理。在示例性實施例中,這可以由同期存儲器控制器中的標準ECC處理來執(zhí)行并且可以使得存儲器系統(tǒng)操作暫停。圖8所示的處理可以在芯片獵殺情形下使用,原因是當雙重錯誤發(fā)生時,其中一 個錯誤來源于的芯片獵殺的可能性很大。另一方面,可以限定算法,以便只有當與當前的UE相同的地址處先前發(fā)生過CE時,才使用前一 CE 的位置來預(yù)測CE中的錯誤的位置。更一般地,考慮到這樣的可能性 如果在與UE相同的地址范圍中已經(jīng)發(fā)生了 CE,則使用該地址范圍中的 CE的方位或位置來預(yù)測哪個芯片是UE錯誤可能涉及到的芯片。在芯片 獵殺的第一個例子中,地址范圍等于整個芯片跨越的范圍;在第二個例 子中,地址范圍包括單個地址。存在選擇地址范圍的其他可能性以便令 本發(fā)明適用于不同的故障機制。如果先前已經(jīng)發(fā)生了 CE,則執(zhí)行方框816以確定與UE相關(guān)聯(lián)的故 障存儲器元件。在示例性實施例中,這通過使用UE的病征比特和前一 CE的位置來執(zhí)行。在示例性實施例中,這通過假設(shè)構(gòu)成UE的錯誤之一 的位置(例如,比特位置或字節(jié)位置)與CE的錯誤的位置相同來執(zhí)行。 在示例性實施例中,位置指定了存儲器模塊上的存儲器器件的方位。在 可選的示例性實施例中,利用更完善的方案來確定UE的位置,諸如下 面將描述的一個方案?;赨E的位置,識別故障存儲器元件。如果在 方框818中確定存儲器控制器610不處于診斷模式,則執(zhí)行方框820。 在方框820,報告UE的位置(例如,在識別到UE的時候報告構(gòu)成一個 或多個比特故障的一個或多個模塊)。在可選的示例性實施例中,故障 模塊位置將由具有第一永久性CE錯誤的模塊構(gòu)成,在達到CE錯誤闊 值之前,或者在包括不可糾正錯誤的未來存取期間將第二錯誤識別為第 一永久性錯誤之前,具有第二錯誤(如果在單獨的模塊上)的模塊不能 被識別。報告可以包括在存儲器模塊上、在存儲器槽(存儲器模塊安裝 到該槽中)上、在故障模塊附近等處發(fā)起一個可視指示符(例如,閃爍 的燈或LED,閃爍的燈的圖案),并且/或者經(jīng)由告警、打印輸出、電子 通知或其他口頭、可視或相關(guān)手段來報告錯誤。否則,如果^儲器控制 器610處于診斷模式中,則執(zhí)行方框822。在方框822中,糾正UE并且存儲器子系統(tǒng)繼續(xù)操作。當系統(tǒng)在診斷模式下運行時,可以應(yīng)用方框822,其中在糾正第二錯誤、在NVS 614中存儲信息并且暫停之后,系 統(tǒng)被重新啟動(不管雙重故障)并且操作用于診斷和修復(fù)目的。此外, 診斷模式可以在生產(chǎn)環(huán)境中應(yīng)用,其中實際系統(tǒng)上線時間(up-time)比 暴露于三重錯誤更重要(例如,如果錯誤計算以很低概率發(fā)生則它們可 以忽略的大型搜索系統(tǒng))。如前所述, 一旦構(gòu)成不可糾正錯誤條件的故 障的位置已知,用于實現(xiàn)所需ECC解碼器以糾正第二錯誤(即UE)的 一般技術(shù)在本領(lǐng)域是已知的。在可選的示例性實施例中,在方框808,當CE發(fā)生時從存儲器器 件讀取的數(shù)據(jù)與CE的地址一起存儲。此外,在方框810, UE的地址以 及包括病征比特和當UE發(fā)生時從存儲器器件讀取的數(shù)據(jù)中的一者或兩 者的數(shù)據(jù)被存儲在存儲設(shè)備中。在方框816中,與前一CE有關(guān)的讀取 數(shù)據(jù)和與UE有關(guān)的讀取數(shù)據(jù)用于識別故障存儲器元件。在又一個可選的示例性實施例中,方框812確定前一 CE是否發(fā)生 在與當前的UE相同的地址處。只有當CE發(fā)生在與UE相同的地址處時, 才執(zhí)行方框816 -方框822。如果在與UE相同的地址處沒有發(fā)生CE, 則執(zhí)行方框814。圖8所示處理的一部分或全部可以由ECC邏輯616實現(xiàn),該邏輯包 含針對存儲器控制器610的標準ECC處理,并具有實現(xiàn)此處所述處理的 擴展,以確定第二字節(jié)錯誤或UE的位置。此外,圖8所示的處理可以 以硬件、軟件或硬件和軟件的組合的形式實現(xiàn)。在示例性實施例中,圖8所示處理的一部分或全部由服務(wù)處理器612 實現(xiàn),以使得處理可以在存儲器控制器610不可使用時進行,并且/或者 使得處理可以在不影響ECC邏輯616中的標準ECC處理的性能的情況 下進行。例如,ECC邏輯616中的標準ECC處理可能已經(jīng)檢測到錯誤 并且將錯誤(CE和UE 二者)相關(guān)信息寫到了 NVS 614中(例如,執(zhí) 行方框802、 808和810 )。當標準ECC處理;險測到UE時,其可以4皮《奮 改為調(diào)用服務(wù)處理器612來執(zhí)行圖8中從方框812開始的處理,以確定 前一CE是否已經(jīng)發(fā)生。如果前一CE還沒有發(fā)生,則控制可以返回到標準ECC處理以執(zhí)行方框814。如果前一CE已經(jīng)發(fā)生,則服務(wù)處理器 612執(zhí)行方框816至方框822 (可能通過調(diào)用標準ECC處理中的模塊, 如果這些模塊可用的話)。前述例子只是圖8所示處理可以分離到ECC 邏輯616和服務(wù)處理器612中的其中一種方式。在又一些示例性實施例中,當完成方框816 (或810或822)之后, 在避免未來UE事件的努力中,服務(wù)處理器、處理器或存儲器控制器可 以調(diào)用諸如芯片冗余、比特通路冗余或其他可用方法的一種或多種方法 來糾正永久性錯誤和/或構(gòu)成不可糾正錯誤情況的新錯誤。 一旦采取并證 實了糾正動作,就將與^皮修復(fù)故障相關(guān)聯(lián)的已存儲信息清除并可能將其 存儲在NVM的另一區(qū)域,以便用于與后續(xù)的不可糾正錯誤處理無關(guān)的 故障跟蹤和/或其他報告目的。圖9示出了一個存儲器結(jié)構(gòu),其具有級聯(lián)的存儲器模塊和單向的總 線,該結(jié)構(gòu)可以用于實現(xiàn)本發(fā)明的示例性實施例。圖9示出的存儲器系 統(tǒng)與圖7所示的系統(tǒng)相似,只是在ECC邏輯塊906中包含了圖8所示的 全部處理,并且至少與UE恢復(fù)有關(guān)的ECC邏輯塊906的一部分(例如, 方框810及以上)位于處理器904中。圖8所示處理所用的信息存儲在 NVS 614中。圖9所示的示例性實施例包括一個存儲器系統(tǒng),其具有響應(yīng)于來自 存儲器控制器902的讀取請求而一致操作的兩個或更多存儲器模塊702。 如圖9所示的存儲器模塊702各自包括一個或多個存儲器器件。該存儲 器系統(tǒng)還包括存儲裝置(例如,非易失性存儲裝置614或位于處理器904 或ECC邏輯906中的其他存儲裝置),用于存儲與某地址處的第一故障 相關(guān)聯(lián)的故障信息。該存儲器系統(tǒng)還包括處理器904 (例如,處理器904 和/或圖6所示服務(wù)處理器612的全部或子集),用于實現(xiàn)邏輯(例如包 含于ECC邏輯塊906中的邏輯)。該邏輯實現(xiàn)識別與UE的位置相關(guān)聯(lián) 的故障存儲器元件(例如,存儲器模塊702上的存儲器器件或存儲器模 塊702 )。的解碼過程,其中第一錯誤的位置是已知的。示例性實施例可以用于確定在4個DIMM (或其他數(shù)量的DIMM)以一致方式操作服務(wù)于任意一 個線路請求的系統(tǒng)中的有缺陷的存儲器器件、DIMM (或存儲器模塊) 等。下述的碼能夠糾正任意的一字節(jié)錯誤并^^測任意的二字節(jié)錯誤。當 發(fā)現(xiàn)永久性CE時,存儲與該CE有關(guān)的信息(例如,地址、位置、所 存取的數(shù)據(jù)、病征比特),并隨后響應(yīng)于UE而使用該信息,以便定位和 可選地糾正在與該永久性CE相同的ECC字(例如,存儲器存取)中發(fā) 生而導致不可糾正錯誤情況的第二錯誤。然后結(jié)合與第一錯誤有關(guān)的信 息而使用與第二錯誤有關(guān)的信息,以定位一個或多個有缺陷的DIMM或 存儲器模塊702。下面描述的示例性實施例以硬件的方式實現(xiàn),然而為了上述任務(wù)的 目的,原理上不一定在實際的硬件中實現(xiàn)這種功能;將碼字的病征信息 與第 一錯誤位置一起存儲在非易失性存儲器中以便在修復(fù)時可以獲取 這些信息并隨后以軟件工具對其進行分析,就已經(jīng)足夠了。另一方面, 可以確定UE錯誤的位置的示例性實施例可以用于提高系統(tǒng)的實際糾錯 能力(已經(jīng)告誡過相關(guān)聯(lián)的暴露于三重錯誤下),在這種情況下例如為 了性能的原因,以硬件方式實現(xiàn)這種示例性實施例可能是優(yōu)選的。也存 在其他實現(xiàn)選擇,例如,提供找到UE位置但不糾正UE的功能性的硬 件,這也是可行的。在示例性實施例中,僅當用于檢測雙重錯誤并糾正單個錯誤的標準 ECC解碼器發(fā)送信號其檢測到UE時,才使用下面描述的算法。如果以 適當?shù)妮斎胱兞枯d入錯誤之一的位置,則正好由兩個錯誤構(gòu)成的那些UE 將被糾正。當錯誤不能被該算法糾正時,該算法也將具有UE信號(真 實信號)。用于檢測兩個錯誤并且糾正單個錯誤的Reed-Solomon碼通常利用 ECC奇偶校驗矩陣或H矩陣來代表每個ECC字必須滿足的奇偶校驗等 式。H矩陣還用于規(guī)定用于生成ECC校驗比特和病征比特的XOR邏輯。 對應(yīng)于H矩陣的行向量中的比特的ECC字的那些比特的XOR結(jié)果總是 等于0。從數(shù)學上看,如果i是代表ECC字的二元向量,則fECC矩陣 H和L的轉(zhuǎn)置的積是一個全零向量,即H . yt = Q模2。根據(jù)奇偶校驗等式,校驗比特的值可以通過XOR運算從數(shù)據(jù)比特計算得出。數(shù)據(jù)比特與相應(yīng)校驗比特一起形成存儲在存儲器中的ECC字。另一方面,如果 從存儲器中獲取ECC編碼的字,則使用奇偶校驗等式來生成代表所接收 數(shù)據(jù)的正確性的病征。例如,令p(x) = l+x + x6 + x7 + x8, 一個二元本原多項式,a為p(x)在256個元素的有限域GF (28)中的根。a的伴隨矩陣為<formula>formula see original document page 19</formula>T的某些冪將用于代表ECC的H矩陣的元素。冪丁i是非零有限域 元素ai的伴隨矩陣,0《i《254。此外,每個ai可以被表示為8比特的二元向量。構(gòu)成具有24個校驗比特(3個符號)和264個數(shù)據(jù)比特(33個符 號)總共288個比特(36個符號)的(288,264) SSC-DSD (單符號糾 錯-雙符號檢錯)碼,并且其以H矩陣的形式規(guī)定為 H = [Mi M2其中Mt為<formula>formula see original document page 19</formula>并且M2為<formula>formula see original document page 19</formula>I是一個8x8的單位矩陣,124是一個24x24的單位矩曄。注意, M2的最后兩行是的前16列的最后兩行的置換。這種性質(zhì)可以用于病征生成和病征解碼中的模塊化實現(xiàn)。在示例性實施例中,ECC字的前33個符號位置被指定為數(shù)據(jù)符號,并且后3個符號位置被指定為校驗符號。H矩陣還可以表示為H = 〔Hi,H2,…,H36〕,其中每個Hj是一個24x8的二元矩陣,并且可以被 稱為一個符號列。注意,每個符號列包括三個8x8的子矩陣,其中一 個子矩陣是單位矩陣。設(shè)計這種性質(zhì)以便在病征解碼中可以容易地識別 符號錯誤模式。假設(shè)同一符號中的所有8個比特存儲在同一存儲器陣列 芯片中。作為SSC-DSD碼,先前描述的H矩陣具有下述性質(zhì)(1 )每個符 號列的列向量是線性獨立的;(2)任意兩個符號列的列向量所跨越的空 間的維數(shù)是16;以及(3)任意三個符號列的列向量所跨越的空間的維 數(shù)是24。如果數(shù)據(jù)比特的數(shù)量k小于264,則可以通過從H矩陣的數(shù)據(jù)部分 中刪除某些二元列來縮短ECC。例如,如果lt據(jù)比特的數(shù)量為k = 256, 則可以從H矩陣中刪除Mi最后的符號列(包括8個二元列),以形成一 個(280, 256)的SSC-DSD碼。如果數(shù)據(jù)比特的數(shù)量為k = 260,則可 以從H矩陣中刪除]V^最后的符號列的比特位置3,4,7,8,以形成一個 (284, 260)的SSC-DSD碼。當接收到ECC編碼的數(shù)據(jù)見時,檢查該數(shù)據(jù)以查看病征S=H :^! 是否為一個全零向量。如果s是一個全零向量,則假設(shè)見中沒有錯誤。 否則,對s進行解碼以確定i中的錯誤是否為可糾正的,并確定錯誤的位置。在此處描述的示例性實施例中,將病征S分為3個組成部分, S!、 S2和S3,從而S- (S,S2,S3)。每個組成部分都是一個8比特的二元 向量并且可以被—見為GF (28)的元素。在下面的例子中,Ei是符號位置i處的錯誤模式,并且Li是符號i 的符號錯誤指示符。當且僅當符號i出錯時,Li的值為一。此外,[是 已編碼的ECC字,其滿足等式H ■ Yt = Q模2,并且^-Y力g(模2) 是義被錯誤向量1= (EhE2,.,.,E36)破壞的字。 一旦通過對病征進行解 碼而確定了錯誤向量g,就通過設(shè)定Y = ^ + g (模2)來恢復(fù)原始向量Y。由此,根據(jù)等式H . Yt = Q模2,病征S為<formula>formula see original document page 21</formula>此外,如果錯誤向量由位置i處的單個符號錯誤構(gòu)成,則 S = Hj mod 2例如,如果i= 13,則<formula>formula see original document page 21</formula>為 T2<formula>formula see original document page 21</formula>在這種情況下,<formula>formula see original document page 21</formula>。由此,如果S^f"2并 且S^T6Q化,則令"產(chǎn)L并且Eu-s/。所有的符號錯誤指示符可以以類似的方式生成。如果病征是非零的,并且沒有以此方式生成的任何符號 指示符啟動,則啟動UE信號。這種病征解碼的方法是一種已知的現(xiàn)有 技術(shù)。在假設(shè)標準ECC解碼器已經(jīng)使UE標記出現(xiàn)的情況下,則已知不止 一個錯誤已經(jīng)發(fā)生。下面的算法假設(shè)正好兩個錯誤已經(jīng)發(fā)生,其中第一 個錯誤具有已知的位置(例如,是一個永久性的CE)。在下面的整個例 子中,索引i標識已知的第一錯誤(即,CE)的位置,并且索引j標識 未知的第二錯誤(即,UE)的位置。無論i和j的值如何,病征的值總是如下<formula>formula see original document page 21</formula>其中Ej和Ej是錯誤的數(shù)量,并且它們(假設(shè))是非零的。比率H^/Hu,, H"/^,k和ft,k/H,,k,其中k在{1,...,33}中,是目前討論的解碼功能的關(guān)鍵。下面的表詳細地示出了這些值對于M!,它們是<formula>formula see original document page 21</formula>并且對于M2,它們是H2yH1上所關(guān)注的基本性質(zhì)是,如果r和s在{1,...,33}中,貝'J: H3,r/H2,r不同于H3,s/H2,sH2,r/H!,r不同于H2s/Hu H3,r/Hu不同于H3,s/H!,s這可以通過直接才企查前面所示的表看出。情況l。第一錯誤具有在(34,35,36)中的已知位置i。假設(shè)i-34。 則可以知道Hi,2-Hi,3-0,并且因此/^式(1,2,3)轉(zhuǎn)化為 S^Ej + H!jEj; (4)52 = H2iiEj ;and (5)53 = H3jEj. (6)如果j-35,則S產(chǎn)0,且S^Ej,并且如果j-36,則S^O且S^Ej。另一方 面,如果j在U,...,33)中,則S2和S3都不會等于零(因為H2j和H3j 都是非零的)。用S2乘以H3j/H2j得到S3。此外,對于在{1,...,33}中但 不等于j的任意其他k, H3,k/H2,k不同于H3yH2ij (這可以在這一部分的開 始觀察到)。因此,下面圖10所示的電路將發(fā)現(xiàn)j在i = 34的特定位置 (在該電路中,除了Lj-O以外,所有的輸出信號Lx等于1,并且如果 是真,則等式("==,,)電路給出0,否則給出1 )。在找到j(luò)的值之后, 必須計算錯誤數(shù)量Ei和Ej。用于計算這些值的電路參見圖11。對于i-35和i-36的情況,可以推出類似的示意圖。情況2。第一錯誤具有在{1,...,33 }中的已知位置i。S2 / H2,i = Ei + (H2>j / H2'i) Ej ; and (8) S3/H3'i-Ei + (H3j/H3,i)Ej . . (9)在這個域中的加法運算是簡單的XOR運算,并且由此加法和j減法是等 同的運算。通過從(7,8,9)三個等式里面選擇兩個(總共三種'可能性), 并且加上所選的等式,可以得到A1+2 = S, /H',i + S2 / H2,i =問j/ H,.,' + H2j/ H2,i )Ej A2+3 = S2 / H2,i + S3 / H3>i = (H2j/ H2,i + H3j / H3,i)Ej A1+3 = S/ + S3 / H3,j - (H!j/ H,,i + H3j. / H3,i)Ej(10) and (11) (12)如果j在{34,35,36}中,則上式中正好一個將為零。此外,如果j在U,...,33}中,則Aw,Aw,A+"都不可能等于零;這可以從在本討論的開始時針對校驗矩陣H得出的性質(zhì)中看出。假設(shè)j-34。則H"-Hsj-0,并且 因此八2十3=0。此外,Al+2 = Al+3 = Ej/Hu.。針對j = 35和j = %的情況的類似^析可以得到下面的表。iin{l,.,.,33}Ai+2A2+3Al+3j=34Ei/Hu0鵬.ij=35Ei/H2.i0j=360Ei/H3,iEi/H3,i注意,如果j在(1,…,33)中,并且Am-O:,則H!j/H" =H2j/H2,i'。對 此進行處理,得到氏y^」-H"/H",并且由于假設(shè)i不同于j,根據(jù)在這一部分的開始時描述的H的性質(zhì),這產(chǎn)生了矛盾。類似地,如果&+3=()則 H"處j-H"處'i,并且如果Aw-0則.IWH"-H3,i/Hw,這也產(chǎn)生類似的矛盾。 以上的討論暗示了可以使用(Aw,A^,Aw)中的一個零的存在來區(qū) 分j在(1,…,33 }中和j在{34,35,36}中的情況。此外,當j在{34,35,36} 中的情況下,上面的表直接給出找到j(luò)、 Ej和通過(1,2,3)找到Ei的技 術(shù)。仍要考慮當j在{1,...,33}中時如何解碼。通過直接檢查奇偶校驗 矩陣H,可以推出,對于集合{1,...,33}中的每個索引k,奇偶校驗矩 陣滿足H^H"-TS6問'》2。使用上式替換H3,i和H3j,形成比率A^Aw', 并且簡化得到的表達式,得出. (13)比率Hy^,i是已知的,并且上述等式的左側(cè)是已知的,由此,可經(jīng)由下 式求解H"處一為了找到錯誤位置j,必須確定j的唯一值以便滿足上述等式。唯一性來自于前面已討論的H的性質(zhì)。找到了錯誤位置j后,通過下式得到 錯誤的數(shù)量<formula>formula see original document page 24</formula>(14)圖12和圖13將Aw,A^和Aw的計算以及錯誤位置算法示出為電路 示意圖。以上演示了能夠由示例性實施例執(zhí)行的用于糾正兩個錯誤的 一組 計算,其中第一個錯誤在已知位置。出于實現(xiàn)的考慮,期望避免實現(xiàn)將 Galois域元素除以任意元素的Galois域除法電路的任務(wù)。形成Al+2和A2+3的任務(wù)可以通過針對{1,...,33}中的每個k并行地計算三個量Si/Hi,k,S"H^和S3/1^,并隨后使用輸入為i即錯誤的已知位置 的多路器來選擇正確的計算來完成。由于元素H",H^和H3,k事先已知,因此可以預(yù)先計算它們的倒數(shù)并且上述的任務(wù)可以轉(zhuǎn)換成乘法。了據(jù)務(wù).訃簋A2w/Aw 、;i棄必須滿足 OV坊',041+2 = 04〗+2 +43X^,2,,)為了找到滿足上式的j的唯一值,針對{1,...,33)中的每個k并行地形 成乘積(Hik/H^Aw,并且檢查其是否與右側(cè)相等。通過使用具有硬線(hard- wired)輸入和選擇器i的多路器獲得因數(shù)(H,他,i)。為了計算(18)中的錯誤數(shù)量,仍需要進行一次Galois域求逆(在 此求逆的計算之后,結(jié)果可被共享以計算Ei和Ej)。在示例性實施例中, 計算分母H"H" + H"H",并隨后經(jīng)由具有256個8比特條目的存儲器對 該結(jié)果求逆。示例性實施例包括具有互連到存儲器系統(tǒng)的處理器和I/O單元(例 如,請求器)的計算系統(tǒng),其中存儲器系統(tǒng)包含存儲器控制器和存儲器 器件。在示例性實施例中,存儲器系統(tǒng)包括接口連接到一組集線器器件 (也稱為"集線器芯片")的處理器或存儲器控制器。集線器器件連接 或接口連接到存儲器器件。在示例性實施例中,計算機存儲^系統(tǒng)包括 具有多個用于存儲數(shù)據(jù)和指令的物理存儲器陣列。這些存儲器器件可以 直接連接到存儲器控制器和/或通過集線器器件間接耦合到存儲器控制器。在示例性實施例中,基于集線器的計算機存儲器系統(tǒng)具有附著到通 信集線器器件的存儲器器件,通信集線器器件連接到存儲器控制設(shè)備(例如,存儲器控制器)。同樣在示例性實施例中,集線器器件位于存 儲器模塊(例如,單個襯底或物理器件)上,其中存儲器模塊包括兩個 或更多經(jīng)由存儲器總線彼此級聯(lián)互連(并且可能互連到位于另一存儲器 模塊上的另一集線器器件)的集線器器件。集線器器件可以通過多點或點對點總線結(jié)構(gòu)連接到存儲器控制器(其還可以包括到一個或多個額外集線器器件的級聯(lián)連接)。存儲器存 取請求由存儲器控制器通過總線結(jié)構(gòu)(例如,存儲器總線)發(fā)送給選定的集線器。響應(yīng)于接收到存儲器存取請求,集線器器件將該存儲器存取 請求轉(zhuǎn)換成控制存儲器器件存儲來自于集線器器件的寫數(shù)據(jù)或者控制 存儲器器件為集線器器件提供讀數(shù)據(jù)。讀數(shù)據(jù)被編碼為一個或多個通信 分組并通過存儲器總線發(fā)送給存儲器控制器。在可選的示例性實施例中,存儲器控制器可以與一個或多個處理器 芯片和支持邏輯集成在一起,封裝在分立的芯片(通常稱為"北橋,,芯 片)中,包括在具有一個或多個處理器和/或支持邏輯的多芯片載體中, 或者以與應(yīng)用/環(huán)境最佳匹配的各種可選形式來封裝。這些解決方案中的 任意一種可以使用或可以不使用一個或多個窄/高速鏈路以連接到一個 或多個集線器芯片和/或存儲器器件。存儲器模塊可以通過包括DIMM、單列直插存儲器模塊(SIMM) 和/或其他存儲器模塊或卡結(jié)構(gòu)的各種技術(shù)來實現(xiàn)。 一般而言,DIMM指 一種小型電路板,其主要包括在一側(cè)或兩側(cè)上的隨機存取存儲器(RAM) 集成電路或芯片,板的兩側(cè)上具有信號和/或功率管腳。其可以與SIMM 對比,SIMM是一種小型電路板或襯底,其主要包括在一側(cè)或兩側(cè)上的 RAM集成電路或芯片,并且沿著一條長邊布置單行管腳。在示例性實 施例中圖1示出的DIMM包括168個管腳,然而后來的DIMM構(gòu)造為 管腳數(shù)量從100個管腳到超過300個管腳。在此處描述的示例性害施例 中,存儲器模塊可以包括兩個或更多的集線器器件。在示例性實施例中,存儲器總線使用到存儲器;f莫塊上的集線器器件的多點連接和/或使用點對點連接來構(gòu)成。控制器接口 (或存儲器總線) 的下行部分,稱為下行總線,可以包括被發(fā)送到存儲器模塊上的集線器 器件的命令、地址、數(shù)據(jù)和其他操作、初始化或狀態(tài)信息。每個集線器 器件可以簡單地經(jīng)由旁路電路將信息轉(zhuǎn)發(fā)給后面的集線器器件;接收、 解析信息,并且如果信息被確定為要傳送給下行集線器器件則對該信息進行重驅(qū)動;在不首先對信息進行解析以確定其計劃接收方的情況下對某些或全部信息進行重驅(qū)動;或者執(zhí)行這些選項的子集或組合。存儲器總線的上行部分,稱為上行總線,返回所請求的讀取數(shù)據(jù)和 /或錯誤、狀態(tài)或其他操作信息,并且這些信息可以經(jīng)由旁路電路轉(zhuǎn)發(fā)給后面的集線器器件;可以被接收、解析并且如果這些信息被確定為要傳送給處理器聯(lián)合體中的上行集線器器件和/或存儲器控制器則對該信息進行重驅(qū)動;在不首先對信息進行解析以確定其計劃接收方的情況下這 些信息可以纟皮部分或全部地重驅(qū)動;或者執(zhí)行這些選項的子集或組合。在可選的示例性實施例中,點對點總線包括切換或旁路機制,其使 得總線信息在下行通信(從存儲器控制器傳遞到存儲器模塊上的集線器 器件的通信)期間被導向兩個或更多可能的集線器器件中的一個集線器 器件,以及通常借助一個或多個上行集錢器器件對上行信息(從存儲器 模塊上的集線器器件到存儲器控制器的通信)進行引導。其他的實施例 包括使用連續(xù)性模塊,諸如在現(xiàn)有技術(shù)中已知的那些模塊,在級聯(lián)互連 的存儲器系統(tǒng)中連續(xù)性模塊例如可以被放置在存儲器控制器與第 一個 組裝的集線器器件(即,與一個或多個存儲器器件進行通信的集線器器 件)之間,以便存儲器控制器與該第一個組裝的集線器器件之間的任意 中間集線器器件位置包括即使當 一個或多個這種中間集線器器件位置 不包括集線器器件時也能夠接收在存儲器控制器與該第一個組裝的集 線器器件之間傳遞的信息的裝置。連續(xù)性模塊可以安裝在符合任意總線 約束的任意模塊位置,包括第一位置(最靠近主存儲器控制器)、最后的位置(在任意包括的終端之前)或任意中間位置。連續(xù)性才臭塊的使用 在多模塊級聯(lián)互連總線結(jié)構(gòu)中尤其有益,在這種結(jié)構(gòu)中,存儲器模塊上的中間集線器器件被移除并被連續(xù)性模塊替換,以便系統(tǒng)在移除該中間集線器器件后能夠繼續(xù)操作。在更常見的實施例中,連續(xù)性模塊將包括 用以將所有需要的信號從輸入傳送到相應(yīng)輸出的互連布線,或者通過轉(zhuǎn) 發(fā)器設(shè)備被重驅(qū)動。連續(xù)性模塊還可以包括非易失性存儲設(shè)備(諸如EEPROM),但是將不包括主存儲器存儲設(shè)備。在示例性實施例中,存儲器系統(tǒng)包括經(jīng)由級聯(lián)互連存儲器總線連接 到存儲器控制器的一個或多個存儲器模塊上的一個或多個集線器器件, 然而也可以實現(xiàn)其他的存儲器結(jié)構(gòu),諸如點對點總線、多點存儲器總線 或共享總線?;谒褂玫男帕罘椒?,目標操作頻率、空間、功率、成 本和其他約束,可以考慮各種可選的總線結(jié)構(gòu)。與具有分支信號線、切 換設(shè)備或分支線的總線結(jié)構(gòu)相比,由于降低了信號衰減,點對點總線在 生產(chǎn)為具有電互連的系統(tǒng)中可以提供優(yōu)化性能。然而,當在需要與多個 設(shè)備或子系統(tǒng)進行通信的系統(tǒng)中使用時,該方法常常會導致顯著增加的 組件成本和提高的系統(tǒng)功率,并且可能會由于需要中間緩沖和/或重驅(qū)動 而降低可能的存儲器密度。盡管在附圖中沒有示出,但是存儲器模塊或集線器器件也可以包括單獨的總線,諸如"存在檢測"總線、12C總線和/或SM總線,其用于 包括確定集線器器件和/或存儲器模塊屬性(通常在加電之后)、將故障 信息或狀態(tài)信息報告給系統(tǒng)、在加電之后或在正常操作期間配置集線器 器件和/或存儲器子系統(tǒng)或其他目的的一個或多個目的。依賴于總線特 征,該總線還可以4是供集線器器件和/或存儲器^t塊借以將才喿作的有效完 成或?qū)υ谥鞔鎯ζ骺刂破髡埱蟮膱?zhí)行期間發(fā)生故障的識別報告給存儲 器控制器的裝置。通過增加切換設(shè)備可以獲得與從點對點總線結(jié)構(gòu)獲得的這些性能 類似的性能。這些和其他的解決方案在保留點對點總線的很多特征的同 時,以較低功率提供增大的存儲器封裝密度。多點總線提供可選的解決 方案,雖然常常限于較低的操作頻率,但是在成本/性能這一點上可能對 很多應(yīng)用來說是有利的。光總線解決方案允許顯著提高點對:泉或多點應(yīng) 用中的頻率和帶寬潛力,但是可能招致成本和空間影響。在此使用的術(shù)語"緩沖器"或"緩沖器器件"指臨時存儲單元(如在計算機中),尤其指以一種速率接受信息并以另一種速率傳遞信息的 臨時存儲單元。在示例性實施例中,緩沖器是提供兩個信號之間兼容性 (例如,改變電壓電平或電流容量)的電子器件。術(shù)語"集線器"有時 可以與術(shù)語"緩沖器"互換使用。集線器是一種包含連接到若干其他器 件的多個端口的器件。端口是接口的一部分,提供適合的1/0功能性(例 如,端口可以用于通過點對點鏈路之一或總線發(fā)送和接收數(shù)據(jù)、地址和控制信息)。集線器可以是將若干系統(tǒng)、子系統(tǒng)或網(wǎng)絡(luò)連接在一起的中 央器件。無源集線器可以簡單地轉(zhuǎn)發(fā)消息,而有源集線器或轉(zhuǎn)發(fā)器放大和刷新(refresh)數(shù)據(jù)流,否則數(shù)據(jù)流將隨距離發(fā)生惡化。在此使用的 術(shù)語集線器器件指包括用于執(zhí)行存儲器功能的邏輯(硬件和/或軟件)的 集線器芯片。同樣,在此使用的術(shù)語"總線,,指連接計算機中的兩個或更多功能 單元的多組導線之一 (例如,布線和印刷電路板跡線或集成電路中的連 接)。數(shù)據(jù)總線、地址總線和控制信號,不管其名稱如何,構(gòu)成一條單 獨的總線,因為如果沒有其他的總線每個總線常常是無用的??偩€可以 包括多根信號線,每根信號線具有兩個或更多連接點,其形成電連接兩 個或更多收發(fā)器、發(fā)射器和/或接收器的主要傳輸路徑。術(shù)語"總線"與 術(shù)語"通道"形成對比,后者常常用于描述與存儲器系統(tǒng)中存儲器控制 器有關(guān)的"端口"功能,并且后者可以包括一條或多條總線或者一組或 多組總線。在此使用的術(shù)語"通道"指存儲器控制器上的端口。注意, 該術(shù)語通常結(jié)合I/O或其他外圍設(shè)備一起使用,然而術(shù)語通道有時被用 來描述處理器或存儲器控制器與 一個或多個存儲器子系統(tǒng)之一之間的 接口。此外,在此使用的術(shù)語"菊花鏈"指一種總線布線結(jié)構(gòu),在這種結(jié) 構(gòu)中例如器件A連線到器件B,器件B連線到器件C等。最后的器件典 型地連線到電阻或端子。所有的器件可以接收相同的信號,或者與簡單 總線相比,每個器件可以在繼續(xù)傳遞一個或多個信號之'前對其進行修 改。在此使用的"級聯(lián),,或"級聯(lián)互連"指一連串級或單元,或者一組 互連的聯(lián)網(wǎng)器件,典型的是集線器,其中集線器操作為邏輯轉(zhuǎn)發(fā)器,還允許合并數(shù)據(jù)以集中到現(xiàn)有數(shù)據(jù)流中。同樣在此使用的術(shù)語"點對點,, 總線和/或鏈路指各自可以包括一個或多個端子的多個信號線或一個信 號線。在點對點總線和/或鏈路中,每個信號線具有兩個收發(fā)器連接點, 每個收發(fā)器連接點耦合到發(fā)射器電路、接收器電路或收發(fā)器電路。信號 線指一個或多個電導線或光載體,通常配置為單個載體或者以雙絞、平 行或同心排列配置為兩個或更多載體,用于傳輸至少一個邏輯信號。存儲器器件通常定義為集成電路,其主要包括存儲器(存儲)單元,諸如DRAM (動態(tài)隨機存取存儲器)、SRAM (靜態(tài)隨機存取存儲器)、 FeRAM (鐵電RAM)、 MRAM (磁隨機存取存儲器)、閃速存儲器和其 他形式的隨機存取和相關(guān)存儲器,用于以電、光、磁、生物或其他的形 式存儲信息。動態(tài)存儲器器件類型可以包括異步存儲器器件,諸如FPM DRAM (快速頁模式動態(tài)隨機存取存儲器)、EDO (擴展數(shù)據(jù)輸出) DRAM、 BEDO (突發(fā)EDO ) DRAM、 SDR (單數(shù)據(jù)速率)同步DRAM、 DDR(雙數(shù)據(jù)速率)同步DRAM,或任意期望的后繼器件,諸如DDR2、 DDR3、 DDR4,以及相關(guān)4支術(shù),諸如圖形RAM、枧頻RAM、 LP RAM (低功率DRAM),其通?;谠谙嚓P(guān)DRAM上可見的基本功能、特征 和/或接口。存儲器器件可以以芯片(管芯)和/或各種類型和配置的單或多芯片 封裝的形式使用。在多芯片封裝中,存儲器器件可以與諸如其他存儲器 器件、邏輯芯片、模擬器件和可編程器件的其他器件類型一起封裝,并 且還可以包括諸如電阻、電容和電導之類的無源器件。這些封裝可以包 括集成散熱器或其他制冷增強,其還可以附著到中間載體或其他附近的 載體或散熱系統(tǒng)?;诩夹g(shù)、功率、空間、成本和其他權(quán)衡,模塊支持器件(例如, 緩沖器、集線器、集線器邏輯芯片、寄存器、PLL、 DLL、非易失性存 儲器等)可以包括多個單獨的芯片和/或組件,可以被組合為一個或多個 襯底上的多個單獨的芯片,可以被組合為單個封裝或者甚至被,集成到單 個器件上。此外,基于技術(shù)、功率、空間、成本和其他權(quán)衡,i昏如電阻、 電容之類的各種無源器件中的 一個或多個可以集成到支持芯片封裝中,或者集成到襯底、電路板或未加工卡本身中。這些封裝可以包括集成散 熱器或其他制冷增強,其還可以附著到中間載體或其他附近的載體或散 熱系統(tǒng)。存儲器器件、集線器、緩沖器、寄存器、時鐘器件、無源和其他存 儲器支持器件和/或組件可以經(jīng)由包括焊接互連、導電粘合、套接結(jié)構(gòu)、 壓力接觸和其他方法的各種方法附著到存儲器子系統(tǒng)和/或集線器器件, 這些方法使得經(jīng)由電、光或可選手段實現(xiàn)兩個或更多器件之間的通信。一個或多個存儲器模塊(或存儲器子系統(tǒng))和/或集線器器件可以經(jīng) 由諸如焊接互連、連接器、壓力接觸、導電粘合、光互連和其他通信及 功率傳遞方法之類的一種或多種方法連接到存儲器系統(tǒng)、處理器聯(lián)合 體、計算機系統(tǒng)或其他系統(tǒng)環(huán)境。連接器系統(tǒng)可以包括配對連接器(公 /母)、在與公或母連接器配對的一個導體上的導電接觸和/或管腳、光連接、壓力接觸(通常與保持機構(gòu)結(jié)合使用)和/或各種其他通信及功率傳 遞方法中的一種或多種?;谥T如易于升級/修復(fù)、可用空間/體積、熱 傳導、組件尺寸和形狀以及其他相關(guān)的物理、電、光、可視/物理存取等 之類的應(yīng)用要求,互連可以沿著存儲器組合裝置的 一條或多條邊緣布 置,和/或距離存儲器子系統(tǒng)的邊緣一段距離放置。在此使用的術(shù)語存儲器子系統(tǒng)意指但不限于 一個或多個存儲器器 件; 一個或多個存儲器器件和相關(guān)聯(lián)的接口和/或定時/控制電路;和/或 一個或多個與存儲器緩沖器、集線器器件和/或開關(guān)結(jié)合的存儲器器件。 術(shù)語存儲器子系統(tǒng)還可以指一個或多個存儲器器件,加上任意相關(guān)聯(lián)的 接口和/或定時/控制電路和/或存儲器緩沖器、集線器器件或開關(guān),它們 被組裝到襯底、卡、模塊或相關(guān)的組合裝置中,這些襯底、卡、模塊或 相關(guān)的組合裝置還可以包括將存儲器子系統(tǒng)與其他電路電附接的連接 器或類似裝置。在此描述的存儲器模塊還可以指存儲器子系統(tǒng),因為它 們都包括一個或多個存儲器器件和集線器器件??梢员镜氐伛v留在存儲器子系統(tǒng)和/或集線器器件中的其他功能包 括寫和/或讀緩沖器、 一級或多級存儲器高速緩存、本地預(yù)取邏輯、數(shù)據(jù) 加密/解密、壓縮/解壓縮、協(xié)議轉(zhuǎn)換、區(qū)分命令優(yōu)先級邏輯、電壓和/或電平轉(zhuǎn)換、檢錯和/或糾錯電路、數(shù)據(jù)擦洗、本地功率管理電路和/或報 告、操作和/或狀態(tài)寄存器、初始化電路、性能監(jiān)控和/或控制、 一個或 多個協(xié)處理器、搜索引擎和其他可以預(yù)先駐留在其他存儲器子系統(tǒng)中的 功能。通過將一項功能本地地部署到存儲器子系統(tǒng),可以獲得與特定功 能相關(guān)的附加性能,而往往又可以同時利用該子系統(tǒng)中的未使用電路。存儲器子系統(tǒng)支持器件可以直接附著到存儲器器件所附著到的同 一襯底或組合裝置上,或者可以安裝到使用各種塑料、硅、陶瓷或其他 材料中的一種或多種制造的單獨插板或村底,該插板或襯底包括將支持 器件功能上互連到存儲器器件和/或存儲器或計算機系統(tǒng)的其他元件的 電、光或其他通信路徑。沿著總線、通道、鏈路或應(yīng)用到互連方法的其他命名傳統(tǒng)的信息傳 送(例如,分組)可以使用多種信令選項中的一種或多種來完成。這些 信令選項可以包括諸如單端、差分、光或其他途徑之類的方法,電信令 還包括諸如使用單級或多級電壓或電流途徑的方法。信號還可以使用諸 如時間或頻率、不歸零、相移4建控、幅度調(diào)制和其他方式之類的方法進行調(diào)制。電壓電平有望繼續(xù)降低,即1.5V、 1.2V、 IV,并且較低的信號 電壓有望與對相關(guān)聯(lián)的集成電路本身進行操作所需的降低的電源電壓 相一致(但通常與之獨立)。在存儲器子系統(tǒng)和存儲器系統(tǒng)自身中可以使用 一種或多種計時方 法,包括全局計時、源同步計時、編碼計時或這些和其他方法的組合。 時鐘信令可以與信號線本身的信令相同,或者可以使用所列出的方法或 更有益于計劃時鐘頻率和各種子系統(tǒng)內(nèi)計劃的時鐘數(shù)目的可選方法中 的 一種方法。單個時鐘可以與去往和來自存儲器的所有通信以及存儲器 子系統(tǒng)內(nèi)的所有定時功能相關(guān)聯(lián),或者使用諸如較早描述的那些方法之 類的一種或多種方法提供多個時鐘。當使用多個時鐘時,存儲器子系統(tǒng) 內(nèi)的功能可以與唯一地提供給子系統(tǒng)的時鐘相關(guān)聯(lián),或者可^基于從與 傳送到存儲器子系統(tǒng)和從存儲器子系統(tǒng)傳送的信息有關(guān)的時鐘得出的 時鐘(諸如與編碼時鐘相關(guān)聯(lián)的時鐘)。可選地,傳送給存儲器子系統(tǒng) 的信息可以使用一個唯一的時鐘,并且從一個(或多個)存儲器子系統(tǒng)提供的信息使用 一個單獨的時鐘。時鐘本身可以以與通信或功能頻率相 同的頻率或其倍數(shù)頻率運行,并且可以是邊緣校準、中心校準或者相對 于數(shù)據(jù)、命令或地址信息處于可選定時位置。
      傳遞給存儲器子系統(tǒng)的信息通常將包括地址、命令和數(shù)據(jù),以及通 常與請求或報告狀態(tài)情況或錯誤情況、重置存儲器、完成存儲器或邏輯 初始化以及其他功能、配置或相關(guān)信息相關(guān)聯(lián)的其他信號。從存儲器子 系統(tǒng)傳遞出來的信息可以包括傳遞給存儲器子系統(tǒng)的任意或全部信息, 然而通常不包括地址和命令信息。該信息可以通過使用可能與普通存儲 器器件接口規(guī)范一致(通常本質(zhì)上是平行的)的通信方法來傳送,該信 息可以編碼為"分組,,結(jié)構(gòu),其可以與未來的存儲器接口一致,或者簡
      單地被開發(fā)為增大通信帶寬,以及/或者通過將所接收信息轉(zhuǎn)換為接收器
      件所需格式而使子系統(tǒng)能夠獨立于存儲器技術(shù)而操作。
      基于可用接口總線、所期望的初始化速度、可用空間、成本/復(fù)雜度 目標、子系統(tǒng)互連結(jié)構(gòu)、可以被用于這種或其他目的的可選處理器(諸 如服務(wù)處理器)的使用等等,可以經(jīng)由一種或多種方法完成對存儲器子 系統(tǒng)的初始化。在一種實施例中,可以使用高速總線來完成對存儲器子
      系統(tǒng)的初始化,通常通過下述步驟完成首先完成訓練過程以建立可靠 的通信,然后對與各種組件相關(guān)聯(lián)的屬性或"存在檢測"數(shù)據(jù)和/或與子 系統(tǒng)相關(guān)聯(lián)的特征進行詢問,并且最后對具有與系統(tǒng)內(nèi)的計劃操作相關(guān) 聯(lián)的信息的適當器件進行編程。在級聯(lián)系統(tǒng)中,通常將建立與第一存儲 器子系統(tǒng)之間的通信,然后是后續(xù)(下行)的子系統(tǒng),其次序與這些子 系統(tǒng)沿著級聯(lián)互連總線的位置一致。
      第二種初始化方法將包括這樣一種方法,其中高速總線在初始化過 程中以一種頻率進行操作,然后在正常操作期間以第二種(并且通常更 高的)頻率進行操作。在這樣的實施例中,由于與較低頻率操作相關(guān)聯(lián) 的增大的定時裕度,有可能在完成對每個子系統(tǒng)的詢問和/或』扁程之前, 發(fā)起與級聯(lián)互連總線上的所有存儲器子系統(tǒng)的通信。
      第三種初始化方法可以包括在增大與每個地址、命令和/或數(shù)據(jù)傳送 相關(guān)聯(lián)的周期數(shù)目的同時,以正常操作頻率操作級聯(lián)互連總線。在一個實施例中,包含全部或部分地址、命令和/或數(shù)據(jù)信息的分組在正常#:作 期間可以在一個時鐘周期內(nèi)傳送,但是在初始化期間同樣數(shù)量和/或類型 的信息可能在兩個、三個或更多的周期上傳送。該初始化過程因此將4吏 用"慢,,命令而不是"正常,,命令的形式,并且這種模式可以由每個子 系統(tǒng)和存儲器控制器借助包含在這些子系統(tǒng)中每個子系統(tǒng)中的POR (加 電復(fù)位)邏輯在加電和/或重啟之后的某個時間點自動地進入。
      第四種初始化方法可以使用不同的總線,諸如存在檢測總線(諸如
      在同此共同轉(zhuǎn)讓的授予Dell等人的美國專利No.5,513,135中定義的總 線)、I2C總線(諸如在公開的JEDEC標準中定義的總線,如在出版物 21-C修訂7R8中的168管腳DIMM族)和/或SMBUS,其已經(jīng)在4吏用 這些存儲器模塊的計算機系統(tǒng)中廣泛使用和記載。該總線可以以菊花鏈 /級聯(lián)互連、多點或可選結(jié)構(gòu)的形式連接到存儲器系統(tǒng)內(nèi)的一個或多個模 塊,從而提供詢問存儲器子系統(tǒng)的獨立手段,將一個或多個存儲器子系 統(tǒng)中的每個存儲器子系統(tǒng)編程為在整體系統(tǒng)環(huán)境中操作,并基于在系統(tǒng) 環(huán)境中所期望或檢測到的性能、熱量、配置或其他變化在正常系統(tǒng)操作 期間在其他時候調(diào)整操作特征。
      用諸如在上面第四實施例中描述的單獨總線,也能帶來提供獨立手段的 好處,獨立手段用于初始化和初始化以外的4吏用,諸如在同此共同轉(zhuǎn)讓 的授予Dell等人的美國專利No.6,381,685中描述的那些使用,包括隨意 地改變子系統(tǒng)操作特征,以及用于對諸如使用率、溫度數(shù)據(jù)、故障信息 之類的操作子系統(tǒng)信息進行報告和響應(yīng)或用于其他目的。
      隨著光刻技術(shù)方面的進步、更好的工藝控制、低阻抗材料的使用、 更大的現(xiàn)場尺寸以及其他半導體工藝的進步,更大的器件電路密度(通 常與更大的管芯尺寸結(jié)合)將幫助實現(xiàn)在集成器件上的更大的功能以及 對先前在單獨器件上實現(xiàn)的功能進行集成。這種集成將用于 《一善計劃功 能的整體性能,以及促進更大的存儲密度、更小的功率、更小的空間要 求、更低的成本和其他制造商和消費者利益。這種集成是一種自然的演 化過程,并且可以導致需要對與系統(tǒng)相關(guān)聯(lián)的基本構(gòu)建模塊的結(jié)構(gòu)改變。
      使用 一種或多種故障檢測和/或故障糾正方法,可以在很高程度上保 證通信路徑、數(shù)據(jù)存儲內(nèi)容和與存儲器系統(tǒng)或子系統(tǒng)的每個元件相關(guān)聯(lián)
      的所有功能操作的完整性。其他的可靠性增強可以包括操作重試(以 克服諸如與技術(shù)或可選方法。
      與提高的性能需求一致,在簡單如點對點鏈路或復(fù)雜如多點結(jié)構(gòu)的 總線上使用總線終端變得越來越普遍。可以確定和/或考慮很多種終止方 法,并且這些方法包括使用諸如電阻、電容、電導或它們的任意組合之 類的器件,將這些器件連接在信號線與電源電壓或地、端接電壓或另一 信號之間。終端器件可以是無源或有源終端結(jié)構(gòu)的一部分,并且可以存
      在于沿一個或多個信號線的一個或多個位置,以及/或者作為發(fā)射器件和 /或接收器件的一部分。終端可以選擇為與傳輸線阻抗匹配,或者經(jīng)由可 選的方法選擇以使得在成本、空間、功率和其他約束范圍內(nèi)可用頻率、 操作裕度和相關(guān)屬性最大化。
      示例性實施例的技術(shù)效果和益處包括識別存儲器系統(tǒng)中故障存儲 器模塊的能力。這可以使得降低材料成本,因為當只有一個存儲器模塊 需要修復(fù)時不必替換系統(tǒng)中的所有存儲器模塊。此外,這應(yīng)當能夠使存 儲器系統(tǒng)的停用時間最小化并且提高解決故障的可能性。
      如上所述,本發(fā)明的實施例可以具體化為計算機實現(xiàn)的過程和用于 實踐這些過程的裝置的形式。本發(fā)明的實施例也可以具體化為包含指令 的計算機程序代碼的形式,其中計算機程序代碼包含在有形介質(zhì)中,諸 如軟盤、CD-ROM、硬盤驅(qū)動器或任意其他的計算機可讀存儲介質(zhì),其 中,當將計算機程序代碼載入計算機并由計算機執(zhí)行時,計算機成為用 于實踐本發(fā)明的裝置。本發(fā)明還可以具體化為計算機程序代碼的形式, 例如,無論是存儲在存儲介質(zhì)中、載入到計算機中和/或由計算機執(zhí)行, 或者通過某些傳輸介質(zhì)發(fā)送,諸如通過電線或電纜、通過光纖或者經(jīng)由 電磁輻射等發(fā)送,其中,當計算機程序代碼載入計算機并由計算機執(zhí)行時,計算機成為用于實踐本發(fā)明的裝置。當在通用《鼓處理器上實現(xiàn)時, 計算機程序代碼段配置該微處理器以創(chuàng)建特定邏輯電路。
      盡管已經(jīng)參考示例性實施例描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將 能夠理解,在不偏離本發(fā)明的范圍的情況下,可以進行各種改變或?qū)ζ?元件進行等效替換。此外,在偏離本發(fā)明的實質(zhì)范圍的情況下,可以對 本發(fā)明的教導進行很多修改以適應(yīng)特定情形或材料。因此,意圖是本發(fā) 明不限于作為實現(xiàn)本發(fā)明所設(shè)想的最佳模式而公開的特定實施例,而是 本發(fā)明將包括落入所附權(quán)利要求的范圍內(nèi)的所有實施例。而且,術(shù)語"第 一"、"第二,,等的使用不代表任何次序或重要性,而是用術(shù)語"第一"、
      "第二"等來區(qū)分一種要素與另一種要素。
      權(quán)利要求
      1.一種用于當兩個或更多存儲器模塊響應(yīng)于讀取請求而一致操作時識別存儲器系統(tǒng)中的故障存儲器元件的方法,所述方法包括接收與不可糾正錯誤(UE)相關(guān)聯(lián)的病征比特和地址;以及響應(yīng)于前一可糾正錯誤(CE)已經(jīng)發(fā)生獲取所述前一CE的位置,所述前一CE的位置指定了存儲器器件位置;確定所述UE的位置,其中使用所述前一CE的位置以及所述UE的病征比特作為所述確定的輸入,所述UE的位置指定了存儲器器件位置;以及識別與所述UE的位置相關(guān)聯(lián)的故障存儲器元件。
      2. 根據(jù)權(quán)利要求1所述的方法,其中所述故障存儲器元件是存儲器 器件。
      3. 根據(jù)權(quán)利要求1所述的方法,其中所述故障存儲器元件是存儲器 模塊。
      4. 根據(jù)權(quán)利要求1所述的方法,還包括糾正在所述UE的位置處讀 取的數(shù)據(jù)。
      5. 根據(jù)權(quán)利要求1所述的方法,其中所述接收、獲取、確定和識別 中的一個或多個步驟由服務(wù)處理器執(zhí)行。
      6. 根據(jù)權(quán)利要求1所述的方法,其中所述前一 CE的位置從非易失 性存儲裝置中獲取。
      7. 根據(jù)權(quán)利要求1所述的方法,還包括執(zhí)行激活標識所述故障存儲 器元件的可視指示符和生成指示所述故障存儲器元件的報告中的一個 或多個步驟。
      8. 根據(jù)權(quán)利要求1所述的方法,還包括確定所述CE和所述UE中 的一者或兩者的數(shù)量。
      9. 根據(jù)權(quán)利要求1所述的方法,其中響應(yīng)于所述前一CE已經(jīng)發(fā)生 在與所述UE的地址范圍一樣的地址范圍內(nèi)執(zhí)行所述獲取、確定和識別,所述地址范圍包括至少一個地址。
      10. —種用于識別兩個或更多存儲器模塊響應(yīng)于讀取請求而一致操作的存儲器系統(tǒng)中的故障存儲器元件的方法,所述方法包括接收與不可糾正錯誤(l正)相關(guān)聯(lián)的地址以及與所述UE相關(guān)的數(shù)據(jù),所述數(shù)據(jù)包括一個或多個病征比特和讀取數(shù)據(jù);以及 響應(yīng)于前一可糾正^"誤(CE)已經(jīng)發(fā)生 獲取與所述前一 CE相關(guān)的讀取數(shù)據(jù);識別故障存儲器元件,其中使用與所述前一CE相關(guān)的讀取數(shù)據(jù) 和與所述UE相關(guān)的數(shù)據(jù)作為所述識別的輸入。
      11. 根據(jù)權(quán)利要求IO所述的方法,其中所述故障存儲器元件是存儲 器器件和存儲器模塊中的 一種或多種。
      12. 根據(jù)權(quán)利要求IO所述的方法,還包括糾正在所述UE的位置處 讀取的數(shù)據(jù)。
      13. 根據(jù)權(quán)利要求IO所述的方法,其中所述接收、獲取、確定和識 別中的一個或多個步驟由服務(wù)處理器執(zhí)行。
      14. 根據(jù)權(quán)利要求IO所述的方法,其中所述前一CE的位置從非易 失性存儲裝置中獲取。
      15. 根據(jù)權(quán)利要求IO所述的方法,還包括執(zhí)行激活標識所述故障存 儲器元件的可視指示符和生成指示所述故障存儲器元件的報告中的一 個或多個步驟。
      16. 根據(jù)權(quán)利要求IO所述的方法,其中響應(yīng)于所述前一CE已經(jīng)發(fā) 生在與所述UE的地址范圍一樣的地址范圍內(nèi)執(zhí)行所述獲取和識別,所 述地址范圍包括至少一個地址。
      17. —種用于識別故障存儲器元件的存儲器系統(tǒng),所述存儲器系統(tǒng) 包括兩個或更多的響應(yīng)于讀取請求而一致操作的存儲器模塊,每個存儲 器模塊包括一個或多個存儲器器件;以及用于存儲與某地址處的第一故障相關(guān)聯(lián)的故障信息的存儲裝置;以及處理器,包括用于實現(xiàn)下述操作的邏輯接收與不可糾正錯誤(UE)相關(guān)聯(lián)的病征比特和地址;以及 響應(yīng)于前一可糾正^"i吳(CE)已經(jīng)發(fā)生獲取所述前一 CE的位置,所述前一 CE的位置指定了存儲器 器件位置;確定所述UE的位置,其中使用所述前一 CE的位置以及所述 UE的病征比特作為所述確定的輸入,所述位置指定了存儲器器件 位置;以及識別與所述UE的位置相關(guān)聯(lián)的故障存儲器元件。
      18. 根據(jù)權(quán)利要求17所述的存儲器系統(tǒng),其中響應(yīng)于所述前一 CE 已經(jīng)發(fā)生在與所述UE的地址范圍一樣的地址范圍內(nèi)執(zhí)行所述獲取、確 定和識別,所述地址范圍包括至少一個地址。
      19. 根據(jù)權(quán)利要求17所述的存儲器系統(tǒng),其中所述邏輯以硬件和軟 件中的一種或多種方式來實現(xiàn)。
      20. 根據(jù)權(quán)利要求17所述的存儲器系統(tǒng),其中所述邏輯還支持糾正 在所述UE的位置處讀取的數(shù)據(jù)。
      全文摘要
      本發(fā)明提供了用于識別故障存儲器元件的系統(tǒng)和方法,包括一種用于當兩個或更多模塊響應(yīng)于讀取請求而一致操作時識別存儲器系統(tǒng)中的故障存儲器元件的方法。該方法包括接收與不可糾正錯誤(UE)相關(guān)聯(lián)的病征(syndrome)比特和地址。響應(yīng)于前一可糾正錯誤(CE)已經(jīng)發(fā)生,獲取該前一CE的位置。CE的位置指定了CE的存儲器器件位置。使用該前一CE的位置以及UE的病征比特作為輸入來確定UE的位置。UE的位置指定了存儲器器件位置。識別與UE的位置相關(guān)聯(lián)的故障存儲器元件。
      文檔編號G11C29/44GK101217060SQ20081000220
      公開日2008年7月9日 申請日期2008年1月2日 優(yōu)先權(quán)日2007年1月2日
      發(fā)明者L·A·拉斯特拉斯-蒙塔諾, T·J·德爾 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1