嵌入式存儲器測試系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種嵌入式存儲器測試系統(tǒng)。本發(fā)明涉及一種用于測試嵌入式存儲器的可編程內(nèi)建自測試pBIST系統(tǒng),其中將需要不同測試條件的多個存儲器并入于SOC中。存儲測試設(shè)置數(shù)據(jù)的pBIST只讀存儲器經(jīng)組織以消除針對類似嵌入式存儲器的測試設(shè)置數(shù)據(jù)的多個實例。
【專利說明】嵌入式存儲器測試系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明的【技術(shù)領(lǐng)域】是高速存儲器測試,且更特定來說,涉及一種用于嵌入式存儲器的內(nèi)建自測試(BIST)系統(tǒng)。
【背景技術(shù)】
[0002]測試所制作的集成電路以確定恰當(dāng)操作始終一直是具挑戰(zhàn)性的任務(wù),特別是關(guān)于板上存儲器功能來說。存在由設(shè)計缺陷導(dǎo)致的兩種主要類型的裝置失靈。當(dāng)按不提供用于既定使用用途的恰當(dāng)功能的設(shè)計規(guī)范制造集成電路時,出現(xiàn)設(shè)計缺陷。此缺陷影響任何所制造的集成電路直到設(shè)計缺陷被校正為止。集成電路制造者在將大量裝置裝運到客戶之前必須檢測并校正此類缺陷以避免成本昂貴的召回。相比于設(shè)計缺陷,制造缺陷涉及集成電路的制造中的某一故障。制造缺陷一般將影響不足所制造的所有部件。通過識別并校正制造故障來校正此類缺陷。
[0003]大多數(shù)集成電路制造者在裝運到顧客之前測試集成電路是否恰當(dāng)操作。增加的集成電路復(fù)雜性使得此測試越來越困難。并非依賴于越來越昂貴的外部測試裝置,許多制造者使用內(nèi)建自測試(BIST)來測試集成電路。BIST在集成電路上使用經(jīng)設(shè)計而僅僅用以測試集成電路的電路。當(dāng)在電路操作中自動地或由外部測試裝置觸發(fā)時,BIST電路產(chǎn)生在普通電路硬件上運行的測試條件集。集成電路在測試之后的狀態(tài)與預(yù)期狀態(tài)的比較指示集成電路是否通過。此測試的實例為向讀取/寫入存儲器寫入及重新調(diào)用所寫入的數(shù)據(jù)。所寫入數(shù)據(jù)與所讀取數(shù)據(jù)之間的匹配通過所述測試。BIST通常涉及其它更復(fù)雜的測試。
[0004]BIST的子集是使用由指令集編程的通用測試引擎的可編程內(nèi)建自測試(pBIST)。此測試指令集通常存儲于集成電路上在只讀存儲器(ROM)中且包含針對所述集成電路特別開發(fā)的指令。PBIST使得硬件及測試指令的重新使用能夠覆蓋一系列的類似但不等同的集成電路。
[0005]標題為“基于ROM 的存儲器測試(ROM-Based Memory Testing) ” 的第 7,324,392號美國專利包含對供在PBIST中使用的示范性指令集的描述。此專利以全文引用的方式并入本文。
[0006]在常規(guī)VLSI系統(tǒng)中,在三個步驟中完成存儲器測試。在第一步驟中,硬連線邏輯(通常可通過第三方供應(yīng)商獲得,實例為memBIST(MBIST))使用在將裝置提交到下線之前開發(fā)的算法。確定硬連線邏輯的詳細構(gòu)成此時并不可行。不可能預(yù)測適當(dāng)?shù)挠布娐罚驗楸匾男畔⒃诠に囋u定窗期間來自工藝模型驅(qū)動器。第二,常規(guī)存儲器測試試圖使用基于CPU的技術(shù)來縮小測試差距。這些技術(shù)具有若干個限制。主要限制是與在大部分地不可存取的存儲器功能的CPU接口。不能夠進行對所有存儲器的背靠背存取是另一嚴重限制。第三,在于裝置呈晶片形式時進行存儲器測試期間,無法以完全處理器速度實現(xiàn)直接存儲器存取(DMA)外部存儲器存取。此可導(dǎo)致不能觀察到顯著數(shù)目的故障。
【發(fā)明內(nèi)容】
[0007]SOC(芯片上系統(tǒng))通常含有多個存儲器。采用pBIST(可編程內(nèi)建自測試)模塊來測試嵌入式存儲器。
[0008]本發(fā)明描述pBIST內(nèi)的新穎ROM(只讀存儲器)組織,其減少存儲存儲器測試及配置信息所需的ROM的量。
【專利附圖】
【附圖說明】
[0009]在圖式中圖解說明本發(fā)明的這些及其它方面,圖式中:
[0010]圖1是構(gòu)建到現(xiàn)有技術(shù)的CPU/存儲器功能中的可編程BIST (pBist)單元的框圖;
[0011]圖2是現(xiàn)有技術(shù)的pBist控制器的詳細框圖;
[0012]圖3是圖解說明由以下三個地址分量尋址的現(xiàn)有技術(shù)實例性兩塊存儲器的圖:列地址;行地址;及塊地址;
[0013]圖4展示具有分布式數(shù)據(jù)記錄的pBIST架構(gòu)。
【具體實施方式】
[0014]不同裝置的SRAM/存儲器結(jié)構(gòu)因技術(shù)、設(shè)計及實施方案而不同。為了有效地測試存儲器,存儲器測試算法的地址存取型式序列應(yīng)遵循使存儲器內(nèi)的電結(jié)構(gòu)敏感并測試所述電結(jié)構(gòu)的特定型式。
[0015]在簡單存儲器結(jié)構(gòu)中,物理地址及邏輯地址為鄰接且匹配的??山柚沟刂肪€性地遞增或遞減的簡單算法來執(zhí)行有效測試。在這些存儲器中,任何可能的地址置亂均自動地使輸入與輸出匹配。即,輸入的位〈O〉變?yōu)檩敵龅奈弧碠〉,依此類推。
[0016]圖1圖解說明代表 性現(xiàn)有技術(shù)集成電路(IC):包含可編程內(nèi)建自測試(pBIST) 130的芯片上系統(tǒng)(SOC)裝置100。
[0017]SOC裝置100包含測試起來可能非常復(fù)雜的多個模塊。S0C100包含通過總線120耦合的中央處理單元(CPU) 110以及存儲器111及112到119。其它SOC裝置可包含多個處理器、存儲器與高速緩沖存儲器子系統(tǒng)的復(fù)雜集合、外圍裝置及接口、各種類型的存儲器存儲裝置(例如隨機存取存儲器(RAM)、只讀存儲器(ROM)及可能地各種類型的可變更存儲器或快閃ROM)。
[0018]可編程內(nèi)建自測試單元pBIST130包含pBIST控制器129、pBIST R0M131、ID值接口 132、ID比較單元128及外部接口 133。pBIST控制器129以CPU 110控制集成電路100的正常操作幾乎相同的方式控制SOC測試。pBIST單元130由存儲于pBIST ROMl31中的測試指令控制。PBIST單元130可經(jīng)由外部接口 133耦合到集成電路100外部的電路。地址經(jīng)由地址1/0134進入及離開pBist單元130。
[0019]pBIST控制器129通過使用pBIST ID (識別)值接口 132選擇pBIST控制器群組內(nèi)的特定PBIST控制器。pBIST ID值通常為允許選擇多達三十一個pBIST控制器的五位值。
[0020]圖2是現(xiàn)有技術(shù)pBist 130中所包含的功能單元的框圖。pBIST單元130包含PBIST控制器129、寄存器221到228、雙地址寄存器230、匹配單元232及多輸入簽名寄存器(MISR)單元233。Addr [15: O] I/O 134允許pBist地址的輸入或輸出。
[0021]在CPUllO的地址空 間內(nèi)對配置寄存器221到228進行存儲器映射。因此,CPU 110可通過對對應(yīng)地址的存儲器操作來從任何寄存器221到228讀取或向其寫入。配置寄存器221到228控制pBIST單元130的配置及操作模式。數(shù)據(jù)寄存器222存儲從pBIST ROM131重新調(diào)用的測試數(shù)據(jù)。程序寄存器223存儲從pBIST ROM 131重新調(diào)用的測試程序指令。其它寄存器224包含各種各樣的通用寄存器。配置寄存器221包含下文將更充分論述的四個額外寄存器:算法寄存器225、上部RAM信息(RINFOL)寄存器226、下部RAM信息(RINFOU)寄存器 227 及 pBIST ID 寄存器 228。
[0022]算法寄存器225實際上為算法屏蔽寄存器。此寄存器的位[O]指示是否將執(zhí)行存儲于pBIST ROM 131中的第一算法。位[I]指示是否執(zhí)行第二算法,依此類推。存儲于pBist ROM 131中的總共32個算法可由算法寄存器225的32位字寬度控制。為執(zhí)行算法,必須設(shè)定算法寄存器225的對應(yīng)位及先前算法標頭中的有效位兩者。
[0023]RINFOL寄存器226及RINFOU寄存器227為類似于算法寄存器225的群組屏蔽寄存器。RINFOL寄存器226及RINFOU寄存器227指示是否測試特定RAM群組。提供此能力是因為并非所有算法均可在所有存儲器上運行。為測試特定RAM群組,必須設(shè)定RINFOL寄存器226或RINFOU寄存器227中的對應(yīng)位及先前RAM群組標頭中的有效位兩者。RINFOL寄存器226指示RAM群組O到31的有效性且RINFOU寄存器227指示RAM群組32到63的有效性。
[0024]pBIST ID寄存器228為存儲器映射寄存器,其在編程序列開始時加載有pBIST ID以指定多個PBIST控制器129中的哪一者正由外部測試器或由本地CPU 110編程。在復(fù)位后,pBIST寄存器即刻采取值0x0000。當(dāng)設(shè)計SOC集成電路時,經(jīng)由ID值接口 132給每一pBIST控制器129指派唯一 ID值輸入。此可通過簡單地將五位字段系結(jié)到高或低參考電壓以形成五位ID值來體現(xiàn)。雙地址寄存器230用于存取存儲器,例如存儲器111、112到119。
[0025]圖3圖解說明此處作為可如何使用地址置亂的實例而包含的現(xiàn)有技術(shù)裝置的存儲器讀取部分。在圖3的實例中,存儲器具有N個塊,每一塊具有M列且每一列具有R行。來自兩個存儲器塊(block_0 300及block_l 301)的輸出數(shù)據(jù)由多路復(fù)用器302、303及304選擇。block_0 300及block_l 301的三十二個垂直單元中的每一者含有三十二個數(shù)據(jù)行,每一行含有標示為字節(jié)O到3的四個八位字節(jié)。
[0026]行地址〈R-1:0>供應(yīng)block_0 300及block_l 301的行地址輸入且在每一塊中從行2K-1到O中選擇一行。來自列2Μ-1到列O的數(shù)據(jù)從block_0 300輸出到多路復(fù)用器302。供應(yīng)到多路復(fù)用器302的控制輸入的列地址〈M-1:0>選擇對應(yīng)列的數(shù)據(jù)。類似地,來自列2M-1到列O的數(shù)據(jù)從block_l 301輸出到多路復(fù)用器303。供應(yīng)到多路復(fù)用器303的控制輸入的列地址<M-1:0>選擇對應(yīng)列的數(shù)據(jù)。多路復(fù)用器302及303的輸出作為輸入供應(yīng)到多路復(fù)用器304。供應(yīng)到多路復(fù)用器304的控制輸入的塊地址〈N-1:0>選擇來自對應(yīng)塊的數(shù)據(jù)以作為數(shù)據(jù)231輸出。
[0027]在圖3的存儲器中:若干位寬的列地址〈(M-1):0>在M個列之間選擇;若干位寬的塊地址〈(N-1):0>在存儲器庫的N個塊之間選擇;且若干位寬的行地址〈(R-1):0>在每一存儲器庫內(nèi)部的R個邏輯地址行之間選擇。
[0028]圖3圖解說明實例性存儲器塊的分割。圖3的實例性存儲器要求SRAM地址具有兩位列地址〈0>及〈1>、兩位行A地址〈2>及〈3>、單位塊地址〈4>及三位行B地址〈5>、〈6>及〈7>。將供應(yīng)到存儲器的地址劃分成這三個區(qū)段。以上區(qū)域的位置可在不同設(shè)計間不同。[0029]圖1及2中所圖解說明的先前pBIST 130經(jīng)設(shè)計以用于直接線性尋址。行地址為地址最低有效位(LSB)〈0>到〈4>。列地址為位〈5>及〈6>。塊地址為位〈7>。遞增通過這些地址將在block_0 300中以循序次序提取來自行O到行31的數(shù)據(jù)且接著在block_l 301中以循序次序提取來自行32到63的數(shù)據(jù)。
[0030]此線性尋址的第一遍次將尋址block_0 300且繼續(xù)進行通過所有行地址,從而循序地提取首先所有列O數(shù)據(jù)且接下來所有列I數(shù)據(jù)、后續(xù)接著列2數(shù)據(jù)及最終列3數(shù)據(jù)。此線性尋址的第二遍次將尋址blockl 301且繼續(xù)行進通過所有行地址,從而循序地提取首先所有列O數(shù)據(jù)且接下來所有列I數(shù)據(jù)、后續(xù)接著列2數(shù)據(jù)及最終列3數(shù)據(jù)。
[0031]圖4中所示范的架構(gòu)由具有分布式數(shù)據(jù)記錄器系統(tǒng)的單一 pBIST組成。每一子芯片并入有與進行控制的PBIST通信的數(shù)據(jù)記錄器。
[0032]數(shù)據(jù)從測試器(VLCT)輸入到組合器401以格式化所述數(shù)據(jù)、接著輸入到具有PBIST存儲器403的pBIST塊402。pBIST 402經(jīng)由經(jīng)壓縮數(shù)據(jù)總線與適用子芯片通信且從每一子芯片接收失效及日志信息。以串行方式呈現(xiàn)日志信息以減少連接的數(shù)目。
[0033]如果子芯片在來自pBIST的不同電壓及/或時鐘域中操作,那么其可含有異步橋接器405。異步橋接器405連接到通信以控制塊407的分布式數(shù)據(jù)記錄器406。塊407在將測試型式寫入到存儲器408之前擴展經(jīng)壓縮數(shù)據(jù)且接著從存儲器408讀取結(jié)果。在DDL406中執(zhí)行預(yù)期與實際存儲器數(shù)據(jù)的比較。由于所述比較是在每一子芯片中局部進行的,因此不需要將讀取數(shù)據(jù)返回到PBIST,因此減少連接的數(shù)目。
[0034]在pBIST實施方案中,必須測試多個嵌入式隨機存取存儲器(RAM)。每一嵌入式存儲器塊可能需要不同測試算法及測試條件,且PBIST必須能夠取決于所選擇的實際存儲器而設(shè)置測試過程。設(shè)置數(shù)據(jù)可由SOC測試器提供,或其可存儲于PBIST只讀存儲器(ROM)中。
[0035]在現(xiàn)有技術(shù)中,pBIST ROM針對每一RAM塊單獨地存儲配置數(shù)據(jù),如表I中所展示,其中將ROM劃分成兩個區(qū)段。第一位置存儲到算法區(qū)段的開始的指針(ALG0_PTR),且第二位置存儲到RAM群組區(qū)段的開始的指針。所述算法區(qū)段存儲針對選定RAM的測試算法,且RAM群組區(qū)段存儲測試選定RAM塊所需的常數(shù)。表2展示Ram群組區(qū)段的內(nèi)容。
[0036]針對可存在的每一嵌入式存儲器塊重復(fù)此ROM結(jié)構(gòu)。
【權(quán)利要求】
1.一種嵌入式存儲器測試系統(tǒng),其包括: 可編程內(nèi)建自測試PBIST引擎; 多個嵌入式隨機存取存儲器; 只讀存儲器。
2.根據(jù)權(quán)利要求1所述的嵌入式存儲器測試系統(tǒng),其中: 所述可編程內(nèi)建測試系統(tǒng)可操作以測試所述嵌入式隨機存取存儲器中的一者或一者以上。
3.根據(jù)權(quán)利要求1所述的嵌入式存儲器測試系統(tǒng),其中: 所述只讀存儲器可與所述可編程內(nèi)建自測試引擎一起操作。
4.根據(jù)權(quán)利要求1所述的嵌入式存儲器測試系統(tǒng),其中: 所述只讀存儲器可操作以存儲測試所述嵌入式隨機存取存儲器所需的多個測試算法。
5.根據(jù)權(quán)利要求1所述的嵌入式存儲器測試系統(tǒng),其中: 所述只讀存儲器可操作以存儲測試所述各種類型的嵌入式隨機存取存儲器所需的設(shè)置條件及常數(shù)。
6.根據(jù)權(quán)利要求1所述的嵌入式存儲器測試系統(tǒng),其中: 所述只讀存儲器可操作以針對每一類型的嵌入式隨機存取存儲器存儲所述設(shè)置條件及常數(shù)的單一實例。
7.根據(jù)權(quán)利要求1所述的嵌入式存儲器測試系統(tǒng),其中: 所述可編程內(nèi)建測試系統(tǒng)可操作以通過使用存儲于所述隨機存取存儲器中且與選定嵌入式隨機存取存儲器相關(guān)聯(lián)的存儲器地址指針來檢索針對所述選定嵌入式隨機存取存儲器的所述設(shè)置條件及常數(shù)。
【文檔編號】G11C29/12GK103871478SQ201310665285
【公開日】2014年6月18日 申請日期:2013年12月10日 優(yōu)先權(quán)日:2012年12月10日
【發(fā)明者】拉古拉姆·達莫達蘭, 納韋恩·布霍里亞, 阿曼·科克拉迪 申請人:德州儀器公司