專利名稱::測試序列優化方法以及設計工具的制作方法
技術領域:
:本發明涉及一種用于定義用來測試多個設備的測試序列的方法。本發明還涉及一種用于控制使用這種序列的測試程序的設備。
背景技術:
:在制造環境中的設備測試是一個復雜和昂貴的過程。作為首要示例,需要測試電子設備(例如集成電路)來確保設備根據預期規范操作。由于這些設備增加的復雜性,這些設備會經歷大范圍的故障,例如在硅或金屬化層的短路,陷入故障等。為了便于檢測到每個故障,每個設備典型地必須經歷大量不同的測試,因為單個測試典型地僅揭示特定類型的故障。那些測試中的每個增加了設備整個測試過程的成本,這就意味著在大量測試的情況下,測試成本會相當高。通常以自組織的形式定義在其中執行這些測試的序列。典型地,選擇己知測試來揭示已知發生在特定被測設備(DUT)的故障。然而,這會導致大量測試冗余出現于其中的測試序列,即,其中大量測試能夠檢測相同故障的測試序列。在測試序列中,存在以減少這樣的冗余為目標的解決方案。可以在根據包括被稱為面向拒絕分析(RejectOrientedAnalysis,ROA)的功能的PDF/解決方案的DataPower產品中發現這種解決方案的示例。其描述可以在www.idsusa.com/site/products/dpccore.html上牛戈至U(2005年8月10日檢索自因特網)。提出該功能以使測試序列基于用于揭示DUT的最大量故障的多個測試中的這些測試。然而,這不必導致在測試時間、因而是測試成本方面進行優化的測試序列。
發明內容本發明尋找提供改進的方法,用于定義測試多個電子設備的測試序列,其中測試時間和測試冗余都減少。本發明進一步尋找提供用于實現這種方法的設備。根據本發明的一個方面,提供了如權利要求l所述的用于定義測試多個電子設備的測試序列的方法。在確定測試序列的過程中,測試益處的使用確保在最小化測試期間內獲得了最大化的故障覆蓋,與前述提及的ROA分析方法相比,這就優化了故障覆蓋并且最小化所需的測試數量。ROA分析方法具有如下缺點在單個測試導致了僅能通過多個其它測試獲得的測試覆蓋的情況下,選擇單個測試,即使該測試比組合的多個其它測試復雜或者更加昂貴。基于測試益處的測試序列的優化克服了這一問題。在優選實施例中,提供了如權利要求3所述的方法。該實施例通過基于共享測試初始化特性(例如在相同的測試設備上類似的測試建立次數)將測試分組來進一步減少整個測試序列的持續時間,這就意味著可以在單個初始步驟之后執行一組測試,而不是必須初始化每個測試。此外,通過基于有利的故障覆蓋/測試持續時間比來選擇測試組,獲得(接近)最佳的測試序列。有利地,將多個測試歸類為多個測試組的步驟包括如果測試具有未由已經添加至測試組的任何一個測試所覆蓋的故障覆蓋度量,那么向該測試組添加該測試。這就防止了測試組中冗余測試的出現。有利地,將測試組以遞減的測試益處順序進行排序,從而便于切斷測試組;可以通過移除不增加較高順序測試的故障覆蓋度量累積的較低順序測試來實現這樣的切斷,該順序是測試益處順序。例如,通過針對失敗策略應用異常中斷,這種切斷進一步提高了組的組益處,以及便于低成本的高測試通過量。這樣的切斷步驟也可以包括與來自具有比較低順序測試所屬組的組益處更高的組益處的組的測試的比較,這具有如下優點也移除了由于與具有更高組益處的組中測試的重疊而添加了故障覆蓋的較低順序測試。有利地,該方法包括以遞減的組益處順序組織測試序列中的測試組的步驟。這便于通過從序列末端移除不具有足夠高的測試益處的整個組來有效切斷測試序列。在另一實施例中,該方法包括基于另一第二測試組中包括的另一第二測試的測試(或組)益處值,將所述另一第二測試添加至測試序列,所述另一第二測試(組)覆蓋了也由已經添加至序列的測試所覆蓋的故障覆蓋度量。可以有意地添加一些冗余,因為針對多個電子設備的一部分所獲得的故障覆蓋度量可以與針對全部多個電子設備的度量不同。基于針對該部分的故障覆蓋度量添加至測試序列的測試冗余降低了當利用測試序列測試全部多個電子設備時故障設備保持檢測不到的機會。在優選的實施例中,在多個設備生產過程的第一階段應用該方法步驟,以及其中,在所述生產過程的另一階段重復該方法步驟。本發明也基于以下實現針對電子設備生產過程的給定階段是(接近)最佳的測試序列,在針對該生產過程的另一個階段不必是(接近)最佳的,例如,這是由于發生在該過程初始階段的故障類型不同于在該過程的更成熟階段發生的故障類型。換言之,由于故障覆蓋度量是過程成熟度相關的,所以例如如果顯著地改進了生產過程,則重新優化測試序列是有利的。根據本發明的另一方面,提供了如權利要求15所述的設計工具。這樣的設計工具實現了本發明的方法和益處,且根據針對該方法的前述相同的優勢以作必要的修正,其中設計工具可以在數據載體(例如CD-ROM或DVD)上提供,或可以在自動測試設備上實現。參照附圖,通過非限制性示例,將詳細描述本發明,其中圖1示出了本發明方法的實施例的流程圖;圖2示出了故障覆蓋矩陣的示例;圖3示出了本發明方法的另一個實施例的流程圖;以及圖4示出了圖3中所示的實施例的可選方面的流程圖。具體實施方式應該理解,附圖只是示意性的,并沒有按比例繪制。也應該理解附圖中所使用的相同參考數字指示相同或相似的元件。根據圖l中所示的本發明的方法的實施例,在第一步驟110中,通過選擇要由測試序列所測試的所有電子設備的一部分,導出用于測試多個電子設備的測試序列。該部分用作要測試的整批電子設備的參考組。因此,必須要注意獲得設備的統計代表性擴展。這可以通過針對在單個晶片的不同區域上的批或在不同晶片上的批來選擇電子設備而實現,這就增加了設備受到制造過程中變化的影響的機會,并且易于顯示出作為其后果的不同故障。在下一步驟120中,參考組中所有電子設備或一部分經受被認為包括在測試的測試序列中的所有可用測試。對于每個測試,收集針對參考組的測試的測試結果,在步驟130中,計算相對于參考組的測試的故障覆蓋度量。這可以利用圖2進行詳細的解釋,其中,用矩陣200的形式代表針對5個電子設備D1-D5的參考組的6個測試T1-T6的測試結果,電子設備Dl-D5定義了列210,以及6個測試T1-T6定義了行220。在行M和列N的區域中的值給出了針對設備N的測試M的測試結果;'O'表示設備N通過測試M,以及'1'表示設備N沒有通過測試M。在該示例中,D2是參考組中的唯一良好設備,其他均為故障設備。應該理解,選擇了6個測試和5個設備是作為示例和僅為了清楚地闡述;典型地,將涉及更大數量的測試和電子設備。根據矩陣200,可以計算每個測試的故障覆x測試覆蓋(TC)=#所檢測的失敗設備/#參考組中的設備現在,返回圖l,在步驟140中,可以使用該度量來計算每個測試的測試益處。典型地,測試的測試益處(TB)表示為測試的TC和測試持續時間(TD)之比。測試持續時間可以僅基于測試執行時間、或也可以包括測試初始化時間,即,例如當該測試的初始化時間不可忽略時,TD-初始化時間(Tinit)+執行時間(Texec)。在表I中給出了針對測試T1-T6的步驟140的執行:表I<table>tableseeoriginaldocumentpage9</column></row><table>從表I中可看出,很明顯,雖然T1是具有最佳測試覆蓋的測試,但由于它的測試持續時間長,所以它的測試益處不是非常好。這清楚地說明,僅就測試覆蓋來針對測試序列選擇測試容易導致在測試成本方面的非最佳測試序列。在下一個步驟150中,通過基于預定標準選擇要添加至測試序列的第一測試,來啟動測試序列的構建。這種標準可以是'從多個測試中選擇具有最高測試益處的測試'或'從多個測試中選擇具有至少0.02的測試益處的測試'等。在選擇了第一測試后(例如在上述測試中的測試T4),優選地使用相同的預定標準,可以在該方法的步驟160中將下一個測試添加至測試序列。在添加該測試之前,可以檢查確定是否已經添加至測試序列的測試故障覆蓋和考慮添加的測試故障覆蓋的并集不同于已經添加至測試序列測試故障覆蓋。換言之,可以執行檢查來確定考慮中的測試是否將故障的檢測添加至未被已經添加至測試序列的測試所檢測到的測試序列。例如,在將T4添加至測試序列之后,可以考慮將T2添加至測試序列,因為它的測試益處是0.02。計算測試覆蓋T4和T2之間的并集如下TC(T4)UTG(T2)=TC(T4)得知T2沒有在測試批中添加其他故障設備的檢測。這樣,不必將T2添加至測試序列。如果針對T4和T5之間的測試覆蓋重疊迸行該試驗,T5像T2—樣,也具有0.02的測試益處,計算并集-TC(T4)UTC(T5)-TC(T4)+D3示出了T5將D3中的故障檢測添加至測試序列的整個故障覆蓋,所以可以將T3添加至序列。可選地,除了在測試選擇的過程中計算測試的故障覆蓋并集之外,可以使用下列公式TB'(Tn)=(TC(Tn)UTC(Tte)一TC(Tte/TD(n)在可選步驟155中重新計算測試序列外的n個測試的測試益處。簡言之,對于每個測試,確定了除了由已經添加至測試序列(TC(Tts))的測試所提供的故障覆蓋之外由它提供了多少附加錯誤覆蓋來除以測試持續時間。在測試T4已經添加至測試序列的示例中,在表II中示出了針對剩余測試示出的下列結果表n<table>tableseeoriginaldocumentpage10</column></row><table>根據該表,很明顯,T3和T5是同樣可行的候選測試,盡管T3比T5具有更低的初始測試益處。在本發明方法的步驟160中,可以使用T5的特性來決定要把哪個測試添加至測試序列。在這點上強調,在該申請的上下文中,故障測試度量可以是相對于一批電子設備的測試的故障度量的表示、或者可以是相對于測試組的測試的附加故障覆蓋的表示。每次必須將測試添加至序列時,可以重復步驟155的步驟,直到序列中的具有滿足預定標準(例如'己經識別了所有故障設備的99。/o')的組合故障覆蓋度量。在本發明方法的步驟170中完成該檢査。如果還沒有完成預定標準,那么該方法返回步驟160或步驟150,以將另一個測試添加至測試序列。一旦測試序列滿足如步驟170所檢查的前述標準,便可以認為該序列完成以及該方法可以如步驟180中所指示的那樣結束。可選地,在結束序列選擇過程之前,可以在步驟175中將一個或多個測試添加至該序列,來向該序列添加測試冗余。可以基于如步驟140中所計算的這些測試的測試益處來選擇那些冗余測試。向測試序列添加冗余測試將降低測試序列在全部多個電子設備的應用會導致在測試序列中會錯過相當大量的故障電子設備的風險,盡管針對方法步驟110中所定義的該批設備己經滿足了故障覆蓋標準。例如,當所選擇的電子設備參考組沒有合適地反映設備特性的擴散時(例如由過程變化中的擴散造成),這種情況可能發生。對參考組來說是冗余的測試的添加對全部多個電子設備來說可能不是冗余的,在這種情況下,這些測試的添加提高了針對全部多個設備的錯誤覆蓋。在圖3中示出了本發明方法的另一實施例。在前述步驟IIO、120、130、140執行之后,在步驟310,將多個測試組織為多個測試組,在單個組中的所有測試共享測試特性。在本發明的上下文中,共享測試特性表示以下特性可以利用該特性,使作為組(即鄰近序列中)執行的測試的測試持續時間比那些測試的單獨測試持續時間之和短。這種測試特性的首要示例是測試的設置或初始化時間;例如,如果在相同的測試設備上執行所有測試,則針對該組中所有N個測試僅必須執行一次該設備的設置,而不是獨立執行每個測試的N次,這樣減少了針對測試組的測試設置時間T(N-l)*Tinit,因此減少了測試成本。圖3中所示的實施例提出了基于步驟310中所形成的組定義測試序列,而不是基于單個測試定義測試序列。所以在步驟320中計算組益處。典型地,使用下列等式計算包含M個測試的組的組益處(Gb):w即,定義組故障覆蓋Gcx)v為組中所有測試故障覆蓋度量的并集,Gcov除以組中測試的測試執行時間Texee加上測試共享的初始化時間Tinit。如果丁^丁£^,則可以忽略丁^。在下一步驟330中,從所形成的測試組中選擇第一測試組,并基于滿足預定標準的組益處(例如'組益處需要具有最小值X'或'選擇具有最高組益處的組')將該第一測試組添加至測試序列。也同樣接受其它適合的標準。在下一步驟340中,如果已被添加至序列的第一測試組提供了針對設備參考組的合適的故障覆蓋,則做出評估。如果是這種情況,則可以在步驟380處(可選地,在步驟375之后)結束測試選擇過程,正如先前所解釋的,在步驟375中,將多個測試和/或測試組添加至沒有(明顯地)提高測試序列的故障覆蓋的測試序列來給該序列增加測試冗余。可以在分別基于初始計算的測試益處和組益處來選擇所添加的單個測試和/或測試組。如果在步驟340中,做出如下評估添加至測試序列的組所提供的故障覆蓋沒有達到預定閾值(例如'必須覆蓋所有故障設備的99%'),則在步驟350中,基于滿足另一個標準的另一個測試組的組益處,將所述另一個測試組添加至測試序列。所述另一個標準可以與所選第一測試組所使用的標準相同(例如,'從還沒有添加至測試序列的多個組中選擇具有最高組益處的組')。與圖1中可選步驟155類似,在先于選擇另一個測試組的可選步驟345中,可以重新計算(即更新)還沒有添加至測試序列的組的組益處。典型地,將下一組j的更新組益處(Gb')表示為己經包括在具有故障覆蓋并集的測試序列中的K個測試組的故障覆蓋并集Gcov(s叫)和在另一個組(表示為Gcov(j))中M個測試的故障覆蓋并集與Gcov(s叫)之差,除以在另一個組中的M個測試的測試執行時間加上該組的初始化時間(如果顯著)之和<formula>formulaseeoriginaldocumentpage12</formula><formula>formulaseeoriginaldocumentpage13</formula>ln紐戰郎在這之后,使用更新組益處Gb'、而不是在步驟320中計算的組益處Gb來執行步驟350。在步驟350之后,即將另一組添加至測試序列之后,重復評估步驟340,并添加另一組,直到滿足步驟340的評估標準,在這之后可以執行步驟375和380。類似于圖l中所示的方法,在電子設備制造過程的不同成熟度的階段也可以重復圖3中所示的方法,來考慮設備故障的本質和出現頻率的變化,如前所述。在執行步驟330之前,即為添加至測試序列選擇第一測試組之前,可以在圖4中所示的中間過程中優化步驟320中所形成的測試組。在第一步驟410中,以遞減的測試益處的順序組織每個測試組中的測試,之后,計算組中所有較高順序測試與較低順序測試的并集。換言之,類似步驟155,基于所檢測到的、與組的較高順序測試的并集(即故障覆蓋累積)相比的附加數量的故障,重新計算較低順序測試的測試益處。在步驟430中,評估較低順序測試對較高順序測試的故障覆蓋并集的貢獻。如果提高了故障覆蓋,則在步驟440中,在測試組中保持較低順序測試;否則,在步驟450中從測試組中刪除該測試。如步驟460中所示,在組中針對所有測試重復該過程,之后在步驟470中結束優化。該中間過程便于從在步驟320中形成的測試組中移除測試冗余。在測試組形成之后,該中間過程可以應用于測試組。可選地,可以'在運行中'應用該中間過程,即,即針對已經被識別為與已經分配至組的測試共享測試特性的每個其他測試,檢查其他測試是否提高了組的累積故障覆蓋,并且僅添加提高了累積故障覆蓋的測試。應該理解,可以以許多可選的方式來執行組的優化;例如,可以以遞增的組益處順序給組中的測試進行排序,并相應地評估,或可以應用這些策略的組合,或在累積故障覆蓋的計算中包括比考慮中的測試組具有更高組益處的組中的測試,來減少組之間的測試冗余。在這點上,強調通過以合適的算法表達該方法的不同步驟,在測試序列設計工具中可以容易地實現本發明的方法(的不同步驟)。這種試驗是直接的,并不需要為此進一步細述。設計工具可以分布在數據載體(例如CD-ROM或DVD盤)上,或可以從遠程存儲器下載(例如因特網源)。可選地,可以在自動測試設備上實現該設計工具。應該強調,盡管本發明的詳細描述公開了針對電子設備測試序列的定義,但這僅是作為示例的方法。可以將該方面應用到利用多個測試必須對設備進行測試的任何制造過程。應當注意到,上面所提到的實施例示出而不是限制本發明,以及本領域技術人員將能夠在不偏離所附權利要求的范圍內設計許多可選實施例。在權利要求中,置于括號中的任何參考符號不應當視為對權利要求的限制。詞"包括"不排除不同于權利要求中所列出的那些元件或步驟的出現。在元件前的詞"一個"不排除這種元件的復數的出現。可以通過包括幾個明顯元件的硬件的方式實現該方面。在設備權利要求列舉幾個裝置中,可以通過同一個硬件將這些裝置中的幾個具體化。在相互不同的從屬權利要求中所述的特定措施的事實并不指示不能有利的使用這些措施的組合。權利要求1.一種方法,用于定義用來測試多個設備的多個測試中的測試序列,所述方法包括將每個測試應用到多個設備的一部分(110;120);針對每個應用的測試,從所述一部分中的每個設備收集測試結果(120);根據針對每個應用的測試而收集的測試結果,確定所述一部分的故障覆蓋度量(130);根據另一等式,計算針對每個應用的測試的測試益處,所述另一等式包括測試的故障覆蓋度量除以測試的測試執行時間(140);以及通過將第一測試添加至測試序列來定義所述序列,所述第一測試具有符合預定標準的測試益處(150,330)。2.如權利要求,l所述的方法,還包括將另一測試添加至測試組的序列,所述另一測試包括符合預定的另一標準的測試益處、以及未被已經添加至所述序列的所述測試中的任何一個所覆蓋的故障覆蓋度量(160)。3.如權利要求1所述的方法,還包括基于測試組中的多個測試所共享的測試初始化特性,將所述多個測試分類至多個測試組(310);根據包括組中每個測試的故障覆蓋度量的并集除以組中每個測試的測試持續時間之和的等式,計算每個組的組益處(320);以及其中將第一測試添加至所述序列的步驟包括將包括所述第一測試的第一測試組添加至所述序列,所述第一測試組包括符合預定標準的組益處(330)。4.如權利要求3所述的方法,還包括將另一測試組添加至所述序列,所述另一測試組包括符合預定的另一標準的組益處(350)。5.如權利要求3或4所述的方法,其中將所述多個測試分類至多個測試組的步驟(310)包括如果測試具有未被已經添加至所述組的所述測試中的任何一個所覆蓋的故障覆蓋度量,則將所述測試添加至測試組。6.如權利要求1所述的方法,其中所述測試執行時間包括測試初始化時間和所述測試持續時間之和。7.如權利要求3、4或5所述的方法,還包括以遞減的測試益處順序來組織每個組中的測試(410)。8.如權利要求7所述的方法,還包括通過移除不增加較高順序測試的故障覆蓋度量累積的較低順序測試,來優化每個組(420,430,450)。9.如權利要求8所述的方法,其中所述較高順序測試包括來自具有比較低順序測試的組的組益處更高的組益處的組的測試。10.如權利要求4所述的方法,還包括以遞減的組益處順序來組織所述測試序列中的測試組。11.如權利要求3或4所述的方法,其中,所述共享的初始化特性包括共享初始化時間,'以及所述等式包括將所述共享初始化時間與所述測試持續時間之和相加。12.如權利要求4所述的方法,其中,將所述另一測試組添加至所述序列的步驟(350)包括從多個測試組中選擇另一測試組,所述多個測試組中的每個包括具有未被所述第一測試組中測試的任何一個所覆蓋的故障覆蓋度量的測試;基于所述另一測試組的組益處,從所述多個測試組中選擇所述另一測試組。13.如權利要求1-4中任一權利要求所述的方法,還包括基于另一第二測試的測試益處值,將所述另一第二測試添加至測試序列,所述另一第二測試覆蓋了也由己經添加至所述序列的測試所覆蓋的故障覆蓋度量(175,375)。14.如權利要求1-4中任一權利要求所述的方法,其中,將所述方法步驟應用到所述多個設備的生產過程的第一階段,以及在所述生產過程的另一階段重復所述方法步驟。15.—種設計工具,用于設計用來測試多個設備的測試序列,所述設計工具包括算法,用于從數據集中確定故障覆蓋度量,所述數據集包括應用到所述設備的一部分的每個測試的所收集的測試結果;算法,用于根據另一等式,計算針對每個應用的測試的測試益處,所述另一等式包括測試的故障覆蓋度量除以測試的測試執行時間;以及算法,用于通過將第一測試添加至測試序列來定義所述序列,所述第一測試具有符合預定標準的測試益處。16.如權利要求15所述的設計工具,還包括算法,用于將另一測試添加至測試組的序列,所述另一測試包括符合另一預定標準的測試益處、以及未被已經添加至所述序列的所述測試中的任何一個所覆蓋的故障覆蓋度量。17.如權利要求15所述的設計工具,還包括算法,用于基于測試組中的多個測試所共享的測試初始化特性,將所述多個測試分類至多個測試組;算法,用于根據包括組中每個測試的故障覆蓋度量的并集除以組中每個測試的測試持續時間之和的等式,計算每個組的組益處;以及其中、用于將第一測試添加所述序列的算法包括算法,用于將包括所述第一測試的第一測試組添加至所述序列,所述第一測試組包括符合預定標準的組益處。''18.如權利要求17所述的設計工具,還包括算法,用于如果另一測試組包括具有未被所述第一測試組中測試的任何一個所覆蓋的故障覆蓋度量的測試,則將所述另一測試組添加至所述測試組序列。19.一種數據載體,包括如權利要求15-18之一所述的設計工具。20.—種用于測試多個電子設備的自動測試設備,包括如權利要求15-18之一所述的設計工具。全文摘要公開了一種用于定義測試序列以測試包括集成電路的多個電子設備的方法。定義了設備的參考組(110),之后使在所述組中的設備經受考慮之下的所有可用測試(120)。收集針對每個測試的測試結果,從中提取針對設備組的測試的故障覆蓋度量(130)。接下來,計算每個測試的測試益處(140),該測試益處是所述測試的故障覆蓋度量和測試持續時間之間的比。通過基于測試益處將測試反復添加至測試序列來構建所述測試序列(160),直到所述測試序列的整個故障覆蓋達到預定閾值(170)。因此,獲得了在測試成本方面進行了優化的測試序列。文檔編號G01R31/28GK101243324SQ200680029793公開日2008年8月13日申請日期2006年8月17日優先權日2005年8月19日發明者沙吉·克瑞史南,貝特朗·J·L·范德韋爾申請人:Nxp股份有限公司