TWI840963B - 測試裝置和其測試方法 - Google Patents
測試裝置和其測試方法 Download PDFInfo
- Publication number
- TWI840963B TWI840963B TW111135965A TW111135965A TWI840963B TW I840963 B TWI840963 B TW I840963B TW 111135965 A TW111135965 A TW 111135965A TW 111135965 A TW111135965 A TW 111135965A TW I840963 B TWI840963 B TW I840963B
- Authority
- TW
- Taiwan
- Prior art keywords
- test
- data
- test data
- bit
- register
- Prior art date
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 551
- 238000010998 test method Methods 0.000 title claims abstract description 17
- 238000012937 correction Methods 0.000 claims abstract description 25
- 230000006870 function Effects 0.000 description 10
- 230000000295 complement effect Effects 0.000 description 8
- 101100387458 Medicago truncatula DMI1 gene Proteins 0.000 description 5
- 101100097982 Pisum sativum SYM8 gene Proteins 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000000034 method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Abstract
本發明提供一種測試裝置和其測試方法。測試方法包含:根據基礎資料產生錯誤校正碼;將基礎資料劃分為多個基礎資料區段;根據基礎資料產生多個候選測試資料,其中候選測試資料中的每一個具有多個測試資料區段,且測試資料區段中的每一個對應於基礎資料區段中的每一個;以及執行多種測試方案。測試方案中的每一個包含:根據多個候選測試資料產生多個寫入測試資料,且將多個寫入測試資料以及錯誤校正碼連續地寫入到受測裝置中;從受測裝置讀取受測裝置的多個模式暫存器值和多個讀出資料;以及根據多個模式暫存器值和讀出資料產生測試結果。
Description
本發明是有關於一種測試裝置和其測試方法,且更確切地說,涉及,且特別是有關於一種用於連結錯誤校正碼(error correction code;ECC)功能測試的測試方法。
由於在第5代無線系統(5th generation wireless systems;5G)和人工智慧(Artificial Intelligence;AI)時代產生越來越多的具有關鍵回應時間和低功耗要求的新品牌應用,因此低功率高速裝置對於如低功率雙倍數據速率5(Low Power Double Data Rate 5;LPDDR5)記憶體裝置的這些應用的系統是必不可少的。所述裝置提供最大6400Mbps的資料速率。然而,各種雜訊干擾將對控制器與LPDDR5記憶體裝置之間的傳輸和接收連結造成危害。因此,LPDDR5記憶體裝置定義用於控制器與記憶體裝置之間的資料交換的連結錯誤檢查及校正(Error Checking and Correction;ECC)功能,以提供穩固通信。
本發明提供一種測試裝置和其測試方法,且測試方法應用於低功率雙數據速率5(LPDDR5)的記憶體或其它記憶體裝置的連結錯誤檢查和校正(ECC)功能測試。
本發明的測試方法包含:根據基礎資料產生錯誤校正碼;將基礎資料劃分為多個基礎資料區段;根據基礎資料產生多個候選測試資料,其中候選測試資料中的每一個具有多個測試資料區段,且測試資料區段中的每一個對應於基礎資料區段中的每一個;以及執行多種測試方案。測試方案中的每一個包含:根據多個候選測試資料產生多個寫入測試資料,且將多個寫入測試資料以及錯誤校正碼連續地寫入到受測裝置中;從受測裝置讀取受測裝置的多個模式暫存器值和多個讀出資料;以及根據多個模式暫存器值和讀出資料產生測試結果。
本發明的測試裝置被調試用於測試連結錯誤校正碼(ECC)功能。測試裝置包含控制器。控制器耦接到受測裝置且配置成:根據基礎資料產生錯誤校正碼;將基礎資料劃分為多個基礎資料區段;根據基礎資料產生多個候選測試資料,其中候選測試資料中的每一個具有多個測試資料區段,且測試資料區段中的每一個對應於基礎資料區段中的每一個;以及執行多種測試方案。控制器透過以下執行多種測試方案中的每一個:根據多個候選測試資料產生多個寫入測試資料,且將多個寫入測試資料以及錯誤校正碼連續地寫入到受測裝置中;從受測裝置讀取受測裝置的多個模式暫存器值和多個讀出資料;以及根據多個模式暫存器值和讀出資料產生測試結果。
綜上所述,測試裝置產生具有多個測試資料區段的多個候選測試資料。測試裝置還基於對應基礎資料區段將測試資料區段中的每一個設定為具有0、一個或兩個錯誤位元。在多種測試方案中的每一個期間,可產生多個寫入測試資料,且透過測試裝置將寫入測試資料以及錯誤校正碼寫入到受測裝置中,且可透過從受測裝置讀取多個模式暫存器值和多個讀出資料而獲得關於連結ECC功能的測試結果。
請參考圖1,繪示根據本公開的實施例的測試方法的流程圖。測試方法被調試成用於測試受測裝置的連結ECC功能。受測裝置可以是低功率雙數據速率5(LPDDR5)的記憶體或任何其它類型的記憶體裝置。在步驟S110中,根據基礎資料產生錯誤校正碼(ECC)。在這個實施例中,可透過ECC編碼器根據具有一個錯誤位元校正能力的ECC演法編碼基礎資料來產生ECC。在步驟S120中,可將基礎資料劃分成多個基礎資料區段。在這個實施例中,可將基礎資料劃分成四個資料區段。對於作為動態隨機存取記憶體(dynamic random access memory;DRAM)的受測裝置,四個資料區段包含第一基礎資料資訊、第二基礎資料資訊、第一基礎資料遮罩反轉(Data Mask Inversion, DMI)資訊以及第二基礎資料遮罩反轉資訊。在一些實施例中,第一基礎資料資訊可具有8位元,第二基礎資料資訊也可具有8位元,第一基礎資料遮罩反轉資訊可具有8位元,且第二基礎資料遮罩反轉資訊也可具有8位元。
在步驟S130中,可根據基礎資料產生多個候選測試資料。在這個實施例中,候選測試資料中的每一個具有多個測試資料區段,且測試資料區段中的每一個對應於基礎資料區段中的每一個。詳細地說,多個測試資料區段中的每一個可以是有效測試資料區段、單位元錯誤(single bit error)資料區段或雙位元錯誤(double bits error)資料區段。如果第一測試資料區段與第一基礎資料區段相同。那麼取第一測試資料區段作為其中第一測試資料區段對應於第一基礎資料區段的實例。如果第一測試資料區段是有效資料區段,那麼第一測試資料區段與第一基礎資料區段相同;如果第一測試資料區段是單位元錯誤資料區段,那麼與第一基礎資料區段相比,第一測試資料區段上存在單位元錯誤;如果第一測試資料區段是雙位元錯誤資料區段,那麼與第一基礎資料區段相比,第一測試資料區段上存在雙位元錯誤。
請參考圖3,繪示根據本公開的實施例的多個候選測試資料的示意圖。在這個實施例中,可產生19個候選測試資料,且如果第一測試資料區段中的每一個是有效資料區段,那麼可將第一測試資料區段中的每一個標記為“V”;如果第一測試資料區段中的每一個是單位元錯誤資料區段(無效),那麼可將第一測試資料區段中的每一個標記為“IS”;以及如果第一測試資料區段中的每一個是雙位元錯誤資料區段(無效),那麼可將第一測試資料區段中的每一個標記為“DBE”。
舉例來說,在第1號候選測試資料中,所有測試資料區段全都是有效資料區段,且第1號候選測試資料的第一測試資料區段DQ[7:0]可以是呈十六進位形式的5A、A5、69、96、F0、0F、AA、55、FF、00、33、CC、7E、E7、8F以及70;第1號候選測試資料的第二測試資料區段DQ[15:8]可以是呈十六進位形式的5A、A5、69、96、F0、0F、AA、55、FF、00、33、CC、7E、E7、8F以及70;第1號候選測試資料的第三測試資料區段DM0可以是呈二進位形式的1011010000111010;以及第1號候選測試資料的第四測試資料區段DM1可以是呈二進位形式的1011010000111010。在第1號候選測試資料中,第一測試資料區段DQ[7:0]的第一位元組可以互補於第一測試資料區段DQ[7:0]的第二位元組;第一測試資料區段DQ[7:0]的第三位元組可以互補於第一測試資料區段DQ[7:0]的第四位元組;第一測試資料區段DQ[7:0]的第五位元組可以互補於第一測試資料區段DQ[7:0]的第六位元組;第一測試資料區段DQ[7:0]的第七位元組可以互補於第一測試資料區段DQ[7:0]的第八位元組。此外,在第1號候選測試資料中,第二測試資料區段DQ[15:8]的第一位元組可以互補於第二測試資料區段DQ[15:8]的第二位元組;第二測試資料區段DQ[15:8]的第三位元組可以互補於第二測試資料區段DQ[15:8]的第四位元組;第二測試資料區段DQ[15:8]的第五位元組可以互補於第二測試資料區段DQ[15:8]的第六位元組;第二測試資料區段DQ[15:8]的第七位元組可以互補於第二測試資料區段DQ[15:8]的第八位元組。
由於第1號候選測試資料的所有測試資料區段全都是有效資料區段,因此第1號候選測試資料與基礎資料相同。
第2號候選測試資料可具有分別標記為IS、V、V、IS的四個測試資料區段。即,第2號候選測試資料的第一測試資料區段和第四測試資料區段為單位元錯誤資料區段,且第2號候選測試資料的第二測試資料區段和第三測試資料區段為有效資料區段。在這個實施例中,第2號候選測試資料的第一測試資料區段DQ[7:0]可以是呈十六進位形式的5A、A5、69、96、F0、0F、A2、55、FF、00、33、CC、7E、E7、8F以及70,且第2號候選測試資料的第四測試資料區段DM1可以是呈二進位形式的1011010000111000。
另一方面,第3號候選測試資料可具有分別標記為IS、IS、IS、IS的四個測試資料區段;第4號候選測試資料可具有分別標記為ID、V、ID、V的四個測試資料區段;第5號候選測試資料可具有分別標記為V、ID、V、ID的四個測試資料區段;第6號候選測試資料可具有分別標記為ID、ID、ID、ID的四個測試資料區段;第7號候選測試資料可具有分別標記為V、IS、IS、V的四個測試資料區段;第8號候選測試資料可具有分別標記為IS、ID、IS、ID的四個測試資料區段;第9號候選測試資料可具有分別標記為ID、IS、ID、IS的四個測試資料區段;第10號候選測試資料可具有分別標記為IS、V、V、V的四個測試資料區段。
此外,第11號候選測試資料可具有分別標記為V、V、IS、V的四個測試資料區段;第12號候選測試資料可具有分別標記為V、IS、V、V的四個測試資料區段;第13號候選測試資料可具有分別標記為V、V、V、IS的四個測試資料區段;第14號候選測試資料可具有分別標記為V、ID、V、V的四個測試資料區段;第15號候選測試資料可具有分別標記為V、V、V、ID的四個測試資料區段;第16號候選測試資料可具有分別標記為ID、V、V、V的四個測試資料區段;第17號候選測試資料可具有分別標記為V、V、ID、V的四個測試資料區段;第18號候選測試資料可具有分別標記為IS、V、IS、IS的四個測試資料區段;以及第19號候選測試資料可具有分別標記為IS、IS、ID、IS的四個測試資料區段。
第3號到第19號候選測試資料的第一測試資料區段DQ[7:0]、第二測試資料區段DQ[15:8]、第三測試資料區段DMI0、第四測試資料區段DMI1可設定為圖3中繪示的實例。此處應注意,工程師也可根據實際需要設定第3號到第19號候選測試資料的第一測試資料區段DQ[7:0]、第二測試資料區段DQ[15:8]、第三測試資料區段DMI0、第四測試資料區段DMI1、第四測試資料區段DMI1的內容,且圖3中所繪示的實例僅是示範性實施例且不用於限制本公開的範圍。
此處應注意,工程師可按實際需要將候選測試資料的數目設置為大於或小於圖3中所示的候選測試資料。圖3中的第1號到第19號候選測試資料僅為示範性實施例且不用於限制本公開的範圍。
請再次重新參考圖1,在步驟S130之後,在步驟S140中,可對受測裝置執行多種測試方案。詳細地說,請參考圖2,繪示根據本公開的圖1的實施例的多種測試方案中的每一個的流程圖。在步驟S210中,根據多個候選測試資料產生多個寫入測試資料,且將多個寫入測試資料連同ECC連續地寫入到受測裝置中。接著,在步驟S220中,從受測裝置讀取多個模式暫存器值,且還從受測裝置讀取多個讀出資料。在步驟S230中,可根據多個模式暫存器值和多個讀出資料獲得測試結果。
詳細地說,請參考圖4和圖5,其中圖4繪示根據本公開的另一實施例的測試方案的流程圖,且圖5繪示根據本公開的圖4的實施例的模式暫存器讀取狀態清單的示意圖。在這個實施例中,受測裝置可具有暫存器MR43、暫存器MR44以及暫存器MR45。暫存器MR43具有多個位OP1[7:0]以形成指示雙位元錯誤標誌、單位元錯誤規則以及單位元錯誤的次數的第一模式暫存器值。詳細地說,位OP1[7]是雙位元錯誤標誌,位元OP1[6]指示單位元錯誤規則,且位元OP[5:0]指示ECC操作期間單位元錯誤的次數。在這個實施例中,可由用戶定義位OP1[6]。暫存器MR44具有多個位OP2[7:0]以形成指示來自ECC操作的最近單位元錯誤的校驗子值的第二模式暫存器值。暫存器MR45具有多個位OP3[7:0]以形成指示測試資料資訊的校驗子值、錯誤位元組通道以及來自ECC操作的最近的單位元錯誤的資料遮罩反轉資訊的校驗子值的第三模式暫存器值。詳細地說,位OP3[7]指示測試資料資訊的校驗子值,位OP3[6]指示錯誤位元組通道,且位元OP3[5:0]指示ECC操作的資料遮罩反轉資訊的校驗子值。
參考圖4,在測試方案(1)中,將受測裝置通電初始化,且可讀取受測裝置的模式暫存器。此時,暫存器MR43、暫存器MR44以及暫存器MR45的所有位OP1[7:0]、位OP2[7:0]以及位OP3[7:0]都是邏輯0,且可獲得第A號暫存器值。在測試方案(2)中,已產生作為第1號候選測試資料的都是有效的三個寫入測試資料WR1到寫入測試資料WR3,且將所述三個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第A號暫存器值。此外,透過從受測裝置讀取讀出資料RD1到讀出資料RD3,所述讀出資料將保持為最初(與第1號候選測試資料相同),這是因為由於所有寫入測試資料都有效,因此未執行校正。
在測試方案(3)中,已產生分別作為第1號、第2號以及第1號候選測試資料的三個寫入測試資料WR1到寫入測試資料WR3,且將所述三個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第B號暫存器值。由於未出現雙位元錯誤,因此暫存器MR43的位OP1[7]應是邏輯0。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010。暫存器MR44的位OP2[7:0]是邏輯0;當位元OP1[6]是邏輯0,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010。由於寫入測試資料WR2上存在單位元錯誤,因此位元OP2[7:0]記錄對應於寫入測試資料WR2的第2號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR2中的第2號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0,這是因為在出現單位元錯誤的情況下,將僅存儲來自最後位元組的錯誤。
此外,透過從受測裝置讀取讀出資料RD1到讀出數據RD3,讀出資料RD1到讀出資料RD3應分別為第1號候選測試資料、第1號候選測試資料以及第1號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR2的單位元錯誤。即,透過檢查暫存器值和讀出資料RD1到讀出資料RD3,可以測試透過ECC操作的連結ECC功能,且可獲得測試結果。
此處應注意,在已讀取暫存器MR43、暫存器MR44以及暫存器MR45的暫存器值之後,清除暫存器MR43、暫存器MR44以及暫存器MR45的暫存器值。因此,如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(4)中,已產生分別作為第3號、第4號、第5號以及第6號候選測試資料的四個寫入測試資料WR1到寫入測試資料WR4,且將所述四個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第C號暫存器值。由於出現雙位元錯誤,因此暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000100。由於寫入測試資料WR1上存在單位元錯誤,因此暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1中的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0,這是因為在出現單位元錯誤的情況下,將僅存儲來自最後位元組的錯誤。
此外,透過從受測裝置讀取讀出資料RD1到讀出資料RD4,由於已透過ECC操作校正寫入測試資料WR1的單位元錯誤,且未透過ECC操作校正寫入測試資料WR2到寫入測試資料WR4的雙位元錯誤,因此讀出資料RD1到讀出資料RD3應分別是第1號候選測試資料、第4號候選測試資料、第5號候選測試資料以及第6號候選測試資料。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(5)中,已產生分別作為第3號候選測試資料和第8號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第D號暫存器值。由於出現雙位元錯誤,因此暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000110。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第8號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR2的第8號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第4號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(6)中,已產生分別作為第3號候選測試資料和第9號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第E號暫存器值。暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000110。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第9號第二測試資料區段DQ[15:8]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR2的第9號第二測試資料反轉區段DMI1的校驗子值。此外,位元OP3[6]是邏輯1。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第4號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(7)中,已產生分別作為第2號候選測試資料和第7號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第F號暫存器值。暫存器MR43的位OP1[7]應是邏輯0。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000110。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第7號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR2的第7號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第4號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(8)中,已產生分別作為第2號候選測試資料和第5號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第G號暫存器值。由於出現雙位元錯誤,因此暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR1的第2號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第2號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第1號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(9)中,已產生分別作為第3號候選測試資料和第10號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第H號暫存器值。暫存器MR43的位OP1[7]應是邏輯0。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000101。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第10號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第1號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(10)中,已產生分別作為第3號候選測試資料和第11號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第I號暫存器值。暫存器MR43的位OP1[7]應是邏輯0。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000101。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR1的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR2的第11號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第1號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(11)中,已產生分別作為第3號候選測試資料和第12號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第J號暫存器值。暫存器MR43的位OP1[7]應是邏輯0。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000101。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第12號第二測試資料區段DQ[15:8]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯1。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第1號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(12)中,已產生分別作為第3號候選測試資料和第13號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第K號暫存器值。暫存器MR43的位OP1[7]應是邏輯0。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000010;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000101。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR1的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR2的第13號第二測試資料反轉區段DMI1的校驗子值。此外,位元OP3[6]是邏輯1。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第1號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(13)中,已產生分別作為第3號候選測試資料和第14號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第L號暫存器值。暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000100。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第14號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(14)中,已產生分別作為第3號候選測試資料和第15號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第L號暫存器值。暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000100。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第15號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(15)中,已產生分別作為第3號候選測試資料和第16號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第L號暫存器值。暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000100。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第16號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(16)中,已產生分別作為第3號候選測試資料和第17號候選測試資料的兩個寫入測試資料WR1和寫入測試資料WR2,且將所述兩個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第L號暫存器值。暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000001;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000100。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR2的第3號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR1的第3號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1和讀出數據RD2,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料和第17號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1和寫入測試資料WR2的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
在測試方案(17)中,已產生分別作為第2號候選測試資料、第4號候選測試資料、第3號候選測試資料、第1號候選測試資料、第18號候選測試資料、第7號候選測試資料、第17號候選測試資料以及第19號候選測試資料的九個寫入測試資料WR1到寫入測試資料WR9,且將所述九個寫入測試資料連續地寫入到受測裝置中。此時,讀取暫存器MR43、暫存器MR44以及暫存器MR45,且可獲得第M號暫存器值。暫存器MR43的位OP1[7]應是邏輯1。當位元OP1[6]是邏輯0時,暫存器MR43的位[5:0]是呈二進位形式的邏輯000110;以及當位元OP1[6]是邏輯1時,暫存器MR43的位[5:0]是呈二進位形式的邏輯001111。暫存器MR44的位OP2[7:0]記錄對應於寫入測試資料WR9的第19號第一測試資料區段DQ[7:0]的校驗子值,且位OP3[7]和位OP3[5:0]記錄對應於寫入測試資料WR7的第7號第一測試資料反轉區段DMI0的校驗子值。此外,位元OP3[6]是邏輯0。
此外,透過從受測裝置讀取讀出資料RD1到讀出數據RD9,讀出資料RD1和讀出資料RD2應分別為第1號候選測試資料、第1號候選測試資料、第4號候選測試資料、第1號候選測試資料、第1號候選測試資料、第1號候選測試資料、第1號候選測試資料、第17號候選測試資料以及第17號候選測試資料,這是因為已透過ECC操作校正寫入測試資料WR1到寫入測試資料WR9的單位元錯誤。
如果再次重新讀取暫存器MR43、暫存器MR44以及暫存器MR45,那麼可獲得第A號暫存器值。
可以看出,透過將測試方案(1)到測試方案(17)應用於受測裝置,可以很好地測試受測裝置的連結ECC功能。如此,可改良受測裝置的資料傳輸的可靠性。
此處應注意,測試方案(1)到測試方案(17)僅是示範性實施例,且不用於限制本公開的範圍。所屬領域的技術人員可調整測試方案的測試次序。所屬領域的技術人員還可根據實際需要將至少一個測試方案添加到測試方案(1)到測試方案(17)或從測試方案(1)到測試方案(17)中去除至少一個測試方案。
請參考圖6,繪示根據本公開的實施例的測試裝置。測試裝置600耦接到受測裝置601。測試裝置600包含控制器611和儲存裝置612。受測裝置601可以是動態隨機存取記憶體或任何其它類型的記憶體。控制器611耦接到儲存裝置612。控制器611被配置成執行如先前實施例中所提到的測試方法。儲存裝置612可以是任何類型的記憶體,且配置成存儲圖3的候選測試資料。此外,控制器611是具有計算功能的處理器。替代地,控制器611可以是透過使用硬體描述語言(hardware description language;HDL)設計的硬體電路或由所述領域的相關技術員熟知的任何數位電路的設計方法,透過現場可程式設計閘陣列(field programmable gate array;FPGA)、複雜可程式設計邏輯裝置(complex programmable logic device;CPLD)或專用積體電路(application-specific integrated circuit;ASIC)實施。
綜上所述,本發明測試方法中提供多個候選測試資料,且候選測試資料的測試資料區段中的每一個可以是有效資料、單位元錯誤資料或雙位元錯誤資料。透過寫入根據多個候選測試資料產生的多個寫入資料以執行多種測試方案中的每一個,可透過受測裝置的暫存器值和讀出資料來獲得測試結果。可很好地測試連結ECC功能以提高受測裝置的資料傳輸的可靠性。
600:測試裝置
601:受測裝置
611:控制器
612:儲存裝置
S110、S120、S130、S140、S210、S220、S230:步驟
圖1繪示根據本公開的實施例的測試方法的流程圖。
圖2繪示根據本公開的圖1的實施例的多種測試方案中的每一個的流程圖。
圖3繪示根據本公開的實施例的多個候選測試資料的示意圖。
圖4繪示根據本公開的另一實施例的測試方案的流程圖。
圖5繪示根據本公開的圖4的實施例的模式暫存器讀取狀態清單的示意圖。
圖6繪示根據本公開的實施例的測試裝置。
S110~S140:步驟
Claims (16)
- 一種測試方法,包括:根據基礎資料產生錯誤校正碼;將所述基礎資料劃分為多個基礎資料區段;根據所述基礎資料產生多個候選測試資料,其中所述候選測試資料中的每一個具有多個測試資料區段,且所述測試資料區段中的每一個對應於所述基礎資料區段中的每一個;以及執行多種測試方案,且所述測試方案中的每一個包括:根據所述多個候選測試資料產生多個寫入測試資料,且將所述多個寫入測試資料以及所述錯誤校正碼連續地寫入到受測裝置中;從所述受測裝置讀取所述受測裝置的多個模式暫存器值和多個讀出資料;以及根據所述多個模式暫存器值和所述讀出資料產生測試結果。
- 如請求項1所述的測試方法,其中所述測試資料區段中的每一個基於所述錯誤校正碼而為有效資料區段、單位元錯誤資料區段或雙位元錯誤資料區段。
- 如請求項1所述的測試方法,其中所述多個基礎資料區段包括第一基礎資料資訊、第二基礎資料資訊、第一基礎資料遮罩反轉資訊以及第二基礎資料遮罩反轉資訊。
- 如請求項3所述的測試方法,其中所述多個測試資料區段包括第一測試資料資訊、第二測試資料資訊、第一測試資料遮罩反轉資訊以及第二測試資料遮罩反轉資訊。
- 如請求項1所述的測試方法,其中所述測試方案中的每一個中的所述寫入測試資料的數目為2到9。
- 如請求項1所述的測試方法,其中所述多個模式暫存器值中的第一暫存器值指示雙位元錯誤標誌、單位元錯誤規則以及單位元錯誤的次數;所述多個模式暫存器值中的所述第二暫存器值指示錯誤校正碼操作的校驗子值;以及所述多個模式暫存器值中的所述第三暫存器值指示測試資料資訊的校驗子值、錯誤位元組通道以及所述錯誤校正碼操作的資料遮罩反轉資訊的校驗子值。
- 如請求項1所述的測試方法,進一步包括:在已讀出所述多個模式暫存器值之後清除所述多個模式暫存器值。
- 一種測試裝置,調適成用於測試連結錯誤校正碼(ECC)功能,所述測試裝置包括:控制器,耦接到受測裝置,其中所述控制器被配置以:根據基礎資料產生錯誤校正碼;將所述基礎資料劃分為多個基礎資料區段; 根據所述基礎資料產生多個候選測試資料,其中所述候選測試資料中的每一個具有多個測試資料區段,且所述測試資料區段中的每一個對應於所述基礎資料區段中的每一個;以及執行多種測試方案,且所述測試方案中的每一個包括:根據所述多個候選測試資料產生多個寫入測試資料,且將所述多個寫入測試資料以及所述錯誤校正碼連續地寫入到受測裝置中;從所述受測裝置讀取所述受測裝置的多個模式暫存器值和多個讀出資料;以及根據所述多個模式暫存器值和所述讀出資料產生測試結果。
- 如請求項8所述的測試裝置,進一步包括:儲存裝置,耦接到所述控制器,用於存儲所述多個候選測試資料。
- 如請求項8所述的測試裝置,其中所述測試資料區段中的每一個基於所述錯誤校正碼而為有效資料區段、單位元錯誤資料區段或雙位元錯誤資料區段。
- 如請求項8所述的測試裝置,其中所述多個基礎資料區段包括第一基礎資料資訊、第二基礎資料資訊、第一基礎資料遮罩反轉資訊以及第二基礎資料遮罩反轉資訊。
- 如請求項11所述的測試裝置,其中所述多個測試資料區段包括第一測試資料資訊、第二測試資料資訊、第一測試資料遮罩反轉資訊以及第二測試資料遮罩反轉資訊。
- 如請求項8所述的測試裝置,其中所述測試方案中的每一個中的所述寫入測試資料的數目為2到9。
- 如請求項8所述的測試裝置,其中所述多個模式暫存器值中的第一暫存器值指示雙位元錯誤標誌、單位元錯誤規則以及單位元錯誤的次數;所述多個模式暫存器值中的第二暫存器值指示錯誤校正碼操作的校驗子值;以及所述多個模式暫存器值中的第三暫存器值指示錯誤位元組通道及所述錯誤校正碼操作的資料遮罩反轉資訊的校驗子值。
- 如請求項14所述的測試裝置,其中所述多個模式暫存器值分別記錄於所述受測裝置中的多個暫存器中。
- 如請求項15所述的測試裝置,其中在已讀出所述多個模式暫存器值之後,受測裝置清除所述多個模式暫存器值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/883,633 | 2022-08-09 | ||
US17/883,633 US11852680B1 (en) | 2022-08-09 | 2022-08-09 | Test device and test method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202407710A TW202407710A (zh) | 2024-02-16 |
TWI840963B true TWI840963B (zh) | 2024-05-01 |
Family
ID=
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210265003A1 (en) | 2020-02-26 | 2021-08-26 | Samsung Electronics Co., Ltd. | Test method for memory device, operating method of test device testing memory device, and memory device with self-test function |
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210265003A1 (en) | 2020-02-26 | 2021-08-26 | Samsung Electronics Co., Ltd. | Test method for memory device, operating method of test device testing memory device, and memory device with self-test function |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI410979B (zh) | 快閃記憶體控制器、其錯誤更正碼控制器及其方法和系統 | |
US8010875B2 (en) | Error correcting code with chip kill capability and power saving enhancement | |
JP4417629B2 (ja) | ビット変更を可能にする、フラッシュメモリにおける使用のための、改良されたエラー修正方式 | |
US8612828B2 (en) | Error correction mechanisms for 8-bit memory devices | |
US9130597B2 (en) | Non-volatile memory error correction | |
KR20090028507A (ko) | 비휘발성 메모리 에러 보정 시스템 및 방법 | |
US20120079346A1 (en) | Simulated error causing apparatus | |
US9208027B2 (en) | Address error detection | |
US10992322B2 (en) | Data storage system and associated method for saving storage space and eliminating data errors | |
US20180276069A1 (en) | Memory controller, memory system, and control method | |
JP2010198657A (ja) | メモリ装置 | |
US8707133B2 (en) | Method and apparatus to reduce a quantity of error detection/correction bits in memory coupled to a data-protected processor port | |
TW201921281A (zh) | 具備資料可靠性機制的儲存系統及其操作方法 | |
TWI536749B (zh) | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 | |
TWI840963B (zh) | 測試裝置和其測試方法 | |
US11852680B1 (en) | Test device and test method thereof | |
JP2007328894A (ja) | 半導体記憶装置、および半導体記憶装置の検査方法 | |
Alam | Lightweight Opportunistic Memory Resilience | |
US20040054956A1 (en) | Accelerated galois data integrity crosscheck system and method | |
US11928027B1 (en) | System and method for error checking and correction with metadata storage in a memory controller | |
JP2820124B2 (ja) | 主記憶装置 | |
TWI708256B (zh) | 記憶體裝置、記憶體控制器及其資料存取方法 | |
US11861180B2 (en) | Error correction in memory system | |
TWI707354B (zh) | 錯誤更正碼記憶體裝置和碼字存取方法 | |
US11735285B1 (en) | Detection of address bus corruption for data storage devices |