專利名稱:在測試期間啟動存儲器冗余的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及存儲器冗余的啟動(enablement)。
背景技術(shù):
一般而言存儲器陣列并且具體而言靜態(tài)隨機存取存儲器(SRAM)占據(jù)了許多專用集成電路(ASIC)芯片上大部分的硅面積。這些存儲器陣列往往對這些芯片的制造成品率造成不良影響,這是因為它們是芯片的如此大的一部分,并且它們往往會將技術(shù)的制造工藝推至極限。然而,它們的極其重復(fù)和可預(yù)知的設(shè)計使得它們適合于在芯片被制造好后修復(fù)存儲器的方法。典型的存儲器修復(fù)方法是包括額外的或“冗余的”行或列,它們將被與有缺陷的存儲器元件進行“交換”。用于測試和修復(fù)包括行(即,字線)冗余的固定設(shè)計的SRAM存儲器陣列的傳統(tǒng)方法分為三個大類。
一種技術(shù)規(guī)定,在測試一般的存儲器元件的同時(即,在熔絲燒斷之前)測試所有冗余存儲器元件,并且如果任何冗余存儲器元件出現(xiàn)故障,則將芯片標記為是不可修復(fù)的。此技術(shù)是有利的,因為存在與修復(fù)芯片有關(guān)的巨大成本。因此,能夠越快地將芯片識別為“不可修復(fù)的”,在測試過程中就可以節(jié)約越多的錢,因為在模塊測試時將不會出現(xiàn)有故障的冗余元件。然而,這種解決方法效率低而且費用高,因為在不被需要用于修復(fù)芯片的冗余存儲器元件中發(fā)現(xiàn)的缺陷將導(dǎo)致可修復(fù)的芯片被扔掉。
用于測試冗余存儲器元件的第二種技術(shù)是等待直到有故障的一般存儲器元件已經(jīng)被以冗余存儲器元件替換之后(即,在熔絲燒斷之后)為止,并且測試所述冗余存儲器元件,如同它們是它們所替換的一般存儲器元件一樣。此技術(shù)比第一種技術(shù)有利,因為當在未被使用的冗余存儲器元件中發(fā)現(xiàn)缺陷時可修復(fù)的芯片不會被扔掉。然而,此技術(shù)直到在熔絲燒斷之后才識別有故障的冗余存儲器元件,因此帶來了測試時間、熔絲燒斷、以及可能封裝到模塊中(這常常包括芯片成本的一半或更多)的增加的成本。
最后,第三種技術(shù)規(guī)定,如在第一種技術(shù)中那樣,在替換一般的存儲器元件之前測試所有的冗余存儲器元件,但是提供一種附加機制,通過這種機制,在替換一般的存儲器元件時識別并且在匹配時避開有故障的冗余存儲器元件。通過減少或消除熔絲燒斷之后有故障的冗余存儲器元件的數(shù)量,并且在測試過程中早期識別不可修復(fù)的芯片,這種技術(shù)節(jié)約了成本。然而,引入了硅芯片面積和測試復(fù)雜性的附加成本。在高密度存儲器陣列例如動態(tài)RAM(DRAM)中,這種額外的成本是有理由的,但對于較高性能、較低密度的存儲器例如SRAM和寄存器陣列(RA)來說是不可接受的。如同在第二種技術(shù)中,附加的成本是在已經(jīng)替換了存儲器元件之后,在相同條件下再次測試芯片所帶來的額外的測試時間。
可編輯(或可定制)存儲器表現(xiàn)出了實現(xiàn)和測試冗余存儲器元件的其他障礙。例如,在可編輯存儲器設(shè)計中,測試和在匹配時避開有故障的冗余存儲器元件要麻煩得多。
鑒于以上所述,本領(lǐng)域需要有用于在測試期間測試并修復(fù)冗余存儲器元件的更有效的方法和裝置。
發(fā)明內(nèi)容
本發(fā)明涉及用于在存儲器陣列的測試期間,啟動冗余存儲器元件的方法和裝置。本發(fā)明僅在冗余存儲器元件已被啟動以便替換有故障的存儲器元件時提供該冗余存儲器元件的測試。因此,避免了未被使用的冗余存儲器元件的測試。本發(fā)明實現(xiàn)了內(nèi)置的自測試(BIST)單元,該內(nèi)置自測試單元當測試存儲器時運行多種模式以便隔離并檢測特定故障。本發(fā)明在測試期間的多個點上以冗余存儲器元件修復(fù)任何新發(fā)現(xiàn)的故障,從而在不引起偽故障的情況下盡早地檢測并修復(fù)故障。然后,在后續(xù)的模式測試過程中測試被激活的冗余存儲器元件中的故障。結(jié)果,通過在冗余存儲器元件被啟動以便進行修復(fù)時測試并修復(fù)冗余存儲器元件,一般存儲器元件空間中的所有故障最終將被修復(fù)。因為修復(fù)發(fā)生在測試期間,用戶可以在任何時間修復(fù)存儲器,例如,在啟動IC的過程中,而不僅僅是在制造過程中。這種功能允許修復(fù)在完成制造之后很久才出現(xiàn)的可靠性故障,因此,防止了IC被返回制造者。此外,本發(fā)明包括具有控制位的寄存器,所述控制位允許使用相同的鎖存器收集有故障的地址以及實現(xiàn)冗余以便替換它們。
根據(jù)以下對本發(fā)明的實施例的更具體的說明,本發(fā)明的上述和其他特征將很明顯。
參考以下附圖,將詳細地描述本發(fā)明的實施例,其中類似的標記指示類似的元件,并且其中圖1示出了本發(fā)明的一個實施例的具有BIST的集成電路的方塊圖;圖2示出了圖1的故障地址修復(fù)寄存器(FARA)的方塊圖;圖3示出了圖2的故障地址寄存器(FAR)的方塊圖;圖4示出了本發(fā)明的操作的流程圖。
具體實施例方式
參見附圖,現(xiàn)在將描述與SRAM應(yīng)用有關(guān)的用于在存儲器測試期間啟動冗余的方法和裝置。然而,應(yīng)當認識到,本發(fā)明的技術(shù)可以應(yīng)用于任何類型的存儲器。如圖1中所示,集成電路10(IC)包括,尤其是,存儲器內(nèi)置自測試(BIST)單元12,所述存儲器內(nèi)置自測試單元12與一個或多個存儲器陣列14以及每個存儲器的相應(yīng)的故障地址寄存器陣列(FARA)16相匹配。每個存儲器陣列14可以包括多個一般字線或存儲器元件18(下文中稱為“GWL”),以及一組冗余字線或存儲器元件20(下文中稱為“RWL”)的一種特定設(shè)計。GWL是那些最初旨在用于操作的存儲器元件,而RWL是被提供用于替換有故障的存儲器元件(GWL或RWL)的存儲器元件?!疤鎿Q”的意思是,RWL被用于交換或互換所述有故障的存儲器元件?;蛘?,每個存儲器陣列14可以采取可編輯的(或可定制的)存儲器設(shè)計的形式,其中,所述多個GWL 18和一組RWL 20的數(shù)目可以由用戶選擇。
BIST單元12包括狀態(tài)機22,所述狀態(tài)機22包括,尤其是,用于實現(xiàn)存儲器陣列14的自測試的測試單元21,在這種測試中值被寫入被啟動的存儲器元件(即,GWL和被啟動的RWL)中,并且然后被讀回來。然后測試單元21通過將在讀操作過程中存儲器元件的輸出與被寫入其中的值進行比較確定是否存在故障。如果輸出不匹配,則激活(生成)故障信號。BIST單元12可以包括普通的功能,例如寫模式選擇、數(shù)據(jù)生成器、地址計數(shù)器等,以便執(zhí)行自測試。此外,BIST單元12包括載入啟動信號(LE)激勵器23,LE激勵器23被配置為在測試期間確定這樣的適當?shù)?多個)時刻或(多個)點,在所述時刻或點改變?nèi)哂酄顟B(tài),即,可以激活啟動/禁止RWL而不造成偽故障。將在下面描述LE激勵器23的細節(jié)。BIST單元12和存儲器陣列14中的每一個都可以包括適當?shù)慕涌?4。FARA 16包括一組故障地址寄存器(FAR)26和控制邏輯28(圖2)。每個存儲器陣列14可以包括一個相關(guān)聯(lián)的FARA 16,或者一組存儲器陣列14可以共享一個FARA 16。雖然作為一個單獨的實體示出了FARA 16,但是應(yīng)當認識到,F(xiàn)ARA16可以作為存儲器陣列14的一部分被提供。
在圖2中更詳細地示出了一個示例性FARA 16,它實現(xiàn)了4個RWL并且沒有冗余位線(列)。FARA 16為每個RWL包括一個故障地址寄存器(FAR)26。被表示為FARO至FAR3的4個FAR中的每一個饋入被表示為RWLO至RWL3的相應(yīng)的RWL。如將在下面描述的,控制邏輯28可以向每個FAR 26輸出LOAD(載入)信號和DISABLE(禁止)信號??刂七壿?8還從存儲器陣列14接收故障信號,并且如果存儲器陣列14不能被修復(fù),則輸出不可修復(fù)信號。雖然示出了4個RWL/FAR,但是應(yīng)當認識到,存儲器陣列14可以實現(xiàn)所需的任何數(shù)目的RWL/FAR。
圖3中示出了FAR 26的細節(jié)。每個FAR 26包括n個地址位A0-An(圖3中,n=8)以及下面的控制位或鎖存器啟動EN、暫時啟動TE、壞冗余BR以及暫時壞冗余TB。地址位A0-An包含將由RWL替換的故障存儲器元件的地址位置。啟動位EN控制其地址位置被包含在地址位A0-An中的存儲器元件是否將被相應(yīng)的冗余存儲器元件所替換,即,它激活FAR,并且啟動相應(yīng)的RWL。暫時啟動TE用于保存響應(yīng)載入啟動信號將被載入到啟動位EN中的值,即,暫時啟動TE指出當LE激勵器23通過激活載入啟動信號確定適當時,F(xiàn)AR 26的相應(yīng)的RWL將被激活。壞冗余位BR,當被設(shè)置時,通過與門32覆蓋啟動位EN,即,當被設(shè)置時,它禁止FAR 26以及相應(yīng)的RWL。暫時壞冗余位TB用于保存響應(yīng)載入啟動信號將被載入到壞冗余位BR中的值,即,當被設(shè)置時,暫時壞冗余位TB指出當LE激勵器23通過激活載入啟動信號確定適合時,F(xiàn)AR以及相應(yīng)的RWL將被禁止。
每個FAR 26包括相應(yīng)的比較邏輯部分30,并且接收載入啟動信號LE(當激活時)以及故障地址。此外,來自FARA控制邏輯28的LOAD信號饋入到暫時啟動位TE和地址位A0-An,并且來自邏輯28的DISABLE信號饋入到暫時壞冗余位TB。載入啟動信號LE饋入到啟動位EN以及壞冗余位BR。暫時啟動位TE饋入到啟動位EN并且饋入到FAR比較邏輯30,并且暫時壞冗余位TB饋入到壞冗余位BR。當所述載入啟動信號LE激活時,如果沒有設(shè)置啟動位EN,則暫時啟動位TE的值被強加給啟動位EN,并且如果沒有設(shè)置壞冗余位,則暫時壞冗余位TB的值被強加給壞冗余位BR。如果相應(yīng)的位(EN或BR)已經(jīng)被設(shè)置,則忽略相應(yīng)的暫時位(分別為TE或TB)。啟動位EN饋入到與門32,并且壞冗余位BR在反轉(zhuǎn)以后饋入到與門32。因此,所得到的存儲器啟動信號RE最終被壞冗余位BR控制,即,當BR位被設(shè)置時,它覆蓋啟動位EN的值。啟動位EN和壞冗余位BR的每一個都饋入FAR比較邏輯部分30。地址位A0-An被連接到比較邏輯部分30并且被連接到存儲器陣列14(通過RA信號)。存儲器啟動信號RE也通過與門32的操作數(shù)連接到存儲器14。
出于說明的目的,“沒有被設(shè)置”的意思是位具有“0”值,而“被設(shè)置”的意思是位具有“1”值。然而,應(yīng)當認識到,邏輯可以被設(shè)計為位是低電平激活的,即“被設(shè)置”=“0”,而“沒有被設(shè)置”=“1”,而不影響本發(fā)明的精神。此外,設(shè)置或狀態(tài)“X”的意思是位或是沒有值被寫入其中或是該值不是即刻與本說明有關(guān)。
參見圖4,現(xiàn)在將描述本發(fā)明的操作。應(yīng)當認識到,雖然將提供一個步驟接一個步驟的說明,但是對于所述方法而言,也許并不是所有的步驟都是必須的。此外,可以與所述一組步驟不同的其他步驟來敘述本發(fā)明的操作。
在第一步驟S1中,F(xiàn)ARA 16被初始化為兩個狀態(tài)中的一個。在第一初始化狀態(tài)中對于所有的FAR 26,控制位TE、TB、EN以及BR沒有被設(shè)置,即為0。地址位A0-An被認為處于“X”狀態(tài)。然而,實際上,地址寄存器A0-An通常被設(shè)置為一個已知的值,例如,全部是“0”。另一方面,在第二初始化狀態(tài)中將前面的冗余解決方案載入某些或所有的FAR26。例如,A0-An包含地址數(shù)據(jù),啟動位EN被設(shè)置,壞冗余位BR被設(shè)置(或沒有被設(shè)置),并且暫時啟動和暫時壞冗余位TE和TB被設(shè)置為“X”。剩余的(即,未使用的)FAR 26按照以上所述第一狀態(tài)被初始化為“沒有被設(shè)置”。
在第二步驟S2中,由測試單元21執(zhí)行一個操作。在此步驟中,如以上所述,測試單元21將值寫入被啟動的存儲器元件(即,GWL和被啟動的RWL),并且然后將值讀回來。然后通過將存儲器元件在讀操作期間的輸出與被寫入的值進行比較,測試單元21確定是否存在故障。如果輸出不匹配,則激活(產(chǎn)生)故障信號。在一個實施例中,測試單元21被配置為通過順序地將不同的(即,多個)模式寫入各存儲器元件并且然后將它們讀回來測試每個激活的存儲器元件,以便確定數(shù)據(jù)是否被正確地存儲。示例性的模式可包括覆蓋層(blanket)0、覆蓋層1、方格盤(checkerboard)、反轉(zhuǎn)方格盤(reverse checkerboard)、字線條帶、位線條帶等。如下面將變得很明顯的,所述順序測試允許修復(fù)有故障的存儲器元件,并且然后測試被用于進行修復(fù)的RWL。
在步驟S3,確定被定時控制的載入啟動(LE)信號是否已經(jīng)被LE激勵器23激活。當載入啟動(LE)信號激活,即,被設(shè)置時,它指出存在改變FAR 26的冗余狀態(tài)的適當?shù)臅r刻/點。在測試期間,當檢測到GWL中的故障時,測試單元21可以在若干機器周期中不識別該故障。如果在故障檢測之后立即啟動RWL,則隨后的一機器周期可能在還沒有向該RWL中寫入任何東西時讀該RWL。因此,測試單元21將會指出該RWL的故障,即使它沒有任何問題。通過確定何時適合于改變RWL的狀態(tài),例如從被禁止改變?yōu)楸粏踊蛘邚谋粏痈淖優(yōu)楸唤?,載入啟動(LE)信號防止了這種偽故障的發(fā)生。適當?shù)臅r刻可以是,例如,恰好在測試單元21將要開始向所有地址寫之前,以及在測試單元21已經(jīng)評估了所有以前的讀取操作的故障狀態(tài)之后。
在步驟S4,如果載入啟動信號已被激活,則所有被設(shè)置的暫時啟動位TE都被載入到尚未被設(shè)置的相應(yīng)的啟動位EN中,并且所有被設(shè)置的暫時壞冗余位TB被載入到尚未被設(shè)置的相應(yīng)的壞冗余位BR中。即,以信號通知FAR 26改變?nèi)哂酄顟B(tài)。如以上所述,如果各個位(EN或BR)已經(jīng)被設(shè)置,則忽略相應(yīng)的暫時位(分別為TE或TB)。下面將更詳細地描述這個步驟的含義。
在步驟S5,確定存儲器陣列14是否正被訪問(讀)。如果沒有,邏輯返回到步驟S2并且進行進一步測試。如果存儲器是工作著的,則邏輯進入到步驟S6,在步驟S6,確定是否已經(jīng)檢測到存儲器元件的故障。如以上就測試單元21所描述的,當一個地址沒有讀回被寫入到該地址中的數(shù)據(jù)時,則檢測到故障。如果沒有檢測到故障,操作繼續(xù)步驟S2上的測試。
如果檢測到故障,則操作進入步驟S7,在步驟S7中,將故障信號轉(zhuǎn)發(fā)給FAR比較邏輯部分30,并且確定該故障存儲器元件地址是否與任何以前被檢測到的故障存儲器元件地址相匹配。即,由每個FAR的比較邏輯部分30將該故障存儲器元件地址與被存儲在其中的相應(yīng)地址位A0-An進行比較,以便確定所述故障是新檢測到的故障還是以前已經(jīng)被檢測到的故障。如果該故障存儲器元件地址與該多個FAR 26中的一個中所存儲的地址相匹配,則將匹配信號轉(zhuǎn)發(fā)給FARA控制邏輯28,指出該故障不是新檢測到的故障,并且操作進入下面討論的步驟S10。然而,如果該故障存儲器元件地址與該多個FAR 26中的任何一個中所存儲的任何地址都不匹配,則表示所述故障以前沒有被檢測到,即,它是新的故障。在這種情況下,在步驟S8用于下一個可用的FAR/RWL的暫時啟動位TE被設(shè)置,并且在步驟S9故障存儲器元件地址被載入到用于該RWL的相應(yīng)的FAR中。通過來自FARA控制邏輯28的LOAD信號進行暫時啟動位的設(shè)置和地址載入。通過為下一個RWL設(shè)置暫時啟動位TE,下次當LE激勵器23確定實現(xiàn)冗余狀態(tài)改變的適當時間存在時,用于該RWL的暫時啟動位TE被載入到啟動位EN中,以便啟動該RWL。因此,可以注意到需要替換故障存儲器元件,并且所述啟動被阻止直到一個適當?shù)臅r刻為止,以便防止由在測試期間在還沒有向被啟動的RWL中寫入任何東西時讀該被啟動的RWL而引起的偽故障。
轉(zhuǎn)到步驟S10,確定是否設(shè)置了用于任何匹配的FAR 26的啟動位EN。提供這個步驟以便處理由于FARA 16的初始化狀態(tài)而出現(xiàn)的情況。特別地,4個控制位(EN、TE、BR、TB)中的每一個都被初始化為“沒有被設(shè)置”,并且地址位A0-An被初始化為某個值。當測試在與一個或多個所述初始化地址相匹配的地址中檢測到故障時,所述情況就會發(fā)生。例如,一個或多個初始化地址可以都是0,并且測試可能在地址為0000 0000的GWL中測試到故障,從而產(chǎn)生一個或多個匹配地址。在這種情況下,系統(tǒng)必須仍然能夠?qū)⒐收系刂份d入到FARA 16中。步驟S10的是否設(shè)置了用于任何匹配地址(可以是多于一個)的啟動位EN的判定指出該故障是否實際上已經(jīng)被載入了。如果沒有設(shè)置用于任何匹配地址的啟動位EN,則表示該故障還沒有被持久地載入,并且操作進入步驟S11。
在步驟S11,確定是否設(shè)置了用于該單個匹配FAR的暫時啟動位TE,即,匹配FAR的任何重復(fù)都被忽略。如果設(shè)置了暫時啟動位TE,則表示此故障的修復(fù)正在進行,并且在等待通過載入啟動信號LE啟動,即,等待適當?shù)臅r刻以便改變?nèi)哂酄顟B(tài)。在這種情況下,操作通過繼續(xù)步驟S2上的檢測進入下一個機器周期。然而,如果沒有設(shè)置暫時啟動位TE,則表示此故障尚未被載入。在這種情況下,在步驟S8,用于下一個可用的FAR 26的暫時啟動位TE被設(shè)置,并且在步驟S9,將故障存儲器元件地址載入到相應(yīng)的FAR 26地址位中,從而當載入啟動信號LE激活時,可以通過激活相應(yīng)的RWL進行修復(fù)。
轉(zhuǎn)到步驟S10,如果任何匹配FAR的啟動位EN被設(shè)置了,則表示這個故障已經(jīng)被載入,并且操作進入步驟S12。在步驟S12,確定用于任何匹配FAR(可以是多于一個)的壞冗余位BR是否沒有被設(shè)置。如果用于所有匹配FAR的壞冗余位BR都被設(shè)置了,則表示這個故障是由于以前的一個被啟動的RWL引起的,該RWL也出現(xiàn)了故障,即是被禁止的或死亡的(dead)RWL。將以另一個RWL來完成這個RWL故障的修復(fù),或者可以等待通過載入啟動信號LE的激活來修復(fù)。在這種情況下,通過繼續(xù)步驟S2上的測試,操作進行到下一個機器周期。如果用于任何匹配FAR的壞冗余位BR沒有被設(shè)置,則表示此故障是在這個機器周期上新檢測到的被啟動的RWL的故障,或者正等待通過載入啟動信號LE的激活被禁止,并且操作進入步驟S13。
在步驟S13,通過確定是否設(shè)置了用于該單個匹配FAR的暫時壞冗余位TB,來確定出現(xiàn)了以上情況中的哪一種。如果設(shè)置了暫時壞冗余位TB,則表示該RWL故障僅僅是等待載入啟動信號LE以便將RWL的狀態(tài)改為是壞的。在這種情況下,操作進入步驟S2上的測試。然而,如果沒有設(shè)置暫時壞冗余位TB,則表示這個RWL故障是在這個機器周期上新檢測到的,并且在步驟S14,該匹配FAR的暫時壞冗余位TB被設(shè)置,即,被來自FARA控制邏輯28的DISABLE信號設(shè)置。隨后,在步驟S8,設(shè)置下一個可用的FAR26的暫時啟動位TE,并且將地址載入到相應(yīng)的FAR 26的地址位中,以便當載入啟動信號LE被激活時,可以通過相應(yīng)的RWL的激活進行修復(fù)。
本發(fā)明的全部操作可以被描述如下如果觀察到故障,則將故障信號(圖2)從存儲器陣列14傳送到FARA控制邏輯28。將故障地址與FARA 16中每個FAR 26的內(nèi)容進行比較,并且按照以下情況,邏輯28向下一個可用的空的寄存器發(fā)出LOAD信號情況1如果故障地址與任何FAR 26的內(nèi)容都不匹配,那么將該故障地址被載入到下一個可用的FAR中,并且設(shè)置所述下一個可用FAR的相應(yīng)的暫時啟動位TE。
情況2如果故障地址與至少一個FAR地址相匹配,并且沒有設(shè)置用于每個匹配的FAR 26的暫時啟動位TE和啟動位EN,則將該故障地址載入到下一個可用的FAR,并且設(shè)置所述下一個可用的FAR的相應(yīng)的暫時啟動位TE。
情況3如果故障地址與一個FAR相匹配,并且用于這個FAR 26的啟動位EN被設(shè)置了,并且用于每個匹配的FAR的暫時壞冗余位TB和壞冗余位BR都沒有被設(shè)置,則將該故障地址載入到下一個可用的FAR,設(shè)置所述下一個可用的FAR的相應(yīng)的暫時啟動位TE,并且設(shè)置用于這個匹配的FAR的暫時壞冗余位TB。
在所有其他情況中,沒有FAR的內(nèi)容被更新。
在測試期間的某個(某些)點上,LE激勵器23激活載入啟動信號LE,所述載入啟動信號LE迫使暫時啟動位TE的值被載入到啟動位EN中,并且復(fù)位暫時啟動位TE。當啟動位EN被設(shè)置為“1”并且壞冗余位BR沒有被設(shè)置為“0”時,與門32啟動(通過冗余啟動(RE)信號)存儲器陣列14中的RWL以便替換此地址,即冗余地址(RA)。類似地,當LE激勵器23激活載入啟動信號LE時,它迫使暫時壞冗余位TB的值被載入到壞冗余位BR中,并且復(fù)位暫時壞冗余位TB。在這種情況下,當啟動位EN被設(shè)置為“1”并且壞冗余位BR被設(shè)置為“1”時,與門30禁止(通過冗余啟動(RE)信號)存儲器陣列14中的RWL,即BR覆蓋EN。
上述的發(fā)明提供了若干優(yōu)點。第一,通過在多模式測試期間控制啟動的(多個)時刻,從而防止基于過早啟動冗余的偽故障,本發(fā)明允許動態(tài)的冗余實現(xiàn)。結(jié)果,可以在單個、多個模式的自測試期間修復(fù)存儲器元件故障。第二,所述方法和裝置允許用戶在啟動IC期間通過BIST修復(fù)存儲器,而不是僅僅在制造過程中修復(fù)。這種功能允許修復(fù)在完成制造之后很久發(fā)生的可靠性故障,因此,防止了IC被返回給制造商。第三,對一般存儲器元件(GWL)和僅僅已經(jīng)被啟動以便替換故障存儲器元件的冗余存儲器元件的測試使得測試更加高效。最后,暫時啟動TE位和暫時壞TB位的包含和使用允許使用相同的鎖存器來收集故障地址并且實現(xiàn)冗余以便替換它們。結(jié)果,對于熔絲,許多選擇現(xiàn)在都成為可能1)它們可以被刪除,并且僅在BIST期間完成修復(fù),2)它們可以被保持,并且被用作BIST的開始點,或者3)由BIST完成的修復(fù)的結(jié)果可以被硬連線在熔絲中,在這個步驟之后可能有進一步的自測試。
在前面的討論中,應(yīng)當理解所討論的方法步驟是由被包含在IC 10內(nèi)的硬件,以及由一組寄存器和控制硬件實現(xiàn)的。然而可以理解,此處所描述的各種設(shè)備、模塊、機制和系統(tǒng)可以用硬件或軟件或硬件和軟件的組合來實現(xiàn),并且可以被不同于所示出的那樣劃分。它們可以由適合于執(zhí)行此處所述的方法的任何類型的計算機系統(tǒng)或其他裝置來實現(xiàn)。典型的硬件和軟件的組合可以是具有計算機程序的通用計算機系統(tǒng),當載入并執(zhí)行所述程序時,所述程序控制所述計算機系統(tǒng),以便執(zhí)行此處所述的方法。或者,可以使用包含專用硬件的專用計算機來實現(xiàn)本發(fā)明的一個和多個功能任務(wù)。本發(fā)明還可以被嵌入到計算機程序產(chǎn)品中,所述計算機程序產(chǎn)品包括使得能夠?qū)崿F(xiàn)此處所述的方法和功能的所有特征,以及當它被載入到計算機系統(tǒng)中時,能夠執(zhí)行這些方法和功能。在本文中,計算機程序、軟件程序、程序、程序產(chǎn)品或者軟件是指一組指令的采用任何語言、代碼或符號的任何表達方式,所述指令旨在使得具有信息處理能力的系統(tǒng)或是直接地或者在以下操作之后實現(xiàn)特定功能(a)轉(zhuǎn)換到另一種語言、代碼或符號;和/或(b)以不同的材料形式再現(xiàn)。
雖然已經(jīng)結(jié)合若干優(yōu)選實施例描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將認識到,可以在以下權(quán)利要求的精神和范圍內(nèi)以不同的方案實施本發(fā)明。
工業(yè)實用性本發(fā)明可用于測試并實現(xiàn)任何存儲器中,并且尤其是在SRAM中的冗余存儲器元件。
權(quán)利要求
1.一種集成電路(10),包括具有多個存儲器元件(18、20)的存儲器陣列(14),所述存儲器元件包括至少一個用于與所述多個存儲器元件中的有故障的存儲器元件進行交換的冗余存儲器元件(20);內(nèi)置存儲器自測試單元(12),包括測試單元(21),用于確定存儲器元件是否有故障,并且響應(yīng)有故障產(chǎn)生故障信號;冗余啟動激勵器(23),用于通過載入啟動信號對冗余的啟動進行定時;以及故障地址寄存器(16),用于當所述故障信號被激活時,基于所述載入啟動信號控制相應(yīng)的冗余存儲器元件的啟動。
2.根據(jù)權(quán)利要求1的集成電路,其中所述測試單元(12)通過將值寫到存儲器元件,并且確定在讀操作期間所述存儲器元件的輸出是否與被寫入的值相匹配,來確定所述存儲器元件的故障。
3.根據(jù)權(quán)利要求2的集成電路,其中所述測試單元(12)將值的一種模式寫到所述存儲器陣列的所述多個存儲器元件。
4.根據(jù)權(quán)利要求1的集成電路,其中所述冗余啟動激勵器(23)啟動冗余,以防止所述測試單元(12)讀還沒有被寫入值的冗余存儲器元件(20)。
5.根據(jù)權(quán)利要求1的集成電路,其中所述測試單元(12)只有當冗余存儲器元件(20)已經(jīng)被啟動時,才確定該冗余存儲器元件的故障。
6.根據(jù)權(quán)利要求1的集成電路,其中每個故障地址寄存器(26)包括一組地址位(A0-An),用于包含將要被冗余存儲器元件(20)替換的故障存儲器元件的地址位置;啟動位(EN),用于控制其地址位置被包含在所述地址位中的存儲器元件是否將被相應(yīng)的冗余存儲器元件替換;壞冗余位(BR),用于覆蓋所述啟動位;暫時啟動位(TE),用于保存響應(yīng)所述載入啟動信號將被載入到所述啟動位中的值;以及暫時壞冗余位(TB),用于保存響應(yīng)所述載入啟動信號將被載入到所述壞冗余位中的值。
7.一種用于修復(fù)存儲器陣列(14)的方法,所述存儲器陣列(14)包括多個存儲器元件(18、20)和至少一個冗余存儲器元件(20),所述方法包括如下步驟測試所述存儲器陣列中的存儲器元件,以便確定哪些存儲器元件有故障;以及為在測試期間啟動冗余存儲器元件以便替換故障存儲器元件定時。
8.根據(jù)權(quán)利要求7的方法,其中所述定時步驟包括當測試不會造成偽故障時,啟動所述冗余存儲器元件(20)。
9.根據(jù)權(quán)利要求8的方法,其中所述啟動步驟包括激活載入啟動信號,所述載入啟動信號控制用于相應(yīng)的冗余存儲器元件(20)的寄存器(26)。
10.根據(jù)權(quán)利要求7的方法,其中所述測試步驟包括只有當冗余存儲器元件(20)被啟動時,才測試該冗余存儲器元件。
11.根據(jù)權(quán)利要求7的方法,其中所述測試步驟包括通過將值寫到存儲器元件(18、20),并且確定在讀操作期間存儲器元件的輸出是否與被寫入的值相匹配,來確定所述存儲器元件的故障。
12.根據(jù)權(quán)利要求11的方法,其中所述測試步驟將值的一種模式寫到所述存儲器陣列的多個存儲器元件以及僅僅那些被啟動的冗余存儲器元件(18、20)。
13.一種用于集成電路(10)的存儲器陣列(14),包括A)多個存儲器元件(18、20),包括至少一個用于與所述多個存儲器元件中的故障存儲器元件進行交換的冗余存儲器元件(20);B)故障地址修復(fù)寄存器(16),包括1)寄存器(26),用于控制相應(yīng)的冗余存儲器元件(20)的啟動,其中每個寄存器包括a)一組地址位(A0-An),用于包含將被冗余存儲器元件(20)替換的故障存儲器元件的地址位置;b)啟動位(EN),用于控制其地址位置被包含在所述地址位中的存儲器元件是否將與相應(yīng)的冗余存儲器元件交換;c)壞冗余位(BR),用于禁止所述啟動位;d)暫時啟動位(TE),用于保存響應(yīng)被定時控制的載入啟動信號將被載入到所述啟動位中的值;以及e)暫時壞冗余位(TB),用于保存響應(yīng)被定時控制的載入啟動信號將被載入到所述壞冗余位中的值;和2)比較邏輯(30),用于確定故障存儲器元件的地址是否被存儲在所述寄存器中。
14.一種存儲器修復(fù)寄存器(26),包括多個位(A0-An),用于存儲故障存儲器元件的地址;以及多個控制位(EN、TE、TB、BR),用于啟動以冗余存儲器元件(20)替換所述故障存儲器元件。
15.根據(jù)權(quán)利要求14的存儲器修復(fù)寄存器,其中所述控制位包括啟動位(EN),用于控制所述故障存儲器元件是否將與相應(yīng)的冗余存儲器元件(20)交換;壞冗余位(BR),用于禁止所述啟動位;暫時啟動位(TE),用于保存響應(yīng)被定時控制的載入啟動信號(LE)將被載入到所述啟動位中的值;以及暫時壞冗余位(TB),用于保存響應(yīng)被定時控制的載入啟動信號將被載入到所述壞冗余位中的值。
16.根據(jù)權(quán)利要求14的存儲器修復(fù)寄存器,還包括比較邏輯,所述比較邏輯用于確定所述故障存儲器元件的地址是否被存儲在所述寄存器中。
17.根據(jù)權(quán)利要求14的存儲器修復(fù)寄存器,其中所述壞寄存器位(BR)被與所述啟動位(EN)進行與操作,以便禁止所述啟動位。
18.一種用于測試集成電路(10)的存儲器(14)的缺陷的裝置,所述裝置包括測試單元(12),用于僅當冗余存儲器元件(20)已經(jīng)被啟動以便替換故障存儲器元件時,測試所述冗余存儲器元件。
19.根據(jù)權(quán)利要求18的裝置,其中所述故障存儲器元件是另一個冗余存儲器元件(20)。
20.根據(jù)權(quán)利要求18的裝置,還包括用于在所述用于測試的裝置的操作期間控制冗余實現(xiàn)的定時的裝置(23)。
21.根據(jù)權(quán)利要求18的裝置,其中所述測試單元(12)還測試非冗余存儲器元件(18)。
22.一種信號(LE),用于在測試期間控制集成電路(10)的存儲器陣列(14)的冗余存儲器元件(20)的啟動的定時。
23.一種集成電路(10),包括用于測試存儲器的裝置(12、21);以及用于在測試過程中同時修復(fù)所述存儲器的裝置(12、23、26)。
全文摘要
用于在存儲器陣列(14)的測試期間啟動冗余存儲器元件(20)的方法和裝置。
文檔編號G11C29/00GK1708808SQ02830034
公開日2005年12月14日 申請日期2002年12月16日 優(yōu)先權(quán)日2002年12月16日
發(fā)明者M·R·烏埃利特, J·羅蘭 申請人:國際商業(yè)機器公司