TW201419292A - 用於測試記憶體之系統與方法 - Google Patents
用於測試記憶體之系統與方法 Download PDFInfo
- Publication number
- TW201419292A TW201419292A TW102130929A TW102130929A TW201419292A TW 201419292 A TW201419292 A TW 201419292A TW 102130929 A TW102130929 A TW 102130929A TW 102130929 A TW102130929 A TW 102130929A TW 201419292 A TW201419292 A TW 201419292A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- test
- error
- memory unit
- unit
- 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/10—Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns
-
- 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
-
- 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/0401—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
-
- 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
Landscapes
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本發明揭示用於測試記憶體之系統及方法之實施例,其中偵測記憶體錯誤且防止藉由一計算系統上之應用程式存取包含錯誤之記憶體單元。在至少一實施例中,藉由對一記憶體裝置執行一第一記憶體測試,偵測該記憶體裝置之一記憶體單元中之至少一錯誤且回應於該偵測而執行驗證該至少一錯誤之動作來在一計算系統內測試該記憶體裝置。在至少一實施例中,驗證該至少一錯誤之該等動作包括:防止複數個應用程式之至少一者存取該記憶體單元;對該記憶體單元執行一第二記憶體測試;判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
Description
本申請案主張2012年8月28日申請之美國臨時申請案第61/694,188號之權利,該案之全部內容以引用的方式併入本文中。
本文描述之實施例通常係關於計算系統以及用於在計算系統中使用之記憶體模組及記憶體裝置。
一計算系統通常採用儲存媒體,諸如,例如,隨機存取記憶體(RAM)。在當代計算系統中,由計算系統利用之此記憶體之量可大約為十億位元組及太位元組(terabyte)。
隨著記憶體大小增加,記憶體裝置之記憶體胞製造得有缺陷或在其等部署期間變得有缺陷之概率顯著增加。相應地,有缺陷的記憶體胞可引起計算系統發生故障。此故障可能引起一「當機」一計算系統之當前功能之終止。此可導致關鍵資訊之損失。
存在其中從一「可用記憶體」清單移除包含錯誤之記憶體區塊之已知記憶體保護技術。此清單可由一計算系統之作業系統利用以防止藉由應用程式對具有錯誤之記憶體區塊之存取,而此存取可導致一嚴重記憶體故障及計算系統之當機。
當評估記憶體區塊時,許多已知記憶體保護技術採用一嚴格準則。例如,一記憶體區塊可僅被認為不良(因此從可用記憶體清單移
除)或良好(因此允許保持於可用記憶體清單中)。通常不會試圖區別一記憶體區塊中之良好胞與(例如)可能較弱胞(例如,未通過某項測試之胞,但是未識別錯誤之規則重新出現之型樣)。
對於所有目的而言,一記憶體區塊中之一弱胞可能不足以使得記憶體區塊毫無用處;但是,若記憶體區塊僅能被分類為良好或不良,則將僅僅因為在記憶體區塊測試期間識別一錯誤,甚至若存取記憶體區塊,錯誤並不表示一記憶體故障之一重大風險時,通常仍自動將記憶體區塊視為不良且從可用記憶體清單移除。
本文描述之至少一實施例利用記憶體區塊之多個等級之品質(即,多於兩個品質等級,例如,不僅僅只是「良好」或「不良」)。此可幫助改進可用記憶體之利用率而在可能記憶體故障之風險與期望增加一可用記憶體集區(pool)之間引入一實際折衷。
此外,根據本文描述之至少一實施例,提供一種測試記憶體胞之一兩部分方法。第一部分需要針對錯誤對一記憶體裝置執行一初步或「初級」測試。使用初級測試以識別可能有缺陷的記憶體胞。第二部分需要對相同記憶體裝置執行一進一步更綜合驗證測試(在下文中稱作一「重點測試」)。使用重點測試以驗證未通過初級測試之一給定記憶體胞或記憶體區塊實際上為有缺陷。
具有藉由重點測試識別為有缺陷之記憶體胞之記憶體區塊隨後可從一計算系統上之可用記憶體移除。但是,具有(例如)瞬態或其他非可重現錯誤(例如,在初級測試中針對一給定記憶體胞識別一錯誤,但是未在重點測試中成功地驗證錯誤之情況下,此可建議記憶體胞僅僅為「弱」,而非有缺陷)之記憶體區塊可仍用於使用。
在一廣義態樣中,提供一種測試一計算系統內之一記憶體裝置之方法,其中可由該計算系統之至少一處理器執行複數個應用程式,
該方法包括:對該記憶體裝置執行一第一記憶體測試;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於該偵測,執行驗證該至少一錯誤之動作,該等動作包括:防止該複數個應用程式之至少一者存取該記憶體單元;對該記憶體單元執行一第二記憶體測試;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
在一實施例中,該識別包括將該記憶體單元之一識別記錄於一持續性記憶體中。
在一實施例中,該方法進一步包括:若成功地驗證該至少一錯誤,則將該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該持續性記憶體中。
在一實施例中,該記憶體單元包括以下中之一者:該記憶體裝置之一單個記憶體胞;或由該記憶體裝置之複數個記憶體胞組成之一記憶體區塊。
在一實施例中,執行該第一記憶體測試包括施加一第一數量之測試型樣,且對該記憶體單元執行該第二記憶體測試包括施加一第二數量之測試型樣,該第二數量實質上大於該第一數量。
在一實施例中,該方法進一步包括:對鄰近於該記憶體單元之一個或多個記憶體胞執行該第二記憶體測試;其中當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
在一實施例中,該方法進一步包括:回應於判定未成功地驗證該至少一錯誤,恢復藉由該複數個應用程式之該至少一者對該記憶體單元之存取。
在一實施例中,該方法進一步包括:回應於判定成功地驗證該
至少一錯誤,繼續防止該複數個應用程式之該至少一者存取該記憶體單元。
在一實施例中,該方法進一步包括:若該記憶體單元識別為有缺陷,則產生排除該記憶體單元之一更新之系統記憶體映射。
在一實施例中,一臨限值與該第一記憶體測試關聯,且回應於判定藉由該第一記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第一記憶體測試關聯之該臨限值而執行驗證該至少一錯誤之該等動作。
在一實施例中,與該第一記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
在一實施例中,與該第一記憶體測試關聯之該臨限值係可使用者組態的。
在一實施例中,驗證該至少一錯誤之該等動作進一步包括:將該記憶體單元之一識別記錄於一記憶體中直到該第二記憶體測試完成。
在一實施例中,該方法進一步包括:判定與該記憶體單元關聯之一實體位址,其中該記憶體單元之該識別包括該實體位址。
在一實施例中,該方法進一步包括:將該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該記憶體中。
在一實施例中,該方法進一步包括:在完成該第二記憶體測試之後從該記憶體刪除該記憶體單元之該識別。
在一實施例中,當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
在一實施例中,該方法進一步包括:若藉由該第二記憶體測試在該記憶體單元中偵測之該錯誤數量降到與恢復關聯之一臨限值以
下,恢復藉由該複數個應用程式之該至少一者對該記憶體單元之存取。
在一實施例中,與該第二記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
在一實施例中,與該第二記憶體測試關聯之該臨限值係可使用者組態的。
在一實施例中,藉由一測試應用程式執行該方法,且該防止包括使該記憶體單元與藉由除了該測試應用程式之外之該複數個應用程式之任何一者之存取隔離。
在一實施例中,回應於判定由於該至少一處理器之一未充分利用,所以該計算系統具有備用資源而執行該方法。
在另一廣義態樣中,提供一種計算系統,其經組態以容許在該計算系統內執行一記憶體裝置之測試,該系統包括:至少一處理器,其中複數個應用程式可由該至少一處理器執行;及一記憶體;其中該複數個應用程式包括一測試應用程式,該測試應用程式包括指令,該等指令在由該至少一處理器執行時,組態該至少一處理器以:對該記憶體裝置執行一第一記憶體測試;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:防止該複數個應用程式之至少一者存取該記憶體單元:對該記憶體單元執行一第二記憶體測試;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
在另一廣義態樣中,提供一種包括用於測試一計算系統內之一記憶體裝置之指令之電腦可讀媒體,其中該等指令在由該計算系統之至少一處理器執行時,組態該至少一處理器以:對該記憶體裝置執行一第一記憶體測試;從該第一記憶體測試偵測該記憶體裝置之一記憶
體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:防止該複數個應用程式之至少一者存取該記憶體單元:對該記憶體單元執行一第二記憶體測試;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
在另一廣義態樣中,提供一種測試一記憶體裝置之方法,該方法包括:對該記憶體裝置執行一第一記憶體測試,其中該第一記憶體測試在超出該記憶體裝置之規格需求之操作條件下執行;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於該偵測,執行驗證該至少一錯誤之動作,該等動作包括:對該記憶體單元執行一第二記憶體測試,其中該第二記憶體測試在該記憶體裝置之該等規格需求內之操作條件下執行;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
在一實施例中,該識別包括將該記憶體單元之一識別記錄於一持續性記憶體中。
在一實施例中,該方法進一步包括:若成功地驗證該至少一錯誤,則將該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該持續性記憶體中。
在一實施例中,該記憶體單元包括以下中之一者:該記憶體裝置之一單個記憶體胞;或由該記憶體裝置之複數個記憶體胞組成之一記憶體區塊。
在一實施例中,執行該第一記憶體測試包括施加一第一數量之測試型樣,且對該記憶體單元執行該第二記憶體測試包括施加一第二數量之測試型樣,該第二數量實質上大於該第一數量。
在一實施例中,該方法進一步包括:對鄰近於該記憶體單元之
一個或多個記憶體胞執行該第二記憶體測試;其中當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
在一實施例中,一臨限值與該第一記憶體測試關聯,且其中回應於判定藉由該第一記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第一記憶體測試關聯之該臨限值而執行驗證該至少一錯誤之該等動作。
在一實施例中,與該第一記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
在一實施例中,與該第一記憶體測試關聯之該臨限值係可使用者組態的。
在一實施例中,驗證該至少一錯誤之該等動作進一步包括:將該記憶體單元之一識別記錄於一記憶體中直到該第二記憶體測試完成。
在一實施例中,該方法進一步包括:將藉由該第一記憶體測試在該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該記憶體中。
在一實施例中,該方法進一步包括:在完成該第二記憶體測試之後從該記憶體刪除該記憶體單元之該識別。
在一實施例中,當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
在一實施例中,與該第二記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
在一實施例中,與該第二記憶體測試關聯之該臨限值係可使用者組態的。
在一實施例中,於一工廠環境中執行該方法。
在另一廣義態樣中,提供一種經組態以測試一記憶體裝置之測試系統,該系統包括:至少一處理器;及一記憶體;其中該至少一處理器經組態以:對該記憶體裝置執行一第一記憶體測試,其中該第一記憶體測試在超出該記憶體裝置之規格需求之操作條件下執行;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:對該記憶體單元執行一第二記憶體測試,其中該第二記憶體測試在該記憶體裝置之該等規格需求內之操作條件下執行;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
在另一廣義態樣中,提供一種包括用於測試一記憶體裝置之指令之電腦可讀媒體,其中該等指令在藉由一測試系統之至少一處理器執行時,組態該至少一處理器以:對該記憶體裝置執行一第一記憶體測試,其中該第一記憶體測試在超出該記憶體裝置之規格需求之操作條件下執行;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:對該記憶體單元執行一第二記憶體測試,其中該第二記憶體測試在該記憶體裝置之該等規格需求內之操作條件下執行;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
在本文之描述中提供關於此等實施例及態樣以及其他實施例及態樣之細節。
100‧‧‧可定址記憶體空間
110‧‧‧其他記憶體映射組件
120‧‧‧記憶體模組/雙直列記憶體模組
124、125及126‧‧‧記憶體區塊位址
127‧‧‧有缺陷記憶體位置
150‧‧‧可用記憶體空間
180‧‧‧記憶體區塊
185‧‧‧一位元旗標
190‧‧‧記憶體區塊
195‧‧‧三位元旗標
200‧‧‧測試系統
205‧‧‧資料庫
207‧‧‧網路
210‧‧‧測試器
212‧‧‧介面
215‧‧‧處置器
216‧‧‧控制電腦
217‧‧‧機械構件
220‧‧‧受測試裝置(DUT)
230‧‧‧單個記憶體裝置
240‧‧‧通信通道
250‧‧‧程式記憶體(PM)
260‧‧‧比較器
270‧‧‧參考記憶體裝置(RD)
280‧‧‧測試向量型樣產生器(TVPG)
290‧‧‧控制器(Contr)
294‧‧‧控制電腦(CC)
295‧‧‧微處理器(mP)
300‧‧‧流程圖/方法
305‧‧‧動作
310‧‧‧嚴格制定操作參數
315‧‧‧記憶體測試/動作
320‧‧‧動作
325‧‧‧動作
330‧‧‧動作
335‧‧‧動作
305‧‧‧動作
350‧‧‧流程圖/方法
355‧‧‧動作
360‧‧‧動作
365‧‧‧動作
370‧‧‧動作
375‧‧‧動作
380‧‧‧動作
385‧‧‧動作
390‧‧‧動作
395‧‧‧動作
400‧‧‧測試系統
410‧‧‧作業系統
415‧‧‧記憶體
420‧‧‧查找表
425‧‧‧電腦硬體架構
430‧‧‧監視程式
435‧‧‧記憶體扣留程式
440‧‧‧重點測試程式
445‧‧‧測試應用程式
450‧‧‧永久性清單
455‧‧‧可疑清單
460‧‧‧持續性儲存裝置
465‧‧‧統一可擴展韌體介面(UEFI)或基本輸入/輸出作業系統(BIOS)韌體介面
500‧‧‧流程圖/方法
505‧‧‧動作
510‧‧‧動作
515‧‧‧動作
520‧‧‧動作
525‧‧‧動作
530‧‧‧動作
535‧‧‧動作
540‧‧‧動作
550‧‧‧流程圖/方法
555‧‧‧動作
560‧‧‧動作
565‧‧‧動作
570‧‧‧動作
575‧‧‧動作
580‧‧‧動作
585‧‧‧動作
590‧‧‧動作
592‧‧‧動作
594‧‧‧動作
600‧‧‧流程圖/方法
610‧‧‧動作
615‧‧‧動作
620‧‧‧動作
625‧‧‧動作
630‧‧‧動作
635‧‧‧動作
為了更好地理解本文描述之實例實施例且更清楚地展示其等如何實行,現在僅經由實例參考附圖,其中:
圖1A係繪示用於一計算系統之一實例可定址記憶體空間之一方塊圖;圖1B係繪示圖1A之實例可定址記憶體空間之可用記憶體空間之一方塊圖;圖1C繪示具有一對應之一位元旗標之一記憶體區塊;圖1D繪示具有一對應之三位元旗標之一記憶體區塊;圖2係根據至少一實施例之包括一受測試記憶體裝置及一測試器模組之一測試系統之一方塊圖;圖3A係繪示根據至少一實施例對一記憶體裝置執行一初級測試之一方法之動作之一流程圖;圖3B係繪示根據至少一實施例對一記憶體裝置執行一重點測試之一方法之動作之一流程圖;圖4係根據至少一實施例之一記憶體測試系統之一方塊圖;圖5A係繪示根據至少一實施例對一記憶體裝置執行一初級測試之一方法之動作之一流程圖;圖5B係繪示根據至少一實施例對一記憶體裝置執行一重點測試之一方法之動作之一流程圖;且圖6係繪示根據至少一實施例對一記憶體裝置管理記憶體錯誤之一方法之動作之一流程圖。
首先參考圖1A,繪示用於一計算系統之一實例可定址記憶體空間之一方塊圖一般展示為100。
可定址記憶體空間100包括能夠定址為記憶體之多個記憶體組件。記憶體組件之實例可包含在圖1A及圖1B中經由實例展示為雙直列記憶體模組(DIMM)之記憶體模組120及其他記憶體映射組件110。熟悉此項技術者將理解,可採用除了DIMM之外之記憶體模組。一記
憶體空間可包括一單種類型或不同類型之多個記憶體模組及/或其他記憶體組件。
經由繪示,記憶體空間100可受到一記憶體掃描操作,其掃描各記憶體裝置中之記憶體以循序分析所有可定址記憶體位置。例如,在圖1A中,可循序掃描分別與記憶體區塊位址124、125及126關聯之記憶體區塊(在此實例中,與記憶體區塊位址125關聯之記憶體區塊包含與一個或多個胞關聯之一有缺陷記憶體位置127)。一「記憶體區塊」通常係指一鄰接記憶體位址空間,其由一個別記憶體裝置內一列、一半列或一些其他群組之記憶體胞組成。
在一已知系統中,在一計算系統之開機期間發生記憶體掃描操作。接著計算系統可建立一記憶體映射,其排除如從記憶體掃描操作判定或如從先前啟動掃描判定之有缺陷記憶體位置。識別一特定記憶體空間內之有缺陷記憶體位置之資料可儲存於一記憶體模組上之一持續性儲存區中。例如,持續性儲存區可為記憶體模組上之一串列存在偵測(SPD)裝置。
繼續圖1A之實例,圖1B描繪一可用記憶體空間150,其中在一啟動掃描期間偵測記憶體區塊中之有缺陷記憶體位置127之後,與記憶體區塊位址125(圖1A)關聯之該記憶體區塊已從一更新記憶體映射排除。
圖1C繪示與記憶體區塊位址125及一對應一位元旗標185關聯之一記憶體區塊180。此等一位元旗標已在已知系統中使用以傳遞特定記憶體區塊係「不良」還是「良好」之資訊。若記憶體區塊如由一位元旗標所指示係良好(例如,「0」),則其分配至可定址記憶體空間。另一方面,若記憶體區塊如由一位元旗標所指示係不良(例如,「1」),則其被丟棄且不分配至可定址記憶體空間(例如,參見圖1B)。
在至少一實施例中,可使用多位元旗標且其等與記憶體區塊關聯以有利於記憶體區塊之一分級。一給定記憶體區塊之等級可表示記憶體區塊之一品質量測。因此,相比於其中採用一位元旗標之系統,一多位元旗標可提供記憶體區塊之品質之一更有用及精確之指標。
例如,圖1D繪示與記憶體區塊位址125及一對應三位元旗標195關聯之一記憶體區塊190。可使用多位元旗標(諸如三位元旗標195)以傳遞關於一記憶體區塊之額外資訊(記憶體區塊係良好還是不良且是否應丟棄之簡單觀念之外之資訊)。如此實例中描繪之三位元旗標195容許至多八個等級中之任何一者(例如,其中指派值000、001、010、011、100、101、110、111中之一者)與一記憶體區塊關聯,其中各等級表示針對記憶體區塊識別(例如,透過測試)之品質級別。在變體實施例中,可採用多於或少於八個等級。
在一實施例中,將與一給定記憶體區塊關聯之等級可取決於記憶體區塊之一特定測試期間識別之錯誤數量。例如,若發現記憶體區塊之僅一記憶體胞包含一錯誤,且錯誤可歸因於關於一單個測試型樣之一失敗匹配之一單個例子(其中成功通過所有其他測試),則仍將該記憶體區塊視為具非常高之品質且仍然適於使用。若等級「000」表示一無錯誤記憶體區塊(其中等級「111」表示極差之品質之一記憶體區塊),則儘管事實是在一記憶體區塊之測試期間識別一錯誤,但是等級「001」可用於識別該記憶體區塊之品質非常高。
包含一個或多個測試中識別之錯誤之數量及/或類型之不同準則可與各可用等級關聯。特定言之,在如何取決於特定實施方案設定多位元旗標之值方面存在靈活性。但是,一般而言,包含將通常引起計算系統當機之「硬故障」之區塊之旗標將一般被指派最高值。
在變體實施方案中,旗標值之排序可反轉(例如,具有硬故障之區塊可被指派最低值,而無錯誤記憶體區塊可被指派最高值),或可
採用一些其他排序方法論。
現在參考圖2,根據至少一實施例之包括一受測試記憶體裝置及一測試器模組之一測試系統之一方塊圖一般展示為200。
通常,記憶體裝置由製造商測試及證明以確保信號參數係在由製造商或由對應之適當標準設定之一可容許範圍內。一記憶體裝置之完整測試可包含功能測試以及特定應用測試兩者。
特定針對記憶體裝置,功能測試一般測試一記憶體裝置是否適當地執行特定功能且符合製造商之規格。例如,無論記憶體裝置如何實施,功能測試可測試寫入至一記憶體胞之一數位值稍後是否將會無錯誤地被擷取。更明確言之,記憶體裝置可受到型樣測試,其為一種運行各記憶體裝置以關於某些測試向量型樣驗證其功能性之方法。
功能測試亦可測試一記憶體裝置之某些臨界操作特性是否在一可容許值範圍內。參數測試驗證包含諸如(例如)功耗、待命電流、洩漏電流、電壓位準及存取時間等特性之臨界操作特性。可容許範圍可由記憶體裝置之製造商或由對應之適當標準設定。
雖然功能測試一般方向在於發現一受測試記憶體裝置是否可能在其預期使用或應用期間發生故障,但是其通常涉及測試記憶體裝置以驗證其等如何執行特別為此目的設計之一特定功能集。
一記憶體裝置之進一步測試亦可涉及特定應用測試。在特定應用測試期間,記憶體裝置可受到其等系統性能之一測試以偵測其等性能故障。性能故障係一種在一記憶體裝置操作於一實際應用系統內時發生之故障類型。例如,一性能故障可為由於對一記憶體裝置之一特定命令或存取序列(在一個人電腦(PC)上執行正規操作期間執行)而發生之一故障。
功能測試將不一定偵測性能故障。對於功能測試,一受測試記憶體裝置之操作並不需要指示裝置在其預期應用期間將如何表現。因
此,一記憶體裝置之完整及綜合測試可需要除了功能測試之外之特定應用測試。
再次參考圖2,測試系統200一般包含一測試器210、一處置器215及一受測試裝置(DUT)220。測試器210可經由一介面212連接至處置器215。測試器210及處置器215亦可經由一網路207或藉由為熟悉此項技術者所知之其他方法連接至一資料庫205。
測試器210可包含(例如)一程式記憶體(PM)250、一比較器260、一測試向量型樣產生器(TVPG)280、一控制器(Contr)290、一控制電腦(CC)294及一微處理器(mP)295。實際上,邏輯上展示於圖2中之一些元件之功能可整合至一個或多個實體組件中。在DUT 220包含至少一記憶體裝置(MD)230之情況下,測試器210亦可包含一參考記憶體裝置(RD)270。
為了便於說明,僅繪示測試器210之多種組件與測試系統200之多種組件之間之某些電連接。但是,熟悉此項技術者將理解,測試器210及/或測試系統200可包含除了圖2中所示之一個或多個組件或連接之外或作為圖2中所示之一個或多個組件或連接之一替代物之組件或連接。
在圖2之實例中,測試器210經由一通信通道240將信號傳輸至DUT 220且從DUT 220接收信號。
在圖2中,DUT 220繪示為一單個記憶體裝置230。但是,將理解,DUT 220可包括複數個記憶體裝置,且複數個記憶體裝置可屬於一個或多個記憶體模組。例如,可連續或並行地執行複數個記憶體裝置之各者之測試。在變體實施例中,DUT 220可包含除了記憶體裝置之外之一個或多個裝置。
在一實例實施方案中,測試器210及處置器215在DUT 220之測試期間彼此合作。測試器210及處置器215之各者可裝備有一控制電腦或
其他處理元件(例如,分別為294及216),其等至少經組態以傳達測試結果。例如,處置器215可首先將DUT 220裝載(藉由一機械構件217,諸如例如,一機器人裝置)至測試器210之一測試單元(未展示)中以有利於測試。測試器210對DUT 220執行測試。測試結果由控制電腦(CC)294處理。接著測試器中之控制電腦294可(例如)經由介面212將測試結果發送至處置器中之一控制電腦216。基於接收之測試結果,接著處置器中之控制電腦216可判定實體上要將已測試記憶體裝置從測試單元移動至何處。
在以下段落中描述測試器210相對於DUT 220之一些實例操作。例如,可對記憶體裝置230之各個別記憶體胞執行測試,使得若判定一給定個別記憶體胞為有缺陷(例如,記憶體胞未能通過由測試系統200執行之一測試),則可識別其對應之記憶體位置。
為了對DUT 220執行測試,微處理器295可從程式記憶體250擷取一指令或若干指令。作為回應,微處理器295可指示TVPG 280產生一測試向量型樣之一數位表示,接著其由TVPG 280發送至控制器290。可在測試程序中利用測試向量型樣以判定DUT 220(在此實例中,其為記憶體裝置230)上之有缺陷記憶體位置。或者,DUT 220可包括複數個記憶體裝置。
在接收由TVPG 280產生之測試向量型樣之後,控制器290將測試向量型樣轉換為一電波形。接著控制器290經由通信通道240將電波形輸出至DUT 220。TVPG 280亦將測試向量型樣之一數位表示發送至參考記憶體裝置270用於暫時儲存,以在測試程序中之一稍後階段使用。在變體實施方案中,特定言之,在DUT 220包括(例如)多個記憶體裝置之情況下,可採用包括多個記憶體裝置之一參考記憶體模組,而非一參考記憶體裝置270。
電波形跨通信通道240電傳輸至DUT 220且取樣回數位形式。在
電波形已藉由控制器290傳輸至DUT 220之後之某個點,DUT 220跨通信通道240電傳輸一回應資料信號,該回應資料信號包含DUT 220(在此實例中,即圖2中所示之記憶體裝置230)之各記憶體裝置之一回應位元型樣。未展示之其上之一適當組件或模組可經組態以將來自DUT 220之回應資料信號從其數位形式轉換為一電波形。
接著控制器290將來自DUT 220之回應資料信號轉換為數位形式。回應資料信號包含由記憶體裝置230產生之回應資料信號,該等回應資料信號取決於作為一電波形由控制器290發送至DUT 220之測試向量型樣。
接著控制器290將已轉換之來自DUT 220之回應資料信號中繼至比較器260。在比較器260,來自DUT 220之回應資料信號與一參考信號(即,一般亦稱作一期望之位元型樣之一參考位元型樣)(即,控制器290期望從發送回應資料信號之DUT 220接收之信號)之一數位形式相比較。在一實施例中,先前儲存之參考信號藉由參考記憶體裝置270傳輸至比較器260。比較器260基於一數位比較判定回應資料信號是否為相同於對應之參考信號之一匹配,且將該邏輯判定輸出至微處理器295。
若比較器260判定兩個比較信號之間(即,回應資料信號與對應之參考信號之間)之一數位匹配,則DUT 220至少已在該特定測試向量型樣之背景內容中產生有效資料。在判定DUT 220在測試期間未經歷故障且判定其已符合所有所需規格之情況下,可將DUT 220視為一「良好」、「無錯誤」或「無缺陷」記憶體裝置。
但是,若比較器260判定兩個比較信號並非數位上相同,則DUT 220已經歷某種故障。如先前所描述,對記憶體裝置230上之各個別記憶體胞執行測試。因此,在比較器260判定DUT 220已經歷故障之後,可識別已發生故障之記憶體裝置上之一個或多個記憶體位置且該
等一個或多個記憶體位置可被認為「有缺陷」。一旦產生識別記憶體裝置上之一個或多個有缺陷記憶體位置之資料,可儲存該資料。
例如,識別記憶體裝置上之一個或多個有缺陷記憶體位置之資料可儲存於一資料庫205中。此資料庫205可常駐於測試器210外部或測試器210內或耦合至測試器210之一電腦系統上。例如,若資料庫205在測試器210之外部,則可經由一網路207存取資料庫。
資料庫205中與一有缺陷記憶體位置關聯之各條目可包括(例如)除了識別記憶體裝置上之實際記憶體位置之資料之外之一記憶體裝置識別號碼。可視情況,描述DUT 220在測試期間之一故障之其他細節(例如,DUT之技術特性或引起DUT故障之測試型樣)亦可記錄於資料庫205中。進一步而言,與處置器215關聯之資訊,諸如識別測試程序中使用之處置器(例如,若使用多個處置器)之資料及識別其中處置器放置記憶體裝置以用於測試之位置之資料(例如,一測試座識別符),亦可儲存於資料庫205中。同樣,與測試器210關聯之資訊,諸如識別測試程序中使用之測試器(例如,若使用多個測試器)之資料,亦可儲存於資料庫205中。
根據至少一實施例,對於一給定記憶體裝置,可使用資料庫205以儲存識別記憶體裝置上之一個或多個有缺陷記憶體位置之資料以用來隨後記錄至一記憶體模組上之一持續性儲存區上。從資料庫205獲得之其他資料,諸如,記憶體裝置之操作參數(例如,電子裝置工程聯合委員會(JEDEC)記憶體標準)及例如特定製造商參數或資料,亦可儲存於記憶體模組上之持續性儲存區中。
可在一記憶體測試器(例如,測試器210)之幫助下在一工廠測試環境內執行記憶體裝置之測試。此外,亦可例如在記憶體裝置已部署之後且正在一計算系統中使用,在測試軟體之幫助下,「實地」執行記憶體裝置之測試之方法。
根據本文描述之至少一實施例,可採用一兩部分方法以測試記憶體胞。第一部分需要對一記憶體裝置執行一初步或「初級」測試以識別可能有缺陷之記憶體胞。一有缺陷記憶體胞係未能根據記憶體規格操作之一記憶體胞。第二部分需要對相同記憶體裝置執行一驗證或「重點」測試以驗證未能通過初級測試之一給定記憶體胞或記憶體區塊是否為有缺陷且係何種程度。相比於所有記憶體胞均一地受到相同例行測試之習知記憶體測試技術,此技術可提供更準確之結果。
現在參考圖3A,繪示根據至少一實施例對一記憶體裝置執行一初級測試之一方法之動作之一流程圖一般展示為300。
在一實例實施方案中,一測試系統(例如,圖2之測試器210)可包括至少一處理器(例如,圖2之295)及一記憶體(例如,圖2之250),其中至少一處理器經組態以執行方法300之動作。
在至少一實施例中,在超出記憶體裝置(例如,圖2之記憶體裝置230)之規格需求(例如,由一記憶體製造商或JEDEC記憶體標準擬定)之操作條件下執行一記憶體測試。例如,在超出規格需求之嚴格制定操作參數(例如,電壓、時序或溫度)下執行此記憶體測試。因此,方法300亦可稱作一「超規格」之應力測試。可在一工廠測試環境中執行方法300之動作。方法300之動作開始於305。
在310,初始設定嚴格制定的操作參數。在315,對記憶體裝置執行記憶體測試(例如,在圖2之測試器210及處置器215之幫助下)。如上文提及,在超出記憶體裝置之規格需求之操作條件下執行記憶體測試。雖然未在圖3A中明確展示,但是在記憶體測試315期間,可以一累加方式調整嚴格制定的操作參數310以容許一操作參數範圍內之測試。測試可涉及一般參考圖2描述之測試向量型樣之使用。在一些實施例中,可在315執行功能測試及應用規格測試。
在320,若在記憶體裝置之一記憶體單元(一記憶體單元可定義為
一記憶體胞或作為一記憶體區塊之複數個記憶體胞,如下文所提及)中偵測到至少一個記憶體錯誤,則在325,回應於至少一記憶體錯誤之偵測,記憶體單元之一識別記錄於一記憶體儲存區中。否則,方法300之流程將直接進行至330。
更明確言之,在325,將記憶體單元之識別記錄於記憶體儲存區中直到將執行以驗證偵測之記憶體錯誤之一進一步測試(例如,參見圖3B)之完成。記憶體單元可為記憶體裝置之一單個記憶體胞,且記憶體單元之識別可包括如圖3A中經由實例所示之該記憶體胞之一識別(例如,胞位址)。但是,在一些實施例中,記憶體單元可包括由記憶體裝置中之複數個記憶體胞組成之一記憶體區塊,且記憶體單元之識別可包括該記憶體區塊之一識別(例如,記憶體區塊位址)。
記憶體單元之識別及可能其他關聯資料可記錄於儲存於一記憶體(例如,包含本端儲存器(在測試器210上))中之表示一可疑清單(即,具有初級測試中識別之將受到進一步驗證之錯誤之記憶體單元)之一資料結構中。記憶體可為一揮發性記憶體或一持續性記憶體(例如,圖2之資料庫205)。
在330,判定記憶體裝置之測試是否完成;若記憶體裝置之測試完成,則方法300之流程進行至標記初級測試結束之335,否則方法300之流程返回進行至315,在315處繼續記憶體裝置之測試。
在至少一變體實施例中,一臨限值與初級測試關聯。若對於一給定記憶體單元,由初級測試偵測之錯誤之數量超出臨限值,則將偵測記憶體單元中之一錯誤。但是,若藉由初級測試針對給定記憶體單元偵測之錯誤數量未能超出臨限值,則即使已在初級測試中識別記憶體單元之一些故障,但是記憶體單元中之一錯誤將被認為未被偵測到。例如,若將臨限值設定為零,則若識別任何錯誤,則此有效地造成偵測給定記憶體單元之一錯誤;另一方面,在一些實施方案中,將
臨限值設定為一較高非零值。與初級測試關聯之臨限值可為可使用者組態的(例如,由一管理員或測試工程師設定)。
例如,錯誤之數量可與記憶體單元在初級測試期間未通過之測試型樣之數量成比例。在一實施例中,藉由初級測試在記憶體單元中偵測之錯誤之數量之一指示可結合記憶體單元之識別記錄於記憶體中。在另一實施例中,記憶體單元之一等級(例如,參見參考圖1D之等級之討論)可結合記憶體單元之識別判定且記錄於記憶體中。
現在參考圖3B,繪示根據至少一實施例對一記憶體裝置執行一重點測試之一方法之動作之一流程圖一般展示為350。
因為重複記憶體胞故障將通常保證一計算系統當機,但是「較弱」非重複性記憶體胞故障通常不具有此等嚴重結果(即,非重複性故障可能或可能不會引起一計算系統當機),所以可不同地處理具有規則及不規則再現之型樣之記憶體胞故障。
可在初級測試(例如,圖3A)之後對一記憶體裝置執行一驗證測試以確認如初級測試中識別之特定記憶體單元之錯誤是否可能重現。若一錯誤在初級測試中偵測,但是未在驗證測試中識別為一錯誤,則可能初始偵測之錯誤具有一瞬態性質或可能是測試設備損壞之結果,或初始偵測之錯誤係由於初級測試以「超規格」進行,但是不可能(舉例而言)在正常操作條件下重現,因此未能成功地驗證錯誤。
此驗證測試在本文中亦可稱作一重點測試,且在至少一實施例中,可在一工廠測試環境中執行。
在至少一實例實施例中,關於一錯誤藉由初級測試偵測之一給定記憶體單元(例如,一記憶體胞或一記憶體區塊),重點測試需要在正常操作參數下執行記憶體單元之一更綜合測試。「超規格」測試初始執行為一初級測試以快速發現弱胞,但是因為記憶體將實際上在正常條件下使用,所以重點測試在正常條件下執行。
此外,在至少一實例實施例中,重點測試不僅包括對一給定記憶體單元執行一記憶體測試,而且包括對該記憶體單元之實體鄰區(例如,相鄰或以別的方式緊密接近於給定記憶體單元)中之一個或多個記憶體胞執行一記憶體測試。該記憶體單元之鄰區中之一個或多個胞可屬於不同記憶體單元。此種做法認識到弱胞之操作可受實體鄰近胞影響,且此外,弱胞經常見於叢集中。當在給定記憶體單元中藉由重點測試偵測之錯誤數量超出與重點測試關聯之一臨限值時,可認為藉由重點測試成功地驗證給定記憶體單元中之錯誤。例如,若將臨限值設定為零,則只要藉由重點測試識別到給定記憶體單元中之任何錯誤,此有效地造成成功地驗證給定記憶體單元中之錯誤;另一方面,在一些實施方案中,臨限值可設定為一較高非零值。與重點測試關聯之臨限值可為可使用者組態的(例如,由一管理員或測試工程師設定)。
在至少一實例實施例中,重點測試除了受測試記憶體單元之鄰區內之記憶體胞之測試之外或替代於受測試記憶體單元之鄰區內之記憶體胞之測試,涉及將實質上較大數量之測試(相比於初級測試期間施加之測試數量)施加至受測試記憶體單元。例如,在初級測試期間可對記憶體單元施加第一數量之測試型樣,且在重點測試期間可對記憶體單元施加第二數量之測試型樣,其中第二數量實質上大於第一數量。經由繪示,可在一初級測試期間使用大約數千之測試向量型樣之數量使一記憶體胞受到測試,但是可使用大約數百萬之測試向量型樣之數量使在一重點測試期間測試之各記憶體胞受到測試。
方法350之動作開始於355。在360,恢復已針對初級測試嚴格制定制定之操作參數,使得重點測試在記憶體裝置之規格需求內之操作條件下執行。
在365,從記憶體讀取識別未通過初級測試之記憶體單元之資
料。例如,可在365存取儲存於一持續性記憶體(例如,圖2之資料庫205)中之表示一可疑清單(例如,擁有用於具有在初級測試中識別之將受到進一步驗證之錯誤之記憶體單元之資料)之一資料結構。接著初始選擇一第一記憶體單元以用於測試。一記憶體單元可為如經由實例在圖3B中繪示之一記憶體胞,或一些其他單元(諸如一記憶體區塊)。
在370,對所選記憶體單元執行綜合記憶體測試(例如,在圖2之測試器210及處置器215之幫助下)。此可涉及不僅測試所選記憶體單元,而且測試如上文提及之所選記憶體單元之鄰區中之一個或多個胞。測試可涉及如一般參考圖2描述之測試向量型樣之使用。在一些實施例中,功能測試及應用規格測試可在步驟370執行。
在375,若判定未藉由370處執行之測試成功地驗證所選記憶體單元中之一記憶體錯誤,則在385,將所選記憶體單元從可疑清單刪除且方法350之流程進行至390。另一方面,若成功地驗證所選記憶體單元中之記憶體錯誤,則在380中,將所選記憶體單元識別為有缺陷。
在380,將所選記憶體單元識別為有缺陷可包括將記憶體單元之一識別及可能其他關聯資料記錄於儲存於一記憶體(其可為一持續性記憶體(例如,圖2之資料庫205))中之表示一永久性清單(例如,用於具有已驗證之錯誤之記憶體單元之清單)之一資料結構中。在一實施例中,錯誤之數量(其可與在重點測試期間未通過之記憶體單元之測試型樣之數量成比例)之一指示可結合記憶體單元之識別記錄於記憶體中。在另一實施例中,記憶體單元之一等級(例如,參見參考圖1D之等級之討論)可結合記憶體單元之識別判定且記錄於記憶體中。
若使用不同資料結構實施可疑清單及永久性清單,則記憶體單元之一識別在永久性清單中之記錄可觸發可疑清單中之記憶體單元之
識別之一同時刪除或可藉由該同時刪除觸發(例如,雖然未在圖3B中明確展示,但是類似於動作385之一動作亦可在380之前或之後執行)。
但是,在一變體實施方案中,一單個資料結構可用於表示可疑清單及永久性清單兩者。初級測試(圖3A)已偵測一錯誤之各記憶體單元之一識別可儲存於資料結構中且可採用指示器、計數器或其他參考以追蹤資料結構中識別之哪些記憶體單元已完成驗證測試(圖3B)。未成功地驗證一錯誤之記憶體單元之識別可從資料結構刪除,但是已驗證錯誤之記憶體單元之識別可保留於資料結構中。
在390,判定可疑清單是否識別任何更多待驗證之記憶體單元;若是,則方法350之流程返回進行至365,在365處選擇一進一步記憶體單元以用於測試,否則方法350之流程進行至標記重點測試結束之395。
發明者已認識到,組合執行時之方法300及350構成關於一工廠測試環境中之記憶體裝置之測試極大改進效率之一兩部分測試。兩部分測試方法論一般可稱作智慧型記憶體測試。
在一記憶體裝置已經部署之後且正在一計算系統中使用,亦可在一實地測試環境中採用一類似兩部分測試方法論。可執行一初級測試以初始識別可能有缺陷之記憶體單元,且隨後執行一驗證測試(「重點測試」)以驗證初級測試中識別之記憶體單元中之錯誤。
現在參考圖4,根據至少一實施例之一記憶體測試系統之一方塊圖一般展示為400。在一實施例中,其中利用一記憶體裝置之一計算系統經調適為測試系統400以測試記憶體裝置。
測試系統400經組態以在作業系統410之協助下測試計算系統之一記憶體415內之一記憶體裝置。一監視程式430提供指導計算系統之一個或多個處理器(未明確展示)連續檢驗記憶體415之功能之指令(某
種程度上類似於可在後台中操作以對一計算系統提供即時保護之已知防毒程式)。
因為監視程式430當前操作於稱作一線性(或虛擬)記憶體位址空間之處,所以若一記憶體單元(例如,一記憶體胞或一記憶體區塊)藉由監視程式430識別為可能有缺陷,則執行虛擬記憶體空間中之記憶體單元之位址至實體記憶體位址空間之轉譯,使得可稍後識別與記憶體單元關聯之實體位址。存在可用於協助執行一虛擬轉實體位址轉換之特殊轉譯表或查找表420。在一實例實施方案中,此等表係電腦硬體架構425之部分。監視程式430在作業系統410之協助下,藉由參考查找表420執行虛擬轉實體位址轉換
監視程式430亦可起始一記憶體扣留程式435,其使在一初級測試中識別之故障記憶體單元隔離且將可能有缺陷記憶體單元之一識別及其他關聯資料儲存於表示一可疑錯誤清單(例如,可疑清單455)之一資料結構中直到將執行之隨後驗證完成。可疑清單455可暫時儲存於一揮發性記憶體中或一持續性儲存裝置460中(例如,一記憶體模組之一SPD中或計算系統之一硬碟機上)。
在記憶體單元由記憶體扣留程式435隔離之同時,防止計算系統上執行之其他軟體應用程式存取該等記憶體單元以最小化計算系統之當機之風險。
可疑清單455中在初級測試中識別為可能有缺陷之記憶體單元受到進一步測試以驗證先前發現之錯誤。驗證可在一重點測試程式440之指令下執行,其藉由對識別之記憶體單元執行更廣泛測試,且可能測試該等所識別記憶體單元之鄰區中之其他記憶體胞來確認或駁回先前記錄之記憶體錯誤。
根據至少一實施例,已驗證記憶體錯誤之記憶體單元可能與其他關聯資料一起識別且記錄於一持續性儲存裝置460內之一驗證錯誤
清單(例如,永久性清單450)中。隨著完成可疑清單455中識別之某些記憶體單元之驗證,該等記憶體單元之識別可從可疑清單455移除。
在一些實施例中,當判定計算系統具有備用資源(例如,當計算系統之至少一處理器未被充分利用時),監視程式430及重點測試程式440啟用以避免明顯減慢計算系統之效能。
在一些實施例中,監視程式430、記憶體扣留程式435及重點測試程式440之一些或所有功能性可整合至一單個測試應用程式445中。例如,測試應用程式445可安裝至計算系統上及/或由一使用者或一管理員組態。
測試系統400亦可包括一統一可擴展韌體介面(UEFI)或基本輸入/輸出作業系統(BIOS)韌體介面465安裝,其經組態以(除了別的之外)在(例如)計算系統之開機期間從持續性儲存器460中之一永久性清單450讀取資料以更新一系統記憶體映射且將此資訊提供至作業系統410。作業系統410可採用更新之記憶體映射,使得已發現為有缺陷之記憶體胞被有效地隔絕且因此避免在計算系統之操作期間由應用程式使用。
現在參考圖5A,繪示根據至少一實施例對一記憶體裝置執行一初級測試之一方法之動作之一流程圖一般展示為500。
在一實例實施方案中,方法500在一實地測試環境中執行,該實地測試環境可包括在安裝於計算系統上之軟體(例如,測試應用程式445)之幫助下調適為一測試系統(例如,圖4之測試系統400)之一計算系統。測試應用程式組態計算系統之至少一處理器以執行方法500之動作。
在方法500中執行之初級測試(開始於505)包括在計算系統中之可用記憶體之一監視測試(「初級測試」),首先執行該監視測試以偵測可能有缺陷之記憶體胞。正測試之記憶體可包括一個或多個記憶體裝
置。回應於由於至少一處理器之一當前未充分利用,所以計算系統具有備用資源之一判定執行此測試。此可最小化計算系統之處理資源之消耗。例如,測試應用程式可經組態,使得當認為至少一處理器處於20%利用率(或以下)時,執行初級測試。此可將初級測試標記為一低優先權任務。例如,若計算裝置之使用者未從事任何使用計算裝置的活動且計算裝置未以電池電力運行,則可允許進行初級測試;若使用者重新開始使用計算裝置,則初級測試暫停且測試應用程式可進入一閒置狀態中。
在510,可對計算系統之記憶體執行記憶體測試(例如,在圖4之監視程式430之幫助下)。在515,若在記憶體之一記憶體單元中偵測到至少一記憶體錯誤,則在530,回應於至少一記憶體錯誤之偵測,將記憶體單元之一識別記錄於一記憶體儲存區中。否則,方法500之流程將直接進行至535。
關於動作530,將記憶體單元之識別記錄於記憶體儲存區中直到經執行以驗證偵測之記憶體錯誤之一進一步驗證測試(例如,參見圖5B)完成。記憶體單元可為一記憶體裝置之一單個記憶體胞,且記憶體單元之識別可包括如圖5A中經由實例所示之該記憶體胞之一識別(例如,胞位址)。但是,在一些實施例中,記憶體單元可包括由記憶體裝置中之複數個胞組成之一記憶體區塊,且記憶體單元之識別可包括該記憶體區塊之一識別(例如,記憶體區塊位址)。
熟悉此項技術者將理解邏輯與實體可定址記憶體空間之間之差異。在邏輯上,一記憶體空間分為記憶體區塊,其等可從較低至較高邏輯記憶體位址定址。雖然一邏輯可定址記憶體空間通常從較低記憶體位址跨越至較高記憶體位址,但是對於對應之實體記憶體空間,此不一定如此。對於各記憶體區塊,其邏輯記憶體位址對應於其可在實體記憶體空間中發現之實體位址。當執行記憶體管理時,為了從一邏
輯位址轉譯至實體位址,一計算系統習慣地採用一轉譯表。
在一實施例中,為了有利於將記憶體單元之識別記錄於記憶體儲存區中,在525,在將記憶體單元之識別儲存於記憶體儲存區之前可藉由將記憶體單元之一虛擬記憶體位址轉換為一實體位址(例如,在通常位於微處理器內部且為圖4之電腦硬體架構425之部分之虛擬轉實體位址轉譯表或轉換查找表420之幫助下)來判定與記憶體單元關聯之一實體位址。接著識別可包括記憶體單元之實體位址。
此外,除了將(偵測到錯誤之)記憶體單元之識別記錄於記憶體儲存區中之外,根據至少一實施例,在520,將記憶體單元與執行於計算裝置上之至少一其他應用程式隔離(例如,在圖4之記憶體扣留程式435之幫助下)。此動作需要防止至少一應用程式(通常除了測試應用程式自身之外)存取可能有缺陷之記憶體單元以最小化計算系統之一當機之風險直至可在一進一步驗證測試(例如,參見圖5B)中對記憶體單元驗證錯誤。動作520展示為在記錄動作530之前執行;但是,在變體實施例中,動作520可與動作530並行、在動作530之後或否則與動作530同時執行。
在一實施例中,關於動作530,記憶體單元之識別及可能其他關聯資料可記錄於儲存於一記憶體(其可為一揮發性記憶體儲存區或一持續性記憶體(例如,圖4之持續性儲存器460,舉例而言,其可為一記憶體模組之一SPD,計算裝置之一主機板上或一硬碟上之一記憶體儲存區))中之表示一可疑清單(即,具有初級測試中識別之將受到進一步驗證之錯誤之記憶體單元之一清單,諸如,例如圖4之可疑清單455)之一資料結構中。
在535,判定記憶體之測試是否完成;若記憶體之測試完成(例如,一使用者已終止測試應用程式之執行或計算系統重啟),則方法500之流程進行至標記初級測試結束之540,否則方法500之流程返回
進行至510,在510處繼續記憶體之測試。
在一實施例中,可在一循環迴路中連續有效地執行記憶體之監視,直至測試應用程式之執行終止或計算系統重啟。在該案例中,方法500之流程可從動作535自動返回進行至510。
在至少一變體實施例中,一臨限值與初級測試關聯。若對於一給定記憶體單元,由初級測試偵測之錯誤之數量超出臨限值,則將偵測記憶體單元中之錯誤。但是,若藉由初級測試針對給定記憶體單元偵測之錯誤數量未能超出臨限值,則即使已在初級測試中識別記憶體單元之一些故障,但是記憶體單元中之錯誤將被認為未被偵測到。例如,若將臨限值設定為零,則若識別任何錯誤,則此有效地造成針對給定記憶體單元偵測到一錯誤;另一方面,在一些實施方案中,臨限值可設定為一較高非零值。與初級測試關聯之臨限值可為可使用者組態的(例如,由計算裝置之一使用者或一管理員設定)。
例如,錯誤之數量可與記憶體單元在初級測試期間未通過之測試型樣之數量成比例。在一實施例中,藉由初級測試在記憶體單元中偵測之錯誤之數量之一指示可結合記憶體單元之識別記錄於記憶體儲存區中。在另一實施例中,記憶體單元之一等級(例如,參見參考圖1D之等級之討論)可結合記憶體單元之識別判定且記錄於記憶體中。
現在參考圖5B,繪示根據至少一實施例對一記憶體裝置執行一重點測試之一方法之動作之一流程圖一般展示為550。
因為重複記憶體胞故障將通常保證一計算系統當機,但是「較弱」非重複性記憶體胞故障通常不具有此等嚴重結果(即,非重複性故障可能或可能不會引起一計算系統當機),所以可不同地處理具有規則及不規則再現之型樣之記憶體胞故障。
可在初級測試(例如,圖5A)之後對計算系統之一記憶體中之一記憶體裝置執行一驗證測試以確認初級測試中識別之錯誤是否可能重
現。若一錯誤在初級測試中偵測,但是未在隨後驗證測試中識別為一錯誤,則可能初始偵測之錯誤具有(例如)一瞬態性質,因此未能成功地驗證錯誤。此驗證測試亦可稱作一重點測試且可執行於實地測試環境中(例如,一計算系統中)。
在至少一實例實施例中,重點測試不僅包括對一給定記憶體單元(無論其為一個別記憶體胞還是一記憶體區塊)執行一記憶體測試,而且包括對該記憶體單元之實體鄰區(例如,相鄰或以別的方式緊密接近於給定記憶體單元)中之一個或多個記憶體胞執行一記憶體測試。該記憶體單元之鄰區中之一個或多個胞可屬於不同記憶體單元。此種做法認識到弱胞之操作可受實體鄰近胞影響,且此外,弱胞經常見於叢集中。當在給定記憶體單元中藉由重點測試偵測之錯誤數量超出與重點測試關聯之一臨限值時,可認為藉由重點測試成功地驗證給定記憶體單元中之錯誤。例如,若臨限值設定為零,則只要藉由重點測試識別到給定記憶體單元中之任何錯誤,此有效地造成成功地驗證給定記憶體單元中之錯誤;另一方面,在一些實施方案中,臨限值可設定為一較高非零值。與重點測試關聯之臨限值可為可使用者組態的(例如,由計算系統之一使用者或一管理員設定)。
在至少一實例實施例中,重點測試除了受測試記憶體單元之鄰區內之記憶體胞之測試之外或替代於受測試記憶體單元之鄰區內之記憶體胞之測試,涉及將實質上較大數量之測試(相比於初級測試期間施加之測試數量)施加至受測試記憶體單元。例如,在初級測試期間可對記憶體單元施加第一數量之測試型樣,且在重點測試期間可對記憶體單元施加第二數量之測試型樣,其中第二數量實質上大於第一數量。經由繪示,可在一初級測試期間使用大約數千之測試向量型樣之數量使一記憶體胞受到測試,但是可使用大約數百萬之測試向量型樣之數量使在一重點測試期間測試之各記憶體胞受到測試。
初級測試之主要目的係掃描一計算系統之記憶體之整個範圍以檢查其處於正常運轉狀態。此測試可在電腦閒置時完成。例如,若計算系統閒置了一個小時,則採用之測試型樣之數量可比計算系統已閒置了一整天時之數量小。另一方面,重點測試之主要目的係在深度上測試可疑記憶體胞。利用一廣泛測試向量型樣集測試此等胞,直至發現此等胞為良好或識別其等問題。
在一實施方案中,回應於由於至少一處理器之一當前未充分利用,所以計算系統具有備用資源之一判定執行重點測試。此可最小化計算系統之處理資源之消耗。例如,測試應用程式可經組態,使得當認為至少一處理器處於20%利用率(或以下)時,執行重點測試。此可將重點測試標記為一低優先權任務。例如,若計算裝置之使用者未從事任何使用計算裝置的活動且計算裝置未以電池電力運行,則可允許進行重點測試;若使用者重新開始使用計算裝置,則重點測試可暫停且測試應用程式可進入一閒置狀態中。
方法550之動作開始於555。在560,從記憶體讀取識別未通過初級測試之記憶體單元之資料。例如,監控且存取其中已(例如,在圖4之可疑清單455中)識別具有記憶體錯誤之記憶體單元且該等記憶體錯誤正等候驗證之一資料結構。
若可疑清單為空的,或若以別的方式判定無具有錯誤之記憶體單元需在565驗證,則方法550之流程將返回進行至560以繼續監控。在一實施例中,輪詢可疑清單之頻率可為使用者定義(例如,藉由計算裝置之一使用者或一管理員)。否則,若識別一錯誤有待驗證之一記憶體單元,則初始選擇一第一記憶體單元以用於測試,且方法550之流程進行至570。一記憶體單元可為如經由實例在圖5B中所示之一記憶體胞,或一些其他單元(諸如一記憶體區塊)。
在570,對所選記憶體單元執行綜合記憶體測試(例如,在圖4之
重點測試程式440之幫助下)。此可涉及不僅測試所選記憶體單元,而且測試如上文提及之所選記憶體單元之鄰區中之一個或多個胞。
在575,若判定未藉由570處執行之測試成功地驗證所選記憶體單元中之一記憶體錯誤,則在590,將所選記憶體單元從可疑清單刪除且方法550之流程進行至592。另一方面,若成功地驗證所選記憶體單元中之記憶體錯誤,則在580中,將所選記憶體單元識別為有缺陷。
若所選記憶體單元在580中被識別為有缺陷,則測試應用程式可繼續防止藉由計算系統之另一應用程式對記憶體單元之存取。
在一實施例中,在585,若未成功地驗證所選記憶體單元中之記憶體錯誤,則釋放回隔離之記憶體單元(例如,參見圖5A之520)以用於由計算系統之作業系統(例如,圖4之作業系統410)使用,因此恢復藉由計算系統之其他應用程式對記憶體單元之存取。在一變體實施例中,一臨限值可與此恢復動作關聯,該臨限值可經組態以不同於可與重點測試關聯之任何臨限值。例如,當藉由重點測試偵測之記憶體單元中之錯誤數量降到與恢復動作關聯之臨限值以下時,恢復藉由計算系統之其他應用程式對記憶體單元之存取。此可容許以下可能性:可針對一記憶體單元驗證某一數量之錯誤,該數量足以使記憶體單元呈現為有缺陷,但是未超出建議記憶體單元應保持隔離之一臨限值。
在580,將所選記憶體單元識別為有缺陷可包括將記憶體單元之一識別及可能其他關聯資料記錄於儲存於一記憶體(其可為一持續性記憶體(例如,圖4之持續性儲存器460,舉例而言,其可為一記憶體模組之一SPD,計算裝置之一主機板上或一硬碟上之一記憶體儲存區))中之表示一永久性清單(即,用於具有已驗證之錯誤之記憶體單元之清單,諸如例如,圖4之永久性清單450)之一資料結構中。在一實施例中,錯誤之數量(其可與在重點測試期間未通過之記憶體單元之
測試型樣之數量成比例)之一指示可結合記憶體單元之識別記錄於持續性記憶體中。在另一實施例中,記憶體單元之一等級(例如,參見參考圖1D之等級之討論)可結合記憶體單元之識別判定且記錄於記憶體中。
若使用不同資料結構實施可疑清單及永久性清單,則記憶體單元在永久性清單中記錄為有缺陷可觸發可疑清單中之記憶體單元之識別之一同時刪除或可藉由該同時刪除觸發(例如,雖然未在圖5B中明確展示,但是類似於動作590之一動作亦可在580之前或之後執行)。
但是,在一變體實施方案中,一單個資料結構可用於表示可疑清單及永久性清單兩者。初級測試(圖5A)已偵測一錯誤之各記憶體單元之一識別可儲存於資料結構中且可採用一指示器、計數器或其他參考以追蹤資料結構中識別之哪些記憶體單元已完成驗證測試(圖5B)。未成功地驗證一錯誤之記憶體單元之識別可從資料結構刪除,但是已驗證錯誤之記憶體單元之識別可保留於資料結構中。
在592,判定是否需驗證可疑清單中識別之更多記憶體單元;若是,則方法550之流程返回進行至570,在570處選擇一下一個記憶體單元以用於測試,否則方法550之流程進行至標記重點測試結束之594。
在一實施例中,可在一循環迴路中連續有效地執行方法550之動作,直至測試應用程式之執行終止或計算系統重啟。在該案例中,方法550之流程可從動作592自動返回進行至560。
發明者已認識到,組合執行時之方法500及550構成關於一實地測試環境中之記憶體裝置之測試極大改進效率之一兩部分測試。
已在一重點測試(例如,圖5B之方法550或圖3B之方法350)驗證錯誤之記憶體單元可從一計算系統之一記憶體之一可用記憶體空間(例如,圖1B之150)移除。例如,此可在一計算系統之開機或一重啟
期間完成。
現在參考圖6,繪示根據至少一實施例對一記憶體裝置管理記憶體錯誤之一方法之動作之一流程圖一般展示為600。
在610,計算系統開機。接著,在615,計算系統之UEFI/BIOS硬體(例如,圖4之465)啟動且以一已知方式執行其功能。
在620,產生一系統記憶體映射。然而,映射之此版本必須經調整以適應已根據本文描述之至少一實施例在測試期間識別及驗證之有缺陷記憶體單元(例如,記憶體胞及/或記憶體區塊)。
因此,在一實例實施例中,在625,存取識別有缺陷記憶體單元之一資料結構(例如,圖4之永久性清單450),且在630使用其中之資料以更新系統記憶體映射。當在635,將此更新系統記憶體映射提供至作業系統時,有缺陷記憶體單元可從可用記憶體空間刪除且將最小化一計算當機之風險。
而且,在至少一實施例中,已從一更新系統記憶體映射排除之記憶體單元亦將從進一步測試排除(例如,從正在圖5A之510處測試及/或圖5B之570處驗證之記憶體單元排除),藉此節省計算系統上之處理資源。
本文描述之一個或多個方法之動作可體現為儲存於(例如)一非揮發性儲存裝置中之電腦可讀指令。
500‧‧‧流程圖/方法
505‧‧‧動作
510‧‧‧動作
515‧‧‧動作
520‧‧‧動作
525‧‧‧動作
530‧‧‧動作
535‧‧‧動作
540‧‧‧動作
Claims (42)
- 一種測試一計算系統內之一記憶體裝置之方法,其中可由該計算系統之至少一處理器執行複數個應用程式,該方法包括:對該記憶體裝置執行一第一記憶體測試;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於該偵測,執行驗證該至少一錯誤之動作,該等動作包括:防止該複數個應用程式之至少一者存取該記憶體單元;對該記憶體單元執行一第二記憶體測試;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
- 如請求項1之方法,其中該識別包括:將該記憶體單元之一識別記錄於一持續性記憶體中。
- 如請求項2之方法,其進一步包括:若成功地驗證該至少一錯誤,則將該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該持續性記憶體中。
- 如請求項1之方法,其中該記憶體單元包括以下中之一者:該記憶體裝置之一單個記憶體胞;或由該記憶體裝置之複數個記憶體胞組成之一記憶體區塊。
- 如請求項1之方法,其中執行該第一記憶體測試包括:施加一第一數量之測試型樣,且其中對該記憶體單元執行該第二記憶體 測試包括施加一第二數量之測試型樣,該第二數量實質上大於該第一數量。
- 如請求項1之方法,其進一步包括:對鄰近於該記憶體單元之一個或多個記憶體胞執行該第二記憶體測試;其中當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
- 如請求項1之方法,其進一步包括:回應於判定未成功地驗證該至少一錯誤,恢復藉由該複數個應用程式之該至少一者對該記憶體單元之存取。
- 如請求項7之方法,其進一步包括:回應於判定成功地驗證該至少一錯誤,繼續防止該複數個應用程式之該至少一者存取該記憶體單元。
- 如請求項1之方法,其進一步包括:若該記憶體單元識別為有缺陷,則產生排除該記憶體單元之一更新之系統記憶體映射。
- 如請求項1之方法,其中一臨限值與該第一記憶體測試關聯,且其中回應於判定藉由該第一記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第一記憶體測試關聯之該臨限值而執行驗證該至少一錯誤之該等動作。
- 如請求項10之方法,其中與該第一記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
- 如請求項10之方法,其中與該第一記憶體測試關聯之該臨限值 係可使用者組態的。
- 如請求項1之方法,其中驗證該至少一錯誤之該等動作進一步包括:將該記憶體單元之一識別記錄於一記憶體中直到該第二記憶體測試完成。
- 如請求項13之方法,其進一步包括:判定與該記憶體單元關聯之一實體位址,其中該記憶體單元之該識別包括該實體位址。
- 如請求項13之方法,其進一步包括:將該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該記憶體中。
- 如請求項13之方法,其進一步包括:在完成該第二記憶體測試之後從該記憶體刪除該記憶體單元之該識別。
- 如請求項1之方法,其中當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
- 如請求項17之方法,其進一步包括:若藉由該第二記憶體測試在該記憶體單元中偵測之該錯誤數量降到與恢復關聯之一臨限值以下時,恢復藉由該複數個應用程式之該至少一者對該記憶體單元之存取。
- 如請求項17之方法,其中與該第二記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
- 如請求項17之方法,其中與該第二記憶體測試關聯之該臨限值 係可使用者組態的。
- 如請求項1之方法,其中藉由一測試應用程式執行該方法,且其中該防止包括使該記憶體單元與藉由除了該測試應用程式之外之該複數個應用程式之任何一者之存取隔離。
- 如請求項1之方法,其中回應於判定由於該至少一處理器之一未充分利用,所以該計算系統具有備用資源而執行該方法。
- 一種計算系統,其經組態以容許在該計算系統內測試一記憶體裝置,該系統包括:至少一處理器,其中複數個應用程式可由該至少一處理器執行;及一記憶體;其中該複數個應用程式包括一測試應用程式,該測試應用程式包括指令,該等指令在由該至少一處理器執行時,組態該至少一處理器以:對該記憶體裝置執行一第一記憶體測試;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:防止該複數個應用程式之至少一者存取該記憶體單元:對該記憶體單元執行一第二記憶體測試;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
- 一種包括用於測試一計算系統內之一記憶體裝置之指令之電腦 可讀媒體,其中該等指令在由該計算系統之至少一處理器執行時,組態該至少一處理器以:對該記憶體裝置執行一第一記憶體測試;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:防止該複數個應用程式之至少一者存取該記憶體單元:對該記憶體單元執行一第二記憶體測試;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
- 一種測試一記憶體裝置之方法,該方法包括:對該記憶體裝置執行一第一記憶體測試,其中該第一記憶體測試在超出該記憶體裝置之規格需求之操作條件下執行;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於該偵測,執行驗證該至少一錯誤之動作,該等動作包括:對該記憶體單元執行一第二記憶體測試,其中該第二記憶體測試在該記憶體裝置之該等規格需求內之操作條件下執行;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有 缺陷。
- 如請求項25之方法,其中該識別包括:將該記憶體單元之一識別記錄於一持續性記憶體中。
- 如請求項26之方法,其進一步包括:若成功地驗證該至少一錯誤,則將該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該持續性記憶體中。
- 如請求項25之方法,其中該記憶體單元包括以下中之一者:該記憶體裝置之一單個記憶體胞;或由該記憶體裝置之複數個記憶體胞組成之一記憶體區塊。
- 如請求項25之方法,其中執行該第一記憶體測試包括施加一第一數量之測試型樣,且其中對該記憶體單元執行該第二記憶體測試包括施加一第二數量之測試型樣,且該第二數量實質上大於該第一數量。
- 如請求項25之方法,其進一步包括:對鄰近於該記憶體單元之一個或多個記憶體胞執行該第二記憶體測試;其中當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
- 如請求項25之方法,其中一臨限值與該第一記憶體測試關聯,且其中回應於判定藉由該第一記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第一記憶體測試關聯之該臨限值而執行驗證該至少一錯誤之該等動作。
- 如請求項31之方法,其中與該第一記憶體測試關聯之該臨限值包括以下中之一者: 零;或大於零之一值。
- 如請求項31之方法,其中與該第一記憶體測試關聯之該臨限值係可使用者組態的。
- 如請求項25之方法,其中驗證該至少一錯誤之該等動作進一步包括:將該記憶體單元之一識別記錄於一記憶體中直到該第二記憶體測試完成。
- 如請求項34之方法,其進一步包括:將藉由該第一記憶體測試在該記憶體單元中偵測之一錯誤數量之一指示結合該記憶體單元之該識別記錄於該記憶體中。
- 如請求項34之方法,其進一步包括:在完成該第二記憶體測試之後從該記憶體刪除該記憶體單元之該識別。
- 如請求項25之方法,其中當藉由該第二記憶體測試在該記憶體單元中偵測之一錯誤數量超出與該第二記憶體測試關聯之一臨限值時,成功地驗證該至少一錯誤。
- 如請求項37之方法,其中與該第二記憶體測試關聯之該臨限值包括以下中之一者:零;或大於零之一值。
- 如請求項37之方法,其中與該第二記憶體測試關聯之該臨限值係可使用者組態的。
- 如請求項25之方法,其中於一工廠環境中執行該方法。
- 一種經組態以測試一記憶體裝置之測試系統,該系統包括:至少一處理器;及 一記憶體;其中該至少一處理器經組態以:對該記憶體裝置執行一第一記憶體測試,其中該第一記憶體測試在超出該記憶體裝置之規格需求之操作條件下執行;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:對該記憶體單元執行一第二記憶體測試,其中該第二記憶體測試在該記憶體裝置之該等規格需求內之操作條件下執行;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
- 一種包括用於測試一記憶體裝置之指令之電腦可讀媒體,其中該等指令在藉由一測試系統之至少一處理器執行時,組態該至少一處理器以:對該記憶體裝置執行一第一記憶體測試,其中該第一記憶體測試在超出該記憶體裝置之規格需求之操作條件下執行;從該第一記憶體測試偵測該記憶體裝置之一記憶體單元中之至少一錯誤;回應於偵測到該至少一錯誤,執行驗證該至少一錯誤之動作,該等動作包括:對該記憶體單元執行一第二記憶體測試,其中該第二記憶體測試在該記憶體裝置之該等規格需求內之操作條件下執 行;從該第二記憶體測試判定是否成功地驗證該至少一錯誤;且若成功地驗證該至少一錯誤,則將該記憶體單元識別為有缺陷。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261694188P | 2012-08-28 | 2012-08-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201419292A true TW201419292A (zh) | 2014-05-16 |
TWI552158B TWI552158B (zh) | 2016-10-01 |
Family
ID=50189205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102130929A TWI552158B (zh) | 2012-08-28 | 2013-08-28 | 用於測試記憶體之系統與方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9117552B2 (zh) |
TW (1) | TWI552158B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI828438B (zh) * | 2022-11-24 | 2024-01-01 | 英業達股份有限公司 | 基於邊界掃描互連的虛擬雙列直插式記憶體模組測試系統及其方法 |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8724408B2 (en) | 2011-11-29 | 2014-05-13 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing and assembling memory modules |
JP6070374B2 (ja) * | 2013-03-29 | 2017-02-01 | 富士通株式会社 | 情報処理装置、メモリ試験プログラムおよびメモリ試験方法 |
US9043638B1 (en) * | 2014-11-14 | 2015-05-26 | Quanta Computer Inc. | Method for enhancing memory fault tolerance |
US20160139204A1 (en) * | 2014-11-14 | 2016-05-19 | Xpliant, Inc. | Testbench builder, system, device and method including a generic driver and transporter |
US10282315B2 (en) | 2015-03-27 | 2019-05-07 | Cavium, Llc | Software assisted hardware configuration for software defined network system-on-chip |
WO2016188571A1 (en) * | 2015-05-27 | 2016-12-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for analysing performance of a network by managing network data relating to operation of the network |
US20160378591A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Adaptive error correction in memory devices |
US10777295B2 (en) * | 2018-04-12 | 2020-09-15 | Micron Technology, Inc. | Defective memory unit screening in a memory system |
WO2020176999A1 (en) | 2019-03-06 | 2020-09-10 | Kingtiger Technology (Canada) Inc. | System and method for verifying and analyzing memory for high performance computing systems |
US11170866B2 (en) * | 2019-10-22 | 2021-11-09 | Micron Technology, Inc. | Managing block retirement for temporary operational conditions |
CN113450865B (zh) | 2020-03-26 | 2022-05-20 | 长鑫存储技术有限公司 | 存储器测试系统及其测试方法 |
TWI777259B (zh) * | 2020-09-30 | 2022-09-11 | 神雲科技股份有限公司 | 開機方法 |
CN113140251B (zh) * | 2021-04-21 | 2023-02-10 | 深圳市研强物联技术有限公司 | 一种在产线测试中检测ram的方法及系统 |
CN118155698B (zh) * | 2024-05-09 | 2024-08-06 | 深圳市晶存科技有限公司 | 数据测试方法、电子设备及存储介质 |
Family Cites Families (162)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4001818A (en) | 1975-10-22 | 1977-01-04 | Storage Technology Corporation | Digital circuit failure detector |
US4209846A (en) | 1977-12-02 | 1980-06-24 | Sperry Corporation | Memory error logger which sorts transient errors from solid errors |
US4240143A (en) | 1978-12-22 | 1980-12-16 | Burroughs Corporation | Hierarchical multi-processor network for memory sharing |
US4379259A (en) | 1980-03-12 | 1983-04-05 | National Semiconductor Corporation | Process of performing burn-in and parallel functional testing of integrated circuit memories in an environmental chamber |
CA1163721A (en) | 1980-08-18 | 1984-03-13 | Milan Slamka | Apparatus for the dynamic in-circuit testing of electronic digital circuit elements |
US4426688A (en) | 1981-08-03 | 1984-01-17 | Ncr Corporation | Memory system having an alternate memory |
US4479214A (en) | 1982-06-16 | 1984-10-23 | International Business Machines Corporation | System for updating error map of fault tolerant memory |
JPS6238600A (ja) | 1985-08-14 | 1987-02-19 | Fujitsu Ltd | 半導体記憶装置 |
US4965799A (en) | 1988-08-05 | 1990-10-23 | Microcomputer Doctors, Inc. | Method and apparatus for testing integrated circuit memories |
DE69033262T2 (de) | 1989-04-13 | 2000-02-24 | Sandisk Corp., Santa Clara | EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher |
ATE125386T1 (de) | 1989-05-31 | 1995-08-15 | Siemens Ag | Verfahren und vorrichtung zum internen paralleltest von halbleiterspeichern. |
US5375228A (en) | 1991-02-04 | 1994-12-20 | Analog Devices, Inc. | Real-time signal analysis apparatus and method for digital signal processor emulation |
WO1993000628A1 (en) | 1991-06-26 | 1993-01-07 | Ast Research, Inc. | Multiprocessor distributed initialization and self-test system |
US5588112A (en) | 1992-12-30 | 1996-12-24 | Digital Equipment Corporation | DMA controller for memory scrubbing |
EP0675436B1 (en) | 1994-03-31 | 1999-10-27 | STMicroelectronics, Inc. | Recoverable set associative cache |
US5612965A (en) | 1994-04-26 | 1997-03-18 | Unisys Corporation | Multiple memory bit/chip failure detection |
US6055661A (en) | 1994-06-13 | 2000-04-25 | Luk; Fong | System configuration and methods for on-the-fly testing of integrated circuits |
US5539697A (en) | 1994-08-03 | 1996-07-23 | Bi-Search Corporation | Method and structure for using defective unrepairable semiconductor memory |
JP3605150B2 (ja) | 1994-08-22 | 2004-12-22 | 株式会社アドバンテスト | アドレスパターン発生器 |
EP0704854B1 (en) | 1994-09-30 | 1999-12-01 | STMicroelectronics S.r.l. | Memory device having error detection and correction function, and methods for writing and erasing the memory device |
DE4436559C2 (de) | 1994-10-13 | 1998-07-02 | Heidelberger Druckmasch Ag | Vorrichtung zum Zuführen von Druckplatten |
US5642506A (en) | 1994-12-14 | 1997-06-24 | International Business Machines Corporation | Method and apparatus for initializing a multiprocessor system |
US5619430A (en) | 1995-10-10 | 1997-04-08 | Microchip Technology Inc. | Microcontroller with on-chip linear temperature sensor |
US5720031A (en) | 1995-12-04 | 1998-02-17 | Micron Technology, Inc. | Method and apparatus for testing memory devices and displaying results of such tests |
US5751641A (en) | 1995-12-27 | 1998-05-12 | Sgs-Thomson Microelectronics, Inc. | Microprocessor memory test circuit and method |
US5764878A (en) | 1996-02-07 | 1998-06-09 | Lsi Logic Corporation | Built-in self repair system for embedded memories |
US5758056A (en) | 1996-02-08 | 1998-05-26 | Barr; Robert C. | Memory system having defective address identification and replacement |
US5774647A (en) | 1996-05-15 | 1998-06-30 | Hewlett-Packard Company | Management of memory modules |
GB9614551D0 (en) | 1996-07-11 | 1996-09-04 | Memory Corp Plc | Memory system |
US6125392A (en) | 1996-10-11 | 2000-09-26 | Intel Corporation | Method and apparatus for high speed event log data compression within a non-volatile storage area |
US5905858A (en) | 1996-11-01 | 1999-05-18 | Micron Electronics, Inc. | System for method memory error handling |
US5862314A (en) | 1996-11-01 | 1999-01-19 | Micron Electronics, Inc. | System and method for remapping defective memory locations |
DE19647159A1 (de) | 1996-11-14 | 1998-06-04 | Siemens Ag | Verfahren zum Testen eines in Zellenfelder unterteilten Speicherchips im laufenden Betrieb eines Rechners unter Einhaltung von Echtzeitbedingungen |
US5996096A (en) | 1996-11-15 | 1999-11-30 | International Business Machines Corporation | Dynamic redundancy for random access memory assemblies |
US5995915A (en) | 1997-01-29 | 1999-11-30 | Advanced Micro Devices, Inc. | Method and apparatus for the functional verification of digital electronic systems |
US6002623A (en) | 1997-02-12 | 1999-12-14 | Micron Technology, Inc. | Semiconductor memory with test circuit |
US5844913A (en) | 1997-04-04 | 1998-12-01 | Hewlett-Packard Company | Current mode interface circuitry for an IC test device |
US6272588B1 (en) * | 1997-05-30 | 2001-08-07 | Motorola Inc. | Method and apparatus for verifying and characterizing data retention time in a DRAM using built-in test circuitry |
US6014759A (en) | 1997-06-13 | 2000-01-11 | Micron Technology, Inc. | Method and apparatus for transferring test data from a memory array |
FR2764991B1 (fr) | 1997-06-24 | 1999-09-03 | Sgs Thomson Microelectronics | Procede de test fonctionnel et circuit comprenant des moyens de mise en oeuvre du procede |
US5995424A (en) | 1997-07-16 | 1999-11-30 | Tanisys Technology, Inc. | Synchronous memory test system |
DE69827949T2 (de) | 1997-07-28 | 2005-10-27 | Intergraph Hardware Technologies Co., Las Vegas | Gerät und verfahren um speicherfehler zu erkennen und zu berichten |
US6035432A (en) | 1997-07-31 | 2000-03-07 | Micron Electronics, Inc. | System for remapping defective memory bit sets |
US6154851A (en) | 1997-08-05 | 2000-11-28 | Micron Technology, Inc. | Memory repair |
US5794175A (en) | 1997-09-09 | 1998-08-11 | Teradyne, Inc. | Low cost, highly parallel memory tester |
US5986950A (en) | 1997-10-15 | 1999-11-16 | International Business Machines Corporation | Use of redundant circuits to improve the reliability of an integrated circuit |
TW333648B (en) | 1997-10-30 | 1998-06-11 | Key Technology Corp | The connection structure and algorithm for flash memory |
EP0913837A1 (de) | 1997-11-03 | 1999-05-06 | Siemens Aktiengesellschaft | Verfahren zur Prüfung der Busanschlüsse von beschreib- und lesbaren integrierten, elektronischen Schaltkreisen, insbesondere von Speicherbausteinen |
US6029262A (en) | 1997-11-25 | 2000-02-22 | Mosaid Technologies Incorporated | Graphical editor for defining memory test sequences |
US6327556B1 (en) | 1998-02-21 | 2001-12-04 | Adaptec, Inc. | AT-speed computer model testing methods |
GB9805054D0 (en) | 1998-03-11 | 1998-05-06 | Process Intelligence Limited | Memory test system with buffer memory |
GB9806687D0 (en) | 1998-03-27 | 1998-05-27 | Memory Corp Plc | Memory system |
US5959914A (en) | 1998-03-27 | 1999-09-28 | Lsi Logic Corporation | Memory controller with error correction memory test application |
US6058055A (en) | 1998-03-31 | 2000-05-02 | Micron Electronics, Inc. | System for testing memory |
US6178526B1 (en) | 1998-04-08 | 2001-01-23 | Kingston Technology Company | Testing memory modules with a PC motherboard attached to a memory-module handler by a solder-side adaptor board |
US6085334A (en) | 1998-04-17 | 2000-07-04 | Motorola, Inc. | Method and apparatus for testing an integrated memory device |
US6055653A (en) | 1998-04-27 | 2000-04-25 | Compaq Computer Corporation | Method and apparatus for testing gang memory modules |
US6173382B1 (en) | 1998-04-28 | 2001-01-09 | International Business Machines Corporation | Dynamic configuration of memory module using modified presence detect data |
US6496945B2 (en) | 1998-06-04 | 2002-12-17 | Compaq Information Technologies Group, L.P. | Computer system implementing fault detection and isolation using unique identification codes stored in non-volatile memory |
US6324657B1 (en) | 1998-06-11 | 2001-11-27 | Micron Technology, Inc. | On-clip testing circuit and method for improving testing of integrated circuits |
US6134690A (en) | 1998-06-25 | 2000-10-17 | Cisco Technology, Inc. | Computerized automation system and method |
US6260127B1 (en) | 1998-07-13 | 2001-07-10 | Compaq Computer Corporation | Method and apparatus for supporting heterogeneous memory in computer systems |
US6425095B1 (en) | 1998-08-14 | 2002-07-23 | Advantest Corporation | Memory testing apparatus |
US6275962B1 (en) | 1998-10-23 | 2001-08-14 | Teradyne, Inc. | Remote test module for automatic test equipment |
US6018484A (en) | 1998-10-30 | 2000-01-25 | Stmicroelectronics, Inc. | Method and apparatus for testing random access memory devices |
US6324665B1 (en) | 1998-11-03 | 2001-11-27 | Agilent Technologies, Inc. | Event based fault diagnosis |
US6313657B1 (en) | 1998-12-24 | 2001-11-06 | Advantest Corporation | IC testing apparatus and testing method using same |
US6389525B1 (en) | 1999-01-08 | 2002-05-14 | Teradyne, Inc. | Pattern generator for a packet-based memory tester |
JP3266126B2 (ja) | 1999-01-14 | 2002-03-18 | 日本電気株式会社 | ネットワーク障害情報管理システム及び記憶媒体 |
US6452411B1 (en) | 1999-03-01 | 2002-09-17 | Formfactor, Inc. | Efficient parallel testing of integrated circuit devices using a known good device to generate expected responses |
KR100363080B1 (ko) | 1999-06-15 | 2002-11-30 | 삼성전자 주식회사 | 단일 칩 병렬 테스팅 장치 및 방법 |
US7017020B2 (en) | 1999-07-16 | 2006-03-21 | Broadcom Corporation | Apparatus and method for optimizing access to memory |
US6304989B1 (en) | 1999-07-21 | 2001-10-16 | Credence Systems Corporation | Built-in spare row and column replacement analysis system for embedded memories |
US6601183B1 (en) | 1999-09-30 | 2003-07-29 | Silicon Graphics, Inc. | Diagnostic system and method for a highly scalable computing system |
US6536005B1 (en) | 1999-10-26 | 2003-03-18 | Teradyne, Inc. | High-speed failure capture apparatus and method for automatic test equipment |
US6615379B1 (en) | 1999-12-08 | 2003-09-02 | Intel Corporation | Method and apparatus for testing a logic device |
US6499120B1 (en) | 1999-12-30 | 2002-12-24 | Infineon Technologies Richmond, Lp | Usage of redundancy data for displaying failure bit maps for semiconductor devices |
US6910146B2 (en) | 1999-12-31 | 2005-06-21 | Intel Corporation | Method and apparatus for improving timing margin in an integrated circuit as determined from recorded pass/fail indications for relative phase settings |
US6574759B1 (en) | 2000-01-18 | 2003-06-03 | Rambus Inc. | Method for verifying and improving run-time of a memory test |
US7111190B2 (en) | 2001-02-23 | 2006-09-19 | Intel Corporation | Method and apparatus for reconfigurable memory |
US6820224B1 (en) | 2000-04-04 | 2004-11-16 | Promos Technologies Inc. | Method and system for increasing yield in embedded memory devices |
US7269765B1 (en) | 2000-04-13 | 2007-09-11 | Micron Technology, Inc. | Method and apparatus for storing failing part locations in a module |
US6728907B1 (en) | 2000-04-14 | 2004-04-27 | Microsoft Corporation | System and method for self-diagnosing system crashes |
US6701474B2 (en) | 2000-06-28 | 2004-03-02 | Cadence Design Systems, Inc. | System and method for testing integrated circuits |
US6622286B1 (en) | 2000-06-30 | 2003-09-16 | Lam Research Corporation | Integrated electronic hardware for wafer processing control and diagnostic |
JP2002025288A (ja) | 2000-06-30 | 2002-01-25 | Hitachi Ltd | 半導体集積回路 |
US6990607B2 (en) | 2000-09-27 | 2006-01-24 | Seagate Technology Llc | System and method for adaptive storage and caching of a defect table |
CN1466760A (zh) | 2000-09-28 | 2004-01-07 | �����ι�˾ | 磁盘驱动器的关键事件记录 |
US6851076B1 (en) | 2000-09-28 | 2005-02-01 | Agilent Technologies, Inc. | Memory tester has memory sets configurable for use as error catch RAM, Tag RAM's, buffer memories and stimulus log RAM |
TW580578B (en) | 2000-10-03 | 2004-03-21 | Concord Idea Corp | System and method for testing integrated circuit devices |
US7124412B2 (en) | 2000-12-13 | 2006-10-17 | Intel Corporation | Extensible BIOS error log |
US6708298B2 (en) | 2001-01-23 | 2004-03-16 | International Business Machines Corporation | Method for guaranteeing a minimum data strobe valid window and a minimum data valid window for DDR memory devices |
TW494516B (en) | 2001-03-14 | 2002-07-11 | Winbond Electronics Corp | Semiconductor multi-die testing system with automatic identification functions |
US7162668B2 (en) | 2001-04-19 | 2007-01-09 | Micron Technology, Inc. | Memory with element redundancy |
US6725336B2 (en) | 2001-04-20 | 2004-04-20 | Sun Microsystems, Inc. | Dynamically allocated cache memory for a multi-processor unit |
US6760869B2 (en) | 2001-06-29 | 2004-07-06 | Intel Corporation | Reporting hard disk drive failure |
US7418642B2 (en) * | 2001-07-30 | 2008-08-26 | Marvell International Technology Ltd. | Built-in-self-test using embedded memory and processor in an application specific integrated circuit |
JP2003059297A (ja) | 2001-08-08 | 2003-02-28 | Mitsubishi Electric Corp | 半導体記憶装置およびそれを用いた半導体モジュール |
US7260758B1 (en) | 2001-09-07 | 2007-08-21 | Lsi Corporation | Method and system for performing built-in self-test routines using an accumulator to store fault information |
US6714828B2 (en) | 2001-09-17 | 2004-03-30 | Formfactor, Inc. | Method and system for designing a probe card |
DE10147138B4 (de) | 2001-09-25 | 2009-01-22 | Qimonda Ag | Verfahren zur Integration von imperfekten Halbleiterspeichereinrichtungen in Datenverarbeitungsvorrichtungen |
US6880118B2 (en) | 2001-10-25 | 2005-04-12 | Sun Microsystems, Inc. | System and method for testing operational transmissions of an integrated circuit |
ATE384331T1 (de) | 2001-11-12 | 2008-02-15 | Siemens Ag | Speichertest |
TW567414B (en) | 2002-01-29 | 2003-12-21 | Admtek Inc | Dynamic built-in-self-skip method for shared memory fault recovery |
JP4268367B2 (ja) | 2002-03-18 | 2009-05-27 | 博幸 荻野 | 半導体メモリの検査および欠陥救済方法、並びに半導体メモリの検査および欠陥救済回路 |
US7085980B2 (en) | 2002-05-02 | 2006-08-01 | International Business Machines Corporation | Method and apparatus for determining the failing operation of a device-under-test |
US7035953B2 (en) | 2002-05-03 | 2006-04-25 | Hewlett-Packard Development Company, L.P. | Computer system architecture with hot pluggable main memory boards |
US20030226090A1 (en) | 2002-05-28 | 2003-12-04 | Thayer Larry Jay | System and method for preventing memory access errors |
TWI284743B (en) | 2002-07-13 | 2007-08-01 | Advantest Corp | Event pipeline and summing method and apparatus for event based test system |
US6754117B2 (en) | 2002-08-16 | 2004-06-22 | Micron Technology, Inc. | System and method for self-testing and repair of memory modules |
KR100487946B1 (ko) | 2002-08-29 | 2005-05-06 | 삼성전자주식회사 | 반도체 테스트 시스템 및 이 시스템의 테스트 방법 |
US7119567B2 (en) | 2002-09-12 | 2006-10-10 | Infineon Technologies North America Corp. | System and method for testing one or more dies on a semiconductor wafer |
US20040088614A1 (en) | 2002-11-01 | 2004-05-06 | Ting-Chin Wu | Management system for defective memory |
US7131046B2 (en) | 2002-12-03 | 2006-10-31 | Verigy Ipco | System and method for testing circuitry using an externally generated signature |
US6889305B2 (en) | 2003-02-14 | 2005-05-03 | Hewlett-Packard Development Company, L.P. | Device identification using a memory profile |
US7155370B2 (en) | 2003-03-20 | 2006-12-26 | Intel Corporation | Reusable, built-in self-test methodology for computer systems |
US7827375B2 (en) | 2003-04-30 | 2010-11-02 | International Business Machines Corporation | Defensive heap memory management |
US7320100B2 (en) | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US7216273B2 (en) | 2003-06-26 | 2007-05-08 | Teradyne, Inc. | Method for testing non-deterministic device data |
DE10338079B4 (de) | 2003-08-19 | 2007-05-16 | Infineon Technologies Ag | Testanordnung zum Testen von Halbleiterschaltungschips |
US7065630B1 (en) | 2003-08-27 | 2006-06-20 | Nvidia Corporation | Dynamically creating or removing a physical-to-virtual address mapping in a memory of a peripheral device |
JP4332392B2 (ja) | 2003-09-12 | 2009-09-16 | 株式会社アドバンテスト | 試験装置 |
US7346755B2 (en) | 2003-09-16 | 2008-03-18 | Hewlett-Packard Development, L.P. | Memory quality assurance |
US6996749B1 (en) | 2003-11-13 | 2006-02-07 | Intel Coporation | Method and apparatus for providing debug functionality in a buffered memory channel |
US7444564B2 (en) | 2003-11-19 | 2008-10-28 | International Business Machines Corporation | Automatic bit fail mapping for embedded memories with clock multipliers |
US7251744B1 (en) | 2004-01-21 | 2007-07-31 | Advanced Micro Devices Inc. | Memory check architecture and method for a multiprocessor computer system |
JP2005234744A (ja) | 2004-02-18 | 2005-09-02 | Nec Corp | マルチプロセッサシステム及び障害処理方法 |
US7246269B1 (en) | 2004-05-05 | 2007-07-17 | Advanced Micro Devices, Inc. | Efficient memory check architecture and method |
US7099221B2 (en) | 2004-05-06 | 2006-08-29 | Micron Technology, Inc. | Memory controller method and system compensating for memory cell data losses |
US7123051B1 (en) | 2004-06-21 | 2006-10-17 | Altera Corporation | Soft core control of dedicated memory interface hardware in a programmable logic device |
US7159160B2 (en) | 2004-06-21 | 2007-01-02 | Avago Technologies General Ip (Singapore) Pte. Ltd. | Method and apparatus for measuring switching noise in integrated circuits |
US7873776B2 (en) | 2004-06-30 | 2011-01-18 | Oracle America, Inc. | Multiple-core processor with support for multiple virtual processors |
US7272758B2 (en) | 2004-08-31 | 2007-09-18 | Micron Technology, Inc. | Defective memory block identification in a memory device |
US8301938B2 (en) | 2005-03-21 | 2012-10-30 | Hewlett-Packard Development Company, L.P. | Managing memory health |
US20070061637A1 (en) | 2005-09-12 | 2007-03-15 | Lsi Logic Corporation | Process for conducting high-speed bitmapping of memory cells during production |
US7447955B2 (en) | 2005-11-30 | 2008-11-04 | Advantest Corporation | Test apparatus and test method |
FR2894709A1 (fr) | 2005-12-13 | 2007-06-15 | Gemplus Sa | "detecteur de destruction anormale de secteur memoire" |
US7539912B2 (en) | 2005-12-15 | 2009-05-26 | King Tiger Technology, Inc. | Method and apparatus for testing a fully buffered memory module |
JP2007172778A (ja) | 2005-12-26 | 2007-07-05 | Nec Electronics Corp | メモリテスト回路及びメモリテスト方法 |
JP4761959B2 (ja) | 2005-12-26 | 2011-08-31 | 株式会社東芝 | 半導体集積回路装置 |
US7478285B2 (en) | 2005-12-30 | 2009-01-13 | Silicon Graphics, Inc. | Generation and use of system level defect tables for main memory |
US8121237B2 (en) | 2006-03-16 | 2012-02-21 | Rambus Inc. | Signaling system with adaptive timing calibration |
US7913147B2 (en) | 2006-05-08 | 2011-03-22 | Intel Corporation | Method and apparatus for scrubbing memory |
US20080010566A1 (en) | 2006-06-21 | 2008-01-10 | Chang Tsung-Yung Jonathan | Disabling portions of memory with non-deterministic errors |
US20080229143A1 (en) | 2006-09-21 | 2008-09-18 | Sony Computer Entertainment Inc. | Management of available circuits to repair defective circuits |
US7590008B1 (en) | 2006-11-06 | 2009-09-15 | Altera Corporation | PVT compensated auto-calibration scheme for DDR3 |
US8898412B2 (en) | 2007-03-21 | 2014-11-25 | Hewlett-Packard Development Company, L.P. | Methods and systems to selectively scrub a system memory |
KR20080090664A (ko) | 2007-04-05 | 2008-10-09 | 삼성전자주식회사 | 포스트 패키지 리페어 제어회로를 구비하는 반도체메모리장치 및 포스트 패키지 리페어 방법 |
US8032816B2 (en) | 2007-06-01 | 2011-10-04 | International Business Machines Corporation | Apparatus and method for distinguishing temporary and permanent errors in memory modules |
US7945815B2 (en) | 2007-08-14 | 2011-05-17 | Dell Products L.P. | System and method for managing memory errors in an information handling system |
US7949913B2 (en) * | 2007-08-14 | 2011-05-24 | Dell Products L.P. | Method for creating a memory defect map and optimizing performance using the memory defect map |
US9373362B2 (en) | 2007-08-14 | 2016-06-21 | Dell Products L.P. | System and method for implementing a memory defect map |
US7694195B2 (en) | 2007-08-14 | 2010-04-06 | Dell Products L.P. | System and method for using a memory mapping function to map memory defects |
US7783919B2 (en) | 2007-09-12 | 2010-08-24 | Dell Products, Lp | System and method of identifying and storing memory error locations |
US7848899B2 (en) | 2008-06-09 | 2010-12-07 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing integrated circuit devices |
US8261354B2 (en) * | 2008-09-17 | 2012-09-04 | International Business Machines Corporation | System, method and program product for dynamically performing an audit and security compliance validation in an operating environment |
US8356215B2 (en) * | 2010-01-19 | 2013-01-15 | Kingtiger Technology (Canada) Inc. | Testing apparatus and method for analyzing a memory module operating within an application system |
US8335951B2 (en) * | 2010-05-06 | 2012-12-18 | Utc Fire & Security Americas Corporation, Inc. | Methods and system for verifying memory device integrity |
JP2012003797A (ja) | 2010-06-15 | 2012-01-05 | Toshiba Corp | 半導体記憶装置 |
JP2012048795A (ja) * | 2010-08-30 | 2012-03-08 | Toshiba Corp | 不揮発性半導体記憶装置 |
JP2012094233A (ja) | 2010-09-29 | 2012-05-17 | Elpida Memory Inc | 半導体装置及びその製造方法 |
US8724408B2 (en) | 2011-11-29 | 2014-05-13 | Kingtiger Technology (Canada) Inc. | Systems and methods for testing and assembling memory modules |
-
2013
- 2013-08-27 US US14/011,508 patent/US9117552B2/en active Active
- 2013-08-28 TW TW102130929A patent/TWI552158B/zh active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI828438B (zh) * | 2022-11-24 | 2024-01-01 | 英業達股份有限公司 | 基於邊界掃描互連的虛擬雙列直插式記憶體模組測試系統及其方法 |
Also Published As
Publication number | Publication date |
---|---|
US20140068360A1 (en) | 2014-03-06 |
TWI552158B (zh) | 2016-10-01 |
US9117552B2 (en) | 2015-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI552158B (zh) | 用於測試記憶體之系統與方法 | |
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
TWI630618B (zh) | 用於測試及組裝記憶體模組之系統及方法 | |
US7412631B2 (en) | Methods and structure for verifying domain functionality | |
CN106951345B (zh) | 一种虚拟机磁盘数据的一致性测试方法及装置 | |
US20070245170A1 (en) | Computer boot operation utilizing targeted boot diagnostics | |
US9047187B2 (en) | Defect management in memory systems | |
US11984181B2 (en) | Systems and methods for evaluating integrity of adjacent sub blocks of data storage apparatuses | |
US11221933B2 (en) | Holdup self-tests for power loss operations on memory systems | |
CN111104275A (zh) | 一种闪断ssd硬盘电源的自动化测试方法及装置 | |
US20140013428A1 (en) | Apparatus and method for managing operation of a mobile device | |
CN113568777B (zh) | 一种故障处理方法、装置、网络芯片、设备及存储介质 | |
US9250942B2 (en) | Hardware emulation using on-the-fly virtualization | |
CN117373525A (zh) | Ecc功能测试方法、装置、电子设备及存储介质 | |
US9990382B1 (en) | Secure erasure and repair of non-mechanical storage media | |
CN104979017B (zh) | 用于测试及组装存储器模块的系统及方法 | |
US6229743B1 (en) | Method of a reassign block processing time determination test for storage device | |
KR20220156355A (ko) | 비휘발성 메모리 공격 취약점 탐지 장치 및 방법 | |
KR101365430B1 (ko) | 솔리드 스테이트 드라이브 테스터에서 플래시 메모리 상태검출장치 | |
CN112562774B (zh) | 存储设备挂载方法、装置、计算机设备和存储介质 | |
CN108292260B (zh) | 用于软件自测试的装置和方法 | |
TW201928981A (zh) | 記憶體整體測試之系統及其方法 | |
CN118035102A (zh) | 加速ssd测试的方法、装置、设备及介质 | |
CN114048057A (zh) | 超融合系统的测试方法及装置、存储介质 | |
CN116560923A (zh) | 验证bios检测内存pmic错误的方法、装置、设备 |