TW201706842A - 記憶體模組錯誤追蹤技術 - Google Patents
記憶體模組錯誤追蹤技術 Download PDFInfo
- Publication number
- TW201706842A TW201706842A TW105110902A TW105110902A TW201706842A TW 201706842 A TW201706842 A TW 201706842A TW 105110902 A TW105110902 A TW 105110902A TW 105110902 A TW105110902 A TW 105110902A TW 201706842 A TW201706842 A TW 201706842A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- error
- address
- memory module
- data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0409—Online test
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Landscapes
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
於一些範例中,一記憶體模組包括錯誤狀態指示器、錯誤位址暫存器、及錯誤追蹤電路。此錯誤追蹤電路可檢測儲存在供此記憶體模組用之一記憶體位址的記憶體資料包括一錯誤。回應地且在不覆寫儲存在該記憶體位址之記憶體資料的情況下,錯誤追蹤電路可設定錯誤狀態指示器且將該記憶體位址儲存在錯誤位址暫存器中。
Description
本發明大體而言係有關於記憶體模組錯誤追蹤技術。
由於技術上的快速進步,現今運算系統係用於社會幾乎所有方面。運算系統及裝置在複雜性及處理能力上有提升,且許多包括複雜的記憶體系統以儲存龐大數量的資料。運算與記憶體系統之效率及能力上的提升將造成科技在生活上幾乎各層面中更廣泛使用及應用。
依據本發明之一可行實施例,係特地提出一種記憶體模組,其包含:一錯誤狀態指示器;一錯誤位址暫存器;以及錯誤追蹤電路,其用以檢測出儲存在供該記憶體模組用之一記憶體位址的記憶體資料包括一錯誤,且回應地在不覆寫儲存在該記憶體位址之該記憶體資料的情況下:設定該錯誤狀態指示器;及將該記憶體位址儲存在該錯誤位址暫存器中。
100、500‧‧‧記憶體模組
502‧‧‧第二記憶體排組
112、511、521‧‧‧錯誤狀態指示器
600‧‧‧主機記憶體控制器
610‧‧‧錯誤詢問電路
110‧‧‧錯誤追蹤電路
612‧‧‧錯誤詢問參數
114、512、522‧‧‧錯誤位址暫存器
800‧‧‧裝置
810‧‧‧處理器
200、300、400、700‧‧‧邏輯
820‧‧‧機器可讀媒體
202~210、302~320、402~416、702~710‧‧‧步驟
822‧‧‧錯誤追蹤指令
824‧‧‧錯誤詢問指令
501‧‧‧第一記憶體排組
一些範例係描述於以下詳細敘述中且參照附圖
來敘述。
圖1顯示支援錯誤追蹤之記憶體模組的一範例。
圖2顯示記憶體模組可實現來支援錯誤追蹤之邏輯的一範例。
圖3顯示記憶體模組可實現來支援錯誤追蹤之邏輯的另一範例。
圖4顯示記憶體模組可實現來支援錯誤追蹤之邏輯的另一範例。
圖5顯示支援供多個記憶體排組用之錯誤追蹤之記憶體模組的一範例。
圖6顯示支援供記憶體模組用之錯誤追蹤之主機記憶體控制器的一範例。
圖7顯示主機記憶體控制器可實現來支援錯誤追蹤之一邏輯的一範例。
圖8顯示支援錯誤追蹤之裝置的一範例。
以下說明書可提供用於透過記憶體模組上錯誤校正技術檢測及校正之記憶體錯誤之錯誤追蹤的特徵。由記憶體模組本身所作之運作中(in-flight)記憶體錯誤校正,可允許該記憶體模組校正檢測到的錯誤,例如在從記憶體模組的一儲存位置(例如記憶體級組、排組群、排組、列及行位址)擷取記憶體資料之後,但在傳送記憶體資料離開模組給一主機系統之前。於一些範例中,記憶體模組透過在記憶體模組上實施的晶粒來提供此種錯誤檢測及校正功
能,因此提供晶粒上的錯誤校正功能。在一些範例中,記憶體模組可於分開的記憶體晶粒上實行錯誤檢測及校正特徵,而分開的記憶體晶粒可因此提供自動且對一主機系統通透的錯誤校正。
追蹤檢測到的記憶體錯誤可允許記憶體模組及主機系統防止仍儲存在記憶體模組中的未校正錯誤累積,其可允許主機系統預測及防止系統故障。作為另一特徵,記憶體模組錯誤追蹤可支援判定記憶體錯誤發生的性質、頻率、或其他特徵,允許主機系統依此作出回應。以下所揭露的錯誤追蹤特徵可進一步提供有效的機制,以從記憶體模組擷取追蹤到的錯誤資料,及支援有效的校正儲存在記憶體模組上的錯誤記憶體資料。
圖1顯示支援錯誤追蹤之記憶體模組100的範例。此記憶體模組100可為實行一資料儲存媒體的任何電路,諸如實現在一印刷電路板上之動態隨機存取記憶體(DRAM)積體電路(IC)。記憶體模組100可例如被實現為在一共同印刷電路板上的單一或多個實體記憶體晶片(例如多個DRAM晶粒)。操作時,記憶體模組100可提供用於主機系統之一隨機存取記憶體(RAM),該主機系統諸如為桌上性或膝上型電腦、工作站、應用程式伺服器、視訊遊戲系統、網站主機、或其他運算裝置及系統。記憶體模組100可因此包括連接到主機系統的一介面,諸如用於控制信號連接的金屬引腳及用以連結到主機系統之主機記憶體控制器的通訊匯流排。記憶體模組100可採任何數量之模組類型的
形式。圖1顯示作為雙直列記憶體模組(DIMM)之記憶體模組100的一特定範例。記憶體模組100之其他範例模組類型可採包括單直列記憶體模組(SIMM)、雙直列封裝體(DIP)、單直列引腳封裝體(SIPP)、小外形DIMM(SO-DIMM)、及更多者的形式。
記憶體模組100可支援記憶體錯誤之模組上檢測及校正。亦即,記憶體模組100本身可針對儲存在記憶體模組100中之記憶體資料檢測及校正一記憶體錯誤。記憶體模組100可在傳送記憶體資料離開模組給主機記憶體控制器前這樣做。儲存在記憶體模組100上包括一記憶體錯誤的記憶體資料可稱為錯誤記憶體資料。記憶體模組100可採用錯誤檢測及校正技術的任何組合來針對所擷取的記憶體資料校正檢測到的記憶體錯誤。
記憶體模組100可支援模組上的錯誤檢測及校正。在一些範例中,由記憶體模組100所提供之模組上錯誤檢測及校正係以每一晶粒的基礎來實現。在這方面,記憶體模組100之一記憶體晶粒(例如DRAM晶粒)可示現晶粒上錯誤校正能力作為此晶粒本身的一部分。記憶體模組100上的多個晶粒可分別就儲存在晶粒上之記憶體資料來提供晶粒上錯誤校正能力。由記憶體模組100進行之模組上錯誤校正(例如晶粒上錯誤校正)對連結到記憶體模組100之一主機記憶體控制器來說可為通透的。舉例來說,從記憶體模組100接收記憶體資料的主機記憶體控制器可能不曉得是否有針對記憶體資料校正一記憶體錯誤。此主機記憶體控制
器可因此從記憶體模組100接收記憶體資料,其中檢測到的記憶體錯誤已由記憶體模組100校正(例如透過晶粒上錯誤校正)。
在一些範例中,由記憶體模組100所作的記憶體錯誤校正係在運作中執行,此所謂在運作中係指例如在服務來自主機記憶體控制器的記憶體讀取請求時。於這些範例中,記憶體模組100可於從一特定記憶體位址擷取錯誤記憶體資料之後檢測一記憶體錯誤,並在沒有將儲存在記憶體模組100中的錯誤記憶體資料覆寫的情況下將校正後的記憶體資料傳送給主機記憶體控制器。因此,記憶體模組100可藉由在不將儲存在記憶體模組100上用以產生校正過的記憶體資料之錯誤記憶體資料覆寫的情況下,提供校正的記憶體資料給主機記憶體控制器,來處理一記憶體讀取請求。如此的話,記憶體模組100可在提高的正確性下提供記憶體資料,而不會使將校正過的資料回寫到擷取出錯誤記憶體資料之特定記憶體位址所需的性能潛伏期延遲惡化。
記憶體模組100可支援針對儲存在記憶體模組100上的記憶體資料來追蹤檢測到的記憶體錯誤。特別是,記憶體模組100可針對運作中校正但仍儲存在記憶體模組100上的錯誤記憶體資料追蹤檢測到的錯誤。記憶體模組100提供的錯誤追蹤特徵可強化記憶體模組100的模組上錯誤校正能力,允許記憶體模組100或一主機系統追蹤錯誤的發生,調適地基於錯誤發生的頻率及性質來回應,以及避
免儲存在記憶體模組100上之錯誤記憶體資料累積。
為支援錯誤追蹤,記憶體模組100可包括錯誤追蹤電路110。如以下更詳細的敘述,此錯誤追蹤電路110可追蹤針對儲存在記憶體模組100上的記憶體資料何時檢測到一錯誤,及追蹤儲存含有檢測到的錯誤之記憶體資料的記憶體位置,例如檢測到有該錯誤之錯誤記憶體資料的記憶體位址。錯誤追蹤電路110可因此例如回應於從主機系統之一主機記憶體控制器傳送的一錯誤詢問訊息,而將追蹤到的錯誤資料提供給主機系統。
記憶體模組100可包括一錯誤狀態指示器112。錯誤狀態指示器112可對一主機記憶體控制器指出,例如自從由主機記憶體控制器所作的前一次錯誤詢問之後,已針對記憶體模組100檢測到一錯誤。記憶體模組100可將錯誤狀態指示器112以例如暫存符、特定位元、旗標、或任何其他資料形式示現來提供錯誤狀態指示。於一些範例中,錯誤狀態指示器112可指出多個狀態中的一者,諸如一設定狀態及一清除狀態。錯誤追蹤電路110可於針對儲存在記憶體模組上的記憶體資料檢測到一記憶體錯誤時,將錯誤狀態指示器112設定在設定狀態,且在將記憶體錯誤資料提供給主機記憶體控制器後將錯誤狀態指示器112清除。
圖1中所示的記憶體模組100亦包括錯誤位址暫存器114。錯誤追蹤電路110可針對已由錯誤位址暫存器114檢測到的一記憶體錯誤來追蹤一記憶體位址。在這方面,錯誤位址暫存器114可追蹤儲存錯誤記憶體資料的一特定
記憶體位址。例如,回應於檢測到儲存在供記憶體模組100用之一記憶體位址的記憶體資料包括一錯誤,錯誤追蹤電路110可將此記憶體位址儲存在錯誤位址暫存器114。錯誤追蹤電路110可這麼做而不需將儲存在記憶體位址的記憶體資料覆寫,且可因而維持記憶體模組100所作之運作中錯誤校正的執行效率。雖然圖1中僅顯示一個錯誤位址暫存器114,但記憶體模組100可示現有任何數目的錯誤位址暫存器,例如8個或16個。於一些範例中,錯誤追蹤電路110、錯誤狀態指示器112、及錯誤位址暫存器係例如以每一晶粒的基礎來示現為記憶體模組100上之記憶體晶粒的一部分。
錯誤追蹤電路110可利用來支援錯誤追蹤功能的一些範例特徵係藉由圖2至圖4來描述。圖2及圖3描述錯誤追蹤電路110可利用來追蹤檢測到的記憶體錯誤的特徵,諸如藉由設定錯誤狀態指示器及將一特定記憶體位址儲存在一錯誤位址暫存器中。圖4描述錯誤追蹤電路110可利用來將追蹤到的錯誤發生狀況傳達給一主機記憶體控制器之特徵。錯誤追蹤電路110的這些特徵會在下文中敘述。
圖2顯示記憶體模組可實現來支援錯誤追蹤之邏輯200的一範例。記憶體模組可將邏輯200透過例如記憶體模組的錯誤追蹤電路110來示現。錯誤追蹤電路110可實行或執行邏輯200作為支援針對記憶體模組之錯誤追蹤的方法。
錯誤追蹤電路110可接收針對儲存在供記憶體模組用之一特定記憶體位址之記憶體資料的一記憶體讀取請
求(步驟202)。例如,錯誤追蹤電路110可從一主機系統的主機記憶體控制器接收此記憶體讀取請求。為服務記憶體讀取請求,錯誤追蹤電路110可從特定記憶體位址擷取記憶體資料(步驟204)。
於一些範例中,錯誤追蹤電路110可實行錯誤檢測及校正特徵,因此提供用於記憶體模組的模組上錯誤檢測及校正能力。據此,錯誤追蹤電路110可檢測出所擷取的記憶體資料包括一錯誤(步驟206)。由錯誤追蹤電路110檢測的記憶體錯誤可包括記憶體資料中的不正確,諸如單一位元錯誤或多個位元錯誤。記憶體錯誤可因此包括可透過多個ECC技術、單一錯誤校正雙重錯誤檢測(SECDED)漢明碼、三重模組化冗餘碼、奇偶(parity)、或多種其他錯誤檢測及校正機制可檢測出(及可能可校正)的記憶體錯誤。錯誤追蹤電路110可依據前述多種錯誤檢測機制中的任一者而檢知記憶體資料包括一錯誤。錯誤追蹤電路110亦可使用這些技術中的任一者來校正記憶體資料中的錯誤。
在針對記憶體模組中之記憶體資料檢測到一錯誤時,錯誤追蹤電路110可提供記憶體錯誤檢測的一指示,及追蹤記憶體模組上擷取到該錯誤記憶體資料的記憶體位置。據此,回應於檢測到記憶體資料包括一錯誤,且在不覆寫儲存在一特定記憶體位址之記憶體資料的情況下,錯誤追蹤電路110可設定記憶體模組之錯誤狀態指示器(步驟208),且將該特定記憶體位址儲存在記憶體模組之一錯誤位址暫存器中(步驟210)。被追蹤的記憶體位址可指出錯誤
記憶體資料在記憶體模組上的位置,其中錯誤追蹤電路110稍後可將該錯誤記憶體資料提供給主機系統作為被追蹤的錯誤資料。因此,錯誤追蹤電路110可追蹤透過模組上ECC(例如晶粒上ECC)校正的運作中錯誤,包括錯誤記憶體資料的記憶體位置,即已檢測到記憶體錯誤之處。
圖3顯示記憶體模組100可實現來例如透過錯誤追蹤電路110支援錯誤追蹤之邏輯300的另一範例。錯誤追蹤電路110可實行或執行邏輯300作為支援針對記憶體模組之錯誤追蹤的方法。
在圖3中所示之例示邏輯300中,錯誤追蹤電路110可接收針對儲存在供記憶體模組用之一特定記憶體位址之記憶體資料的一記憶體讀取請求(步驟302)。為服務此記憶體讀取請求,錯誤追蹤電路110可從記憶體模組之此特定記憶體位址擷取記憶體資料(步驟304)。接著,錯誤追蹤電路110可針對所擷取的記憶體資料實行一錯誤檢測程序(步驟306),其可允許錯誤追蹤電路110判定一可校正錯誤是否存在於所擷取的記憶體資料中。錯誤追蹤電路110可運用上述之ECC技術的任一者來檢測所擷取之記憶體資料中的記憶體錯誤。當針對所擷取的記憶體資料沒有檢測到一錯誤時,錯誤追蹤電路110可傳送該所擷取的記憶體資料(或其一特定部分)作為對記憶體讀取請求的一回應(步驟308)。
當錯誤追蹤電路110針對所擷取的記憶體資料檢測到一記憶體錯誤時,錯誤追蹤電路110即可針對該所擷取的記憶體實行一運作中錯誤校正。如此的話,錯誤追蹤電
路110可校正所擷取的記憶體資料以獲得經校正資料(步驟310),諸如透過上述錯誤校正技術中的任一者。接著,錯誤追蹤電路110可傳送經校正資料作為對記憶體讀取請求的回應(步驟312)。藉由對所擷取的記憶體資料實行運作中校正,錯誤追蹤電路110可在不透過將校正的記憶體資料重寫回該特定記憶體位址而增加處理潛伏期延遲的情況下,提升傳送給主機記憶體控制器之記憶體資料的正確性。因此,即使在作了運作中的模組上校正之後,記憶體模組的特定記憶體位址可持續儲存錯誤的記憶體資料。
錯誤追蹤電路110可追蹤儲存在記憶體模組上已於運作中被校正的錯誤記憶體資料。為此,錯誤追蹤電路110可針對該記憶體模組設定一錯誤狀態指示器(步驟314),其可因此對主機記憶體控制器指出針對儲存在記憶體模組上的記憶體資料已檢測到一記憶體錯誤。例如,錯誤追蹤電路110可針對儲存錯誤記憶體資料的特定記憶體晶粒來設定錯誤狀態指示器。當錯誤狀態指示器業已被設定(例如由於一前一次運作中錯誤檢測結果),錯誤追蹤電路110可以不用再設定錯誤狀態指示器。錯誤追蹤電路110亦可經由記憶體模組之錯誤位址暫存器,例如針對儲存錯誤記憶體資料之一特定記憶體晶粒的錯誤位址暫存器,來追蹤擷取到該錯誤記憶體資料的特定記憶體位址。
雖然錯誤追蹤電路110可以追蹤每一個檢測到有一記憶體錯誤的記憶體位址,但錯誤追蹤電路110不一定要這麼做。在一些範例中,記憶體模組可限制或控制哪些具
有檢測到的記憶體錯誤之特定記憶體位址儲存在記憶體模組的錯誤位址暫存器中。由記憶體模組實施的錯誤位址暫存器之數目例如可限制錯誤追蹤電路110在一特定時間點可追蹤之儲存錯誤記憶體資料的記憶體位址之數目。因此,記憶體模組可彈性地藉由提供較大數目的錯誤位址暫存器來支援增加數量的錯誤追蹤,或透過較少數目的錯誤位址暫存器來減少使用的晶片面積且提供降低的資源消耗。
接著討論錯誤追蹤電路110可如何控制儲存錯誤記憶體資料的一記憶體位址是否存在記憶體模組之錯誤位址暫存器中,使錯誤追蹤電路110可避免記憶體模組中的多個錯誤位址暫存器儲存相同的記憶體位址。透過圖3中所示之範例來說,錯誤追蹤電路110可判定在記憶體模組之多個錯誤位址暫存器之間是否已儲存了擷取到錯誤記憶體資料之一特定記憶體資料位址(步驟316)。若否,則錯誤追蹤電路110可將該特定記憶體位址儲存在一錯誤位址暫存器中(步驟318)。若已儲存,則錯誤追蹤電路110即可以不用將該特定記憶體位址儲存在一錯誤位址暫存器中(步驟320)。在其他範例中,即使該特定記憶體位址已被儲存在記憶體模組之另一錯誤位址暫存器中,錯誤追蹤電路110亦可諸如藉由將該特定記憶體位址儲存在一錯誤位址暫存器中,而允許在多個錯誤位址暫存器之間有重複的位址登錄項。
作為另一範例,錯誤追蹤電路110可控制是否要將已儲存有效記憶體位址資料之一錯誤位址暫存器的內容
覆寫。當記憶體模組的諸錯誤位址暫存器存滿時,例如當各錯誤位址暫存器分別儲存供記憶體模組用的一有效記憶體位址時,錯誤追蹤電路110可判定不要儲存檢測到有一記憶體錯誤的一特定記憶體位址。因此,一旦記憶體模組的諸錯誤位址暫存器被針對檢測到之錯誤的有效記憶體位址資料所佔滿,錯誤追蹤電路110就可選擇不要追蹤後續檢測到之錯誤的記憶體位置。在其他範例中,即使在記憶體模組的錯誤位址暫存器已滿的情況下,錯誤追蹤電路110可用針對一檢測到之錯誤的特定記憶體位址來覆寫一錯誤位址暫存器的內容。錯誤追蹤電路110可諸如透過最少使用的暫存器、最新近用到、以循環型式、隨機、或根據任何其他錯誤位址暫存器選擇準則,採任何數量的方式,來判定要將該特定記憶體位址覆寫到哪一個特定錯誤位址暫存器。
在一些範例中,錯誤追蹤電路110可示現一計數器,例如,諸如一數位計數器,作為記憶體模組之一錯誤位址暫存器的部分。因此,記憶體模組的錯誤位址暫存器可包括一數位計數器。當一錯誤追蹤電路110接著在已佔據一特定錯誤位址暫存器中的一位址位置處檢測到錯誤(例如新錯誤)時,錯誤追蹤電路110可針對那個特定錯誤位址暫存器將計數器增量。此計數器可採任何數目的計數位元來建構,例如4個或5個。該計數器亦可包括一溢位位元。此溢位位元可例如在計數器到達及超過其最大計數容量時被自動設定。錯誤追蹤電路110可因此在錯誤位址暫存器儲存記憶體位址及在後續針對一特定記憶體位址檢測到一記
憶體錯誤之際,使計數器增量。
如先前所述,錯誤追蹤電路110可由錯誤位址暫存器追蹤錯誤記憶體資料儲存在一記憶體模組上的記憶體位置。當錯誤追蹤電路110檢測到記憶體錯誤時,記憶體模組的錯誤位址暫存器可被填以這些記憶體錯誤位置。最後,錯誤追蹤電路110可將錯誤位址暫存器的內容提供給一主機系統。錯誤追蹤電路110可如何達成此目的的範例接下來呈現在圖4中。
圖4顯示記憶體模組100可例如透過錯誤追蹤電路110實現來支援錯誤追蹤邏輯400的另一範例。錯誤追蹤電路110可實行或執行邏輯400作為支援用於記憶體模組的錯誤追蹤。
錯誤追蹤電路110可從連結至一記憶體模組的一主機記憶體控制器接收一錯誤詢問(步驟402)。此錯誤詢問可為從主機記憶體控制器傳送用以由記憶體模組蒐集針對追蹤到之錯誤資料來輪詢(poll)的訊息。錯誤追蹤電路110判定錯誤狀態指示器是否已經被設定(步驟404)。記憶體模組對於此錯誤詢問的回應可取決於由錯誤追蹤電路110所維持之錯誤狀態指示器的狀態,因為錯誤追蹤電路110可在檢測到儲存於記憶體模組上之記憶體資料的一記憶體錯誤之際設定錯誤狀態指示器。在一設定狀態下,錯誤狀態指示器可指出錯誤追蹤電路110已從所擷取的記憶體資料檢測出至少一記憶體錯誤。在一清除狀態下,錯誤狀態指示器可指出自從錯誤狀態指示器最後一次被清除後,錯誤追
蹤電路110針對擷取的記憶體資料尚未檢測出有錯誤。
當錯誤狀態指示器沒有被設定時(例如在一清除狀態下),錯誤追蹤電路110不會將記憶體模組之錯誤位址暫存器的內容傳送給主機記憶體控制器(步驟406)。記憶體模組之錯誤位址暫存器在錯誤位址指示器沒有被設定時不會儲存有效的記憶體位址資料,因為清除狀態下的錯誤狀態指示器可指出錯誤追蹤電路110針對所擷取的記憶體資料尚未檢測出一錯誤(且因此尚未將任何記憶體位址儲存於錯誤位址暫存器中)。在這方面,錯誤位址指示器可指出錯誤位址暫存器中的至少一者何時儲存著有效的記憶體資料(例如在設定時),或何時錯誤位址暫存器中沒有一者儲存著有效的記憶體位址資料(例如在清除時)。
在一些範例中,錯誤追蹤電路110以一回應訊息回應來自主機記憶體控制器的一錯誤詢問。此回應訊息可指出是否已檢測到一記憶體錯誤。據此,錯誤追蹤電路110可傳送該回應訊息作為錯誤狀態指示器之狀態的一指示器。當錯誤狀態指示器未被設定時,錯誤追蹤電路110可利用指出沒有記憶體錯誤被檢測到之一回應訊息來回應該錯誤詢問。當錯誤狀態指示器被設定時,錯誤追蹤電路110可利用指出已檢測到一記憶體錯誤之一回應訊息來回應該錯誤詢問。
當錯誤狀態指示器被設定時,錯誤追蹤電路110可將儲存在一錯誤位址暫存器中的一記憶體位址傳送給主機記憶體控制器(步驟408)。例如,回應於來自主機記憶體
控制器的一錯誤位址暫存器讀取請求,錯誤追蹤電路110即可傳送儲存在錯誤位址暫存器中的記憶體位址,其中錯誤追蹤電路110可能在對主機記憶體控制器指出已檢測到一記憶體錯誤後接收到該錯誤位址暫存器讀取請求。在一些範例中,例如在未收到來自主機記憶體控制器的錯誤位址暫存器讀取請求的情況下,回應於判定出錯誤狀態指示器被設定,錯誤追蹤電路110即自動傳送儲存在錯誤位址暫存器中的記憶體位址。
在傳送錯誤位址暫存器內容給主機記憶體控制器時,錯誤追蹤電路110可傳送儲存於錯誤位址暫存器間之有效記憶體位址。因此,錯誤追蹤電路110可提供儲存在記憶體模組上之錯誤記憶體資料的位置給主機記憶體控制器。如下文將更詳細描述地,主機記憶體控制器可使用從錯誤追蹤電路110接收到的記憶體位址,以校正儲存在特定記憶體位址的錯誤記憶體資料。
在提供錯誤狀態暫存器的內容給記憶體主機控制器後,錯誤追蹤電路110可清除錯誤位址暫存器的內容。例如,錯誤追蹤電路110可將錯誤位址暫存器的內容設定在一預定無效狀態(步驟410)。錯誤追蹤電路110可將一特定暫存器值識別為一無效值,且因此藉由將錯誤位址暫存器的內容設定在該無效值來清除錯誤位址暫存器。
藉由傳送儲存在記憶體模組上之錯誤記憶體資料的記憶體位址,錯誤追蹤電路110可支援錯誤記憶體資料的後續校正。例如,在將儲存於錯誤位址暫存器中的記憶
體位址傳送給主機記憶體控制器後,錯誤追蹤電路110可從主機記憶體控制器接收校正過的資料(步驟412),且以此校正過的資料把儲存在傳送之記憶體位址的記憶體資料覆寫掉(步驟414)。
在一些範例中,錯誤追蹤電路110本身提供主機記憶體控制器提供回來的校正過的資料,用來覆寫錯誤記憶體資料。這個程序可稱為由主機記憶體控制器執行的一讀取及回寫程序。舉例來說,回應於來自主機記憶體控制器的一錯誤詢問,錯誤追蹤電路110即可將儲存在錯誤位址暫存器中的一特定記憶體位址傳送給主機記憶體控制器。接著,錯誤追蹤電路110可從主機記憶體控制器接收針對特定記憶體位址的一記憶體讀取請求,從該特定記憶體位址擷取錯誤記憶體資料,實行錯誤記憶體資料之一運作中校正以獲得校正過的記憶體資料,且將校正過的記憶體資料傳送給主機記憶體控制器作為對記憶體讀取請求的一回應。而後,錯誤追蹤電路110可從主機記憶體控制器接收一記憶體寫入請求,此寫入請求係要將校正過的記憶體資料(先前由錯誤追蹤電路110所提供)寫入特定記憶體位址,因此將校正過的記憶體資料回寫到特定記憶體位址。
錯誤追蹤電路110可例如在以從主機記憶體控制器接收的經校正資料覆寫該等記憶體位址時,清除錯誤狀態指示器(步驟416)。藉由在一讀取及回寫程序後清除錯誤狀態指示器,錯誤追蹤電路110可避免錯誤狀態指示器在處理讀取及回寫程序之記憶體讀取請求時被設定,此讀取及
回寫程序包括針對錯誤記憶體資料檢測及校正一記憶體錯誤。假如錯誤狀態指示器在讀取及回寫程序前被清除,則即使透過讀取及回寫程序被覆寫的記憶體位址現在儲存不含記憶體錯誤的經校正記憶體資料,錯誤狀態指示器仍接著會透過讀取及回寫程序而被接續設定。在一些範例中,錯誤追蹤電路110從主機記憶體控制器接收要清除錯誤狀態指示器的一指令,而錯誤追蹤電路110可依據該指令來作出回應。
錯誤追蹤電路110可針對一記憶體模組的不同部分來分別追蹤記憶體錯誤,其中一示例係經由圖5所示。圖5顯示支援供多個記憶體排組用之錯誤追蹤之記憶體模組500的一範例。在圖5所示的範例中,記憶體模組500包括用以儲存記憶體資料的多個記憶體排組,特別是第一記憶體排組501及第二記憶體排組502。雖然圖5僅繪示出兩個記憶體排組,但記憶體模組500可包括讓錯誤追蹤電路110可分別支援錯誤追蹤之任何數目的記憶體排組或任何數目描繪的記憶體區段。
一記憶體模組可包括錯誤追蹤電路110可就其分別支援錯誤追蹤的數個記憶體部分。因此,記憶體模組可實施用於多個記憶體部分之多個對應的錯誤狀態指示器及錯誤位址暫存器。在圖5中,記憶體模組500包括指定給第一記憶體排組501的一錯誤狀態指示器511及一錯誤位址暫存器512,及指定給第二記憶體排組502的的一錯誤狀態指示器521及一錯誤位址暫存器522。記憶體模組500亦包括錯
誤追蹤電路110。錯誤追蹤電路110可例如針對第一記憶體排組501及第二記憶體排組502來分別實現。關於此方面,記憶體模組100之分別被追蹤的記憶體部分可具有對應分別的錯誤追蹤電路110。
錯誤追蹤電路110可分別就第一記憶體排組501及第二記憶體排組502追蹤記憶體錯誤。例如,錯誤追蹤電路110可接收一記憶體讀取請求,此記憶體讀取請求係針對儲存在第一記憶體排組501中且在位於第一記憶體排組501內之一特定記憶體位址的記憶體資料。在針對儲存於位在第一記憶體排組501內之特定記憶體位址的記憶體資料檢測到一錯誤時,錯誤追蹤電路110可設定用於第一記憶體排組501的錯誤狀態指示器511,而不是設定用於第二記憶體排組502的錯誤狀態指示器521(且並非設定記憶體模組500可針對任何可能有的其他記憶體部分實行的其他錯誤狀態指示器)。同樣地,錯誤追蹤電路110可透過供第一記憶體排組501用之錯誤位址暫存器512中的一者,而不是利用供其他記憶體部分用的其他錯誤位址暫存器,諸如供第二記憶體排組502用的錯誤位址暫存器522,來追蹤第一記憶體排組501中儲存錯誤記憶體的特定記憶體位址。因此,錯誤追蹤電路110可針對一記憶體模組的不同部分來分別追蹤記憶體錯誤。
錯誤追蹤電路110亦可針對記憶體模組的多個部分而分別提供追蹤到的錯誤資料給一主機系統。在一些範例中,錯誤追蹤電路110針對第一記憶體排組501及第二記
憶體排組502分別接收不同的錯誤詢問。回應於接收針對一特定記憶體排組的一錯誤詢問,錯誤追蹤電路110即可判定用於特定記憶體排組之對應的錯誤狀態指示器是否已設定,且依此傳送用於特定記憶體排組之對應錯誤位址暫存器的內容。透過分別地追蹤發生於一記憶體模組之不同部分的記憶體錯誤,錯誤追蹤電路110可提供對針對不同記憶體部分之記憶體錯誤的性質及頻率更為精確的洞察力。這樣做可允許一主機系統將記憶體錯誤議題(例如硬體故障)精確指向記憶體模組的特定部分並依此作出回應。
圖6顯示支援供記憶體模組用之錯誤追蹤之主機記憶體控制器600的一範例。主機記憶體控制器600可作為一主機系統中連結且介接到一記憶體模組的元件。主機記憶體控制器600可經由主機系統之電路來實現,例如作為特定應用積體電路、可場規劃閘極陣列、硬體邏輯組件、儲存在機器可讀媒體上的可執行指令、或採多種其他形式來實現。於一些範例中,主機記憶體控制器600係示現為主機系統中一處理器的部分(例如電路)。
主機記憶體控制器600可從一記憶體模組擷取錯誤追蹤資料,包括錯誤記憶體資料儲存在記憶體模組上的記憶體位址。在這方面,主機記憶體控制器600可包括錯誤詢問電路610及錯誤詢問參數612。錯誤詢問電路610可探查連結到主機記憶體控制器600的一記憶體模組,以蒐集追蹤的錯誤資料、校正儲存在記憶體模組上的錯誤記憶體資料、或二者。特別是,錯誤詢問電路610可傳送一錯誤詢問
給記憶體模組,來輪詢記憶體模組是否已就儲存在記憶體模組上之記憶體資料檢測到一記憶體錯誤。
由主機記憶體控制器傳送之一錯誤詢問可促使來自記憶體模組的回應,諸如指出記憶體模組是否已檢測到一記憶體錯誤的回應訊息。若為如此,主機記憶體控制器可從記憶體模組傳送一明確請求錯誤位址暫存器內容,諸如透過傳送一錯誤位址暫存器讀取請求給記憶體模組。於一些範例中,在來自記憶體模組的一回應訊息指出已檢測到一記憶體錯誤時,記憶體模組會自動提供儲存在錯誤位址暫存器上的記憶體位址。
錯誤詢問電路610可依據錯誤詢問參數612而傳送錯誤詢問給記憶體模組。錯誤詢問參數612可指明條件、週期性、需求、語法、格式化、或錯誤詢問電路610可用來傳送一錯誤詢問給記憶體模組的任何其他參數,此等參數中的任一者可由系統管理者、使用者或其他控制個體來組配。於一些範例中,錯誤詢問電路610週期地傳送一錯誤詢問給記憶體模組,因此使錯誤詢問電路610能週期地判定記憶體模組是否已檢測到記憶體錯誤及蒐集識別儲存於記憶體模組上之錯誤記憶體資料之位置的對應記憶體位址。此週期性可透過錯誤詢問參數612依據特定系統資源需求而組配來減少性能衝擊、或彈性地依據任何其他因子。
在一些範例中,錯誤詢問電路610在一非週期的基礎下傳送一錯誤詢問給記憶體模組。例如,錯誤詢問電路610可於系統資源使用降低到一使用臨界值以下時回應
於一特定系統事件,或依據由錯誤詢問參數612提出的任何其他詢問準則,而傳送錯誤詢問給記憶體模組。錯誤詢問參數612可指定錯誤詢問的傳送係依據週期及非週期性參數的組合。
錯誤詢問電路610可分別輪詢一記憶體模組的不同部分,諸如藉由傳送不同錯誤詢問給記憶體模組的不同記憶體部分(例如不同的記憶體排組)。於一些範例中,錯誤詢問電路610分別就記憶體模組之不同記憶體部分來維持錯誤詢問參數612。由錯誤詢問電路610產生及傳送的一錯誤詢問可指定此錯誤詢問針對的一特定記憶體排組或部分,其中記憶體模組上的錯誤追蹤電路110可加以解譯並依此作出回應。
透過以一錯誤詢問來輪詢記憶體模組,錯誤詢問電路610可支援校正存在於記憶體模組中的記憶體錯誤。錯誤詢問電路610可將校正過的資料提供給一記憶體模組,以將儲存在記憶體模組中由錯誤追蹤電路110追蹤之特定記憶體位址的錯誤記憶體資料覆寫掉。錯誤詢問電路610可將記憶體模組本身提供給主機記憶體控制器之校正過的記憶體資料提供給記憶體模組,如同以上參照讀取及回寫程序所述者。亦即,錯誤詢問電路610可針對儲存錯誤記憶體資料之一特定記憶體位址而傳送一記憶體讀取請求給記憶體模組。
來自記憶體模組的回應可包括運作中校正之校正過的記憶體資料,且錯誤詢問電路610可接著將校正過的
記憶體資料回寫到該特定記憶體位址,因而將儲存在該特定記憶體位址的錯誤記憶體資料覆寫掉。藉由校正儲存在記憶體模組上的錯誤記憶體資料,錯誤詢問電路610可避免記憶體模組中之記憶體錯誤的累積,這對於主機系統可造就提升的資料正確性且降低由此種記憶體錯誤所造成之系統錯誤。例如在將校正過的記憶體資料回寫到記憶體模組之後,錯誤詢問電路610可指示記憶體模組清除記憶體模組的一錯誤狀態指示器。
透過傳送給記憶體模組的錯誤詢問,錯誤詢問電路610亦可判定發生在記憶體模組上之記憶體錯誤的性質及頻率。例如,錯誤詢問電路610可追蹤來自記憶體模組之錯誤詢問回應指出一檢測到之記憶體錯誤(例如從前一次錯誤詢問後檢測到者)的頻率。此一判定可由記憶體模組及主機記憶體控制器,透過記憶體模組之一錯誤狀態指示器在回應來自主機記憶體控制器之週期性錯誤詢問時被設定的頻率來做成,例如透過記憶體模組以儲存有錯誤記憶體資料的至少一記憶體位址來回應的頻率來做成。
關於記憶體錯誤的性質,錯誤詢問電路610可追蹤記憶體錯誤出現的特定記憶體位址、記憶體排組、或記憶體模組的其他部分。在一特定記憶體位址或記憶體排組的重複錯誤可指出例如一硬體故障,且主機系統可依此作出回應。並且,由記憶體模組及主機記憶體模組提供的錯誤追蹤特徵可使主機系統針對提供模組上錯誤校正的一記憶體模組來預測可能的系統故障,例如透過在記憶體模組
上檢測到之記憶體錯誤的數目及位置分析。
圖7顯示主機記憶體控制器可實現來支援錯誤追蹤之邏輯700的一範例。例如,主機記憶體控制器可透過錯誤詢問電路610來實行邏輯700。錯誤詢問電路610可實行或執行邏輯700作為用來支援用於一記憶體模組之錯誤追蹤的方法。
錯誤詢問電路610可傳送一錯誤詢問給一記憶體模組(步驟702)。錯誤詢問電路610可在不影響記憶體系統性能的情況下傳送錯誤詢問給記憶體模組,例如藉由傳送錯誤詢問通過記憶體模組與主機記憶體控制器間的一頻帶外(out-of-band)通道通訊鏈結。
於一些範例中,錯誤詢問電路610週期地在由一錯誤詢問參數612設定之週期性下傳送錯誤詢問給記憶體模組。錯誤詢問電路610以錯誤詢問輪詢記憶體模組的週期性可受組配。例如,錯誤詢問電路610可調整錯誤詢問的週期性,以配合實行主機記憶體控制器之主機系統的一特徵。錯誤追蹤電路110可藉由增加對記憶體模組之多次錯誤詢問間的時間間隔,而類似地調整錯誤詢問週期性,以減少性能影響及主機系統的功率損耗。在一些範例中,錯誤追蹤電路110可關閉對記憶體模組的錯誤詢問,諸如在用於主機系統之電源接近一臨界位準時(例如剩餘電量少於5%)。
作為對錯誤詢問的一回應,錯誤詢問電路610可從記憶體模組接收儲存在記憶體模組之一錯誤位址暫存器
中的一特定記憶體位址(步驟704)。取決於記憶體模組檢測到之記憶體錯誤的數目,錯誤詢問電路610可從記憶體模組接收任何數目的記憶體位址。
錯誤詢問電路610可支援校正記憶體模組上檢測到的記憶體錯誤。錯誤詢問電路610可例如針對從記憶體模組之錯誤位址暫存器接收的特定記憶體位址傳送一記憶體讀取請求(步驟706)。由於記憶體模組可實行記憶體資料的模組上錯誤校正,錯誤詢問電路610可從該記憶體模組接收校正過的資料,亦即記憶體模組從儲存在特定記憶體位址的錯誤記憶體資料校正來的經校正資料(步驟708)。因此,記憶體模組本身可提供校正過的資料給錯誤詢問電路610,而錯誤詢問電路610會將該校正過的資料提供回給記憶體模組。錯誤詢問電路610可傳送一記憶體寫入請求給記憶體模組,以將校正過的資料(從記憶體模組接收者)寫入特定記憶體位址(步驟710)。這樣做可因而以該校正過的資料來校正儲存在記憶體模組之特定記憶體位址的錯誤記憶體資料。
錯誤詢問電路610可讀取及回寫特別是針對由記憶體模組回應於錯誤詢問而提供之記憶體位址的經校正記憶體資料。當錯誤詢問電路610接收判定出有儲存錯誤記憶體資料的特定記憶體位址時,錯誤詢問電路610可將經校正記憶體資料回寫到這些特定記憶體位址,而不需對不含錯誤記憶體資料之記憶體位址實行讀取及回寫程序。因此,於一些範例中,錯誤詢問電路610將經校正資料僅回寫到儲
存錯誤記憶體資料的記憶體位址中。相較於就整個記憶體模組實行一讀取及回寫程序來擦掉錯誤記憶體資料,錯誤詢問電路610可以以提升的效率校正記憶體模組中的錯誤記憶體資料。
圖8顯示支援用於一記憶體模組之錯誤追蹤之裝置800的一範例。裝置800可包括一處理器810。處理器810可包括中央處理單元(CPU)、微處理器、及/或任何適用於執行儲存在機器可讀媒體上之指令的硬體裝置。
裝置800可包括一機器可讀媒體820。機器可讀儲存媒體820可為儲存諸如圖8中所示的錯誤追蹤指令822及錯誤詢問指令824之可執行指令的任何電子、磁性、光學、或其他物理儲存裝置。因此,機器可讀媒體820可為例如隨機存取記憶體(RAM)、電氣可抹除可規劃唯讀記憶體(EEPROM)、儲存驅動機、光學碟片、或類似者。
裝置800可透過處理器810執行儲存在機器可讀媒體820上的多個指令。執行此等指令可使裝置800實行本文所述之特徵的任何組合,包括針對錯誤追蹤電路110及錯誤詢問電路610之特徵。作為一例示,執行錯誤詢問指令824可使裝置800依據本文參照錯誤詢問電路610所述之特徵來操作,諸如以一錯誤詢問對一記憶體模組輪詢、從該記憶體模組接收指出錯誤記憶體資料於該記憶體模組上儲存之處的一特定記憶體位址、及將校正後的資料提供給該記憶體模組以覆寫在該特定記憶體位址。作為另一例示,執行錯誤追蹤指令822可使裝置800依據本文所述錯誤追蹤電路
110之特徵的任一者來操作。
以上的方法、裝置、系統及邏輯,包括錯誤追蹤電路110及錯誤詢問電路610,可採多個不同方式以硬體、儲存在機器可讀媒體之可執行指令、或兩者組合之多個不同組合來實行。例如,錯誤追蹤電路110或錯誤詢問電路610之全部或部分可包括控制器、微處理器、或特定應用積體電路(ASIC)中的電路,或可利用組合在單一積體電路或分散於多個積體電路間之分立的邏輯組件或構件、或其他類型之類比或數位電路的組合來實現。本文所述之系統、裝置及電路的處理功能,包括錯誤追蹤電路110及錯誤詢問電路610,可分散於多個系統組件之間,諸如在多個處理器、記憶體控制器、記憶體、及邏輯組件之間,此等系統組件可能包括多個分散式處理系統。
以上的電路、系統、裝置及邏輯之全部或部分可採由處理器、控制器、或其他處理裝置執行的指令來實行,且可儲存在一實體或非暫態機器可讀或電腦可讀媒體中,諸如快閃記憶體、隨機存取記憶體(RAM)或唯讀記憶體(ROM)、可抹除可規劃唯讀記憶體(EPROM)、或諸如一實密碟片唯讀記憶體(CDROM)或磁性或光學碟片的其他機器可讀媒體。因此,諸如電腦程式產品的一產品可包括儲存媒體及儲存於媒體上的電腦可讀指令,其可在端點裝置、電腦系統或其他裝置中執行時,使裝置依據前述中任一者來操作。
本文已敘述一些範例示現例。其他示現例亦為可
能的。
100‧‧‧記憶體模組
110‧‧‧錯誤追蹤電路
112‧‧‧錯誤狀態指示器
114‧‧‧錯誤位址暫存器
Claims (15)
- 一種記憶體模組,其包含:一錯誤狀態指示器;一錯誤位址暫存器;以及錯誤追蹤電路,其用以檢測出儲存在供該記憶體模組用之一記憶體位址的記憶體資料包括一錯誤,且回應地在不覆寫儲存在該記憶體位址之該記憶體資料的情況下:設定該錯誤狀態指示器;及將該記憶體位址儲存在該錯誤位址暫存器中。
- 如請求項1之記憶體模組,其中該錯誤追蹤電路係進一步用以回應於檢測到該記憶體資料包括一錯誤而作出下列動作:校正該記憶體資料以獲得校正過的記憶體資料;以及將該校正過的記憶體資料傳送給一主機記憶體控制器。
- 如請求項1之記憶體模組,其中該錯誤追蹤電路係用以在該記憶體位址尚未儲存在該記憶體模組之多個錯誤位址暫存器中之一者時,將該記憶體位址儲存在該錯誤位址暫存器中。
- 如請求項1之記憶體模組,其中該錯誤狀態指示器係用以對一主機記憶體控制器指出自從由該主機記憶體控 制器所作之前一次錯誤詢問後,已針對該記憶體模組檢測到一錯誤。
- 如請求項1之記憶體模組,其中該錯誤追蹤電路係進一步用以從連結至該記憶體模組之一主機記憶體控制器接收一錯誤詢問,且接著:將儲存在該錯誤位址暫存器中的該記憶體位址傳送給該主機記憶體控制器;以及將該錯誤位址暫存器設定在一預定無效狀態。
- 如請求項1之記憶體模組,其中該錯誤位址暫存器進一步包含一計數器;以及其中該錯誤追蹤電路係用以於該錯誤位址暫存器儲存該記憶體位址時且在後續針對該記憶體位址檢測到一記憶體錯誤之際,使該計數器增量。
- 如請求項1之記憶體模組,其進一步包含:多個記憶體排組;以及其中該錯誤狀態指示器及該錯誤位址暫存器係與該等多個記憶體排組間之一特定記憶體排組相關聯。
- 一種用於錯誤追蹤之方法,其包含:透過一記憶體模組進行下列動作:接收針對儲存在供該記憶體模組用之一特定記憶體位址之記憶體資料的一記憶體讀取請求;從該特定記憶體位址擷取該記憶體資料;檢測該記憶體資料包括一錯誤,且回應地在不覆寫儲存於該特定記憶體位址之該記憶體資料的 情況下:設定該記憶體模組之一錯誤狀態指示器;及將該特定記憶體位址儲存在該記憶體模組之一錯誤位址暫存器中。
- 如請求項8之方法,其進一步包含從連接至該記憶體模組之一主機記憶體控制器接收一錯誤詢問,且接著:將儲存於該錯誤位址暫存器中的該特定記憶體位址傳送給該主機記憶體控制器。
- 如請求項9之方法,其包含週期地從該主機記憶體控制器接收該錯誤詢問。
- 如請求項9之方法,其更包含在將該特定記憶體位址傳送給該主機記憶體控制器之後:從該主機記憶體控制器接收針對該特定記憶體位址之校正過的記憶體資料,該校正過的記憶體資料校正該記憶體資料中的錯誤;以及以該校正過的記憶體資料覆寫儲存在該特定記憶體位址的該記憶體資料。
- 如請求項8之方法,其中儲存該特定記憶體位址包含在該特定記憶體位址尚未儲存在用於該記憶體模組之多個錯誤位址暫存器中的一者時,將該特定記憶體位址儲存於該錯誤位址暫存器中。
- 一種用於錯誤追蹤之方法,其包含:透過連結至一記憶體模組的一主機記憶體控制器進行下列動作: 傳送一錯誤詢問給該記憶體模組;回應於該錯誤詢問,接收儲存在該記憶體模阻之一錯誤位址暫存器中的一特定記憶體位址;針對該特定記憶體位址傳送一記憶體讀取請求給該記憶體模組;從該記憶體模組接收校正過的資料,該校正過的資料係由該記憶體模組從儲存於該特定記憶體位址的錯誤記憶體資料所校正者;以及傳送一記憶體寫入請求給記憶體模組,以將該校正過的資料寫入該特定記憶體位址。
- 如請求項13之方法,其更包含在由一錯誤詢問參數設定的週期性下,週期地傳送該錯誤詢問給該記憶體模組。
- 如請求項14之方法,其更包含針對該錯誤詢問調整該週期性,以配合實行該主機記憶體控制器之一主機系統的一特徵。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2015/028610 WO2016175852A1 (en) | 2015-04-30 | 2015-04-30 | Memory module error tracking |
??PCT/US15/28610 | 2015-04-30 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201706842A true TW201706842A (zh) | 2017-02-16 |
TWI612418B TWI612418B (zh) | 2018-01-21 |
Family
ID=57198681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105110902A TWI612418B (zh) | 2015-04-30 | 2016-04-07 | 記憶體模組錯誤追蹤技術 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11232848B2 (zh) |
TW (1) | TWI612418B (zh) |
WO (1) | WO2016175852A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
US10896110B2 (en) | 2017-03-29 | 2021-01-19 | Google Llc | Distributed hardware tracing |
WO2021196619A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
TWI769335B (zh) * | 2017-10-31 | 2022-07-01 | 美商高通公司 | 用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體 |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11869615B2 (en) | 2020-04-01 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019025864A2 (en) * | 2017-07-30 | 2019-02-07 | Sity Elad | ARCHITECTURE OF DISTRIBUTED PROCESSORS BASED ON MEMORIES |
US11538546B2 (en) * | 2019-12-16 | 2022-12-27 | Micron Technology, Inc. | Data compression for global column repair |
US11656938B2 (en) * | 2020-09-28 | 2023-05-23 | Micron Technology, Inc. | Preemptive read verification after hardware write back |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2289779B (en) | 1994-05-24 | 1999-04-28 | Intel Corp | Method and apparatus for automatically scrubbing ECC errors in memory via hardware |
US6604177B1 (en) * | 2000-09-29 | 2003-08-05 | Hewlett-Packard Development Company, L.P. | Communication of dissimilar data between lock-stepped processors |
US6937531B2 (en) * | 2003-07-21 | 2005-08-30 | Infineon Technologies Ag | Memory device and method of storing fail addresses of a memory cell |
US7530008B2 (en) | 2003-08-08 | 2009-05-05 | Sun Microsystems, Inc. | Scalable-chip-correct ECC scheme |
US8443260B2 (en) * | 2007-12-27 | 2013-05-14 | Sandisk Il Ltd. | Error correction in copy back memory operations |
US8122308B2 (en) * | 2008-06-25 | 2012-02-21 | Intel Corporation | Securely clearing an error indicator |
TWI396202B (zh) * | 2008-11-14 | 2013-05-11 | Phison Electronics Corp | 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法 |
US8095821B2 (en) * | 2009-03-17 | 2012-01-10 | International Business Machines Corporation | Debugging for multiple errors in a microprocessor environment |
US8495467B1 (en) | 2009-06-30 | 2013-07-23 | Micron Technology, Inc. | Switchable on-die memory error correcting engine |
US20110041005A1 (en) * | 2009-08-11 | 2011-02-17 | Selinger Robert D | Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System |
US8286044B2 (en) * | 2009-09-15 | 2012-10-09 | International Business Machines Corporation | Dynamic random access memory having internal built-in self-test with initialization |
US8312349B2 (en) * | 2009-10-27 | 2012-11-13 | Micron Technology, Inc. | Error detection/correction based memory management |
WO2012039983A1 (en) * | 2010-09-24 | 2012-03-29 | Rambus Inc. | Memory device with ecc history table |
US8694857B2 (en) * | 2011-04-13 | 2014-04-08 | Inphi Corporation | Systems and methods for error detection and correction in a memory module which includes a memory buffer |
US9558847B2 (en) * | 2014-11-21 | 2017-01-31 | Sandisk Technologies Llc | Defect logging in nonvolatile memory |
US9606851B2 (en) * | 2015-02-02 | 2017-03-28 | International Business Machines Corporation | Error monitoring of a memory device containing embedded error correction |
US9812222B2 (en) * | 2015-04-20 | 2017-11-07 | Qualcomm Incorporated | Method and apparatus for in-system management and repair of semi-conductor memory failure |
-
2015
- 2015-04-30 WO PCT/US2015/028610 patent/WO2016175852A1/en active Application Filing
- 2015-04-30 US US15/540,491 patent/US11232848B2/en active Active
-
2016
- 2016-04-07 TW TW105110902A patent/TWI612418B/zh not_active IP Right Cessation
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11650895B2 (en) | 2017-03-29 | 2023-05-16 | Google Llc | Distributed hardware tracing |
US10896110B2 (en) | 2017-03-29 | 2021-01-19 | Google Llc | Distributed hardware tracing |
US10990494B2 (en) | 2017-03-29 | 2021-04-27 | Google Llc | Distributed hardware tracing |
US11921611B2 (en) | 2017-03-29 | 2024-03-05 | Google Llc | Synchronous hardware event collection |
US10365987B2 (en) | 2017-03-29 | 2019-07-30 | Google Llc | Synchronous hardware event collection |
US11232012B2 (en) | 2017-03-29 | 2022-01-25 | Google Llc | Synchronous hardware event collection |
TWI769335B (zh) * | 2017-10-31 | 2022-07-01 | 美商高通公司 | 用於非揮發性記憶體之寫入信用管理之方法、設備及非暫時性電腦可讀儲存媒體 |
CN113495674A (zh) * | 2020-04-01 | 2021-10-12 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11527301B2 (en) | 2020-04-01 | 2022-12-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
CN113495674B (zh) * | 2020-04-01 | 2023-10-10 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
US11869615B2 (en) | 2020-04-01 | 2024-01-09 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11881240B2 (en) | 2020-04-01 | 2024-01-23 | Changxin Memory Technologies, Inc. | Systems and methods for read/write of memory devices and error correction |
US11886287B2 (en) | 2020-04-01 | 2024-01-30 | Changxin Memory Technologies, Inc. | Read and write methods and memory devices |
US11894088B2 (en) | 2020-04-01 | 2024-02-06 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11899971B2 (en) | 2020-04-01 | 2024-02-13 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11914479B2 (en) | 2020-04-01 | 2024-02-27 | Changxin Memory Technologies, Inc. | Method for reading and writing and memory device |
US11922023B2 (en) | 2020-04-01 | 2024-03-05 | Changxin Memory Technologies, Inc. | Read/write method and memory device |
WO2021196619A1 (zh) * | 2020-04-01 | 2021-10-07 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
Also Published As
Publication number | Publication date |
---|---|
TWI612418B (zh) | 2018-01-21 |
US20170372799A1 (en) | 2017-12-28 |
US11232848B2 (en) | 2022-01-25 |
WO2016175852A1 (en) | 2016-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI612418B (zh) | 記憶體模組錯誤追蹤技術 | |
US6158025A (en) | Apparatus and method for memory error detection | |
CN101529396B (zh) | 存储器设备以及更新调整方法 | |
KR100337218B1 (ko) | 스크루빙 및 스페어링을 향상시킨 컴퓨터 램 메모리 시스템 | |
US8301938B2 (en) | Managing memory health | |
CN101937726B (zh) | 针对存储器的快速数据眼再训练 | |
US7290185B2 (en) | Methods and apparatus for reducing memory errors | |
US20190171520A1 (en) | Internally-generated data storage in spare memory locations | |
US11080135B2 (en) | Methods and apparatus to perform error detection and/or correction in a memory device | |
US11055173B2 (en) | Redundant storage of error correction code (ECC) checkbits for validating proper operation of a static random access memory (SRAM) | |
JP6713740B2 (ja) | メモリモジュール | |
WO2016022156A1 (en) | Error counters on a memory device | |
US20140365813A1 (en) | Watchdogable register-based i/o | |
US8689079B2 (en) | Memory device having multiple channels and method for accessing memory in the same | |
US20070250283A1 (en) | Maintenance and Calibration Operations for Memories | |
US8667325B2 (en) | Method, apparatus and system for providing memory sparing information | |
US10521113B2 (en) | Memory system architecture | |
US20080183916A1 (en) | Using Extreme Data Rate Memory Commands to Scrub and Refresh Double Data Rate Memory | |
US20180268913A1 (en) | Remapping operations | |
WO2023108319A1 (en) | In-system mitigation of uncorrectable errors based on confidence factors, based on fault-aware analysis | |
US20240020194A1 (en) | Error detection, prediction and handling techniques for system-in-package memory architectures | |
KR101967955B1 (ko) | 에러 정정 전에 비휘발성 고체 상태 디바이스로부터 데이터를 송신하는 시스템 및 방법 | |
WO2016064395A1 (en) | Determining a chip select from physical rank information |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |