TWI620190B - 記憶體控制電路與記憶體測試方法 - Google Patents

記憶體控制電路與記憶體測試方法 Download PDF

Info

Publication number
TWI620190B
TWI620190B TW105143402A TW105143402A TWI620190B TW I620190 B TWI620190 B TW I620190B TW 105143402 A TW105143402 A TW 105143402A TW 105143402 A TW105143402 A TW 105143402A TW I620190 B TWI620190 B TW I620190B
Authority
TW
Taiwan
Prior art keywords
channel
controller
bist
individual
instruction
Prior art date
Application number
TW105143402A
Other languages
English (en)
Other versions
TW201824291A (zh
Inventor
吳冠德
賴振祥
駱致彥
李進福
Original Assignee
財團法人工業技術研究院
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 財團法人工業技術研究院 filed Critical 財團法人工業技術研究院
Priority to TW105143402A priority Critical patent/TWI620190B/zh
Priority to US15/598,077 priority patent/US10311964B2/en
Application granted granted Critical
Publication of TWI620190B publication Critical patent/TWI620190B/zh
Publication of TW201824291A publication Critical patent/TW201824291A/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/14Implementation of control logic, e.g. test mode decoders
    • G11C29/16Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/36Data generation devices, e.g. data inverters

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

記憶體控制電路,耦接至一多通道記憶體,該記憶體控制電路包括:複數個通道控制器,耦接至該多通道記憶體的個別通道記憶體;以及一內建式自我測試(BIST)電路。該BIST電路包括一BIST控制器與複數個指令索引暫存器。該些指令索引暫存器儲存該些通道控制器的個別指令索引。該BIST控制器收到由該些通道控制器的至少二通道控制器所發出的通知,代表該至少二通道控制器已完成個別目前測試指令。當該BIST控制器進行仲裁時,該BIST控制器從發出通知的該至少二通道控制器中選擇至少一通道控制器,並根據被選的該至少一通道控制器的該個別指令索引,該BIST控制器送出個別下一個測試指令給被選的該至少一通道控制器。

Description

記憶體控制電路與記憶體測試方法
本案是有關於一種記憶體控制電路與記憶體測試方法。
無論是個人電腦,或是幾乎人手一機的手持式智慧行動裝置,記憶體都是不可或缺的。隨著科技的日新月異、及製程與良率的提昇,記憶體效能日益漸進。
在手持式智慧行動裝置以及電腦硬體中,多通道記憶體技術(Multi-channel memory technology)可以提升記憶體效能。多通道記憶體技術的原理,是在動態隨機存取記憶體和記憶體控制電路之間,增加多條的並列記憶體通道,以增加資料傳送的頻寬。
多通道記憶體的每個通道皆為獨立,這些通道可能因製程變異而造成不同通道之間的存取等待時間不同。或者是,對於同一通道而言,該通道的存取等待時間可能隨著使用時間、溫度或記憶體與記憶體控制電路之間介面等原因而變動。
內建式自我測試(built-in self-test,BIST)電路已被廣泛的應用於各類記憶體產品,以進行測試。BIST電路可提高測 試的品質與降低測試成本。
如何對多通道記憶體以便宜、快速、準確的方式來測試是議題之一。
根據本案一實例,提出一種記憶體控制電路,耦接至一多通道記憶體,該記憶體控制電路包括:複數個通道控制器,耦接至該多通道記憶體的個別通道記憶體;以及一內建式自我測試(BIST)電路,耦接至該些通道控制器,該BIST電路包括一BIST控制器與複數個指令索引暫存器,該BIST控制器耦接至該些通道控制器,該些指令索引暫存器耦接至該BIST控制器,該些指令索引暫存器儲存該些通道控制器的個別指令索引。該BIST控制器收到由該些通道控制器的至少二通道控制器所發出的通知,代表該至少二通道控制器已完成個別目前測試指令。當該BIST控制器進行仲裁時,該BIST控制器從發出通知的該至少二通道控制器中選擇至少一通道控制器,並根據被選的該至少一通道控制器的該個別指令索引,該BIST控制器送出個別下一個測試指令給被選的該至少一通道控制器。
根據本案另一實例,提出一種多通道記憶體測試方法,應用於一多通道記憶體,該多通道記憶體耦接至複數個通道控制器。該多通道記憶體測試方法包括:收到由該些通道控制器的至少二通道控制器所發出的通知,代表該至少二通道控制器已完成個別目前測試指令;以及從發出通知的該至少二通道控制器 中選擇至少一通道控制器,並根據被選的該至少一通道控制器的個別指令索引,送出個別的下一個測試指令給被選的該至少一通道控制器。
為了對本案之上述及其他方面有更佳的瞭解,下文特舉實施例,並配合所附圖式,作詳細說明如下:
100‧‧‧記憶體控制電路
190‧‧‧多通道記憶體
190_1~190_N‧‧‧通道記憶體
110‧‧‧內建式自我測試電路
131_1~131_N‧‧‧通道控制器
111‧‧‧接收介面
113‧‧‧BIST控制器
115_1~115_N‧‧‧指令索引暫存器
117_1~117_m‧‧‧資料背景產生器
119_1~119_m‧‧‧比較器
133_1~133_N‧‧‧指令緩衝器
135_1~135_N‧‧‧讀取資料緩衝器
137_1~137_N‧‧‧寫入資料緩衝器
139_1~139_N‧‧‧有限狀態機
210~250‧‧‧步驟
310~370‧‧‧步驟
第1圖顯示根據本案一實施例的記憶體控制電路的功能方塊圖。
第2圖顯示根據本案一實施例的多通道記憶體測試方法的流程圖。
第3圖顯示根據本案另一實施例的多通道記憶體測試方法的流程圖。
第4圖顯示本案實施例的多通道記憶體測試方法的測試效率圖。
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
第1圖顯示根據本案一實施例的記憶體控制電路100的功能方塊圖。如第1圖所示,記憶體控制電路100耦接並控制多通道記憶體190,多通道記憶體190包括N個通道記憶體190_1~190_N(N為自然數)。
記憶體控制電路100包括:內建式自我測試(built-in self-test,BIST)電路110與N個通道控制器131_1~131_N。BIST電路110包括:接收介面111、BIST控制器113、N個指令索引暫存器(command index register)115_1~115_N、m個資料背景產生器117_1~117_m(m為小於或等於N的自然數)與m個比較器119_1~119_m。
第一通道控制器131_1包括:第一指令緩衝器133_1、第一讀取資料緩衝器135_1、第一寫入資料緩衝器137_1與第一有限狀態機139_1(finite state machine,FSM)。同樣地,第N通道控制器131_N包括:第N指令緩衝器133_N、第N讀取資料緩衝器135_N、第N寫入資料緩衝器137_N與第N有限狀態機139_N。其餘的通道控制器的架構也相同或相似。
接收介面111耦接至BIST控制器113。接收介面111接收BIST指令BIST_CMD。例如但不受限,接收介面111串列接收BIST指令BIST_CMD。BIST指令BIST_CMD例如包括測試演算法指示參數。在本案實施例,BIST控制器113可包括多種預設的測試演算法。每個測試演算法所包括的測試指令個數與順序有所不同。舉例來說但不設限,在BIST控制器113所包括的3 種預設測試演算法中,第一種預設的測試演算法包括:R0R0R1R1W1W1W0W0…,其中,R0代表從通道記憶體讀出0,而W1代表對通道記憶體寫入1,其餘可依此類推。第二種預設的測試演算法包括:R1R1R0R0W1W1W0W0…。第三種預設的測試演算法包括:W1W1W0W0R1R1R0R0…。以上只是舉例說明。經接收介面111接收BIST指令BIST_CMD,BIST指令BIST_CMD包括完整的測試演算法指示參數,接收介面111將BIST指令BIST_CMD傳送給BIST控制器113。如此一來,BIST控制器113可以知道這次測試要用哪一種測試演算法(例如,用第2種測試演算法),以及BIST控制器113據以產生相對應的測試指令給通道控制器131_1~131_N。在一實施例中,BIST控制器113根據BIST指令BIST_CMD,選擇一測試演算法並連續產生複數個測試指令直至此測試演算法結束。
BIST控制器113根據BIST指令BIST_CMD例如包括測試演算法指示參數來解碼,以及,BIST控制器113產生相對應的測試指令並傳給通道控制器131_1~131_N。當BIST控制器113送出相對應的測試指令給通道控制器131_1~131_N之後,BIST控制器113更新其相對應的指令索引暫存器115_1~115_N。當有通道控制器131_1~131_N完成個別目前測試指令時,該通道控制器會通知BIST控制器113。若通道控制器131_1~131_N之間發生衝突時,BIST控制器113進行仲裁。
N個指令索引暫存器115_1~115_N耦接至該BIST 控制器113,該些指令索引暫存器115_1~115_N分別儲存通道控制器131_1~131_N的個別下一個測試指令索引。在本案實施例中,由於每個通道記憶體的存取等待時間可能有所不同,所以,每個通道記憶體所進行的目前測試指令可能也有所不同,而且,每個通道記憶體完成目前測試指令的時間可能也有所不同。
底下舉例說明,以此次的測試使用第2種測試演算法為例做說明。在開始測試時,BIST控制器113令N個指令索引暫存器115_1~115_N的個別目前測試指令索引都為1,代表每個通道控制器131_1~131_N將被第一個測試指令所測試。例如但不限於,BIST控制器113送出第一個測試指令給每個通道控制器131_1~131_N,之後BIST控制器113將N個指令索引暫存器115_1~115_N的目前測試指令索引更新為2。例如但不受限於,假設以第一通道控制器131_1最早完成第一個測試指令為例做說明。第一通道控制器131_1回傳並通知BIST控制器113。BIST控制器113送出第二個測試指令給第一通道控制器131_1,並將指令索引暫存器115_1的目前測試指令索引更新為3(但此時的其他指令索引暫存器115_2~115_N的個別目前測試指令索引仍都為2)。當第三通道控制器131_3完成第一個測試指令時,則第三通道控制器131_3回傳並通知BIST控制器113。BIST控制器113送出第二個測試指令給第三通道控制器131_3,並將指令索引暫存器115_3的目前測試指令索引更新為3(但此時的其他指令索引暫存器115_2、115_4~115_N的個別目前測試指令索引仍都為2)。 其餘可依此類推。
也就是說,當一通道控制器完成其目前測試指令並通知BIST控制器113時,BIST控制器113送出個別的下一個測試指令給該通道控制器,並更新相對應的指令索引暫存器的測試指令索引。
m個資料背景產生器117_1~117_m耦接至該BIST控制器113,用以產生待寫入資料或預期資料。在一實施例中,m個資料背景產生器117_1~117_m可以產生m種不同的待寫入資料或預期資料。m個比較器119_1~119_m,耦接至該BIST控制器113與該些資料背景產生器117_1~117_m。當進行寫入測試指令時,資料背景產生器117_1~117_m之一或多個或全部可產生待寫入資料,並受控於BIST控制器113而送出所產生的待寫入資料至相對應的通道控制器131_1~131_N之一或多個(例如最多產生m種待寫入的資料)。當進行讀取測試指令時,資料背景產生器117_1~117_m產生相對應的預期資料,以及,比較器119_1~119_m將從通道控制器131_1~131_N之一或多個所回傳的讀取資料與預期資料(例如最多m種預期資料)做比較,以決定讀取測試是否通過,在一實施例中,通道控制器131_1~131_N可比較m種不同的預期資料。
指令緩衝器133_1~133_N耦接至BIST控制器113,暫時存放通道控制器131_1~131_N所接收到的測試指令,並輸出給FSM 139_1~139_N。讀取資料緩衝器135_1~135_N耦接至BIST 控制器113,暫時存放從通道記憶體190_1~190_N所讀出的資料。當執行寫入測試指令時,待寫入資料暫時存入於寫入資料緩衝器137_1~137_N(耦接至BIST控制器113)之中,並由FSM 139_1~139_N寫入至通道記憶體190_1~190_N。
FSM 139_1~139_N耦接至指令緩衝器133_1~133_N、讀取資料緩衝器135_1~135_N、寫入資料緩衝器137_1~137_N與通道記憶體190_1~190_N。FSM 139_1~139_N根據存在於指令緩衝器133_1~133_N中的測試指令,來對通道記憶體190_1~190_N進行讀取及/或寫入操作。
當進行讀取測試時,根據讀取測試指令,FSM 139_1~139_N將從通道記憶體190_1~190_N讀出的資料暫時存放至讀取資料緩衝器135_1~135_N,並通知BIST控制器113,將所讀出的資料回傳至BIST控制器113。
當進行寫入測試時,根據寫入測試指令,FSM 139_1~139_N通知BIST控制器113將待寫入資料傳至寫入資料緩衝器137_1~137_N中,然後將暫存於寫入資料緩衝器137_1~137_N的資料寫入至通道記憶體190_1~190_N。
現請參考第2圖,其顯示根據本案一實施例的多通道記憶體測試方法的流程圖。如第2圖所示,於步驟210中,BIST控制器113送出第一測試指令至所有的通道控制器131_1~131_N。
於步驟220中,BIST控制器113收到通知,至少一 (或是至少二)通道控制器已完成個別目前測試指令。
於步驟230中,BIST控制器113判斷發出通知的該或該些通道控制器是否已完成所有測試指令。
如果步驟230為是,則流程接續至步驟240。如果步驟230為否,則流程接續至步驟250。
於步驟240中,BIST控制器113判斷所有的通道控制器是否已完成所有測試指令。如果步驟240為是,則代表測試流程結束。如果步驟240為否,則流程回續至步驟220。
於步驟250中,當需要BIST控制器113進行仲裁時(這代表,同時有多個通道控制器通知BIST控制器113),BIST控制器113從發出通知的該些通道控制器中選擇至少一通道控制器,並根據被選的該至少一通道控制器的個別指令索引,BIST控制器113送出個別下一個測試指令給被選的該至少一通道控制器。
進一步說,在步驟250中,BIST控制器113判斷是否發生衝突。也就是說,BIST控制器113判斷是否同時有多個通道控制器通知已完成個別目前測試指令。如果發生衝突的話,則BIST控制器113進行仲裁。在本案實施例中,BIST控制器113的仲裁機制可不特別限定之。於BIST控制器113仲裁後,BIST控制器113送出個別下一個測試指令給被選的該(些)通道控制器。
舉例來說,BIST控制器113同時收到三個通道控制器131_1、131_3、131_5的通知。在進行仲裁後,BIST控制器 113選擇通道控制器131_1。BIST控制器113根據指令索引暫存器115_1的指令索引,送出下一個測試指令給通道控制器131_1。
現請參考第3圖,顯示根據本案另一實施例的多通道記憶體測試方法的流程圖。如第3圖所示,於步驟310中,BIST控制器113送出第一測試指令至所有的通道控制器131_1~131_N。
於步驟320中,BIST控制器113收到通知,有至少一(或是至少二)通道控制器已完成個別目前測試指令。在不同周期中,同時完成個別目前測試指令的通道控制器的數量可能有所變動。例如但不限於,在某一周期內,可能有2個通道控制器同時完成個別目前測試指令並通知BIST控制器113,但在另一周期內,可能有4個通道控制器同時完成個別目前測試指令並通知BIST控制器113。
於步驟330中,BIST控制器113判斷,發出通知的該至少一(或是該至少二)通道控制器是否已完成所有測試指令。
如果步驟330為是,則流程接續至步驟340。如果步驟330為否,則流程接續至步驟350。
於步驟340中,BIST控制器113判斷,所有的通道控制器是否已完成所有測試指令。如果步驟340為是,則代表測試流程結束。如果步驟340為否,則流程回續至步驟320。
於步驟350中,BIST控制器113判斷是否需要進行仲裁。也就是說,BIST控制器113判斷參數k是否大於參數m。 其中,k為小於等於N的自然數,k代表在步驟320中同時通知BIST控制器113的該些通道控制器中,由該些通道控制器所完成的不同種測試指令的數量,k是可變動的。亦即,k為該些通道控制器所完成的個別目前測試指令的完成指令種類數量。參數m代表,BIST控制器可同時送出最多m種的個別下一個測試指令給發出通知的該些通道控制器。亦即,m為BIST控制器可同時送出個別下一個測試指令的最大可支援指令種類數量。參數m原則上是固定的,根據硬體設計而定。m值愈高,記憶體控制電路100的測試效能愈好但成本也愈高;反之亦然。另外,在第3圖的第一個步驟310中,由於BIST控制器113送出第一個測試指令給所有的通道控制器,所有的通道控制器都是接收到相同的第一個測試指令,所以,第一個步驟310符合m值的限定。
如果步驟350為否(若是BIST控制器113判斷完成指令種類數量不大於最大可支援指令種類數量,不需仲裁),則流程接續步驟360。如果步驟350為是(若是BIST控制器判斷完成指令種類數量大於最大可支援指令種類數量,則需要仲裁),則流程接續步驟370。
步驟360中,根據發出通知的該至少一(或是該至少二)通道控制器的個別指令索引,BIST控制器113送出k種個別下一個測試指令給該至少一(或是該至少二)通道控制器。亦即,在步驟360中,BIST控制器113判斷可以同時送出個別下一個測試指令給(在步驟320中)所有送出通知的該至少一(或是該至少二) 通道控制器。換句話說,BIST控制器113送出符合該完成指令種類數量之種類之個別下一個測試指令給發出通知的通道控制器。在一實施例中,可以有兩個(或以上)的通道控制器同時完成相同的測試指令,因此這些完成相同測試指令的通道控制器可以接收同一種個別下一個測試指令,因此通道控制器之數量可以大於或等於完成指令種類數量。
步驟370中,BIST控制器113根據被選的通道控制器的個別指令索引,送出m種個別的下一個測試指令給被選的通道控制器。亦即,在步驟370中,BIST控制器113判斷無法同時送出k種個別下一個測試指令(例如因為硬體設計的限制)給發出通知的該(些)通道控制器(因為k大於m)。所以,BIST控制器113進行仲裁後,根據被選的通道控制器的個別指令索引,送出m種個別下一個測試指令給被選的通道控制器。換句話說,BIST控制器113送出符合最大可支援指令種類數量之種類之個別下一個測試指令給被選的通道控制器。在一實施例中,可以有兩個(或以上)的通道控制器同時完成相同的測試指令,因此這些被選的通道控制器可以接收同一種個別下一個測試指令,因此通道控制器之數量可以大於或等於最大可支援指令種類數量。
在另一實施例中,步驟350的判斷可以是BIST控制器113判斷能否對發出通知的通道控制器同時送出個別下一個測試指令。如果判斷可以對發出通知的通道控制器同時送出個別下一個測試指令,則根據發出通知的通道控制器的個別指令索 引,送出個別的下一個測試指令給該些通道控制器,並更新發出通知的該些控制器的該些個別指令索引。如果判斷無法對發出通知的該些控制器同時送出該些個別下一個測試指令,則從該些通道控制器中選擇,根據被選的該些通道控制器的該些個別指令索引,送出該些個別下一個測試指令給被選的該些通道控制器,並更新被選的該些通道控制器的該些個別指令索引。
為方便了解,底下舉例說明。實例一:m=3,k=2。
於步驟320中,BIST控制器113收到通知,同時有3個通道控制器131_1、131_3與131_5已完成個別目前測試指令。例如但不受限於,通道控制器131_1、131_3與131_5的目前個別指令索引目前分別為5、5與8,所以,據此,BIST控制器113可知道通道控制器131_1與131_3已完成第4個測試指令,而通道控制器131_5已完成第7個測試指令。通道控制器131_1和131_3完成的測試指令是相同的,而通道控制器131_5完成的測試指令不同於通道控制器131_1和131_3。故而,BIST控制器113可以知道,同時通知BIST控制器的這3個通道控制器131_1、131_3與131_5已完成2種不同的測試指令(第1種是第4個測試指令,而第2種是第7個測試指令),即k=2。若3個通道控制器131_1、131_3與131_5都未完成所有測試指令,則於步驟350中,BIST控制器113判斷不需要進行仲裁,因為參數k(k=2)小於參數m(m=3)。
於步驟360中,根據發出通知的通道控制器131_1、 131_3與131_5的個別指令索引,BIST控制器送出個別的下一個測試指令給通道控制器131_1、131_3與131_5。例如,通道控制器131_1、131_3與131_5的個別指令索引目前分別為5、5與8。接著,BIST控制器113送出第5個測試指令給通道控制器131_1與131_3,並送出第8個測試指令給通道控制器131_5,並且BIST控制器113將通道控制器131_1、131_3與131_5的個別指令索引分別更新為6、6與9。
實例二:m=3,k=4。
於步驟320中,BIST控制器113收到通知,同時有4個通道控制器131_2、131_4、131_6、131_8已完成個別目前測試指令,而這4個通道控制器131_2、131_4、131_6、131_8完成的測試指令都不相同(即k=4)。通道控制器131_2、131_4、131_6、131_8的個別指令索引目前分別為3、5、7與9。據此,BIST控制器113可知通道控制器131_2已完成第2個測試指令,BIST控制器113可知通道控制器131_4已完成第4個測試指令,BIST控制器113可知通道控制器131_6已完成第6個測試指令,而BIST控制器113可知通道控制器131_8已完成第8個測試指令。如果這4個通道控制器131_2、131_4、131_6、131_8都未完成所有測試指令,則於步驟350中,BIST控制器113判斷需要進行仲裁,因為參數k(k=4)大於參數m(m=3)。也就是說,BIST控制器113無法一次送出4種不同的個別下一個測試指令給這4個通道控制器131_2、131_4、131_6、131_8(例如因為超出硬體 設計上限)。於步驟370中,BIST控制器113進行仲裁,例如但不受限於,BIST控制器113從這4個通道控制器131_2、131_4、131_6、131_8中選擇3個通道控制器131_2、131_4、131_6。根據被選的這3個通道控制器131_2、131_4與131_6的個別指令索引,BIST控制器送出個別的下一個測試指令給通道控制器131_2、131_4與131_6。例如,通道控制器131_2、131_4、131_6的個別指令索引目前分別為3、5與7。BIST控制器113送出第3個測試指令給通道控制器131_2,送出第5個測試指令給通道控制器131_4,並送出第7個測試指令給通道控制器131_6,並且將通道控制器131_2、131_4、131_6的個別指令索引分別更新為4、6與8(但通道控制器131_8的指令索引仍為9,因為BIST控制器113此次沒有送出下一個測試指令給通道控制器131_8)。
從上述說明可知,在本案實施例中,BIST控制器113可動態地回應於一或多通道控制器的通知,來送出此(些)通道控制器的個別下一個測試指令。
現在將舉例說明本案實施例的多通道記憶體測試方法的測試效率。第4圖顯示本案實施例的多通道記憶體測試方法的測試效率圖。
在此假設,對第一至第三通道記憶體進行讀出0(R0),寫入1(W1)與讀出1(R1)的測試(m=1)。讀取資料後至寫入(Read-to-Write)的等待時間tRTW為1周期,寫入資料後至讀取(Write-to-Read)的等待時間tWTR為1周期,資料輸出所需時間 tDQ為1周期。這三個通道記憶體的讀/寫等待時間如下:
在上表中,RAL代表讀取等待時間(read access latency),而WAL代表寫入等待時間(write access latency)。
在第4圖中,TEST_CMD_1~TEST_CMD_3分別代表送給第一通道記憶體至第三通道記憶體的測試指令;而DQ1則代表第一通道控制器131_1的資料傳輸線上的信號,DQ2與DQ3的意思相同。
第一通道記憶體的測試時間=(RAL+tDQ)+tRTW+WAL+tWTR+(RAL+tDQ)=(1+1)+1+2+1+(4+1)=11(周期)。相似地,第二通道記憶體的測試時間=(RAL+tDQ)+tRTW+WAL+tWTR+(RAL+tDQ)=(3+1)+1+2+1+(1+1)=10(周期)。第三通道記憶體的測試時間=(RAL+tDQ)+tRTW+WAL+tWTR+tARB+(RAL+tDQ)=(2+1)+1+1+1+1+(3+1)=11(周期)。
在第三通道記憶體的測試時間中,「tARB」代表仲裁所導致的等待時間,在此假設仲裁結果讓第一通道控制器取得 優先權,所以,第三通道控制器需要等待一個周期才能接收到下一個測試指令(R1)。
底下比較未用本案實施例的幾個測試方法與本案實施例的測試效能(同樣是測試R0W1R1)。
其中,專用BIST代表每一個通道記憶體都配置一個專用的BIST電路。共享式BIST-串列代表所有通道記憶體共享一個BIST電路,且以串列方式來進行測試;串列方式是指,對目前通道記憶體的所有測試指令皆已完成後,才會進行對下一個通道記憶體的測試。共享式BIST-並列代表所有通道記憶體共享一個BIST電路,且以並列方式來進行測試;並列方式是指,等所有的通道記憶體的個別目前測試指令皆已完成後,才會進行對 所有通道記憶體的下一個測試指令。
一般而言,測試成本可表示如下:接腳數*測試時間*(測試機台的每秒費用)。所以,如果以本案實施例的測試成本為基準的話,則另外3種的測試成本為3(倍)、2.8(倍)與1.2(倍)。由此可見本案實施例的效能進步之處。
由上述可知,本案實施例針對多通道記憶體提出內建式自我測試(BIST)方法,在使用一組內建式自我測試電路之前提下,不論不同通道記憶體之間的存取等待時間相同與否,且亦不論同一通道記憶體的存取等待時間是固定亦或是隨機變動,本案實施例的測試方法皆能適用。本案實施例以較少硬體成本,減少測試時間,使整體測試速度和品質提升。
綜上所述,雖然本案已以實施例揭露如上,然其並非用以限定本案。本案所屬技術領域中具有通常知識者,在不脫離本案之精神和範圍內,當可作各種之更動與潤飾。因此,本案之保護範圍當視後附之申請專利範圍所界定者為準。

Claims (18)

  1. 一種記憶體控制電路,耦接至一多通道記憶體,該記憶體控制電路包括:複數個通道控制器,耦接至該多通道記憶體的個別通道記憶體;以及一內建式自我測試(BIST)電路,耦接至該些通道控制器,該BIST電路包括一BIST控制器與複數個指令索引暫存器,該BIST控制器耦接至該些通道控制器,該些指令索引暫存器耦接至該BIST控制器,該些指令索引暫存器儲存該些通道控制器的個別指令索引,其中,該BIST控制器收到由該些通道控制器的至少二通道控制器所發出的通知,代表該至少二通道控制器已完成個別目前測試指令;以及當該BIST控制器進行仲裁時,該BIST控制器從發出通知的該至少二通道控制器中選擇至少一通道控制器,並根據被選的該至少一通道控制器的該個別指令索引,該BIST控制器送出個別下一個測試指令給被選的該至少一通道控制器。
  2. 如申請專利範圍第1項所述之記憶體控制電路,其中,該BIST電路更包括:一接收介面,耦接至該BIST控制器,該接收介面接收一BIST指令,將該BIST指令傳送給該BIST控制器,該BIST控制器據 以選擇一測試演算法並產生複數個測試指令。
  3. 如申請專利範圍第1項所述之記憶體控制電路,其中,當該BIST控制器送出個別下一個測試指令給被選的該至少一通道控制器時,該BIST控制器更新被選的該至少一通道控制器所對應的該些個別指令索引暫存器的該些個別個別指令索引。
  4. 如申請專利範圍第1項所述之記憶體控制電路,其中,該BIST電路更包括:複數個資料背景產生器,耦接至該BIST控制器,用以產生一待寫入資料或一預期資料;以及複數個比較器,耦接至該BIST控制器與該些資料背景產生器,其中,當進行一寫入測試指令時,該些資料背景產生器產生一待寫入資料,並受控於該BIST控制器而送出該待寫入資料至相對應的至少一通道控制器;以及當進行一讀取測試指令時,該些資料背景產生器產生相對應的一預期資料,以及,該些比較器將從該些通道控制器所回傳的一讀取資料比較於該預期資料,以決定讀取測試是否通過。
  5. 如申請專利範圍第1項所述之記憶體控制電路,其中,該BIST控制器:判斷能否對發出通知的該至少二通道控制器同時送出該些個別下一個測試指令; 如果判斷可以對發出通知的該至少二通道控制器同時送出該些個別下一個測試指令,則根據發出通知的該至少二通道控制器的該些個別指令索引,送出該些個別下一個測試指令給該至少二通道控制器,並更新發出通知的該至少二通道控制器的該些個別指令索引;以及如果判斷無法對發出通知的該至少二通道控制器同時送出該些個別下一個測試指令,則從該至少二通道控制器中選擇,根據被選的該些通道控制器的該些個別指令索引,送出該些個別下一個測試指令給被選的該些通道控制器,並更新被選的該些通道控制器的該些個別指令索引。
  6. 如申請專利範圍第1項所述之記憶體控制電路,其中,各該些通道控制器包括:一指令緩衝器,耦接至該BIST控制器,存放該個別通道控制器所接收到的一測試指令;一讀取資料緩衝器,耦接至該BIST控制器,存放從該個別通道記憶體所讀出的一讀取資料;一寫入資料緩衝器,耦接至該BIST控制器,當執行一寫入測試指令時,一待寫入資料存入於該寫入資料緩衝器之中;以及一有限狀態機,耦接至該指令緩衝器、該讀取資料緩衝器、該寫入資料緩衝器與該通道記憶體,當進行讀取測試時,根據該指令緩衝器中的一讀取測試指令,該有限狀態機將由該通道記憶體所讀出的該讀取資料存放至 該讀取資料緩衝器,將所讀出的該讀取資料回傳至該BIST控制器,並通知該BIST控制器;以及當進行寫入測試時,根據該指令緩衝器中的一寫入測試指令,該有限狀態機從該寫入資料緩衝器中的該待寫入資料寫入至該通道記憶體,並通知該BIST控制器。
  7. 如申請專利範圍第1項所述之記憶體控制電路,其中,該BIST控制器判斷該至少二通道控制器所完成的個別目前測試指令的一完成指令種類數量是否大於可同時送出個別下一個測試指令的一最大可支援指令種類數量。
  8. 如申請專利範圍第7項所述之記憶體控制電路,其中,若是該BIST控制器判斷該完成指令種類數量大於該最大可支援指令種類數量,則送出符合該最大可支援指令種類數量之種類之個別下一個測試指令給由該至少二通道控制器中選出之至少一被選出通道控制器。
  9. 如申請專利範圍第8項所述之記憶體控制電路,其中該至少一被選出通道控制器之一數量大於或等於該最大可支援指令種類數量。
  10. 如申請專利範圍第7項所述之記憶體控制電路,其中,若是該BIST控制器判斷該完成指令種類數量不大於該最大可支援指令種類數量,則送出符合該完成指令種類數量之種類之個別下一個測試指令給該至少二通道控制器。
  11. 如申請專利範圍第10項所述之記憶體控制電路,其中該 至少二通道控制器之一數量大於或等於該完成指令種類數量。
  12. 一種多通道記憶體測試方法,應用於一多通道記憶體,該多通道記憶體耦接至複數個通道控制器,複數個指令索引暫存器用以儲存該些通道控制器的個別指令索引,該多通道記憶體測試方法包括:收到由該些通道控制器的至少二通道控制器所發出的通知,代表該至少二通道控制器已完成個別目前測試指令;以及當進行仲裁時,從發出通知的該至少二通道控制器中選擇至少一通道控制器,並根據被選的該至少一通道控制器的該個別指令索引,送出個別下一個測試指令給被選的該至少一通道控制器。
  13. 如申請專利範圍第12項所述之多通道記憶體測試方法,其中,該仲裁步驟更包括:判斷能否對發出通知的該至少二通道控制器同時送出該些個別下一個測試指令;如果判斷可以對發出通知的該至少二通道控制器同時送出該些個別下一個測試指令,則根據發出通知的該至少二通道控制器的該些個別指令索引,送出該些個別的下一個測試指令給該至少二通道控制器,並更新發出通知的該至少二通道控制器的該些個別指令索引;以及如果判斷無法對發出通知的該至少二通道控制器同時送出該些個別下一個測試指令,則從該至少二通道控制器中選擇,根 據被選的該些通道控制器的該些個別指令索引,送出該些個別下一個測試指令給被選的該些通道控制器,並更新被選的該些通道控制器的該些個別指令索引。
  14. 如申請專利範圍第12項所述之多通道記憶體測試方法,其中,該仲裁步驟包括:判斷該至少二通道控制器所完成的個別目前測試指令的一完成指令種類數量是否大於可同時送出個別下一個測試指令的一最大可支援指令種類數量。
  15. 如申請專利範圍第14項所述之多通道記憶體測試方法,其中,該仲裁步驟更包括:若是該完成指令種類數量大於該最大可支援指令種類數量,則送出符合該最大可支援指令種類數量之種類之個別下一個測試指令給由該至少二通道控制器中選出之至少一被選出通道控制器。
  16. 如申請專利範圍第15項所述之多通道記憶體測試方法,其中該至少一被選出通道控制器之一數量大於或等於該最大可支援指令種類數量。
  17. 如申請專利範圍第14項所述之多通道記憶體測試方法,其中,該仲裁步驟更包括:若是該完成指令種類數量不大於該最大可支援指令種類數量,則送出符合該完成指令種類數量之種類之個別下一個測試指令給該至少二通道控制器。
  18. 如申請專利範圍第17項所述之多通道記憶體測試方法,其中該至少二通道控制器之一數量大於或等於該完成指令種類數量。
TW105143402A 2016-12-27 2016-12-27 記憶體控制電路與記憶體測試方法 TWI620190B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW105143402A TWI620190B (zh) 2016-12-27 2016-12-27 記憶體控制電路與記憶體測試方法
US15/598,077 US10311964B2 (en) 2016-12-27 2017-05-17 Memory control circuit and memory test method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW105143402A TWI620190B (zh) 2016-12-27 2016-12-27 記憶體控制電路與記憶體測試方法

Publications (2)

Publication Number Publication Date
TWI620190B true TWI620190B (zh) 2018-04-01
TW201824291A TW201824291A (zh) 2018-07-01

Family

ID=62630710

Family Applications (1)

Application Number Title Priority Date Filing Date
TW105143402A TWI620190B (zh) 2016-12-27 2016-12-27 記憶體控制電路與記憶體測試方法

Country Status (2)

Country Link
US (1) US10311964B2 (zh)
TW (1) TWI620190B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI779414B (zh) * 2020-12-08 2022-10-01 瑞昱半導體股份有限公司 記憶體測試電路

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9029922B2 (en) 2013-03-09 2015-05-12 Zeno Semiconductor, Inc. Memory device comprising electrically floating body transistor
TW202008171A (zh) 2018-07-20 2020-02-16 大陸商深圳大心電子科技有限公司 資料寫入方法以及儲存控制器
KR20210101799A (ko) 2020-02-11 2021-08-19 삼성전자주식회사 메모리 테스트 장치 및 테스트 방법
US20240112747A1 (en) * 2022-09-30 2024-04-04 Advanced Micro Devices, Inc. Signal interference testing using reliable read write interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005918A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 Bist 회로를 구비하는 멀티채널 반도체 메모리 장치
US20150106673A1 (en) * 2013-10-16 2015-04-16 Taiwan Semiconductor Manufacturing Company Ltd. Method and apparatus for on-the-fly memory channel built-in-self-test
US9361973B2 (en) * 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output
US20160260500A1 (en) * 2015-03-03 2016-09-08 Mstar Semiconductor, Inc. Memory self-testing device and method thereof

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5173906A (en) * 1990-08-31 1992-12-22 Dreibelbis Jeffrey H Built-in self test for integrated circuits
US5535164A (en) * 1995-03-03 1996-07-09 International Business Machines Corporation BIST tester for multiple memories
US5689466A (en) 1995-04-07 1997-11-18 National Semiconductor Corporation Built in self test (BIST) for multiple RAMs
US5553082A (en) * 1995-05-01 1996-09-03 International Business Machines Corporation Built-in self-test for logic circuitry at memory array output
US5995731A (en) 1997-12-29 1999-11-30 Motorola, Inc. Multiple BIST controllers for testing multiple embedded memory arrays
US5982684A (en) 1998-05-28 1999-11-09 Intel Corporation Parallel access testing of a memory array
TW411463B (en) 1998-06-23 2000-11-11 Nat Science Council Built-in self test for multiple memories in a chip
US6658610B1 (en) 2000-09-25 2003-12-02 International Business Machines Corporation Compilable address magnitude comparator for memory array self-testing
US7360134B1 (en) * 2004-09-21 2008-04-15 Sun Microsystems, Inc. Centralized BIST engine for testing on-chip memory structures
US7208969B2 (en) 2005-07-06 2007-04-24 Optimaltest Ltd. Optimize parallel testing
US7523366B2 (en) 2005-12-09 2009-04-21 Taiwan Semiconductor Manufacturing Co., Ltd. Storage efficient memory system with integrated BIST function
KR100738387B1 (ko) 2005-12-28 2007-07-12 삼성전기주식회사 비축 조사에 의한 파면 측정장치
US7814385B2 (en) 2006-08-30 2010-10-12 Stmicroelectronics Pvt. Ltd. Self programmable shared bist for testing multiple memories
KR100929830B1 (ko) 2008-03-03 2009-12-07 주식회사 하이닉스반도체 반도체 메모리장치 및 이의 병렬 테스트방법
US8838406B2 (en) 2008-11-11 2014-09-16 Advantest (Singapore) Pte Ltd Re-configurable test circuit, method for operating an automated test equipment, apparatus, method and computer program for setting up an automated test equipment
TWI463502B (zh) 2010-11-17 2014-12-01 Hoy Technologies Co 內嵌式測試模組

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090005918A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 Bist 회로를 구비하는 멀티채널 반도체 메모리 장치
US20150106673A1 (en) * 2013-10-16 2015-04-16 Taiwan Semiconductor Manufacturing Company Ltd. Method and apparatus for on-the-fly memory channel built-in-self-test
US9361973B2 (en) * 2013-10-28 2016-06-07 Cypress Semiconductor Corporation Multi-channel, multi-bank memory with wide data input/output
US20160260500A1 (en) * 2015-03-03 2016-09-08 Mstar Semiconductor, Inc. Memory self-testing device and method thereof

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI779414B (zh) * 2020-12-08 2022-10-01 瑞昱半導體股份有限公司 記憶體測試電路

Also Published As

Publication number Publication date
US20180182466A1 (en) 2018-06-28
TW201824291A (zh) 2018-07-01
US10311964B2 (en) 2019-06-04

Similar Documents

Publication Publication Date Title
TWI620190B (zh) 記憶體控制電路與記憶體測試方法
US11151027B2 (en) Methods and apparatuses for requesting ready status information from a memory
US11023167B2 (en) Methods and apparatuses for executing a plurality of queued tasks in a memory
TWI570744B (zh) 積體電路、包含該積體電路之系統、及該系統之操作方法
TWI629686B (zh) 用於同時存取非揮發性記憶體之多個分區之裝置及方法
CN101908379B (zh) 基于访问时间调整对非易失性半导体存储器的访问
US11327907B2 (en) Methods and apparatus for improving SPI continuous read
JP2016538538A (ja) エッジステアリングを備えた自動試験システム
CN106445470B (zh) 芯片中的配置寄存器的初始化方法和初始化装置
US9136016B2 (en) Semiconductor memory apparatus
TW202418098A (zh) 記憶體系統及記憶體晶片之控制方法
KR101295655B1 (ko) 시험 장치 및 시험 방법
US20150227472A1 (en) Memory system, controller, and method
JP2022146543A (ja) 半導体記憶装置、メモリシステム、および方法
CN112017727B (zh) 接口测试方法、装置、处理器和电子设备
WO2024177697A1 (en) Hybrid search to train memory and high-speed input/output interfaces
KR20140080216A (ko) 반도체 메모리 시스템 및 그의 동작 방법
US11392313B2 (en) Memory controller and method thereof with built-in self-tester (BIST)
WO2022041232A1 (zh) 芯片测试电路及电路测试方法
CN106815175A (zh) 数据传输设备
US20150170720A1 (en) Multiple port shared memory
US20170255396A1 (en) Parallel scheduling of write commands to multiple memory devices
KR101365428B1 (ko) 솔리드 스테이트 드라이브 테스터에서 고속 메모리 테스트장치
CN107077406A (zh) Sata接收器均衡裕度确定/设置的方法和装置
JP5850724B2 (ja) データ処理装置およびその制御方法