專利名稱:半導體設備及其測試方法
技術領域:
本發明涉及一種具有存儲器的半導體,更具體地,涉及一種具有用于校正存儲器中的差錯的乘積碼ECC(差錯校驗和校正)電路的半導體設備,以及涉及一種測試此設備的方法。
背景技術:
用于在需要更新操作以保存數據的動態半導體存儲設備的各種方法之一,通過排列半導體存儲設備上的ECC電路,然后在進入低消耗功率模式時對整個芯片區域進行編碼,并在退出低消耗功率模式時實現整個芯片區域的校正操作,則當周圍溫度Ta為85℃時,超級自更新(SSR)技術可以使更新周期延長至多達大約1秒。例如,在日本專利待審公開申請NO.2002-56671(JP,P2002-56674A)中公開了此SSR技術。
圖1A示出了使用SSR技術的現有技術的半導體存儲設備的結構,而圖1B給出了設置有乘積碼奇偶校驗位區域的存儲單元陣列的結構的示意圖。
兩個編碼C1和C2分別為(n1,k1)編碼和(n2,k2)編碼;且通過利用編碼C1對每一列的k1個信息點進行編碼、以及利用編碼C2對每一行的k2個信息點進行編碼,以獲得具有n1*n2的總長度的編碼字,將k1*k2個信息點編碼為k1行和k2列的二維排列。通過此類型編碼獲得的編碼是線性(n1*n2,k1*k2)編碼,并將其稱為編碼C1和C2的乘積碼。
如圖1A中所示,半導體存儲設備具有多個存儲體100,針對每個存儲體100設置有多個編碼器/解碼器101、以及多個寫入緩沖器/主緩沖器102。編碼器/解碼器101與SDRAM(同步DRAM)接口103相連;而SDRAM接口103與ECC控制器104相連。在此情況下,在相應編碼器/解碼器101和存儲體100之間設置每一個寫入緩沖器/主緩沖器102。由圖1A中的斜切線標記的區域表示一個典型存儲單元陣列。存儲體100具有多個這樣的存儲單元陣列。
接下來關注每個存儲單元陣列,如圖1B中所示,存儲單元陣列具有1024×1024單元,用于存儲二維排列的信息位;垂直方向的奇偶校驗位的存儲區域(編碼#1);以及行方向的奇偶校驗位的存儲區域(編碼#2),由此,存儲了乘積碼。垂直方向的奇偶校驗位(1040,1024)為海明碼,以及行方向的奇偶檢驗位(1040,1024)為海明碼。
參考圖2,接下來的解釋涉及在此類型的半導體存儲設備中的SSR過程。
首先,在步驟S1中,進入SSR,之后,在步驟S2中對該存儲體的整個區域進行編碼。在該編碼中,存儲信息位的單元區域受到指定的糾錯編碼,并將編碼的結果存儲到信息位的單元區域中和奇偶檢驗位的單元區域中,此后,在步驟S3中,該存儲體經過更新操作,并在步驟S4中確定是否退出SSR。如果在此時未退出SSR,則該處理返回到步驟S3,并再次執行更新操作。可選地,如果在步驟S4中確定退出SSR,則在步驟S5中執行SSR退出處理,并在步驟S6中對整個區域進行編碼。在步驟S6中實現的編碼對應于校正操作。
圖3是示出了通過使用SSR技術而引起更新周期的改進的曲線圖。在圖3中,水平軸表示保持時間(即,更新周期)tREF,垂直軸表示差錯率(%)。使用缺陷位的出現率作為差錯率。在該圖中,DRAM差錯率是常規DRAM差錯率,即,并不采用SSR技術的DRAM差錯率。
圖3中的虛線所示的點表示采用了SSR技術的半導體存儲設備中的差錯率。在tREF=1秒時,由于保持時間的波動,出現了大約100個缺陷位,且出現了其中不可能由SSR來校正的差錯圖案。圖3示出了了在tREF=0.1秒或更低處的1位差錯率(約為1×10-7)。
圖4示出了在采用SSR技術的半導體存儲設備中,由于保持時間tREF的波動,DRAM中缺陷位的出現狀態。在圖4中,水平軸表示時間,垂直軸表示差錯率(%)。當tREF等于或大于0.1秒時,DRAM差錯率上升,導致了在出廠之后額外差錯的劇烈出現。
實質上,必須開發半導體存儲設備,其中,當tREF等于或大于0.1秒時,差錯率也不會增加,且抑制出廠之后的額外差錯的出現。
圖5是用于解釋補救采用SSR技術的半導體存儲設備中的缺陷單元的現有技術處理的流程圖。
首先,在步驟S11中,在圖案“全1”中執行對所有位的寫入,即其中當讀取單元時邏輯值為1的數值圖案。在寫入之后,在步驟S12中執行使用乘積碼的編碼,此后,在步驟S13中,以1秒的周期重復更新操作。
接下來,在步驟S14中,從存儲單元陣列中讀取數據,并進行解碼,并在步驟S15中,對已經讀取的數據執行通過/失效確定以產生失效信息。然后,利用冗余單元,通過置換來補救這些失效位。
圖6是用于解釋通過乘積碼的校正操作的視圖。這里,解釋了以下情況通過使用乘積碼的ECC的校正操作使失效位能夠被保留,而無需實現通過冗余單元的置換。圖6示出了包括失效位的存儲單元陣列。在圖中,“×”表示失效地址或失效單元。此外,將存儲單元陣列中的失效單元或失效位的排列圖稱為“失效圖”。
包括失效單元的單元陣列306A經過編碼#1的單比特糾錯。由于在此時不能校正每列兩個或兩個以上點的失效位,獲得失效圖306B,作為校正后的單元陣列數據。在此失效圖306B中顯示的存儲單元陣列經過編碼#2的單比特糾錯。如圖6中所示,通過乘積碼的糾錯引起了編碼#2校正的“通過”,而無需冗余補救。換句話說,利用編碼#2的糾錯,能夠執行每行的缺陷單元的糾錯,由此,使冗余單元的補救變為不是必需的。
相反,圖7給出了針對ECC的誤差校正是不可行、而冗余單元的置換(即,現有技術的冗余補救)變成必需的情況的操作的示意圖。
如上所述,包括失效單元的單元陣列307A經過利用編碼#1的單比特糾錯,以獲得失效圖307B,然后,在失效圖307B中示出的存儲單元陣列經過利用編碼#2的單比特糾錯。由于對于每行兩個失效位的情況,不能校正,在失效圖307C中的失效位(缺陷單元)在此情況下變成利用冗余單元進行補救的對象。
但是,當使用現有技術的缺陷補救方法時,由于在DRAM產品出廠之后保持時間的波動,出現了缺陷位,如由圖4中的“出廠之后的額外差錯”所示,且這些額外差錯位引起市場缺陷率(即出廠之后的缺陷率)的劇烈增加,例如,以10倍的數量級。
圖8給出了對可以在出廠之前的晶片光刻檢驗處理中檢測到的不可校正圖案、和在晶片光刻檢驗處理中確定可校正但由于出廠之后出現保持時間的波動而變成不可校正的圖案的示意圖。如圖8所示,允許通過乘積碼ECC校正缺陷位的存儲器LSI(大規模集成)包括已經成為不可校正的位圖案和由于添加了單比特失效位而已經變為不可校正的位圖案。將在晶片光刻檢驗時可校正、但由于添加了單比特失效位而將變為不可校正的單元稱為潛在缺陷單元。
發明內容
由于額外的單比特失效位,增加了出廠之后DRAM產品的額外差錯,且此問題需要有效的對策。
因此,本發明的目的是提供一種半導體設備,允許對已經是不可校正的、作為利用冗余的補救的對象的位圖案、以及由于添加單比特失效位而導致不可校正的位圖案進行糾錯。
本發明的另一目的是提供一種半導體設備測試方法,允許對已經是不可校正的、作為利用冗余的補救的對象的圖案、以及由于添加單比特失效位導致不可校正的圖案進行糾錯。
根據本發明的第一方面,半導體設備包括ECC電路,使用由第一編碼和第二編碼組成的乘積碼來執行存儲器的糾錯;以及用于使所述第一編碼和第二編碼中的一個編碼獨立操作的裝置。
根據本發明的第二方面,設置有使用由第一編碼和第二編碼組成的乘積碼來執行半導體存儲設備的糾錯的ECC電路的半導體設備,包括第一編碼電路,用于利用所述第一編碼進行編碼;第二編碼電路,用于利用所述第二編碼進行編碼;第一解碼電路,用于利用所述第一編碼進行解碼;第二解碼電路,用于利用所述第二編碼進行解碼;奇偶校驗產生電路,用于產生奇偶校驗;校正子運算電路;以及控制電路。所述控制電路在利用所述第一編碼和所述第二編碼之一進行編碼期間,并根據作為輸入接收的控制信號實現以下控制將半導體存儲設備的數據作為輸入提供給所述第一編碼電路和所述第二編碼電路之一;將來自向其提供了所述數據的編碼電路的已編碼輸出作為輸入提供給所述奇偶校驗產生電路;將產生的奇偶校驗寫入到所述半導體存儲設備;從所述半導體存儲設備中讀取利用所述第一編碼和所述第二編碼之一編碼的數據;以及向所述第一解碼電路和所述第二解碼電路提供已經讀取的數據;將向其提供了所述已讀取數據的解碼電路的輸出提供給所述校正子運算電路,并執行校正操作;以及將已校正的位寫入到所述半導體存儲設備。
根據本發明的第三方面,提供了一種方法,用于測試半導體存儲設備或存儲器LSI,所述半導體存儲設備設置有使用由第一編碼和第二編碼組成的乘積碼來執行存儲器的糾錯的ECC電路;所述測試方法包括以下步驟通過根據所述第一編碼和所述第二編碼獨立實現的校正操作,獲得第一通過/失效確定結果和第二通過/失效確定結果,并將這些結果相應地記錄到第一失效存儲器和第二失效存儲器中;執行與所述第一失效存儲器的內容和所述第二失效存儲器的內容相關的指定邏輯運算;以及根據所述邏輯運算的結果,對失效位和潛在失效位進行補救。
根據本發明的第四方面,提供了一種用于測試半導體存儲設備或存儲器LSI的方法,所述半導體存儲設備設置有使用由第一編碼和第二編碼組成的乘積碼以執行存儲器的糾錯的ECC電路;所述測試方法包括以下步驟獲得由所述第一編碼和所述第二編碼之一實現的通過/失效確定結果,并采用確定結果的互補圖案作為掩蔽數據;以及利用所述掩蔽數據得到所述第一編碼和所述第二編碼的其它編碼的通過/失效確定結果,以對失效位和潛在失效位進行補救。
本發明中,按照包括以下步驟的測試方法,對包括具有由第一編碼和第二編碼組成的乘積碼實現的奇偶校驗數據的存儲區域的存儲單元陣列的動態半導體存儲設備進行測試(A1)將指定值數據寫入到所述存儲單元陣列中;并按照由所述第一編碼實現的編碼處理,從所述存儲單元陣列讀取數據,以產生第一奇偶校驗,并將已經產生的所述第一奇偶校驗寫入到所述存儲單元陣列中;(A2)在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第一編碼所編碼的數據,對所讀取的數據進行解碼,并將第一已校正位寫入到所述存儲單元陣列中;(A3)從其中已經寫入了所述第一已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,并將確定結果記錄到第一失效存儲器中;(A4)將指定值數據寫入到所述存儲單元陣列中;并按照由所述第二編碼實現的編碼處理,從所述存儲單元陣列讀取數據,以產生第二奇偶校驗,并將已經產生的所述第二奇偶校驗寫入到所述存儲單元陣列中;(A5)在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第二編碼所編碼的數據,對所讀取的數據進行解碼,并將第二已校正位寫入到所述存儲單元陣列中;(A6)從其中已經寫入了所述第二已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,并將確定結果記錄到第二失效存儲器中;以及(A7)執行與所述第一失效存儲器的內容和所述第二失效存儲器的內容有關的指定邏輯運算,并根據所述邏輯運算的結果,獲得要通過冗余單元補救的單元。
可選地,在本發明中,按照包括以下步驟的測試方法,對包括具有由第一編碼和第二編碼組成的乘積碼實現的奇偶校驗數據的存儲區域的存儲單元陣列的動態半導體存儲設備進行測試(B1)將指定值數據寫入到所述存儲單元陣列中;并按照由所述第一編碼實現的編碼處理,從所述存儲單元陣列讀取數據,以產生第一奇偶校驗,并將已經產生的所述第一奇偶校驗寫入到所述存儲單元陣列中;(B2)在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第一編碼所編碼的數據,對所讀取的數據進行解碼,并將第一校正位寫入到所述存儲單元陣列中;(B3))從其中已經寫入了所述第一校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,并產生確定結果的互補圖案,作為掩蔽數據;(B4)將指定值數據寫入到所述存儲單元陣列中;并按照由所述第二編碼實現的編碼處理,從所述存儲單元陣列讀取數據,以產生第二奇偶校驗,并將已經產生的所述第二奇偶校驗寫入到所述存儲單元陣列中;(B5)在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第二編碼所編碼的數據,對所讀取的數據進行解碼,并將第二已校正位寫入到所述存儲單元陣列中;(B6)從其中已經寫入了所述第二已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,利用所述掩蔽數據掩蔽確定結果,以產生失效信息,并根據所述失效信息,獲得作為要通過冗余單元進行補救的單元。
因此,本發明實現了對已經不可校正的圖案以及由于如添加單比特失效位而導致變為不可校正的圖案的確定,結果,在檢查處理中,如晶片光刻檢驗,實現對潛在缺陷單元的補救。
從以下參考附圖的描述中,本發明的上述和其它目的、特點和優點將變得顯而易見,所述附圖示出了本發明的實例。
圖1A示出了使用SSR技術的傳統半導體存儲設備的結構;圖1B示出了具有乘積碼的奇偶校驗位區域的存儲單元陣列的結構的示意圖;圖2是示出了了根據SSR技術的過程的流程圖;圖3是示出了保持時間tREF和差錯率之間關系的曲線圖;圖4是示出了保持時間的波動和差錯率之間關系的曲線圖;圖5是示出了用于補救使用SSR技術的半導體存儲設備中的缺陷單元的過程的實例的流程圖;圖6是乘積碼的校正操作的解釋性視圖;圖7是需要冗余單元的補救的失效位的導出的解釋性視圖;圖8是需要冗余補救的失效位圖案的解釋性視圖;圖9是用于解釋并將根據本發明實施例的過程與現有技術的過程進行比較的視圖;圖10A是用于解釋應用于SDRAM的現有技術的晶片光刻檢驗的視圖;圖10B是用于解釋其中應用了本發明的晶片光刻檢驗的視圖;圖11是示出了現有技術的乘積碼ECC電路的結構的方框圖;圖12A和12B是用于解釋本發明的實施例的ECC電路的方框圖;圖13示出了失效位的實例;圖14是用于解釋第一過程的視圖;圖15是用于解釋第二過程的視圖;圖16是示出了第一過程中利用編碼#1的校正操作的流程圖;圖17A和17B是示出了用于第一過程中利用編碼#1的校正操作的電路配置的方框圖;圖18是用于解釋第一過程中利用編碼#1實現的校正結果的視圖;圖19是示出了第一過程中利用編碼#2的校正操作的流程圖;圖20A和20B是示出了用于第一過程中利用編碼#2實現的校正操作的電路配置的方框圖;圖21是用于解釋第一過程中利用編碼#2實現的校正結果的視圖;圖22是用于解釋由第一過程發現的、要由冗余位補救的失效位的視圖;圖23是用于解釋第二過程的視圖;以及圖24是用于解釋第二過程的視圖。
具體實施例方式
圖9示出了與現有技術的過程相比,根據本發明的實施例的用于補救缺陷單元的過程。在圖9中,流程309A示出了未改變的圖5中所示的現有技術的過程,流程309B示出了基于本發明的第一過程,以及流程309C示出了基于本發明的第二過程。
在第一過程中,如圖309B中所示,首先,在步驟S21中,以指定值(全1)寫入所有部位;然后,在步驟S22中,僅通過編碼#1進行編碼。然后,在步驟S23中,以tREF=1秒的更新周期執行更新操作。
接下來,在步驟S24中,從存儲單元陣列中讀取所有位,并利用編碼#1進行解碼,并在步驟S25中,確定數據的通過/失效。將從結果中得到的失效位的地址記錄在安裝在存儲器測試器(未示出)中的第一失效存儲器(失效存儲器#1)中。
接下來,如步驟S31到S35中所示,針對編碼#2執行相同的操作,并將作為結果獲得的失效位的地址記錄在安裝在存儲器測試器(未示出)中的第二失效存儲器(失效存儲器#2)中。具體地,在步驟S31中,按照“全1”寫入所有位,在步驟S32中,僅使用編碼#2執行編碼,然后,在步驟S33中,以tREF=1秒的更新周期重復更新操作。接下來,在步驟S34中,讀取數據并進行解碼,并在步驟S35中,確定數據的通過/失效,并將失效位的地址記錄在第二失效存儲器中。
接下來,在存儲器測試器中執行第一失效存儲器和第二失效存儲器的與(邏輯積)運算,由此,發現要通過要通過冗余補救的單元的地址。
在第二過程中,如流程圖309C所示,首先,在步驟S41中,以指定值(全1)寫入所有位,并在步驟S42中,僅利用編碼#1進行編碼。然后,在步驟S43中,以tREF=1秒的更新周期重復更新操作。接下來,在步驟S44中,從存儲單元陣列中讀取所有位,并利用編碼#1進行解碼,之后,在步驟S45中,確定數據的通過/失效。在步驟S46中,將未失效的位(即,通過位)的地址記錄在存儲器測試器(未示出)的第一失效存儲器中。
接下來,在步驟S47中,按照“全1”再次寫入所有位,之后,在步驟S48中,執行僅利用編碼#2的編碼,并在步驟S49中,以tREF=1秒重復更新操作。接著,在步驟S50中,從存儲單元陣列中讀取所有位,并利用編碼#2進行解碼,之后,在步驟S51中,確定數據的通過/失效。接著,利用存儲在第一失效存儲器中的內容掩蔽此通過/失效確定的結果,然后,記錄未掩蔽的失效位的地址。于是,根據所記錄的地址,可以用冗余位代替失效位以補救缺陷。
為了執行此實施例的上述過程,當制造半導體存儲設備時,可以在常規晶片光刻檢驗的處理中添加以下修改。
圖10A示出了SDRAM(同步DRAM)的常規晶片光刻檢驗的過程。在常規晶片光刻測試中,補救字線缺陷和位線缺陷,然后補救位缺陷和更新缺陷。相反,為了執行本實施例的過程,針對編碼#1和編碼#2的每一個,獨立執行晶片光刻檢驗中的ECC測試,如圖10B中所示。
下列將解釋用于執行此類ECC測試的ECC電路。
圖11是示出了現有技術的乘積碼ECC電路的配置的方框圖。ECC控制器20和奇偶校驗產生/校正子(syndrome)運算電路30與作為檢驗的對象的SDRAM 10相連。ECC控制器20對應于圖1A中所示的電路中的ECC控制器104。在ECC控制器20內設置有第一編碼電路201,用于通過編碼#1進行編碼;第二編碼電路202,用于通過編碼#2進行編碼;第一解碼電路203,用于通過編碼#1進行解碼;第二解碼電路204,用于通過編碼#2進行解碼;地址產生電路205;以及輸出寄存器206。
相反,如圖12A中所示,根據本實施例的ECC電路是圖11所示的配置,已經進行了修改以允許僅利用編碼#1進行獨立糾錯,以及僅利用編碼#2進行糾錯。結果,圖12A中所示的ECC電路是其中將冗余補救控制器40設置到圖11所示的電路上、以及將開關207到212設置在ECC控制器20上的配置。
在如圖12A所示的ECC電路中,作為從冗余補救控制器40到ECC控制器20的輸入而提供的控制信號TCODE1是用于實現僅使第一編碼電路201和第一解碼電路203操作的開關控制的控制信號;而TCODE2是用于實現僅使第二編碼電路202和第二解碼電路204操作的開關控制的控制信號。這些控制信號控制開關207到212。
地址產生電路205產生讀取/寫入存取命令、寫入地址(包括其中寫入了奇偶校驗和校正位的地址)、以及讀取地址。經由輸出寄存器206將由地址產生電路205產生的命令或地址提供到SDRAM 10,作為讀取/寫入(R/W)命令和地址信號。
在圖12A中所示的配置中,激活由冗余補救控制器40提供的控制信號TCODE1,并將開關207到212設置為用于僅操作第一編碼電路201和第一解碼電路203的配置。換句話說,經由開關207將SDRAM 10的讀取數據提供到第一編碼電路201,并經由開關208和209,將第一編碼電路201的輸出從輸出寄存器206提供到奇偶校驗產生/校正子運算電路30。此外,經由開關210,將SDRAM 10的讀取數據提供給解碼電路203,并經由開關211和212,將第一解碼電路203的輸出從輸出寄存器206提供到奇偶校驗產生/校正子運算電路30。
圖12B示出了當激活了已經由冗余補救控制器40提供的控制信號TCODE2時,開關207到2112的轉換狀態。當已經激活了控制信號TCODE2時,將開關207到212設置為用于僅操作第二編碼電路202和第二解碼電路204的配置。換句話說,經由開關207、209和208,將SDRAM 10的讀取數據提供到第二編碼電路202,并將第二編碼電路202的輸出從輸出寄存器206提供到奇偶校驗產生/校正子運算電路30。此外,經由開關210、212和212,將SDRAM 10的讀取數據提供給第二解碼電路204,并將第二解碼電路204的輸出從輸出寄存器206提供到奇偶校驗產生/校正子運算電路30。
如果利用如圖12A和12B中所示的電路,其中如圖13所示排列失效位的存儲單元陣列經過了如圖9中的流程圖309B所示的第一過程的處理,則通過圖14中所示的失效圖來顯示所得到的結果。換句話說,如果僅利用編碼#1,對其中如圖13中所示排列失效位的存儲單元陣列進行了校正,則得到由失效圖314A所示的結果,并將此結果記錄在第一失效存儲器中。同樣地,如果僅利用編碼#2,對其中如圖13中所示排列失效位的存儲單元陣列進行了校正,則得到失效圖314B中所示的結果,并將此結果記錄在第二失效存儲器中。執行查找第一失效存儲器的內容和第二失效存儲器的內容的邏輯積(與)的處理得到如失效圖314C所示的結果。在失效圖314C中仍然顯示為失效位的位是缺陷位,其并未通過ECC處理得到補救,但這些位通過冗余位的置換來得到補救。
同樣地,如果利用如圖12A和12B中所示的電路,如圖13所示排列失效位的存儲單元陣列經過了如圖9中的流程圖309C所示的第二過程的處理,則得到由圖15中所示的失效圖所示的結果。換句話說,如果僅利用編碼#1,如圖13中所示排列失效位的存儲單元陣列經過了校正,則得到由圖14中的失效圖314A所示出的結果,且如果對些結果經過了掩蔽通過位地址的處理,則得到圖15中所示的地址掩碼315A。如果僅利用編碼#2,使其中如圖13中所示排列失效位的存儲單元陣列經過了校正,且然后確定數據的通過/失效,則得到失效圖315B中所示的結果。然后,利用地址掩碼315A掩蔽失效圖315B且僅關注未被掩蔽的地址產生了如失效圖315C所示出的結果。在失效圖315C中仍然顯示為失效位的位是缺陷位,其還未通過ECC處理得到補救,因此,記錄這些失效位的地址,并且該位通過冗余位的置換進行補救。
接下來解釋第一過程的細節。首先,參考圖16的流程圖解釋利用編碼#1的編碼和解碼處理。
首先,在步驟S101中,以指定值(全1)對存儲單元陣列中的所有位進行寫入,之后,僅利用編碼#1執行編碼處理。在利用編碼#1的編碼處理中,在步驟S102中,從存儲單元陣列中按列讀取數據,在步驟S103中,根據編碼#1產生奇偶校驗,并在步驟S104中,將奇偶校驗寫入到奇偶校驗位區域。重復此操作,例如,262,144(=218)次,即,256k次,以覆蓋SDRAM存儲器芯片的整個區域,如步驟S105中所示。
在已經完成利用編碼#1的編碼處理之后,在步驟S106中,以tREF=1秒的更新周期重復更新操作,之后,執行利用編碼#1的解碼處理。在利用編碼#1的解碼處理中,在步驟S107中,從存儲單元陣列中按列讀取數據,在步驟S108中,根據已經按列讀取的數據來執行校正操作,并在步驟S109中,將已校正的位寫入到存儲單元陣列中。如步驟S110中所示,針對SDRAM的所有位,重復此類操作,例如,262,144次。
在利用編碼#1的解碼處理之后,在步驟S111中,接著對通過/失效進行確定,并將失效位的地址記錄到存儲器測試器的第一失效存儲器中。
圖17A和17B是用于解釋在圖12A和12B中所示的ECC電路中的操作(參見圖16)的圖。奇偶校驗產生/校正子運算電路30設置有奇偶校驗產生電路31和校正子運算電路32。這里,假設激活了來自冗余補救控制器40的控制信號TCODE1。如圖17A所示,提供存儲在SDRAM10中的數據,作為第一編碼電路201的輸入,將來自第一編碼電路201的輸出從輸出寄存器206提供到奇偶校驗產生電路31,并將由奇偶校驗電路31產生的奇偶校驗寫入到SDRAM 10中。此外,如圖17B所示,從SDRAM 10讀取已經利用編碼#1編碼的數據,并作為輸入提供給第一解碼電路203,并通過輸出寄存器206,將來自第一解碼電路203的輸出提供到校正子運算電路32。在校正子運算電路32中,執行校正操作,并將已校正的位寫入到SDRAM 10。
圖18示出了根據圖16所示的處理執行的、僅利用編碼#1的糾錯的結果。失效圖318A給出了僅利用編碼#1的糾錯的重復處理的示意圖。這里,將列方向上的糾錯重復262,144次(等于列數)。作為重復處理的結果,獲得了失效圖318B,作為僅利用編碼#1的校正的最終結果。
在本實施例中,針對作為乘積碼中的另一編碼的編碼#2,執行與利用編碼#1的糾錯處理相同的處理(已經利用圖16、17A和17B對其進行了解釋),并將處理結果記錄在第二失效存儲器中。圖19示出了利用編碼#2進行編碼和解碼的過程。
首先,在步驟S201中,以指定值(全1)寫入存儲單元陣列中的所有位,之后,僅利用編碼#2執行編碼處理。在利用編碼#2進行編碼的處理中,在步驟S202中,從存儲單元陣列中按行讀取數據,在步驟S203中,根據編碼#2產生奇偶校驗,并在步驟S204中,將奇偶校驗寫入到奇偶校驗位區域。重復此類型操作,例如,262,144次,以覆蓋SDRAM存儲器芯片的整個區域,如步驟S205中所示。
在完成利用編碼#2的編碼處理之后,在步驟S206中,以tREF=1秒的更新周期重復更新操作。在編碼#2解碼處理中,在步驟S207中,從存儲單元陣列中按行讀取數據,在步驟S208中,根據已經按行讀取的數據來執行校正操作,并在步驟S209中,將已校正的位寫入到存儲單元陣列中。重復此類操作,例如,262,144次,以覆蓋SDRAM的全部位,如步驟S210中所示。
在利用編碼#2完成解碼處理之后,在步驟S211中,執行通過/失效確定,并將失效位的地址記錄到存儲器測試器的第二失效存儲器中。
在第一過程中,在存儲器測試器中執行查找第一失效存儲器的內容與第二失效存儲器的內容的邏輯積(與)的操作。假設將邏輯值“1”記錄到缺陷單元的地址中,并將邏輯值“0”記錄到在這兩個失效存儲器中的其余地址中,并針對每個地址,計算這兩個失效存儲器的內容的與值(即,邏輯積值)。在此與運算的結果中,具有邏輯值“1”的地址表示利用乘積碼ECC處理不能補救的缺陷單元,即,必須通過冗余單元置換進行補救的單元。
圖20A和20B是用于解釋圖12A和12B中所示出的ECC電路中的操作(參見圖19)的視圖。與圖17A和17B中所示的電路一樣,奇偶校驗產生/校正子運算電路30具有奇偶校驗產生電路31和校正子運算電路32。這里,假設激活了來自冗余補救控制器40的控制信號TCODE2。如圖20A所示,將SDRAM 10的數據作為輸入提供給第二編碼電路202,將來自第二編碼電路202的輸出從輸出寄存器206提供到奇偶校驗產生電路31,并將由奇偶校驗電路31產生的奇偶校驗寫入到SDRAM 10中。此外,如圖20B所示,從SDRAM 10讀取已經利用編碼#2編碼的數據,并作為輸入提供給第二解碼電路204,并通過輸出寄存器206,將來自第二解碼電路204的輸出提供到校正子運算電路32。在校正子運算電路32中,執行校正操作,并將已校正的位寫入到SDRAM 10中。
圖21示出了按照圖19所示的處理執行的、僅利用編碼#2的糾錯的結果。失效圖321A是僅利用編碼#2的糾錯的重復處理的示意圖。這里,將行方向上的糾錯重復262,144次(等于行數)。作為重復處理的結果,獲得失效圖321B,作為僅利用編碼#2的校正的結果。
圖22中所示的失效圖322示出了通過執行失效圖318B(參見圖18)與失效圖321B(參見圖21)的與運算處理而得到的結果,所述失效圖318B是根據僅利用編碼#1的校正的結果而獲得,所述圖321B是根據僅利用編碼#2的校正的結果而獲得。在失效圖322中示出的失效位示出了利用冗余單元的補救的對象。
接下來解釋第二過程的細節。第二過程是在晶片光刻檢驗階段,嘗試補救由于額外的失效而導致不能被校正的位圖案,如圖8中所示。第二過程的應用使在基于SSR技術的半導體存儲設備出廠之后的市場缺陷率抑制為如200ppm(百萬分之幾)或更低。在圖23中,流程圖323A示出了涉及第二過程中的編碼#1的處理。
首先,在步驟S301中,在存儲單元陣列中,將全部位寫成指定值(全1),之后,僅利用編碼#1執行編碼處理。在利用編碼#1進行編碼的處理中,在步驟S302中,從存儲單元陣列中按列讀取數據,在步驟S303中,根據編碼#1產生奇偶校驗,并在步驟S304中,將奇偶校驗寫入到奇偶校驗位區域。如步驟305中所示,重復此類操作,例如,262,144次,以覆蓋SDRAM存儲器芯片的整個區域。
在完成利用編碼#1的編碼處理之后,在步驟S306中,以tREF=1秒的更新周期重復更新操作,之后,執行利用編碼#1的解碼處理。在利用編碼#1的解碼處理中,在步驟S307中,從存儲單元陣列中按列讀取數據,在步驟S308中,根據已經按列讀取的數據來執行校正操作,并在步驟S309中,將已校正的位寫入到存儲單元陣列中。重復此類操作,例如,262,144次,以覆蓋SDRAM的全部位,如步驟S310中所示。失效圖323B示出了此重復,而失效圖323C示出了在利用編碼#1的校正之后的失效位。
接下來,在步驟S311中,讀取所有位,并執行通過/失效確定,之后,在步驟S312中,將不是失效位的位(即,通過位)的地址記錄在存儲器測試器的失效存儲器中。將通過位記錄在失效存儲器中對應于將失效位的排列的互補圖案記錄在失效存儲器中。地址掩碼323D表示此失效存儲器的所記錄的內容。
接著,針對編碼#2執行相同的操作。圖24示出了針對編碼#2的處理。如流程圖324A所示,在步驟S401中,將存儲單元陣列的全部位寫成指定值(全1),之后,僅利用編碼#2執行編碼處理。在利用編碼#2的編碼處理中,在步驟S402中,從存儲單元陣列中按行讀取數據,在步驟S403中,根據編碼#2產生奇偶校驗,并在步驟S404中,將奇偶校驗寫入到奇偶校驗位區域。執行此類操作,例如,262,144次,以覆蓋SDRAM存儲器芯片的整個區域,如步驟405中所示。
接下來,在步驟S406中,以tREF=1秒的更新周期重復更新操作,之后,執行利用編碼#2進行解碼的處理。在利用編碼#2進行解碼的處理中,在步驟S407中,從存儲單元陣列中按列讀取數據,在步驟S408中,根據已經按列讀取的數據來執行校正操作,并在步驟S409中,將已校正的位寫入到存儲單元陣列中。針對SDRAM的所有位重復這些操作,例如,262,144次,如步驟S410中所示。失效圖324B示出了此重復。
接著,在步驟S411中讀取所有位,然后,執行通過/失效確定。此通過/失效確定對不能利用編碼#2校正的失效位進行檢測。利用存儲在失效存儲器中的地址掩碼315D來掩蔽這些檢測結果允許對在乘積碼ECC中不能被補救的失效位的檢測,并記錄所檢測到的失效位的地址。失效圖316C示出了已經檢測到的失效位。隨后,利用冗余位來補救這些檢測到的失效位。
盡管涉及本發明的優選實施例的前述解釋描述了其中使用時鐘同步型SDRAM作為存儲器的實例,當然,本發明也可以應用于異步DRAM。此外,本發明還可以應用于設置有具有任何乘積碼ECC電路的存儲器的半導體設備。
盡管已經利用特定術語描述了本發明的優選實施例,但此描述僅為解釋的目的,應當理解,可以進行修改和變動,而不脫離所附權利要求的精神和范圍。
權利要求
1.一種半導體設備,包括ECC電路,使用由第一編碼和第二編碼組成的乘積碼,執行存儲器的糾錯;以及用于使所述第一編碼和第二編碼中的一個編碼獨立操作的裝置。
2.一種設置有使用由第一編碼和第二編碼組成的乘積碼的ECC電路來執行半導體存儲設備的糾錯的半導體設備,所述半導體設備包括第一編碼電路,利用所述第一編碼進行編碼;第二編碼電路,利用所述第二編碼進行編碼;第一解碼電路,利用所述第一編碼進行解碼;第二解碼電路,利用所述第二編碼進行解碼;奇偶校驗產生電路,用于產生奇偶校驗;校正子運算電路;以及控制電路,在利用所述第一編碼和所述第二編碼之一進行編碼期間,并根據作為輸入接收的控制信號來實現以下控制將半導體存儲設備的數據作為輸入提供給所述第一編碼電路和所述第二編碼電路之一;將來自向其提供了所述數據的編碼電路的已編碼輸出作為輸入提供給對所述奇偶校驗產生電路;將產生的奇偶校驗寫入到所述半導體存儲設備;從所述半導體存儲設備中讀取利用所述第一編碼和所述第二編碼之一編碼后的數據;向所述第一解碼電路和所述第二解碼電路提供已經讀取的數據;將向其提供了所述已讀取數據的解碼電路的輸出提供給所述校正子運算電路,并執行校正操作;以及將已校正的位寫入到所述半導體存儲設備。
3.一種半導體設備的測試方法,所述半導體設備具有使用由第一編碼和第二編碼組成的乘積碼來執行存儲器的糾錯的ECC電路;所述測試方法包括以下步驟通過根據所述第一編碼和所述第二編碼獨立實現的校正操作,獲得第一通過/失效確定結果和第二通過/失效確定結果,并將這些結果分別記錄到第一失效存儲器和第二失效存儲器中;執行與所述第一失效存儲器的內容和所述第二失效存儲器的內容相關的指定邏輯運算;以及根據所述邏輯運算的結果,對失效位和潛在失效位進行補救。
4.根據權利要求3所述的測試方法,其特征在于所述指定邏輯運算是與運算。
5.一種半導體設備的測試方法,所述半導體設備設置有使用由第一編碼和第二編碼組成的乘積碼來執行存儲器的糾錯的ECC電路;所述測試方法包括以下步驟獲得由所述第一編碼和所述第二編碼之一實現的通過/失效確定結果,并采用所述確定結果的互補圖案作為掩蔽數據;以及利用所述掩蔽數據得到所述第一編碼和所述第二編碼的另一編碼的通過/失效確定,以對失效位和潛在失效位進行補救。
6.一種動態半導體存儲設備的測試方法,所述動態半導體存儲設備包括具有由第一編碼和第二編碼組成的乘積碼實現的奇偶校驗數據的存儲區域的存儲單元陣列;所述測試方法包括以下步驟將指定數值數據寫入到所述存儲單元陣列中;并作為由所述第一編碼實現的編碼處理,從所述存儲單元陣列讀取數據以產生第一奇偶校驗,并將已經產生的所述第一奇偶校驗寫入到所述存儲單元陣列中;在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第一編碼編碼后的數據,對所讀取的數據進行解碼,并將第一已校正位寫入到所述存儲單元陣列中;從其中已經寫入了所述第一已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,并將確定結果記錄到第一失效存儲器中;將指定值數據寫入到所述存儲單元陣列中;并作為由所述第二編碼實現的編碼處理,從所述存儲單元陣列讀取數據以產生第二奇偶校驗,并將已產生的所述第二奇偶校驗寫入到所述存儲單元陣列中;在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第二編碼所編碼的數據,對所讀取的數據進行解碼,并將第二已校正位寫入到所述存儲單元陣列中;從其中已經寫入了所述第二已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,并將確定結果記錄到第二失效存儲器中;以及執行與所述第一失效存儲器的內容和所述第二失效存儲器的內容有關的指定邏輯運算,并根據所述邏輯運算的結果,獲得要通過冗余單元補救的單元。
7.根據權利要求6所述的測試方法,其特征在于所述指定邏輯運算是與運算。
8.一種動態半導體存儲設備的測試方法,所述動態半導體存儲設備包括具有由第一編碼和第二編碼組成的乘積碼實現的奇偶校驗數據的存儲區域的存儲單元陣列;所述測試方法包括以下步驟將指定值數據寫入到所述存儲單元陣列中;并作為由所述第一編碼實現的編碼處理,從所述存儲單元陣列讀取數據以產生第一奇偶校驗,并將已產生的所述第一奇偶校驗寫入到所述存儲單元陣列中;在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第一編碼編碼后的數據,對所讀取的數據進行解碼,并將第一已校正位寫入到所述存儲單元陣列中;從其中已經寫入了所述第一已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,并產生確定結果的互補圖案,作為掩蔽數據;將指定值數據寫入到所述存儲單元陣列中;并作為由所述第二編碼實現的編碼處理,從所述存儲單元陣列讀取數據,以產生第二奇偶校驗,并將已產生的所述第二奇偶校驗寫入到所述存儲單元陣列中;在指定時間間隔的更新操作之后,從所述存儲單元陣列中讀取由所述第二編碼編碼后的數據,對所讀取的數據進行解碼,并將第二已校正位寫入到所述存儲單元陣列中;從其中已經寫入了所述第二已校正位的所述存儲單元陣列中讀取數據,對通過/失效進行確定,利用所述掩蔽數據掩蔽所述確定結果以產生失效信息,并根據所述失效信息,獲得要通過冗余單元進行補救的單元。
全文摘要
一種用于半導體設備的測試方法,所述半導體設備設置有使用由第一編碼和第二編碼組成的乘積碼以實現存儲器的糾錯的ECC電路,所述測試方法包括以下步驟獲得通過分別根據第一編碼和第二編碼的獨立校正操作實現的第一通過/失效確定結果和第二通過/失效確定結果;將該結果分別記錄在第一失效存儲器和第二失效存儲器中;執行與第一失效存儲器的內容與第二失效存儲器的內容有關的指定邏輯運算,如與運算;并根據邏輯運算的結果,對失效位和潛在失效位進行補救。
文檔編號G06F11/00GK1677563SQ200510062920
公開日2005年10月5日 申請日期2005年3月30日 優先權日2004年3月30日
發明者利穗吉郎, 伊藤豐 申請人:爾必達存儲器股份有限公司