專利名稱:具有用于嵌入式非易失性存儲器的自測試器件的集成電路及相關測試方法
技術領域:
本發明涉及在具有嵌入式或其它集成非易失性存儲器,特別是具有閃速存儲器、EPROM、OTP或閃速EPROM的集成電路(IC)中,測試器件的結構和設計以及測試方法。對于在移動電話、個人數字助理以及汽車或其它導航目的的GPS應用中要用的集成電路,非易失性存儲器的這種嵌入或集成常常是所希望的甚至是必需的。一個特別困難的課題是這類集成電路的測試,因為批量生產、低價格和最小利潤率的需要,要求在最短時間內完成通常需要昂貴的大型設備的測試。應特別關注的是,不能讓對這類嵌入式存儲器的測試成為制造期間的瓶頸。
所謂內置自測試(BIST)是一個已知的方法,它們廣泛用于加快嵌入式存儲器,特別是SRAM、DRAM和ROM型存儲器的測試。遺憾的是,象EPROM、EEPROM、OTP或閃速EPROM這樣一些嵌入式非易失性存儲器,由于復雜的測試流程而不能用這種全自動內置自測試進行測試。
因此,本發明的首要目的就是為這類非易失性存儲器提供一種快速測試方法。
第二個目的是減少所謂測試輔助件(test overheat),即減少只用于對集成電路上的嵌入式存儲器進行測試的任何器件,這樣集成電路上被這類輔助件占據的空間就可用來在集成電路上放置另一些更有用的元件,或者可以減小集成電路的尺寸。
下面,從現有技術的測試方法出發,根據實施方案并結合幾個附圖,對本發明及解決上述問題的途徑進行闡述。附圖中,
圖1示出采用將存儲器端口多路轉接到主輸入/輸出(I/O)的閃速存儲器的現有技術測試方法;圖2說明利用圖1所示測試方法的存儲器讀操作;圖3示出根據本發明給出的新測試方法;圖4示出本發明要用到的碼型檢驗器;以及圖5說明利用本發明的測試方法的存儲器讀操作。
首先示出并說明對嵌入式存儲器進行測試的常規或現有方法。這些現有方法是技術中常見的做法,且為本領域技術人員所熟知。
如圖1所示,在正常工作模式下,與系統控制器(SC)1相連的嵌入式存儲器3通常起著供隨后使用的代碼存儲器的作用。
在測試模式下,如圖1所示,嵌入式非易失性存儲器3與集成電路芯片2的其余部分隔離。存儲器3的所有輸入和輸出即數據總線、地址總線、控制線由多路轉接器4、4’、4”轉接到集成電路2的主輸入/輸出引腳5和5’上。轉接由專用測試控制單元6進行控制。因此,對存儲器3的全存取得到保證,仿佛對一個獨立存儲器進行測試。
這種常規方法有以下幾個缺點-這種測試模式需要大型電路輔助件(circuit overhead)。所有閃速信號都應由多路轉接器4、4’、4”轉接到主輸入/輸出5和5’上。這個問題在閃速信號具有寬的數據總線,例如,若數據總線為32位寬或64位寬時將變得尤為嚴重。
-不可能將所有閃速端口轉接到主輸入/輸出5和5’上,特別是在寬數據總線的情況下更是這樣。原因是閃速端口數可能超過主輸入/輸出數。
-另一個缺點是,這種測試接口為非標準接口。依據可利用的輸入/輸出引腳數以及數據總線和地址總線的寬度,必須設計專門的測試接口。
-這種測試方法的最大弊端是緩慢的存取協議,從而導致更長一些測試時間,如下面將要指出的那樣。
圖2示出用于這種現有測試方法的讀訪問協議。在新地址A2加到地址總線之后,存儲器上便開始讀操作。在這個例子中,假定讀訪問時間t1=200ns。在這個訪問時間t1之后,輸出數據有效,即可以在芯片上提供。下一步應驅動芯片的對應輸出引腳。假定測試儀的容性負載是100pF,輸出引腳上的驅動電流是1mA以及邏輯高電平是2V。這些假定形成t2=200ns的附加延遲,直到輸出數據在輸入/輸出引腳上成為可以利用且穩定的數據。因此,一個單一存儲位置的訪問需時間t1+t2=400ns。例如,采用一個128K字的存儲器時,讀出整個存儲器的總時間為128K*(t1+t2)=52ms。在大多數情況下,這簡直是不能接受的。
根據本發明的新方法能大大縮短這個時間。在下文中,將結合本發明的實施方案說明這個新方法。
圖3示出新測試方法的方塊圖。與圖1所示常規方法相對比,嵌入式存儲器不再用并行協議,而是用串行協議訪問。為此,標準JTAG7端口用作串行接口。JTAG代表IEEE標準1149.1中規定的Joint TestAction Group(聯合測試行動組)。
嵌入式存儲器3受到稱之為“閃速殼(flash shell)”的構件10的控制。這個閃速殼10包含有每次讀操作之后自動使地址增加的地址增量計數器8。讀操作由輸入端的對應命令TDI中的串行移位起動,TDI代表上述IEEE標準中規定的JTAG7的測試數據輸入。
存儲器的輸出數據被傳送至稱為“碼型校驗器(patternchecker)”的方塊9。該校驗器將嵌入式存儲器3的輸出數據與預期數據作比較。下面將說明這種預期數據的來源。
圖4更詳細地示出碼型校驗器9,該校驗器根據加到嵌入式存儲器3上的地址和隨后寫入繼而將被識別的碼型得出預期的響應,亦即上述的預期數據。如下面所述,待校驗的碼型可在圖4中標為“碼型”的2位寬的輸入上加以設置。
嵌入式存儲器測試采用以下四種可選擇的規則碼型-棋盤格碼型,-逆棋盤格碼型,-全位編程碼型,例如全“1”碼型,以及-全位擦除碼型,例如全“0”碼型。
作為實例,下面是對完整測試過程的描述-開始測試時,第一步是將存儲器3完全擦除。這意味著所有存儲位置都包含“1”。然后,經歷一個校驗周期,在此期間,每個存儲位置上由地址增量計數器8自動進位的位置地址由碼型校驗器9針對其內容進行校驗。依據位置的內容,每個位置校驗在碼型校驗器9的輸出端產生一個輸出信號err。后者即刻檢查經其輸入端“碼型”從JTAG7來的特定全位編程碼型。
-第二步是將棋盤格碼型寫入存儲器3。這再次隨之以經由碼型校驗器9的校驗周期,碼型校驗器9已接收來自JTAG7的適當指示,即檢查存儲器中的棋盤格碼型。
-第三步是擦除所有的位,即擦除存儲位置。這一次無需檢查存儲器3的內容,因為這種特殊檢查已在第一步完成。
-第四步是將逆棋盤格碼型編程到存儲器3中,隨后是完成經由碼型檢驗器9的由JTAG7適當預置的另一次測試周期。
-第五步即最后一步是再一次將棋盤格碼型寫入存儲器3。與還在存儲器中的逆棋盤格碼型相結合,這便形成在存儲位置中的全位擦除碼型,即全“0”碼型。這仍然由經JTAG7適當預置的碼型檢驗器9進行檢查。
換句話說,具有圖4所示128位寬度的任何原始數據字均被壓縮成圖4中標為err的只有一位的差錯位,它將指出對特定存儲位置的檢查是否成功。如果存儲器3的輸出字與JTAG預置的期望值、即與寫入存儲器3中的四個上述碼型中選定的碼型一致,則碼型校驗器9的輸出信號err=0。否則,在不一致的情況下,該輸出信號為err=1。這個輸出信號值或錯誤標記經JTAG7傳送至它的輸出引腳TDO,TDO代表上述IEEE標準中規定的JTAG7的測試數據輸出。
根據本發明的這種新方法具有下列優點-只有少量為嵌入式存儲器所必需的附加電路輔助件,即僅僅有地址增量計數器8和碼型校驗器9。
-JTAG端口是適于重復使用的標準測試接口。
-嵌入式存儲器可以用盡可能高的速度讀出,從而大大縮短測試時間。較快的協議主要是靠兩個因素來實現,即數據壓縮(在碼型校驗器9中)和對差錯位的某種流水線式傳送,如下面參照圖5所做的說明。
圖5示出在測試碼型(四個碼型之一)寫入嵌入式存儲器3之后對其讀出的過程。讀命令經JTAG7的端口TDI移入。經這個讀命令觸發,閃速殼10中的地址增量計數器8自動使嵌入存儲器3中的地址增加,并啟動操作。在時間t1之后(如上所述,t1是存儲器訪問時間),從存儲器3讀出的數據可以在芯片內部利用,即是整個存儲器的完整數據集。碼型校驗器9在其出口處將這個有128位的數據字壓縮成一個差錯位(或錯誤標記),如果沒有差錯便給出err=0,或給出表明差錯的err=1。
錯誤標記的值經JTAG7以流水線方式傳送至輸出端口TD0。這意味著數據字n的錯誤標記在下一個讀周期期間被輸出,即數據字n+1的讀出。換句話說,包含字n的差錯位的輸出端口完全與對嵌入式存儲器3的字n+1的讀訪問同時被驅動。為了實現這種并行讀出,將字n的差錯位鎖存起來或使之處在中間存儲器內。結果是對差錯位的某類流水線式傳送。這是本發明優于現有技術的決定性因素之一。
因此,讀出頻率可以像存儲器訪問時間t1或對輸出引腳充電的時間t2一樣高。當然,這些值不一定要求一樣,而只是針對本例所選擇的典型值。在后一種情況下,讀一個數據字需要的時間為t1=200ns。因此,讀128K的整個存儲內容需時間128K*t1=26.2ms。這大約是常規測試時間的一半。如前所述,常規方法需要52ms的測試時間。
通常,t2(即對集成電路輸出引腳充電的時間)限制了讀操作。如上所述,為了克服這個限制,可以將錯誤標記鎖存起來,即在中間存儲器中保持短時間。盡管由于在檢測出故障之前地址已經“消失”,故障不再在相配的地址位置被檢測,這也能避免漏失任何故障。
注意到以上對主要是依據測試嵌入式閃速存儲器實施方案的實例所做的說明,對于精通技術的人來說,將以上提示應用于具有一個或多個嵌入式非易失性存儲器(例如,EPROM、OTP、閃速EPROM等)的任何集成電路設計已不成問題。特別是,本領域的技術人員在不違背本發明的要點和所附加的權利要求范圍的前提下,很容易根據上述原理作出修改變化。
權利要求
1.集成電路(2),至少有一個嵌入式非易失性存儲器(3),特別是閃速存儲器、EPROM或EEPROM以及一個或多個用于對所述存儲器進行內置自測試的集成測試器件,所述測試器件包括-用于將從所述存儲器(3)讀出的數據集與事先寫入所述存儲器的預定數據碼型進行串行比較的裝置(9),所述比較裝置在從所述存儲器(3)讀出的所述數據集與所述預定數據碼型一樣時,將產生第一輸出信號;而在所述數據集與所述預定數據碼型不同時,則產生第二輸出信號,以及-用于在讀出所述數據集期間自動增加所述嵌入式存儲器(3)中的地址的裝置(8)。
2.權利要求1中要求的集成電路,其中-配備了比較裝置(9),用來產生作為其輸出信號的差錯位,所述差錯位表明從存儲器(3)讀出的數據集是否與所述預定數據碼型一樣,從而提供一壓縮的測試結果。
3.權利要求1中要求的集成電路,其中-配備了測試器件,用于將從多個預定數據碼型中選出的一個數據碼型寫入存儲器(3),所述預定碼型中的每個碼型都具有規則結構,以便能自動寫入所述存儲器(3)和從中讀出。
4.任一上述權利要求要求的集成電路,其中-比較裝置(9)的輸出信號饋至所述集成電路(2)的串行輸出端口。
5.任一上述權利要求要求的集成電路,其中-為了在比較裝置(9)的輸出信號饋至所述集成電路(2)的輸出端口之前暫時將其保持或鎖存,提供有中間存儲器。
6.用于集成電路(2)的內置自測試方法,集成電路至少有一個嵌入式非易失性存儲器(3),特別是閃速存儲器、EPROM或EEPROM和一個或多個集成測試器件,該方法包含下列步驟-將預定的數據碼型寫入所述存儲器(3),-通過自動增加所述存儲器中的地址,從所述存儲器(3)中讀出所寫的數據,-將從所述存儲器(3)中讀出的所述數據與所述預定碼型進行比較,-當從所述存儲器中讀出的數據與所述預定碼型一樣時,產生第一輸出信號;而當所述數據與所述預定碼型不相同時,產生第二輸出信號。
7.權利要求6要求的測試方法,其中,寫入步驟包括從多個碼型中選擇預定碼型,多個碼型包括-棋盤格碼型,-逆棋盤格碼型,-全位編程碼型,例如全“1”,以及-全位擦除碼型,例如全“0”。
8.權利要求7要求的測試方法包括-用所選擇的碼型填充存儲器(3),-通過自動增加所述存儲器地址對其順序讀出,-將所述存儲器的讀出與寫入所述存儲器的所述選定碼型期望值按地址進行比較,-依據所述比較步驟的結果,產生針對每個存儲位置和每個寫入碼型的單一輸出信號。
9.權利要求6~8中任何一個要求的測試方法,其中-比較步驟中產生的輸出信號是一個差錯位,且最好是單一位,用以表明是否出現差錯,差錯表明讀出的數據與預定碼型不相同,當不存在差錯時,所述單一位最好是“0”;而當檢測出差錯時,則所述單一位最好是“1”。
10.權利要求6~9中任何一個要求的測試方法,其中-比較步驟中產生的輸出信號串行傳送至集成電路(2)的輸出端(7),以及-最好是保持在中間存儲器內,以提供從存儲器(3)加速的讀出。
11.權利要求10要求的測試方法,其中-從存儲器(3)的加速讀出受在讀出后續數據字n+1期間輸出數據字n的差錯位的影響,因此,對包含字n差錯位的輸出端口的驅動是與嵌入式存儲器(3)中對字n+1的讀訪問同時進行的。具有用于嵌入式非易失性存儲器的自測試器件的集成電路及相關測試方法。
全文摘要
對具有嵌入式的或集成的非易失存儲器(3),特別是閃速存儲器、EPROM或EEPROM的集成電路IC(2)進行測試極其困難,因為批量生產、低價格和最小利潤率要求在最短時間內完成通常需要昂貴的大型設備的測試。通常,對嵌入式存儲器(3)的測試是制造期間的一種瓶頸。本發明描述了一種測試結構和設計以及能將對嵌入式存儲器的測試時間減少到最短的相關測試方法。實質上,被集成到集成電路IC(2)上的少數幾個測試裝置(8,9)、利用集成電路上提供的串行端口和內置自測試的適當測試設計,將預定的規則測試碼型自動寫入嵌入式存儲器中,并在自動增加地址的情況下將自動存儲讀出在該集成電路壓縮,以便由其串行讀出,從而實現了對嵌入式存儲器的快速測試,并回避了前述的瓶頸。
文檔編號G11C16/02GK1462451SQ02801369
公開日2003年12月17日 申請日期2002年4月22日 優先權日2001年4月25日
發明者S·加皮施, G·法卡斯 申請人:皇家菲利浦電子有限公司