專利名稱:計(jì)算機(jī)存儲(chǔ)器測試結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的多個(gè)實(shí)施方式總體上涉及計(jì)算機(jī)存儲(chǔ)器領(lǐng)域,并且更具體地涉及一種用于計(jì)算機(jī)存儲(chǔ)器測試結(jié)構(gòu)的方法和裝置。
背景技術(shù):
由于技術(shù)上的進(jìn)步允許每個(gè)裝置中存在越來越小的部件,計(jì)算機(jī)存儲(chǔ)器裝置具有日益密集的體系結(jié)構(gòu)。因此對(duì)于測試而言,每個(gè)存儲(chǔ)器裝置已經(jīng)變得更加復(fù)雜。存儲(chǔ)器裝置可以包括SPDRAM(串行端口動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器)。在某些情況中,計(jì)算機(jī)裝置可以包括內(nèi)置自測試(BIST)電路。這種BIST電路可以輔助用于存儲(chǔ)器裝置的某些測試的執(zhí)行。然而,存儲(chǔ)器裝置可能要求多種不同類型的測試,它們可能具有不同的要求。為了支持測試而加入過多的硬件增加了存儲(chǔ)器板的尺寸和成本,并且提高了測試的復(fù)雜性。另外,測試可能涉及對(duì)多種存儲(chǔ)器裝置相對(duì)于不同的主機(jī)系統(tǒng)的接口的測試,并因此過度復(fù)雜或不靈活的測試會(huì)增加存儲(chǔ)器裝置和接口的測試的成本和復(fù)雜性。
發(fā)明內(nèi)容
提供了一種用于計(jì)算機(jī)存儲(chǔ)器測試結(jié)構(gòu)的方法和裝置。在本發(fā)明的第一方面中,一種用于存儲(chǔ)器板的測試的方法包括測試該存儲(chǔ)器板的一存儲(chǔ)器,其中測試該存儲(chǔ)器包括使用內(nèi)置自測試結(jié)構(gòu)來提供用于該存儲(chǔ)器的第一測試模式。此外,該方法進(jìn)一步包括用主機(jī)來測試該存儲(chǔ)器的10(輸入輸出)接口,其中該IO 接口的測試包括使用該內(nèi)置自測試結(jié)構(gòu)以為該IO接口提供第二測試模式。在本發(fā)明的第二方面中,裝置包括存儲(chǔ)器,其中該存儲(chǔ)器包括第一測試結(jié)構(gòu);主機(jī)的物理層,該物理層包括第二測試結(jié)構(gòu);以及位于存儲(chǔ)器以及物理層之間的接口。存儲(chǔ)器以及接口將要使用第一測試結(jié)構(gòu)以及第二測試結(jié)構(gòu)來被測試。
在附圖的圖例中藉由舉例而并非作為限制地展示了本發(fā)明的多個(gè)實(shí)施方式,其中相同的標(biāo)號(hào)表示類似的要素。圖1是包含內(nèi)置自測試結(jié)構(gòu)的存儲(chǔ)器裝置的實(shí)施例的圖標(biāo);圖2是流程圖,展示了用于計(jì)算機(jī)存儲(chǔ)器的測試的流程的實(shí)施例;圖3是用于包括內(nèi)置存儲(chǔ)器測試結(jié)構(gòu)的實(shí)施例的存儲(chǔ)器裝置的接口的圖示存儲(chǔ)器存儲(chǔ)器;圖4是SPDRAM存儲(chǔ)器體系結(jié)構(gòu)的實(shí)施例的圖示;圖5是用于一裝置的命令集的圖示,該裝置可以包括內(nèi)置自測試結(jié)構(gòu)的實(shí)施例;圖6是5位到6位以及6位到5位的分別的躍遷編碼和解碼的實(shí)施例的圖示;圖7是6位到7位和7位到6位的分別的躍遷編碼和解碼的實(shí)施例的圖示;
圖8是用于存儲(chǔ)器和主機(jī)芯片的SPDRAM測試結(jié)構(gòu)的實(shí)施例的圖示;圖9是SPDRAM接口測試體系結(jié)構(gòu)的實(shí)施例的圖示;圖10展示了在待測單元的每個(gè)TX(發(fā)送器)信道中的測試模式生成的實(shí)施例;圖11是用于測試系統(tǒng)或方法的實(shí)施方式的20位測試模式生成的圖示;圖12是用于測試系統(tǒng)或方法的實(shí)施方式的20位測試模式處理的圖示;圖13是用于存儲(chǔ)器的SPDRAM測試結(jié)構(gòu)的實(shí)施例的圖示;圖14是用于主機(jī)芯片的SPDRAM測試結(jié)構(gòu)的實(shí)施例的圖示;圖15是用于串行IO接口的自身回環(huán)測試配置的實(shí)施例的圖示;圖16是用于存儲(chǔ)器接口的自身回環(huán)測試配置的實(shí)施例的圖示;圖17是使用包括自動(dòng)測試設(shè)備(ATE)的測試器的用于存儲(chǔ)器接口的測試配置的實(shí)施例的圖示存儲(chǔ)器;圖18是用于功能路徑的外部回環(huán)測試配置的實(shí)施例的圖示;圖19是用于功能路徑的自身回環(huán)測試配置的實(shí)施例的圖示;圖20展示了用于存儲(chǔ)器或PHY層的SPDRAM測試結(jié)構(gòu)的體系結(jié)構(gòu)的實(shí)施例,存儲(chǔ)器其采用了與單個(gè)端口耦合的測試碼生成器以及用于該端口的單個(gè)差錯(cuò)校驗(yàn)器;圖21是測試系統(tǒng)的實(shí)施例的圖示;圖22展示了用于差錯(cuò)檢測的過程的實(shí)施例;圖23展示了用于測試系統(tǒng)的實(shí)施例的測試編碼函數(shù)的概念;圖M展示了組合測試編碼函數(shù)的實(shí)施例;圖25是測試數(shù)據(jù)的類別簽名的圖示,該類別簽名可以被用在測試系統(tǒng)或過程的實(shí)施例中;圖沈是用于測試結(jié)構(gòu)的實(shí)施例的類別簽名的圖示;圖27是類別簽名序列的實(shí)施例的圖示;圖觀是層級(jí)測試編碼函數(shù)的實(shí)施例的圖示;圖四展示了類別生成函數(shù)的實(shí)施例;圖30和31展示了利用層級(jí)編碼將測試特性嵌入測試數(shù)據(jù)流的過程的實(shí)施例;圖32展示了用于在接收器上校驗(yàn)嵌入測試特性的測試模式的過程的實(shí)施例;圖33展示了差錯(cuò)檢測器的實(shí)施例;圖34是差錯(cuò)指示器的實(shí)施例的行為的圖示;圖35是種串行IO測試結(jié)構(gòu)的實(shí)施例的圖示;圖36和37展示了測試模式的諸個(gè)實(shí)施例;圖38展示了共享測試模式源的實(shí)施例;圖39展示了存儲(chǔ)器接口測試單元的實(shí)施例;圖40展示了測試數(shù)據(jù)擴(kuò)展器的實(shí)施例;圖41是存儲(chǔ)體地址計(jì)算單元的實(shí)施例的圖示;圖42展示了用于校驗(yàn)優(yōu)先級(jí)函數(shù)的命令生成的實(shí)施例;圖43至47展示了 SPDRAM測試碼生成器的諸個(gè)實(shí)施例;圖48描繪了差錯(cuò)檢測的實(shí)施例;圖49和50展示了串行IO差錯(cuò)校驗(yàn)器的諸個(gè)實(shí)施例;
圖51展示了用于板測試的系統(tǒng)的實(shí)施例;圖52展示了板級(jí)測試結(jié)構(gòu)的實(shí)施例;圖53是串行IO互連測試結(jié)構(gòu)的實(shí)施例的圖示;圖M展示了斷路故障檢測的實(shí)施例;圖55展示了橋接故障檢測的實(shí)施例;圖56是串行IO板測試的實(shí)施例的圖示;圖57展示了通過主機(jī)旁路回環(huán)路徑的互連測試;圖58是利用起源于主機(jī)中的諸個(gè)測試模式的存儲(chǔ)器接口測試的實(shí)施例的圖示;圖59是利用起源于存儲(chǔ)器的諸個(gè)測試模式通過自身回環(huán)路徑的存儲(chǔ)器接口測試的實(shí)施例的圖示;以及圖60是可以在本發(fā)明的實(shí)施例中使用的計(jì)算裝置的實(shí)施例的圖示。 詳細(xì)說明本發(fā)明的多個(gè)實(shí)施例總體上是針對(duì)一種用于計(jì)算機(jī)存儲(chǔ)器測試結(jié)構(gòu)的方法和裝置。在某些實(shí)施例中提供了用于存儲(chǔ)器的內(nèi)置測試結(jié)構(gòu),該存儲(chǔ)器包括一個(gè)隨機(jī)存取存儲(chǔ)器(DRAM)。在某些實(shí)施例中,存儲(chǔ)器是串行端口 DRAM(SPDRAM)存儲(chǔ)器。串行鏈路允許減少的引腳數(shù)目,同時(shí)藉由減少跟蹤匹配和擁塞而簡化了布局問題。因?yàn)槊總€(gè)端口都是獨(dú)立的,無需維護(hù)多個(gè)端口之間的相位關(guān)系。存儲(chǔ)器命令和定時(shí)十分類似于標(biāo)準(zhǔn)的現(xiàn)有技術(shù)的帶有多任務(wù)地址總線的DRAM。然而,提供成本效率以及硬件效率的測試方法來降低用于SPDRAM和終端產(chǎn)品的測試成本可能提出了某些挑戰(zhàn)。在裝置內(nèi)部,SPDRAM存儲(chǔ)器接口測試電路的硬件開銷應(yīng)該被保持為較小的,這樣裝置的硅晶體面積中的更多部分可以被用于存儲(chǔ)器單元。另外, SPDRAM存儲(chǔ)器接口測試方法的測試成本可能要求悉心管理以保持價(jià)格競爭力。在某些實(shí)施例中,測試方法應(yīng)當(dāng)能夠提供一組豐富的測試模式用于描述、生產(chǎn)、測試、以及診斷。例如, 就機(jī)頂盒制造商而言,板級(jí)測試和診斷能力是十分重要的。在某些實(shí)施例中,集成在SPDRAM 存儲(chǔ)器芯片和PHY IP產(chǎn)品中的測試方法可以被重新用于驗(yàn)證系統(tǒng)板上的SPDRAM產(chǎn)品的接口,并由此而有助于增加板的產(chǎn)量。因?yàn)镾PDRAM存儲(chǔ)器通常是由供貨商進(jìn)行測試的,機(jī)頂盒制造商可隨后進(jìn)行較少的測試就可以確保SPDRAM存儲(chǔ)器的功能以及在系統(tǒng)板上實(shí)現(xiàn)的高速串行IO接口的功能。在某些實(shí)施例中,同時(shí)在芯片級(jí)和板級(jí)上將低成本的測試性能結(jié)合在存儲(chǔ)器和串行IO接口上可以為IP和IC產(chǎn)品提供顯著的優(yōu)勢。在某些實(shí)施例中,系統(tǒng)采用內(nèi)置自測試(BIST)結(jié)構(gòu)來測試SPDRAM存儲(chǔ)器、存儲(chǔ)器接口以及高速串行IO鏈路??梢杂善蠝y試電路亦或由測試器(包括ATE——自動(dòng)測試設(shè)備)來測試包括端口邏輯和開關(guān)的SPDRAM存儲(chǔ)器和存儲(chǔ)器接口。在某些實(shí)施例中,裝置可以包括低成本的硬件測試接口,該硬件測試接口可以由片上測試電路和測試器用于從內(nèi)部和外部分別協(xié)調(diào)所要進(jìn)行的測試。在某些實(shí)施例中,SPDRAM存儲(chǔ)器及其接口的測試可以在串行IO鏈路上進(jìn)行。在某些實(shí)施例中,系統(tǒng)可以使用提供不違反SPDRAM協(xié)議的SPDRAM命令序列的測試模式。在某些實(shí)施例中,串行IO的測試可以與存儲(chǔ)器和存儲(chǔ)器接口測試分開進(jìn)行??商峁┻@種分離的測試是因?yàn)楸WC串行IO接口在其電氣規(guī)格方面的功能的流程可能包括處于合法SPDRAM命令之外的測試模式。在某些實(shí)施例中,實(shí)施串行IO接口測試而不要求SPDRAM 協(xié)議知識(shí)還可以簡化測試流程。因此,在某些實(shí)施例中,串行IO接口測試是獨(dú)立于SPDRAM 協(xié)議的并且可以在沒有SPDRAM協(xié)議知識(shí)的條件下進(jìn)行。例如,串行IO測試的測試模式可以是隨機(jī)模式。在某些實(shí)施例中,串行IO接口測試可以包括測試特性,該些測試特性被嵌入(或編碼到)測試模式流或測試數(shù)據(jù)流中以便構(gòu)建合法的數(shù)據(jù)流。在某些實(shí)施例中,可以利用接口測試來檢測對(duì)數(shù)據(jù)流合法性產(chǎn)生改動(dòng)的多種差錯(cuò)。該測試特性可被視為測試模式所滿足的測試規(guī)范。因?yàn)檫@些測試特性可能是抽象的,這些特性可以容納能夠以簡單方式來實(shí)現(xiàn)的大型測試模式集合。在某些實(shí)施例中,為便于進(jìn)行低成本的測試,測試系統(tǒng)可以將測試接口電路提供給用戶存儲(chǔ)器測試模式生成器和測試器。該測試系統(tǒng)還可以作為獨(dú)立的系統(tǒng)來工作,該獨(dú)立的系統(tǒng)能夠生成測試存儲(chǔ)器接口所需的SPDRAM命令序列。在某些實(shí)施例中,測試器還可以存取可用的SPDRAM命令,以便在外部協(xié)調(diào)測試。 在某些實(shí)施例中,測試接口電路還可以用作為測試解壓縮電路。在某些實(shí)施例中, 在一具有四個(gè)端口的裝置的實(shí)例中,SPDRAM命令輸入可以被解碼或解壓縮成四個(gè)20位的命令,這些命令可以被并行地加到所有四個(gè)端口上。因?yàn)榇鎯?chǔ)器接口測試可以藉由相同的串行IO來執(zhí)行,該串行IO測試結(jié)構(gòu)在構(gòu)建測試接口電路中被重新使用??蓪⒃摐y試接口電路視為可被開啟和關(guān)閉的層級(jí)式硬件層。在裝置設(shè)計(jì)和制造中,當(dāng)多個(gè)裝置被置于印刷電路板上以形成一個(gè)系統(tǒng)時(shí),重要的是對(duì)板上的SPDRAM接口的功能性進(jìn)行驗(yàn)證以便減少板級(jí)成品率損失以及測試錯(cuò)漏。一般來講,板級(jí)的成品率損失的代價(jià)遠(yuǎn)高于芯片級(jí)的成品率損失的代價(jià)。測試錯(cuò)漏板可能是代價(jià)高昂的,因?yàn)榇祟惏蹇赡軐?dǎo)致系統(tǒng)故障和產(chǎn)品召回。圖1是包含內(nèi)置自測試結(jié)構(gòu)的存儲(chǔ)器裝置的實(shí)施例的圖示。在這個(gè)圖示中,存儲(chǔ)器裝置105是包含多個(gè)端口(在此示出為第一端口 115、第二端口 120、第三端口 125、 以及第四端口 130)的串行端口存儲(chǔ)器裝置,其中每個(gè)端口包括串行器135和串并轉(zhuǎn)換器 140(分別表示為SER和DES)。該裝置進(jìn)一步包括用于裝置110的測試的內(nèi)置自測試結(jié)構(gòu) (或BIST)。在某些實(shí)施例中,內(nèi)置自測試結(jié)構(gòu)被用于支持對(duì)存儲(chǔ)器裝置以及存儲(chǔ)器接口的測試。圖2是展示了用于計(jì)算機(jī)存儲(chǔ)器測試的過程的實(shí)施例的流程圖。在所示的過程中,計(jì)算機(jī)存儲(chǔ)器裝置被選擇為待測裝置(DUT) 202,其中存儲(chǔ)器裝置包括多個(gè)端口。為這些裝置選擇一組存儲(chǔ)器測試,并且發(fā)送用于存儲(chǔ)器204的測試的測試模式。接收這些測試模式并檢查其的差錯(cuò)206,并且做出該存儲(chǔ)器是否有任何故障狀況的決定208。在所示的過程中,還傳送用于IO接口 210的測試的測試模式。接收該測試模式并檢查其的差錯(cuò)212,并且這里做出該接口是否有任何故障狀況的決定214。圖3是用于存儲(chǔ)器裝置的接口的圖示,該存儲(chǔ)器裝置包括內(nèi)置存儲(chǔ)器測試結(jié)構(gòu)的實(shí)施例。在所示的系統(tǒng)300中,主機(jī)305通過接口 350連接到存儲(chǔ)器355。該主機(jī)305包括一個(gè)或多個(gè)端口 310以及用于與存儲(chǔ)器355連接的連接管理器 340,該一個(gè)或多個(gè)端口包括所示的主端口 0。端口 0包括主機(jī)物理層320,該主機(jī)物理層包括接收器和發(fā)送器325,該發(fā)送器包括用于在接口 350的串行鏈路上進(jìn)行傳輸?shù)拇衅?30。該存儲(chǔ)器355包括一個(gè)或多個(gè)端口 360以及用于與該主機(jī)305連接的連接管理器390, 這些一個(gè)或多個(gè)端口包括所示的存儲(chǔ)器端口 0。存儲(chǔ)器端口 0包括存儲(chǔ)器物理層365,該存儲(chǔ)器物理層包括發(fā)送器和接收器375,該接收器包括用于在接口 350的串行鏈路上接收傳輸?shù)拇⑥D(zhuǎn)換器380。在某些實(shí)施例中,存儲(chǔ)器355是DRAM (動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器),更確切地是串行端口 DRAM(SPDRAM)。SPDRAM是一種DRAM存儲(chǔ)器存取技術(shù),其允許通過高速串行IO端口來訪問存儲(chǔ)器。在某些實(shí)施例中,主機(jī)305是片上系統(tǒng)(SOC)。在運(yùn)行中,在主機(jī)305和存儲(chǔ)器 355之間進(jìn)行傳輸之前將并行數(shù)據(jù)串行化,并在接收端將串行化的數(shù)據(jù)串并轉(zhuǎn)換為并行數(shù)據(jù)。因此,串行器一串并轉(zhuǎn)換器對(duì)在主機(jī)305和主機(jī)355之間形成通信信道。圖4是SPDRAM存儲(chǔ)器體系結(jié)構(gòu)的實(shí)施例的圖示。在這個(gè)圖示中,SPDRAM存儲(chǔ)器 400是四信道串行存儲(chǔ)器,對(duì)于每個(gè)端口具有獨(dú)立的存儲(chǔ)體訪問。端口 405各自被示出以具有存儲(chǔ)器物理層410,并且可以包括4線差分傳輸和接收鏈路用于發(fā)送命令或?qū)懭霐?shù)據(jù)并同時(shí)以每路高達(dá)5(ibpS (每秒千兆位)的速率接收讀取數(shù)據(jù)。存儲(chǔ)器400進(jìn)一步包括在一個(gè)或多個(gè)存儲(chǔ)體420(在此示出為DRAM芯存儲(chǔ)體0-7)中進(jìn)行數(shù)據(jù)存儲(chǔ)的端口邏輯415。 在某些實(shí)施例中,為存儲(chǔ)器400提供了內(nèi)置測試結(jié)構(gòu),其中該測試結(jié)構(gòu)與對(duì)存儲(chǔ)器以及到主機(jī)裝置的接口的測試相結(jié)合來使用。圖5是用于裝置的命令集500的圖示,該裝置可包括內(nèi)置自測試結(jié)構(gòu)的實(shí)施例。命令包括經(jīng)常用于測試DRAM存儲(chǔ)器的存儲(chǔ)器命令,包括預(yù)充電(PGG)、啟動(dòng)存儲(chǔ)體(ABNK)、啟動(dòng)(ACT)、以及寫入(WR)和讀取(RD)命令。在這個(gè)圖示中,如果為了傳輸而進(jìn)行編碼,每條命令的長度是17位或20位,且命令包括同步命令和存儲(chǔ)命令。然而,本發(fā)明的多個(gè)實(shí)施例并不限于任何具體的命令集或者命令結(jié)構(gòu)。在這個(gè)圖示中,同步命令建立并恢復(fù)鏈路的完整性。圖6和圖7是為了如何對(duì)17位的存儲(chǔ)命令進(jìn)行轉(zhuǎn)換或編碼以用于傳輸?shù)膱D示。圖 6是分別地5位到6位和6位到5位躍遷編碼和解碼的實(shí)施例的圖示。圖7是分別地6位到7位和7位到6位躍遷編碼和解碼的實(shí)施例的圖示。17位的命令和20位的編碼命令分別被表示為d[16:0]和e[19:0]。命令的編碼將更多的躍遷結(jié)合到所編碼的命令之中,以便克服碼間干擾(被稱為“ISI”)問題,并在接收器上更為可靠地恢復(fù)所傳輸?shù)拿?。在某些?shí)施例中,利用圖6和7所示的轉(zhuǎn)換表達(dá)式將17位命令的6位分區(qū)、5位部分以及6位分區(qū)中的每一個(gè)分別轉(zhuǎn)換成7位分區(qū)、6位分區(qū)以及7位分區(qū)。例如,如果命令的5位分區(qū)包括 11000,它被轉(zhuǎn)換成如圖6所示的1010101。注意藉由這種轉(zhuǎn)換,原始的5位分區(qū)中的躍遷數(shù)增加為6次躍遷。命令的這種6位分區(qū)可以如圖7所示類似地進(jìn)行轉(zhuǎn)換。這種轉(zhuǎn)換確保行程長度(它被定義為在所傳輸?shù)谋忍亓髦械倪B續(xù)的0或連續(xù)的1的個(gè)數(shù))不大于5。因此,在所傳輸?shù)谋忍亓髦忻?位就存在一次或多次躍遷。在某些實(shí)施例中,在接收器上對(duì)已編碼命令的解碼是以相反的方式進(jìn)行的。在某些實(shí)施例中,SPDRAM測試結(jié)構(gòu)可以經(jīng)由相同的串行IO鏈路來測試高速串行 IO鏈路以及存儲(chǔ)器接口邏輯。圖8是展示了用于存儲(chǔ)器和主機(jī)芯片的SPDRAM測試結(jié)構(gòu)的實(shí)施例的圖示,例如該SPDRAM測試結(jié)構(gòu)可以被嵌入片上系統(tǒng)(SOC)之中。在某些實(shí)施例中,如上所述,串行IO的測試與存儲(chǔ)器接口的測試是分開進(jìn)行的。 存儲(chǔ)器接口的測試可能要求測試模式符合待測存儲(chǔ)器裝置的SPDRAM協(xié)議。然而,串行IO接口的測試可以獨(dú)立于SPDRAM協(xié)議。分開測試可能是有利的,因?yàn)橥耆蠭O接口測試可能要求比SPDRAM協(xié)議允許的更多的測試模式。分開進(jìn)行串行IO測試可用來去除測試模式適應(yīng)性限制并允許在串行IO測試期間使用更加多樣化的測試模式。一組豐富而多樣化的測試模式在實(shí)現(xiàn)高速測試覆蓋時(shí)是一種重要因素。在圖8中,以串行IO和存儲(chǔ)器接口為目標(biāo)的內(nèi)置自測試(BIST)硬件分別包括串行IO測試結(jié)構(gòu)815和存儲(chǔ)器接口測試結(jié)構(gòu)810。串行IO測試結(jié)構(gòu)815和存儲(chǔ)器接口測試結(jié)構(gòu)810被統(tǒng)稱為SPDRAM測試結(jié)構(gòu)。如圖所示,測試系統(tǒng)包括由串行IO接口 830所連接的SPDRAM存儲(chǔ)器805和主機(jī)或其它裝置的PHY核840。SPDRAM存儲(chǔ)器805包括存儲(chǔ)器接口測試結(jié)構(gòu)810、串行IO測試結(jié)構(gòu)815,以及經(jīng)由串行IO接口 830連接到PHY核840的串行器820和串并轉(zhuǎn)換器825。PHY核840包括存儲(chǔ)器接口測試結(jié)構(gòu)850、串行IO測試結(jié)構(gòu) 845,以及經(jīng)由串行IO接口 830連接到存儲(chǔ)器805的串行器860和串并轉(zhuǎn)換器855。圖9是SPDRAM接口測試體系結(jié)構(gòu)的實(shí)施例的圖示。在這個(gè)圖示中,SPDRAM存儲(chǔ)器或主機(jī)PHY層905包括SPDRAM接口測試結(jié)構(gòu)910。在這個(gè)圖示中,測試結(jié)構(gòu)910包括測試生成器915和四個(gè)差錯(cuò)校驗(yàn)器920,且圖9中每個(gè)差錯(cuò)校驗(yàn)器被標(biāo)識(shí)為EC。測試生成器915 包括共享的測試模式源940以及四個(gè)測試特性嵌入(TPE)單元945。在某些實(shí)施例中,TPE 單元945專用于每個(gè)PHY信道以便獨(dú)立地調(diào)制從共享測試源生成的測試模式,從而以可管理的硬件開銷來對(duì)所有的PHY信道提供多樣化的測試模式。在某些實(shí)施例中,每個(gè)TPE單元 945的硬件開銷遠(yuǎn)小于芯片上所有PHY信道所共享的測試模式源940的硬件開銷。在某些實(shí)施例中,每個(gè)差錯(cuò)校驗(yàn)器920與多個(gè)端口 925中的一個(gè)相連接,每個(gè)端口包括通過用于經(jīng)由接口進(jìn)行通信的串行器930和串并轉(zhuǎn)換器935。在一示例性實(shí)現(xiàn)方式中,測試生成器915 用于生成20位的測試模式、將20位測試模式擴(kuò)展為80位測試模式、并且直接地或通過存儲(chǔ)器接口來將每個(gè)20位模式分發(fā)到所有四個(gè)端口 925。每個(gè)端口中的差錯(cuò)校驗(yàn)器920能夠獨(dú)立地校驗(yàn)輸入的測試模式流中的差錯(cuò)或者在串并轉(zhuǎn)換器上觀測到的測試數(shù)據(jù)中的差錯(cuò)。圖10展示了待測單元的每個(gè)TX信道中的測試模式生成的實(shí)施例。在這個(gè)圖示中, 共享的測試模式源1005生成了 20位的測試數(shù)據(jù)或者測試信號(hào)。取決于測試模式,20位或 17位的數(shù)據(jù)包含有意義的測試信息。該17位或者20位的測試信號(hào)在傳輸之前被編碼為 20位。該共享的測試模式源與測試特性嵌入單元(TPE) 1010相耦合。對(duì)TPE進(jìn)行編程以調(diào)制20位和17位的測試信號(hào)。對(duì)TPE還進(jìn)行編程以旁路連接20位測試信號(hào)。經(jīng)由TPE的共享的測試模式源為躍遷編碼單元(TE) 1015提供了 20位的測試信號(hào)。17位測試信號(hào)被用于躍遷編碼以生成20位信號(hào),并且3位測試信號(hào)被用于代替在旁路連接時(shí)躍遷編碼所生成的3個(gè)位。基于旁路信號(hào)的狀態(tài),啟動(dòng)或者繞過該測試編碼。如果旁路=0,那么由躍遷編碼來產(chǎn)生20位的輸出測試信號(hào)。否則,禁用躍遷編碼并且將17位和3位輸入測試信號(hào)合并以生成20位輸出測試信號(hào)。所生成的20位測試信號(hào)被提供給復(fù)用器1020,復(fù)用器1020 還可經(jīng)由第二測試編碼單元1030從系統(tǒng)邏輯1025接收信號(hào),其中測試信號(hào)是根據(jù)控制該復(fù)用器1020的控制信號(hào)testl來選擇的。然后由串行器1035將測試模式(E[19:0])進(jìn)行串行化處理用于通過接口進(jìn)行傳輸。圖11和12是在測試的實(shí)施例中在發(fā)送器上的20位數(shù)據(jù)生成并在接收器上進(jìn)行處理的過程的詳細(xì)示圖。圖11是用于測試系統(tǒng)或方法的實(shí)施例的20位測試模式生成過程的圖示。在這個(gè)圖示中,將所生成的17位測試模式1105提供給躍遷編碼邏輯1110,并且3位測試信號(hào)被提供給復(fù)用器1115。在某些實(shí)施例中,生成器可以直接地或通過躍遷編碼單元(TE)來生成20位的數(shù)據(jù)模式。例如,如果旁路=0,由TE將17位數(shù)據(jù)轉(zhuǎn)換為20位。否貝U,該17位輸入在TE中被旁路連接并且與由測試生成器所提供的3位輸入相合并以組成 20位。在某些實(shí)施例中,該旁路信號(hào)是從測試模式信號(hào)中導(dǎo)出的。圖11是用于測試系統(tǒng)或方法的實(shí)施例的20位測試模式過程的圖示。在某些實(shí)施例中,旁路開啟和關(guān)閉在該轉(zhuǎn)換表達(dá)式中實(shí)施的求補(bǔ)運(yùn)算。如果該旁路=0,如圖12中所示,從由TE執(zhí)行的17/20轉(zhuǎn)換中獲得20位數(shù)據(jù),并將來自測試生成器的3位輸入忽略。 17/20轉(zhuǎn)換表示由TE進(jìn)行的從17位轉(zhuǎn)換到20位的數(shù)據(jù)轉(zhuǎn)換。然而,如果旁路=1,在給定的轉(zhuǎn)換表達(dá)式中的左側(cè)的第三列被來自測試生成器的3位輸入中的一位所替代。由于在17 位數(shù)據(jù)中存在3個(gè)分區(qū)(即6位、5位和6位),三個(gè)對(duì)應(yīng)的列被3位輸入替代。除了列的替代之外,轉(zhuǎn)換過程中的求補(bǔ)運(yùn)算被禁用,這樣可以在TE的輸出中生成原始數(shù)據(jù)。圖11所示的復(fù)用器在位于發(fā)送器內(nèi)的測試生成器中實(shí)現(xiàn)這種列替代。圖12是在接收器處可以如何類似地處理所恢復(fù)的20位數(shù)據(jù)的圖示。在經(jīng)過串并轉(zhuǎn)換器1205之后,如果旁路=1,則禁用轉(zhuǎn)換并將該20位數(shù)據(jù)提供給差錯(cuò)校驗(yàn)器1215。否則,經(jīng)由躍遷解碼單元(TD) 1210將 20位數(shù)據(jù)解碼為17位數(shù)據(jù)。所解碼的17位數(shù)據(jù)被提供給差錯(cuò)校驗(yàn)器1215并且與17/20 轉(zhuǎn)換所引入的列相對(duì)應(yīng)的3位數(shù)據(jù)在差錯(cuò)校驗(yàn)器1215處被忽略。類似地,由TD1210實(shí)現(xiàn)的從20位到17位轉(zhuǎn)換可被標(biāo)識(shí)為20/17轉(zhuǎn)換。在一實(shí)施例中,為了減少硬件開銷并增加測試的靈活性,系統(tǒng)或者過程可以使用面向特性的測試方法。在某些實(shí)施例中,該測試方法是基于非PRBS(PRBS是偽隨機(jī)二進(jìn)制序列)的測試方法,并且與基于PRBS的常規(guī)BIST相比可以極大地減小測試硬件的尺寸。因?yàn)檫@樣的測試系統(tǒng)或過程的實(shí)施例獨(dú)立于PRBS多項(xiàng)式,在制造、描述、以及硅除錯(cuò)階段的 SPDRAM裝置的測試也可以是更加靈活的。PRBS模式和非PRBS模式都可以被應(yīng)用于待測裝置。圖13是用于存儲(chǔ)器的SPDRAM測試結(jié)構(gòu)的實(shí)施例的圖示,圖14是用于主機(jī)芯片的SPDRAM測試結(jié)構(gòu)的實(shí)施例的圖示。圖13所示的SPDRAM存儲(chǔ)器測試結(jié)構(gòu)可以用于直接地或通過存儲(chǔ)器邏輯來測試存儲(chǔ)器芯片的串行IO接口。如圖所示,SPDRAM存儲(chǔ)器1300包括存儲(chǔ)體1305、開關(guān)和端口邏輯1310、SPDRAM測試生成器1315、差錯(cuò)校驗(yàn)器1320、串行器 1325、以及串并轉(zhuǎn)換器1330。在這個(gè)圖示中,從測試生成器1315生成的測試模式(該測試模式由使用者測試模式1350所形成)可以根據(jù)特定控制信號(hào)輸入(顯示為testl、test2 和test; )而被應(yīng)用到串行IO或內(nèi)部存儲(chǔ)器接口上。在這個(gè)圖示中,測試生成器包括共享測試模式源,該共享測試模式源被存儲(chǔ)器或者主機(jī)芯片的所有PHY層上的測試生成電路所共享。在某些實(shí)施例中,TPE專用于每個(gè)PHY層上的測試生成電路。差錯(cuò)校驗(yàn)器1320可以檢查輸入測試數(shù)據(jù)以查找差錯(cuò)。串并轉(zhuǎn)換器1330與躍遷解碼單元1360相耦合,躍遷解碼單元通過復(fù)用器而耦合到開關(guān)和端口邏輯1310上。在某些實(shí)施例中,該測試結(jié)構(gòu)可提供從串并轉(zhuǎn)換器1330到串行器1325的旁路回環(huán)路徑1355。例如,如果testl = 1并且test2 = 1,旁路可以起作用。旁路回環(huán)路徑1355 可以允許對(duì)串行IO鏈路從外部進(jìn)行測試,并且可以被用于提高診斷分辨率。例如,如果串行IO鏈路在使用內(nèi)部測試結(jié)構(gòu)時(shí)失敗,但通過旁路回環(huán)路徑被驗(yàn)證有效,那么可以得出結(jié)論該串行IO鏈路并不是失敗的原因。相反,這種失敗可能是包含內(nèi)部BIST測試結(jié)構(gòu)的內(nèi)部測試路徑所導(dǎo)致的。在一實(shí)施例中,可以在旁路測試模式期間啟動(dòng)差錯(cuò)校驗(yàn)器1320。差錯(cuò)校驗(yàn)器1320可以進(jìn)一步提高對(duì)通向串并轉(zhuǎn)換器1330的串行IO測試路徑的診斷分辨率。 在某些實(shí)施例中,系統(tǒng)還可以容納被用于SPDRAM存儲(chǔ)器的非兼容的BIST電路。例如,在板級(jí)測試中,PHY核(或S0C)中的BIST測試結(jié)構(gòu)可以通過內(nèi)部旁路回環(huán)路徑來驗(yàn)證SPDRAM 存儲(chǔ)器裝置中的串行IO連接的有效性。類似地,可以如圖14所示在SPDRAM主機(jī)中實(shí)現(xiàn)存儲(chǔ)器接口測試結(jié)構(gòu)。如圖所示, 主機(jī)1400包括SPDRAM測試碼生成器1420、接收用戶測試模式1422、差錯(cuò)校驗(yàn)器1415、串行器1425、以及與FIFO 1432相耦合的串并轉(zhuǎn)換器1430,F(xiàn)IFO 1432與躍遷解碼單元1480 相耦合。主機(jī)1400還包括到系統(tǒng)邏輯1475的鏈路,該系統(tǒng)邏輯與躍遷編碼單元1485相耦合。在此類裝置中,可以為特定的測試而引入旁路回環(huán)1470。在主機(jī)芯片中提供存儲(chǔ)器接口測試能力可以為板級(jí)測試或SPDRAM存儲(chǔ)器芯片的制造測試提供優(yōu)勢。SPDRAM存儲(chǔ)器芯片可能受到芯片面積的限制,并因此全部存儲(chǔ)器接口測試特性的實(shí)施可能是不可行的。在這種情況下,可以在主機(jī)芯片中實(shí)現(xiàn)存儲(chǔ)器接口測試結(jié)構(gòu)并且可以將其用于驗(yàn)證系統(tǒng)板上的SPDRAM存儲(chǔ)器的存儲(chǔ)器接口的有效性。在某些實(shí)施例中,可以使用相同的主機(jī)芯片來生成用于SPDRAM存儲(chǔ)器芯片的多種測試。所生成的測試模式可以經(jīng)由串行IO鏈路被傳送到存儲(chǔ)器芯片。根據(jù)信號(hào)(如test5和teste)的設(shè)置,測試結(jié)構(gòu)可以參與測試或可以被旁路。 在不同的實(shí)現(xiàn)方式中,可以在芯片上或者不在芯片上實(shí)施用戶測試模式。圖15是用于串行IO接口的自身回環(huán)測試配置的實(shí)施例的圖示。如圖15所示,例如,如果控制信號(hào)testl和test2被分別設(shè)置為邏輯“ 1”和“0”,就可以經(jīng)由自身回環(huán)連接來測試串行IO接口。圖15中展示了自身回環(huán)串行IO測試。在這個(gè)圖示中,SPDRAM存儲(chǔ)器 1500包括存儲(chǔ)體1305以及開關(guān)和端口邏輯1310。在串行IO測試期間,測試生成器1315 可提供20位的測試數(shù)據(jù)流,并且串行器1325經(jīng)由自身回環(huán)路徑1550將所生成的測試模式串行地傳送至串并轉(zhuǎn)換器1330。串并轉(zhuǎn)換器1330可以將接收到的串行位流重構(gòu)為20位測試模式,并且差錯(cuò)校驗(yàn)器1320確定重構(gòu)的測試模式是否有效。在某些實(shí)施例中,可以由測試器1540提供測試控制。在某些實(shí)施例中,存儲(chǔ)器接口測試結(jié)構(gòu)可以將由存儲(chǔ)器和存儲(chǔ)器接口邏輯(如端口邏輯和開關(guān))中的物理缺陷所引發(fā)的差錯(cuò)作為目標(biāo)。圖16是用于存儲(chǔ)器接口的自身回環(huán)測試配置的實(shí)施例的圖示。在這個(gè)圖示中,SPDRAM存儲(chǔ)器1600包括存儲(chǔ)體1305以及開關(guān)和端口邏輯1310,并且SPDRAM測試生成器1315可以接收用戶測試模式1350。存儲(chǔ)器還可以包括SPDRAM差錯(cuò)校驗(yàn)器1320以便基于差錯(cuò)狀況來生成輸出。在這個(gè)圖示中,當(dāng)測試模式輸入test4被設(shè)置為“0”并且測試模式輸入test3被設(shè)置為“1”時(shí),可以開始存儲(chǔ)器接口測試。所生成的一系列SPDRAM命令或測試模式可以被發(fā)送給端口邏輯以便測試存儲(chǔ)器接口。測試響應(yīng)可以被差錯(cuò)校驗(yàn)器1320上直接捕獲并校驗(yàn),而不經(jīng)過串行IO自身回環(huán)。 這種直接的觀測可以提高診斷分辨率,因?yàn)榭梢元?dú)立于串行IO來執(zhí)行存儲(chǔ)器和存儲(chǔ)器接口電路的測試。取代直接地在測試結(jié)構(gòu)中提供DRAM存儲(chǔ)器測試能力,所提出的測試結(jié)構(gòu)可提供硬件接口來容納用于存儲(chǔ)器測試的用戶定義測試模式。存儲(chǔ)器接口測試結(jié)構(gòu)可以將用戶定義的存儲(chǔ)器測試模式轉(zhuǎn)化為可被用于實(shí)施相同測試的SPDRAM命令序列。在不同的實(shí)施例中,例如,用戶定義的測試模式1350可以在芯片上實(shí)現(xiàn)或者可以由提供測試控制的外部測試器來提供。在某些實(shí)施例中,一種體系結(jié)構(gòu)允許DRAM存儲(chǔ)器的制造商們使用他們自己的測試模式通過目標(biāo)存儲(chǔ)器接口來驗(yàn)證他們的存儲(chǔ)器。然而,在某些實(shí)施例中,如果不提供用戶定義的存儲(chǔ)器測試模式,存儲(chǔ)器接口測試結(jié)構(gòu)可以在內(nèi)部生成用于存儲(chǔ)器接口邏輯的 SPDRAM測試模式。還可以從該外部測試器上通過存儲(chǔ)器接口測試結(jié)構(gòu)對(duì)同一存儲(chǔ)器接口邏輯進(jìn)行測試。圖17是用于存儲(chǔ)器接口的測試配置的實(shí)施例的圖示,該存儲(chǔ)器接口使用包括ATE 的測試器。在這個(gè)圖示中,SPDRAM存儲(chǔ)器1700包括存儲(chǔ)體1305以及開關(guān)和端口邏輯1310、 以及SPDRAM差錯(cuò)校驗(yàn)器1320,還有串行器1325和串并轉(zhuǎn)換器1330。另外,可以將測試器連接到串并轉(zhuǎn)換器1330上,該串并轉(zhuǎn)換器與躍遷解碼單元1360相耦合。在某些實(shí)施例中, 可以從測試器1540提供測試模式,并由芯片上的差錯(cuò)校驗(yàn)器1320校驗(yàn)差錯(cuò),如圖17所示。 測試模式信號(hào)(test3和test4)可以被設(shè)置為邏輯“0”,以便配置存儲(chǔ)器或者存儲(chǔ)器接口測試。在這種測試模式中,是否測試存儲(chǔ)器或者存儲(chǔ)器接口取決于由測試器1540提供的測試模式。圖18和19是用于測試功能路徑的測試配置的圖示。在某些實(shí)施例中,因?yàn)橛捎诿娣e的限制,SPDRAM存儲(chǔ)器芯片可能無法容納標(biāo)準(zhǔn)數(shù)字測試(如結(jié)構(gòu)測試),可以用所提出的測試結(jié)構(gòu)來測試功能路徑。圖18是用于功能路徑的外部回環(huán)測試配置的實(shí)施例的圖示。 在這個(gè)圖示中,SPDRAM存儲(chǔ)器1800包括存儲(chǔ)體1305以及開關(guān)和端口邏輯1310,以及測試生成器1315和差錯(cuò)校驗(yàn)器1320。該存儲(chǔ)器進(jìn)一步包括串行器1325和串并轉(zhuǎn)換器1330。 在圖18中,藉由將測試模式信號(hào)設(shè)置為testl =“0”,test3 =“1”和test4 =“1”,測試從存儲(chǔ)器接口的輸出通過躍遷編碼單元I860到串行器1325的功能路徑。在這種測試配置中,所生成的測試命令被提供給存儲(chǔ)器接口,并且測試響應(yīng)經(jīng)由待測功能路徑和串行IO自身回環(huán)路徑1550被傳送到差錯(cuò)校驗(yàn)器1320。圖19是用于功能路徑的自身回環(huán)測試配置的實(shí)施例的圖示。在這個(gè)圖示中, SPDRAM存儲(chǔ)器1900包括存儲(chǔ)體1305以及開關(guān)和端口邏輯1310,以及測試生成器1315和差錯(cuò)校驗(yàn)器1320。該存儲(chǔ)器進(jìn)一步包括串行器1325和串并轉(zhuǎn)換器1330,該串并轉(zhuǎn)換器1330 被耦合到躍遷解碼單元1360??梢越逵稍O(shè)置測試模式信號(hào)為testl =“1”,test2 =“0”, test3 =“0”和test4 =“0”來建立從串并轉(zhuǎn)換器1330到存儲(chǔ)器接口的功能路徑測試。所生成的測試模式可以通過串行IO自身回環(huán)1550、待測功能路徑以及存儲(chǔ)器接口而被傳送到差錯(cuò)校驗(yàn)器1320。一種存儲(chǔ)器接口測試結(jié)構(gòu)可以用于為外部測試器提經(jīng)濟(jì)的測試接口。該測試器可以通過所提出的測試接口將希望的測試模式應(yīng)用于該存儲(chǔ)器接口。然后該測試結(jié)構(gòu)如上所述地起到測試解壓縮硬件的作用。例如,如果測試器提供READ SPDRAM測試,存儲(chǔ)器測試接口單元將READ命令解碼成具有不同的存儲(chǔ)體地址的四個(gè)相同的READ命令。所擴(kuò)展的READ 命令可以并行地被發(fā)送到四個(gè)存儲(chǔ)體上。如果希望額外的硬件優(yōu)化,可以在所有端口中共享測試生成器和差錯(cuò)校驗(yàn)器。圖 20展示了用于存儲(chǔ)器或PHY層905的SPDRAM測試結(jié)構(gòu)的體系結(jié)構(gòu)的實(shí)施例,該存儲(chǔ)器或PHY層使用了與單個(gè)端口以及用于該端口的單個(gè)差錯(cuò)校驗(yàn)器2020相耦合的測試生成器 2015。在圖20中,所有的串行IO信道都以串行方式連接,其中第一端口的串行器930連接到第二端口的串并轉(zhuǎn)換器935上,該串并轉(zhuǎn)換器環(huán)路連接到第二端口的串行器上,而第二端口的串行器930被連接到第三端口上,如此下去。盡管圖20的圖示提供了一個(gè)實(shí)例,但很多不同的配置也是可能的。在所示的系統(tǒng)中,所生成的測試數(shù)據(jù)可以被施加到串聯(lián)信道的一端2050上并且可以在另一端2060上校驗(yàn)測試響應(yīng)。圖20中提出的體系結(jié)構(gòu)還可以有效率地應(yīng)用于常規(guī)BIST系統(tǒng)以減少硬件開銷。在某些實(shí)施例中,SPDRAM串行IO測試結(jié)構(gòu)可以將串行IO鏈路中的差錯(cuò)作為目標(biāo)。在某些實(shí)施例中,這種測試結(jié)構(gòu)可以采用例如像題為“接口測試電路和方法(Interface Test Circuitry and Methods) ”的美國專利申請(qǐng)?zhí)?1/742,358中提供的測試那樣的測試編碼概念。在某些實(shí)施例中,串行IO測試結(jié)構(gòu)并不識(shí)別SPDRAM命令,并且可以將任何的測試編碼的20位測試模式應(yīng)用于串行IO測試。圖21是測試系統(tǒng)的實(shí)施例的圖示。該系統(tǒng)包括測試特性生成器2105和模式源2110,它們與用于發(fā)送側(cè)的串行器2120相耦合。信號(hào)在信道2125上傳輸,并且由用于接收側(cè)的串并轉(zhuǎn)換器2130進(jìn)行并行化處理,并且由測試特性校驗(yàn)器2140進(jìn)行檢查以檢出差錯(cuò)。如圖所示,該系統(tǒng)可以將測試特性2105嵌入或編碼到所傳輸?shù)臏y試模式2110中。然后測試特性可從所接收的測試模式流中提取出來,并且可由測試特性校驗(yàn)器2140來校驗(yàn)是否存在差錯(cuò)。在某些實(shí)施例中,可以使用串行IO測試結(jié)構(gòu)在發(fā)送器(TX)和接收器(RX)處均提供用于描述、制造測試、以及硅除錯(cuò)的一組豐富的可編程設(shè)計(jì)測試模式。在圖21中,分別使用大寫和小寫類型的字符來表示發(fā)送器(TX)和接收器(RX)的動(dòng)作。TX包括串行器2120, 而RX包括串并轉(zhuǎn)換器2130。符號(hào)K*可例如表示同步命令SYNC或者SYNC2的重復(fù)次數(shù)。 每個(gè)測試模式被加以同步命令序列的前綴以使同步于測試模式的起點(diǎn)。因此,并不明確地提及同步命令的前綴序列。在某些實(shí)施例中,RX上的差錯(cuò)校驗(yàn)與TX的串行IO測試生成器是去耦合的。也就是說,差錯(cuò)校驗(yàn)器是獨(dú)立于用于生成隨機(jī)測試模式的PRBS多項(xiàng)式的。在這類系統(tǒng)中,測試特性指明了在RX上可以校驗(yàn)何種測試模式以驗(yàn)證待測裝置(DUT)。從這個(gè)意義上說,測試特性充當(dāng)了通信協(xié)議的作用。在某些實(shí)施例中,系統(tǒng)可以指定測試過程中在信道上所傳輸?shù)臏y試模式的類型。所嵌入的特性可以從測試模式的輸入流中提取,而所接收的測試模式可以至少部分地基于所提取的測試特性來進(jìn)行校驗(yàn),以確定是否存在差錯(cuò)。在某些實(shí)施例中,測試特性可以被嵌入或者編碼到測試模式源中。測試模式源包括ATE向量、PRBS模式、 以及任何其它的外部模式源。圖22展示了用于差錯(cuò)校驗(yàn)的過程的實(shí)施例。在這個(gè)圖示中,帶有所期望的測試特性的測試模式2205可以由串行器2210作串行化處理并在信道2215上傳輸,所接收的測試模式由串并轉(zhuǎn)換器2225進(jìn)行串并轉(zhuǎn)換,生成模式e 2230。如果差錯(cuò)校驗(yàn)器能夠使嵌入在傳輸?shù)臄?shù)據(jù)流中的測試特性失效,那么在接收器中可以校驗(yàn)并檢出差錯(cuò)。在此實(shí)例中,發(fā)生差錯(cuò)2220,由此導(dǎo)致所接收的數(shù)據(jù)存在缺陷,或者導(dǎo)致有效代碼2235轉(zhuǎn)變成無效代碼2240。測試模式可被視為17位或者20位數(shù)據(jù)序列。測試模式的序列被稱為測試模式序列。藉由將每個(gè)測試模式解析為承載一些函數(shù)的輸入和輸出的η元組,可以從測試模式序列得出測試特性。圖23展示了用于測試系統(tǒng)的實(shí)施例的測試編碼函數(shù)的概念。圖23提供了以3位數(shù)據(jù)為例的測試編碼的實(shí)施例示意圖。對(duì)于3位數(shù)據(jù)或代碼字,如圖23的(a)所示,存在8種可能的代碼字。然后,代碼字e[2:0]被解析為三元組(a,b,y),該三元組承載了某個(gè)函數(shù)f的輸入輸出使得y = f(a,b)??梢允褂萌我獾牟紶柡瘮?shù)來解析該代碼字。在此實(shí)例中,如圖23(b)所示,2輸入AND函數(shù)被用于解析代碼字。如圖23(c)所示,3位代碼字空間被分為2個(gè)子集;一個(gè)子集滿足7 = €( 13) =3脅,而另一子集滿足7= €仏,13)= (a&b),其中 f表示函數(shù)f的求補(bǔ)運(yùn)算。列S的每個(gè)列元素是類別簽名,列S表示函數(shù)f (a, b)和給定的輸出y是否進(jìn)行了求補(bǔ)運(yùn)算。也就是說,如果y = f(a,b),那么S = 0,并且如果 y = f(a,b),那么 S = I0 例如,如果 E[2:0] = 000, y = 0,并且 f(a,b) = 0&0 = 0。 因?yàn)?y = f(a, b),S = 0。然而,如果 E[2:0] = 001,那么 y = 1 并且 f(a,b) = 0。因?yàn)?y興f (a,b),那么y = f (a,b),并因此S = 1。測試模式的類別簽名序列被定義為測試特性。如果測試模式包括(000 — 110 — 010 — 101 — 100 — 011 — 111 — 001)*,相應(yīng)的簽名序列是(0 —1)*,其中*表示重復(fù)。因這些等測試特性可以比原始測試模式更加緊湊,它們可以極大地簡化差錯(cuò)校驗(yàn)任務(wù)。如果需要的話,可以使用多個(gè)測試編碼函數(shù)。如以下所示的一個(gè)實(shí)例,在測試數(shù)據(jù)流、…^^購 >中的每個(gè)力[19:0]可以被解析為承載三個(gè)函數(shù)的輸入輸出的20元組。符號(hào)&表示函數(shù)fk的輸入,其中k = 2,l,0。符號(hào)yk表示解析函數(shù)fk的輸出,該解析函數(shù)被稱為測試編碼函數(shù)。測試編碼函數(shù)可以在模式序列中提供對(duì)每個(gè)ei[19:0]的解析。例如,可以將η位數(shù)據(jù)解析為承載某些函數(shù)的輸入和輸出的η元組向量。例如,對(duì)于20位ei[19:0],可以將ei[19:0] = (X1, x0x2, X1, x0x2, X1, X0X2' X1, XqX2,X1, XqX2,X1, X0Y2' Yi' Yo)認(rèn)為是包含三個(gè)任意函數(shù)的輸入和輸出的20元組向量。這些輸入和輸出根據(jù)施加在它們的位位置的標(biāo)號(hào)上的模3運(yùn)算進(jìn)行劃分。一般來講, 如果考慮有η個(gè)函數(shù),可以應(yīng)用模η運(yùn)算。根據(jù)模3運(yùn)算的對(duì)輸入和輸出的劃分總結(jié)如下。
X0 = e[19:0]丨{3k11 ≤ k ≤ 6}
X1 = e[19:0] {3k+l 11 ≤ k ≤ 6}
X2 = e[19:0] {3k+2 11 ≤ k ≤ 5}
其中投影操作數(shù)丨被定義為如果i i eX,則從e[19:0]中選擇e[i],其中集合X包含在0彡i彡19范圍內(nèi)的位位置的集合。例如,e[19:0] {15,12,9,6,3,0} =e[15,12,9, 6,3,0]。生成了輸出tog的編碼函數(shù)fk的每個(gè)輸入集合可以藉由投影操作數(shù)來獲得,該投影操作數(shù)被定義為e[19:0]丨I,其中I表示代碼字的標(biāo)號(hào)的集合。例如,如上所示,藉由將e [19:0]投影到與測試編碼函數(shù)相關(guān)的標(biāo)號(hào)上來獲得每個(gè)測試編碼函數(shù)的輸入和輸出。 以&表示的每個(gè)編碼函數(shù)的輸入集合可以如以上實(shí)例那樣使用投影操作數(shù)來定義?;跇?biāo)號(hào)的模3運(yùn)算可以對(duì)函數(shù)的輸入進(jìn)行劃分?;谀運(yùn)算的劃分可提供改進(jìn)的差錯(cuò)校驗(yàn)?zāi)芰?。在某些?shí)施例中,如果任何雙差錯(cuò)相距不是NK位,就可以檢出它們,其中K > 0并且 N表示所使用的編碼函數(shù)的數(shù)目。例如,如果兩個(gè)差錯(cuò)相距是3、6、9、12、15和18位。兩個(gè)掩碼差錯(cuò)之間的最少的位數(shù)被定義為差錯(cuò)掩碼距離δ,Βρδ=Ν。被掩碼的雙差錯(cuò)η的數(shù)目可被定義為n =W-δ,其中符號(hào)W表示代碼字的寬度。對(duì)于具有3個(gè)測試編碼函數(shù)的 20位代碼字,W = 20, δ = 3,那么η = W- δ = 20-3 = 17。由于差錯(cuò)經(jīng)常猝發(fā)地發(fā)生, 分開距離固定的兩個(gè)差錯(cuò)并不常見。在某些實(shí)施例中,猝發(fā)差錯(cuò)被定義為e[19:0]中的連續(xù)多個(gè)位差錯(cuò)。例如猝發(fā)差錯(cuò)可能作為e[7:4]而發(fā)生。在某些實(shí)施例中,除了 |n-m|+l = 2NK的情況外,可以檢出e[n:m]的任何猝發(fā)差錯(cuò)。例如,如果使用三個(gè)編碼函數(shù),除了 6、12和18連續(xù)差錯(cuò)外,所有的猝發(fā)差錯(cuò)都將被檢出。長度為2N的最小猝發(fā)差錯(cuò)被定義為猝發(fā)差錯(cuò)掩碼長度λ,Β卩λ =2Ν或2δ。如果要求更加強(qiáng)健的差錯(cuò)混淆預(yù)防方案,可以引入增大數(shù)目的測試編碼函數(shù),或者可以考慮測試編碼函數(shù)的層級(jí)排列。在某些實(shí)施例中,測試編碼函數(shù)可以是組合的或者順序的[2]。為了使論述簡單, 本說明書中假定采用了組合的測試編碼函數(shù)。圖對(duì)展示了組合測試編碼函數(shù)的實(shí)施例。在這個(gè)圖示中,存在三個(gè)測試編碼函數(shù),f0 2410、2420、以及f2 2430。這些函數(shù)不必是相同的。在圖15中,編碼函數(shù)Vf1和&或者它們的互補(bǔ)函數(shù)的輸出可以被計(jì)算得出并置于 e[2:0]中以構(gòu)成所希望的20位代碼字。在某些實(shí)施例中,根據(jù)有待處理的差錯(cuò)的類型,可以使用任何測試編碼函數(shù)。為了識(shí)別是否對(duì)測試編碼函數(shù)輸出進(jìn)行了求補(bǔ)運(yùn)算,可以在系統(tǒng)中引入所提及的類別簽名。圖25是可以被用在測試系統(tǒng)或者過程的實(shí)施例中的測試數(shù)據(jù)的類別簽名的圖示。如圖所示,函數(shù)fQ 2510、2520以及f2 2530的輸出是由類別簽名函數(shù)2540進(jìn)行處理的,從而生成可能的類別簽名2550。在某些實(shí)施例中,類別簽名可以用于表示所計(jì)算的函數(shù)f(X2)、f (Xl)和f (XO)的輸出如何與e[2:0] = (y2,Υι,Υ(1)相關(guān)。為了得出所期望的關(guān)系,可以使用一些函數(shù)來解析它們的關(guān)系。這些函數(shù)被稱為類別簽名函數(shù)。在本實(shí)例中,XOR函數(shù)被用于計(jì)算類別簽名。 在這種情況下,類別簽名函數(shù)輸出的邏輯0和1分別表示Ji = f (Xi)和yi = ^f(Xi)0。
符號(hào),表示邏輯非或者互補(bǔ)。類別簽名函數(shù)可以總結(jié)為 S[i] = fi (Xi) e[i],0 l-v, I
/ ) =十0</<2
k=\
其中IxiI表示&中的元素的數(shù)目。類別簽名函數(shù)可以表示為S[i] Zfi(Xi) e[i]。XOR運(yùn)算表示函數(shù)的輸出與代碼字中對(duì)應(yīng)位的內(nèi)容之間的關(guān)系。S[i] =0表示e[i]包含測試編碼函數(shù)輸出,即e[i]= fi(Xi)。否則,e[i]包含測試編碼函數(shù)的互補(bǔ)運(yùn)算輸出。圖沈是用于測試結(jié)構(gòu)的實(shí)施例的類別簽名的圖示。基于以上實(shí)例中的類別簽名函數(shù),可以存在8個(gè)類別簽名,示出為簽名沈05-2640。任何代碼字或測試模式必須生成這 8個(gè)簽名中的一個(gè)。換言之,這些類別簽名函數(shù)可以將所有可能的代碼字的集合劃分成許多子集。在此實(shí)例中,子集的個(gè)數(shù)為2N,其中N是類別簽名函數(shù)或測試編碼函數(shù)的數(shù)目。在此實(shí)例中,存在3個(gè)類別簽名函數(shù),表示為S [2 0],并因此存在8 (23)個(gè)類別簽名,如圖沈所
7J\ ο可以將測試模式視為實(shí)施所希望的測試的測試數(shù)據(jù)的有序列表。測試模式序列可以由對(duì)應(yīng)的類別簽名序列來代表。圖27是類別簽名序列的實(shí)施例的圖示。在一個(gè)實(shí)例中, 兩個(gè)代碼字 e [19 0] = 10000000000001000000 和 10011111111111111111 在測試模式中重復(fù)。然后,測試編碼函數(shù)輸出對(duì)于第一代碼字是001,對(duì)于第二代碼字是110。藉由在fk(Xk) 和e[k](其中k = 2,1,0)上執(zhí)行逐位的XOR函數(shù)就可以計(jì)算出對(duì)于每個(gè)測試數(shù)據(jù)的類別簽名。所得的類別簽名序列是圖27所示的(001 — 100)*。符號(hào)*表示任何次數(shù)的重復(fù)。 在圖中,函數(shù)輸出f2 (X2)、fi (X1)和fQ (X0)被表示為f21Q (X210)??梢灶愃频孬@得第二實(shí)例的測試模式的S [2:0]序列。
在某些實(shí)施例中,還可以將類別簽名函數(shù)考慮為一種等價(jià)關(guān)系。每個(gè)類別簽名可以被視為每個(gè)類的代表。例如,在圖沈中,由e[2:0]代表的每個(gè)類中存在217個(gè)代碼字。 具有相同類別簽名的任何兩個(gè)測試模式將會(huì)是等價(jià)的。類似地,任何測試模式序列可以由它們的類別簽名序列來代表。為此原因,類別簽名序列可以指定一類的測試模式。在提出的方法中,可以利用類別簽名序列來表示測試特性。在某些實(shí)施例中,系統(tǒng)可以降低的硬件開銷來增加一組可用的測試模式,其不利方面是,與常規(guī)的基于PRBS的測試方法相比可能增加差錯(cuò)掩碼。差錯(cuò)有可能將有效的測試模式序列變?yōu)楫a(chǎn)生相同簽名序列的無效序列。基于所討論的測試編碼函數(shù),可能被掩碼的差錯(cuò)的實(shí)例可以包括任何兩個(gè)差錯(cuò),這兩個(gè)差錯(cuò)在20位代碼字和前面提及的2NK猝發(fā)差錯(cuò)中恰好相距NK,其中N表示所用的測試編碼函數(shù)的數(shù)目,并且整數(shù)K > 0。如果對(duì)于目標(biāo)測試應(yīng)用而言差錯(cuò)掩碼是不可接受的,那么在某些實(shí)施例中,可以使用一組不同的測試編碼函數(shù)以滿足系統(tǒng)要求。例如,可以將兩組奇偶數(shù)的測試編碼函數(shù)分層級(jí)地進(jìn)行組織以便將測試特性嵌入測試模式中。圖觀是層級(jí)式測試編碼函數(shù)的實(shí)施例的圖示。在圖觀中,利用一個(gè)實(shí)例來概述層級(jí)測試編碼函數(shù)及其解析,該實(shí)例采用函數(shù) g(具有奇偶輸入)和f。類似于使用測試編碼函數(shù)fu,ο觀20來解析[2:0],還可分別使用獨(dú)立的測試編碼函數(shù)gl和g0 2810來解析e[3]和e[4]。gl和g0的輸入由e[17:5]的模2 劃分來獲得。這就是說,g!的輸入是e [17,15,13,11,9,7,5],而g0的輸入是e [16,14,12, 10,8,6]。在測試期間,每組測試編碼函數(shù)可以獨(dú)立地操作。還可以為代碼字e[17:3]的一部分也定義單獨(dú)的類別簽名。層級(jí)式測試編碼方案可以表示為TE(W,N1,N2,…,Nm),其中 W和Ni分別表示在層級(jí)等級(jí)i中代碼字的寬度和測試編碼函數(shù)的個(gè)數(shù)。例如,圖觀中的測試編碼方案可以表示為TEQ0,3J)。層級(jí)等級(jí)是由結(jié)合在所考慮的測試編碼中的代碼字的寬度來確定的。第(i+Ι)個(gè)層級(jí)等級(jí)中代碼字的寬度(以W(i+1)表示)可以遞歸地被確定為W(i+1) =W⑴-Ni,其中W(I) =W并且i >0。代碼字的第(i+Ι)級(jí)(以CW(i+l) 表示)被定義為帶有多個(gè)位的代碼字,這些位承載被去除的測試編碼信息。例如,圖28所示的測試編碼的第一和第二等級(jí)的代碼字寬度分別是W(I) = 20和W(2) = 20-3 = 17。類似地,可以獲得的層級(jí)代碼字是CW(I) =E[19:0]和CWO) =E[19:3]。由于在每個(gè)層級(jí)等級(jí)中獨(dú)立地觀察差錯(cuò),因此如果CW(maX(i))中兩個(gè)差錯(cuò)為〒M位,那么差錯(cuò)掩碼就能發(fā)生, 其中丨⑽表示層級(jí)測試編碼方案中所有Ni相乘,并且其中max (i)表示最低的層級(jí)等級(jí)。因此,對(duì)于層級(jí)測試編碼TE (W,Ni,N2,…,Nm),差錯(cuò)掩碼距離S = ^M,掩碼的雙差錯(cuò)的總數(shù) η =W(maX(i))-S,并且猝發(fā)差錯(cuò)掩碼長度λ = 2 δ。在圖觀中,例如,在CW⑵中δ = NlxN2 = 3x2 = 6 位距離,η = 17-6 = 11,并且 λ = 2 δ = 12。相比于表示為 TEQ0,5) 的非層級(jí)測試編碼(其中δ = 5,η = 15,并且λ = 2δ = 10),層級(jí)編碼可提供改進(jìn)的差錯(cuò)掩碼能力。由于雙差錯(cuò)掩碼是可能的,在CW(maX(i))中還可能存在具有2"個(gè)差錯(cuò)的差錯(cuò)掩碼,其中n = 2,3,等等。為了避免雙差錯(cuò)掩碼,測試編碼方案可以增強(qiáng)為TEQ0,5, 3)。在這種編碼方案中,CWO) =Ε[19:5],并且WQ) = 15。掩碼的差錯(cuò)可以在15位的距離上生成,這是在CW[2]之外,因?yàn)樵讦19:5]中第一個(gè)位和最后一個(gè)位相距14位。因此差錯(cuò)不會(huì)被掩碼。為了確保差錯(cuò)掩碼容差,測試編碼方案滿足以下情況。對(duì)于測試編碼方案 TE(W,Ni,Ν2,...,Nm),1.Ni和Nj之間沒有公約數(shù),其中i興j ;
2.min (Ni) = Nm,其中min (χ)表示χ的最小值;
3.從測試編碼函數(shù)的總數(shù)可以確定測試編碼方案中的層級(jí)數(shù),如果是N,那么 Y = 并且γ M是最大值。
例如,如果將十個(gè)測試編碼函數(shù)結(jié)合進(jìn)入20位代碼字中的編碼方案中,那么編碼方案 TE(20,6,4)可能不會(huì)同TEQ0,7,3) —樣有效。這是因?yàn)?和4的公約數(shù)是2,它將差錯(cuò)掩碼距離減少到12,而非Μ。由于差錯(cuò)掩碼距離小于\^2) = 14,因此可以存在2個(gè)掩碼的雙差錯(cuò)。另一方面,在TEQ0,7,3)中,7和3之間沒有公約數(shù),差錯(cuò)掩碼距離保持為21。 因?yàn)椴铄e(cuò)掩碼距離超出了 W(2) = 13或者=-8,(它小于零),在TEQ0,7,3)中不可能存在差錯(cuò)掩碼。最低的層級(jí)等級(jí)中代碼字的寬度,比如W(m),可以影響差錯(cuò)校驗(yàn)?zāi)芰?。因?yàn)樵赪(m)-差錯(cuò)掩碼距離<0時(shí)沒有掩碼差錯(cuò),W(m)在所有的W(Ni)中應(yīng)該是最小的。在測試編碼函數(shù)總數(shù)的劃分方面進(jìn)行的改進(jìn)還可以減少差錯(cuò)掩碼的幾率或者增加差錯(cuò)校驗(yàn)的能力。例如,一個(gè)30位代碼字中的十個(gè)編碼函數(shù)可以在3個(gè)等級(jí)的層級(jí)中實(shí)現(xiàn), 該3個(gè)等級(jí)的層級(jí)由第一等級(jí)中的5個(gè)編碼函數(shù)、第二等級(jí)中的3個(gè)函數(shù)和第三等級(jí)中的 2個(gè)函數(shù)所組成,從而導(dǎo)致TE (30,5,3,2)。例如,TE (30,5,3,2)可以比TE (30,7,3)檢出更多的差錯(cuò)。這是因?yàn)門E(30,5,3,2) = 5x3x2 = 30并且W(3) = 30-5-3 = 22的差錯(cuò)掩碼距離導(dǎo)致W(3)-30 =-8,這表明不可能有差錯(cuò)掩碼。然而,TE(30,7,3)中掩碼的雙差錯(cuò)的數(shù)目可以是= 23-21 = 2,表明相距21位的2個(gè)掩碼的雙差錯(cuò)。不允許差錯(cuò)掩碼的20位SPDRAM代碼字測試編碼方案是TE 00,5,3,幻。在TE Q0,5,3,幻中不可能掩碼雙差錯(cuò),因?yàn)棣?=30遠(yuǎn)大于W(3) = 12。可能沒有猝發(fā)差錯(cuò)掩碼,因?yàn)殁Оl(fā)差錯(cuò)掩碼長度入為λ = 2δ =60。藉由測試編碼函數(shù)可以在每個(gè)層級(jí)等級(jí)中檢出任何奇數(shù)的差錯(cuò)。在不同等級(jí)的測試編碼層級(jí)上可以檢出偶數(shù)個(gè)差錯(cuò),偶數(shù)個(gè)差錯(cuò)可以出現(xiàn)為被無差錯(cuò)位所間隔開的多組較小猝發(fā)差錯(cuò)。例如,可以在測試編碼層級(jí)的一個(gè)或多個(gè)等級(jí)上檢出由CW(3)= e[ll:0]內(nèi)的無差錯(cuò)位隔開的任何數(shù)目的差錯(cuò)組??梢越逵傻燃?jí)3中的測試編碼方案檢出 N2(或者3)數(shù)目的差錯(cuò),這些差錯(cuò)相距m-N2 = 2個(gè)無差錯(cuò)位??梢越逵傻燃?jí)1中的測試編碼方案檢出N2數(shù)目的差錯(cuò),這些差錯(cuò)相距N2-N3 = 1個(gè)無差錯(cuò)位。實(shí)際上,層級(jí)測試編碼系統(tǒng)或者過程的實(shí)施例對(duì)相同的代碼字可以生成不同的和獨(dú)立的解析。因此,由一種解析方式所掩碼的差錯(cuò)可以被另一個(gè)檢出。以此方式,層級(jí)測試編碼可以減少差錯(cuò)掩碼的可能性。因?yàn)閷蛹?jí)測試編碼處理的實(shí)施例可以采用與非層級(jí)處理相同的方式來實(shí)施,因此在此假定采用非層級(jí)測試編碼流程來描述基本的概念。在本說明書中,只是在必要或適當(dāng)?shù)臅r(shí)候才單獨(dú)敘述層級(jí)編碼系統(tǒng)或者過程,但也可以使用層級(jí)過程。以下總結(jié)了以測試模式的類別簽名序列所表示的測試特性
從g(測試模式)seq{S[A 3]) λ seq(S[2 0]) 其中Seq(S[4:3]) Λ seq(S[2:0])表示測試模式所滿足的測試特性的交集。測試特性可以被理解為測試模式的說明。測試特性可以專指一類別或者一類型的測試模式序列,而不是具體的測試模式序列。有含義的邏輯等式說明測試模式序列是對(duì)應(yīng)的類別簽名序列的實(shí)現(xiàn)方式(或者成員)??蔀轭悇e簽名定義合成運(yùn)算。類別簽名的大小取決于生成類別簽名的編碼函數(shù)的數(shù)目。例如,在本文檔中考慮的是3位簽名,但多個(gè)實(shí)施例并不限于任何具體的位數(shù)。在具體的實(shí)施例中,如果采用TEQ0,5,3,2)層級(jí)編碼實(shí)現(xiàn)方式,那么可能還需要滿足由5位、3位以及2位層級(jí)類別簽名序列(它們是從利用對(duì)應(yīng)的測試編碼函數(shù)的解析中獲得)所組成的10位簽名序列。為了在測試模式流中嵌入或校驗(yàn)測試特性,所希望的類別簽名序列可能要求操作處理。在某些實(shí)施例中,可以利用類別生成函數(shù)將任何所希望的類別簽名嵌入在測試模式序列中。圖四展示了類別生成函數(shù)的實(shí)施例。函數(shù)& 2910,^四20和&四30的輸出由類別簽名生成器四40進(jìn)行處理。作為一個(gè)實(shí)例,在圖四中描述了使用M)R門的類別生成函數(shù)的實(shí)施例。另外,控制輸入C[2:0]被用于操控簽名S[2:0]
C
= f0(X0) e
= S
C[l] = f! (X1) e[l] = S[l] C [2] = f2 (X2) e[2] = S [2]
可任選地,20位數(shù)據(jù)E[19:0]的奇偶性還可以從如下所示的C[2:0]計(jì)算得到而不考慮實(shí)際的20位數(shù)據(jù)本身。測試編碼確保了計(jì)算的有效性。 奇偶性(所 19 0]) =,(C[2] θ C[l] Θ Cm圖四提供了可以直接地由C[2:0]控制的任何類別簽名,S[2:0]。在某些實(shí)施例中,由于C[2:0]可以被用于直接地控制S[2:0]用于選定的類別生成函數(shù),通過將相同的 S[2:0]應(yīng)用到C[2:0]就可以生成任何希望的S[2:0]。在本說明書中,出于解說的目的,假定采用類別生成函數(shù)的XOR實(shí)現(xiàn)方式。然而,根據(jù)測試應(yīng)用,還可以使用其它函數(shù)來生成類別簽名。圖30和31展示了利用層級(jí)編碼將測試特性嵌入測試數(shù)據(jù)流的過程的實(shí)施例。 圖30包括與測試特性生成器3005相耦合的模式源3010。在這個(gè)圖示中,測試特性生成器3005包括采用函數(shù)^ia 3020和CJ4:3]生成器3025的層級(jí)編碼3015,以及CE[2:0]生成器3035和函數(shù)f^u 3030。因?yàn)榍度霚y試特性通常是由發(fā)送器TX提供的動(dòng)作,所以使用大寫字母下標(biāo)E。如圖30所示,E[17:5]由函數(shù)3020解析。函數(shù)的輸出可以經(jīng)由 XOR邏輯由CJ4:3]生成器3025提供的類別簽名進(jìn)行修改,以產(chǎn)生所要求的類別簽名序列 seq6j4:3])。Cj4:3]生成器3035可以是有限的狀態(tài)機(jī)(FSM)并且可以被編程以生成所要求的Seq6j4:3])。所生成的類別簽名序列可以嵌入E[4:3]中。E[17:5]和SEW:3]可以類似地由函數(shù)fu,。3030進(jìn)行解析,并且簽名序列seq(&[2:0])也可被嵌入E[2:0]中。 還可以使用XOR函數(shù)和反相器從類別簽名中計(jì)算出e[19:0]的奇偶性。圖31展示了一個(gè)類似于圖30的結(jié)構(gòu)3105,但缺少CJ4:3]生成器3025和Ce[20] 生成器3035。在某些實(shí)施例中,簽名序列可以從所生成的測試模式中提取,如圖31所示。所提取的類別簽名序列可以用于差錯(cuò)校驗(yàn)。例如,當(dāng)待測裝置同時(shí)包括串行器和串并轉(zhuǎn)換器時(shí),就可以使用這種方法。當(dāng)將被傳輸?shù)臏y試模式正在被生成時(shí),也可以生成將被接收的測試模式的所預(yù)期的類別簽名。測試模式源和差錯(cuò)校驗(yàn)器可以相對(duì)于類別簽名序列而同步。圖32展示了在接收器上校驗(yàn)嵌入測試特性的測試模式的過程的實(shí)施例。在這個(gè)圖示中,測試特性校驗(yàn)器3205可以包括示出為函數(shù)3220和生成器3225的層級(jí)編碼,以及函數(shù)fcM 3230, Ce(4:3)生成器3225和差錯(cuò)校驗(yàn)器3250。嵌入的測試特性可以從輸入的測試數(shù)據(jù)流中提取,并對(duì)照預(yù)期的簽名序列進(jìn)行校驗(yàn)。以seq(SM[2:0])所表示的所接收的類別簽名序列可以在接收器上藉由測試編碼函數(shù)進(jìn)行構(gòu)建。所構(gòu)建的可以被用于計(jì)算奇偶性并且可以與預(yù)期的類別簽名進(jìn)行比較以確定是否存在差錯(cuò)。在某些實(shí)施例中,預(yù)期的類別簽名序列seq^^hO])可以從Ce[2:0]生成器 3235生成。所提取的Seq(Sn[2:0])可以對(duì)照8叫(^[2:0])進(jìn)行校驗(yàn)以檢測差錯(cuò)。如果Seq((U2:0])與Seq(CE[2:0])相同,如以上所概述的,在沒有差錯(cuò)出現(xiàn)的前提下 seq(&[2:0])包含了零類別簽名序列,S卩 seq(&[2:0]) =< (000) (000) (000)丨<。換言之,任何非零的類別簽名都可以被認(rèn)為是差錯(cuò)。因此,藉由對(duì)類別簽名的位進(jìn)行OR運(yùn)算就可以檢出差錯(cuò)。如果采用層級(jí)測試編碼,可以將相同的差錯(cuò)校驗(yàn)流程并行地應(yīng)用于層級(jí)編碼部件,如圖M所示。測試編碼函數(shù)和類別生成函數(shù)不必與模式源中的那些相同。它們通常是獨(dú)立的,并且如果不同的測試編碼函數(shù)和類別生成函數(shù)可提供更好的優(yōu)化,則可以是不相同的。
權(quán)利要求
1.一種測試存儲(chǔ)器板的方法,包括測試所述存儲(chǔ)器板的存儲(chǔ)器,所述存儲(chǔ)器的測試包括使用內(nèi)置自測試結(jié)構(gòu)來提供用于所述存儲(chǔ)器的第一測試模式;以及用主機(jī)來測試所述存儲(chǔ)器的IO(輸入輸出)接口,所述IO接口的測試包括使用所述內(nèi)置自測試結(jié)構(gòu)來提供用于所述IO接口的第二測試模式。
2.如權(quán)利要求1所述的方法,其中所述存儲(chǔ)器是串行端口動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 (SPDRAM)。
3.如權(quán)利要求1所述的方法,其中所述存儲(chǔ)器的測試與所述IO接口的測試是分開進(jìn)行的。
4.如權(quán)利要求1所述的方法,其中所述第一測試模式符合用于所述存儲(chǔ)器的協(xié)議。
5.如權(quán)利要求4所述的方法,進(jìn)一步包括藉由使能對(duì)用于所述存儲(chǔ)器的合法命令的檢測來執(zhí)行對(duì)所述存儲(chǔ)器測試的差錯(cuò)校驗(yàn)。
6.如權(quán)利要求4所述的方法,其中所述第二測試模式不符合用于所述存儲(chǔ)器的所述協(xié)議。
7.如權(quán)利要求1所述的方法,進(jìn)一步包括將測試特性編碼進(jìn)入所述第二測試模式。
8.如權(quán)利要求1所述的方法,其中所述內(nèi)置自測試結(jié)構(gòu)的至少一部分被包括在所述存儲(chǔ)器以及所述主機(jī)中。
9.如權(quán)利要求1所述的方法,進(jìn)一步包括檢查所接收的測試模式以確定在所述存儲(chǔ)器或者所述IO接口中是否已經(jīng)發(fā)生一個(gè)或多個(gè)差錯(cuò)。
10.如權(quán)利要求1所述的方法,進(jìn)一步包括基于校驗(yàn)所述第一測試模式的提取的測試特性對(duì)存儲(chǔ)器進(jìn)行測試。
11.如權(quán)利要求1所述的方法,其中提供所述第一測試模式以及所述第二測試模式包括生成測試信號(hào)。
12.如權(quán)利要求1所述的方法,其中提供所述第一測試模式以及所述第二測試模式包括從外部測試器接收測試信號(hào)。
13.如權(quán)利要求1所述的方法,進(jìn)一步包括將所述內(nèi)置自測試結(jié)構(gòu)中的至少一部分旁路連接以便回環(huán)一信號(hào)用于測試。
14.如權(quán)利要求1所述的方法,其中所述存儲(chǔ)器包括多個(gè)端口,并且進(jìn)一步包括將所述端口耦合在一起用于測試。
15.如權(quán)利要求14所述的方法,其中每個(gè)端口包括串行器和串并轉(zhuǎn)換器,其中將所述端口耦合在一起包括將第一端口的串行器連接到第二端口的串并轉(zhuǎn)換器上。
16.如權(quán)利要求15所述的方法,其中測試包括將測試模式應(yīng)用于所述第一端口的串行器上,并且在用于所述第一端口的串并轉(zhuǎn)換器上接收測試模式。
17.如權(quán)利要求1所述的方法,進(jìn)一步包括利用多個(gè)層級(jí)式組織的測試編碼函數(shù)生成測試模式以便將測試特性嵌入所述測試模式之中。
18.如權(quán)利要求1所述的方法,其中所述存儲(chǔ)器的測試以及用于所述存儲(chǔ)器的接口的測試是在所述存儲(chǔ)器板內(nèi)部進(jìn)行的,測試包括配置所述存儲(chǔ)器板以便回環(huán)所述存儲(chǔ)器板中的一信號(hào)。
19.如權(quán)利要求1所述的方法,其中測試所述IO接口包括從所述存儲(chǔ)器板的輸出將信號(hào)回環(huán)到所述存儲(chǔ)器板的輸入上。
20.如權(quán)利要求1所述的方法,其中測試所述IO接口包括將所述主機(jī)內(nèi)的信號(hào)從所述主機(jī)的輸入回環(huán)到所述主機(jī)的輸出上。
21.如權(quán)利要求1所述的方法,其中所述裝置包括多個(gè)存儲(chǔ)元件,并且其中所述存儲(chǔ)器的測試包括測試用于所述多個(gè)存儲(chǔ)元件中的每一個(gè)的界面。
22.如權(quán)利要求21所述的方法,其中用于所述多個(gè)存儲(chǔ)元件中的每一個(gè)的接口的測試包括將每個(gè)接口的一個(gè)或多個(gè)連接切換為打開或者關(guān)閉以生成用于傳輸測試模式的測試路徑。
23.如權(quán)利要求22所述的方法,其中一個(gè)或多個(gè)連接的切換包括進(jìn)行切換以生成非功能性的測試路徑。
24.如權(quán)利要求22所述的方法,其中一個(gè)或多個(gè)連接的切換包括切換連接來測試開路故障和橋接故障中的一個(gè)或多個(gè)。
25.一種裝置,包括存儲(chǔ)器,所述存儲(chǔ)器包括第一測試結(jié)構(gòu); 主機(jī)的物理層,所述物理層包括第二測試結(jié)構(gòu);以及位于所述存儲(chǔ)器以及所述物理層之間的接口;其中所述存儲(chǔ)器以及所述接口是有待使用所述第一測試結(jié)構(gòu)以及所述第二測試結(jié)構(gòu)來進(jìn)行測試的。
26.如權(quán)利要求25所述的裝置,其中所述存儲(chǔ)器以及所述接口的測試是分開進(jìn)行的。
27.如權(quán)利要求25所述的裝置,其中所述存儲(chǔ)器的測試包括使用第一測試模式,所述第一測試模式符合用于所述存儲(chǔ)器的協(xié)議,并且所述接口的測試包括使用不符合用于所述存儲(chǔ)器的所述協(xié)議的測試模式。
28.如權(quán)利要求25所述的裝置,其中所述存儲(chǔ)器是串行端口動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器 (SPDRAM)。
29.如權(quán)利要求28所述的裝置,其中所述存儲(chǔ)器包括多個(gè)端口,每個(gè)端口具有串行器和串并轉(zhuǎn)換器。
30.如權(quán)利要求四所述的裝置,其中測試生成器為所述存儲(chǔ)器的每個(gè)端口提供測試模式。
31.如權(quán)利要求四所述的裝置,其中每個(gè)端口包括差錯(cuò)校驗(yàn)器,每個(gè)差錯(cuò)校驗(yàn)器校驗(yàn)由用于所述對(duì)應(yīng)端口的串并轉(zhuǎn)換器所接收的所述測試模式。
32.如權(quán)利要求四所述的裝置,其中所述存儲(chǔ)器板包括用于所述多個(gè)端口的單個(gè)差錯(cuò)校驗(yàn)器。
33.如權(quán)利要求四所述的裝置,其中所述端口被串行連接在一起用于所述裝置的測試ο
34.如權(quán)利要求25所述的裝置,其中所述第一測試結(jié)構(gòu)包括存儲(chǔ)器測試接口單元。
35.如權(quán)利要求34所述的裝置,其中所述存儲(chǔ)器測試接口單元包括串行IO測試生成ο
36.如權(quán)利要求34所述的裝置,其中所述存儲(chǔ)器測試接口單元包括命令生成器以及數(shù)據(jù)和地址生成器。
37.如權(quán)利要求36所述的裝置,其中所述存儲(chǔ)器測試接口單元進(jìn)一步包括命令擴(kuò)展器以創(chuàng)建多條命令并將所述多條命令并行地分發(fā)到多個(gè)端口上。
38.一種計(jì)算機(jī)可讀媒質(zhì),其上存儲(chǔ)有代表指令序列的數(shù)據(jù),所述指令序列在由處理器執(zhí)行時(shí)致使所述處理器執(zhí)行操作,所述操作包括測試串行端口動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(SPDRAM)板的存儲(chǔ)器,所述存儲(chǔ)器的測試包括使用內(nèi)置自測試結(jié)構(gòu)來提供用于所述存儲(chǔ)器的第一測試模式;以及用主機(jī)來測試所述存儲(chǔ)器的IO (輸入輸出)接口,所述IO接口的測試包括使用所述內(nèi)置自測試結(jié)構(gòu)來提供用于所述IO接口的第二測試模式,其中,所述存儲(chǔ)器的測試與所述IO 接口的測試是分開進(jìn)行的。
全文摘要
一種用于計(jì)算機(jī)存儲(chǔ)器測試結(jié)構(gòu)的方法和裝置。用于存儲(chǔ)器板的測試方法的實(shí)施方式包括測試該存儲(chǔ)器板的存儲(chǔ)器,其中測試該存儲(chǔ)器包括使用內(nèi)置自測試結(jié)構(gòu)來提供用于該存儲(chǔ)器的第一測試模式。該方法進(jìn)一步包括用主機(jī)來測試該存儲(chǔ)器的IO(輸入輸出)接口,其中該IO接口的測試包括使用該內(nèi)置自測試結(jié)構(gòu)來提供用于該IO接口的第二測試模式。
文檔編號(hào)G01R31/317GK102473462SQ201080030348
公開日2012年5月23日 申請(qǐng)日期2010年6月18日 優(yōu)先權(quán)日2009年7月2日
發(fā)明者薛真成, 金成駿 申請(qǐng)人:晶像股份有限公司