專利名稱:半導體存儲器測試方法和半導體存儲器的制作方法
半導體存儲器測試方法和半導體存儲器技術領域
在此所討論的實施例涉及一種半導體存儲器測試方法和一種半導體存儲器。
背景技術:
以下取樣擦除測試被作為一種半導體存儲器擦除測試而提出。在此取樣擦除測試中,找出對存儲單元陣列中的一部分存儲單元完成擦除所用的擦除脈沖的數目,并且基于所述擦除脈沖的數目在剩余區域中執行擦除。
以下擦除測試方法被作為一種電可擦除可編程只讀存儲器(EEPROM)擦除測試方法而提出。在這種擦除測試方法中,在存儲區域的一部分中重復擦除測試直到確定擦除被正常執行為止,基于重復的次數來設定擦除脈沖的寬度,并且通過使用所述脈沖寬度在剩余的大部分存儲區域中執行擦除測試。
日本特許專利公開第08-31189號
日本特許專利公開第2000-207897號
日本特許專利公開第2001-273792號
假定通過在存儲區域的一部分中執行擦除測試獲得的擦除脈沖的數目或寬度被視為在存儲區域的剩余部分中執行驗證時的驗證閾值。如果在達到此驗證閾值之前對存儲單元完成擦除,那么做出所述存儲單元是正常的確定。
在存儲區域的一部分中可能存在與其他存儲單元相比需要長時間才能擦除的存儲單元。在這種情況下,所獲得的擦除脈沖的數目或寬度受所述存儲單元所影響。結果,在存儲區域的剩余部分中執行驗證時驗證標準放松,并且驗證閾值變高。在這種情況下,原來就是壞的存儲單元不能被檢測出,并且半導體存儲器的可靠性降低。發明內容
根據一方面,提供一種半導體存儲器測試方法,包括:通過將擦除脈沖施加到存儲單元陣列中包括的并且被分成多個組的存儲單元系列來執行第一擦除測試,直到出現被作出擦除完成的確定的組為止;以及基于在檢測到首先被作出擦除完成的確定的組時的擦除脈沖數目來對包括所述存儲單元系列在內的存儲單元的其他系列執行第二擦除測試。
圖1是根據第一實施例的半導體存儲器測試方法的示例;
圖2是根據第一實施例的半導體存儲器的示例;
圖3是根據第二實施例的半導體存儲器的示例;
圖4是擦除測試的示例的流程圖5是在第一擦除測試中指定的扇區中的地址序列的示例;
圖6指示就在第一擦除測試開始之后每個單元的狀態;
圖7是擦除驗證的示例;
圖8是用于擦除驗證的確定標準的示例;
圖9圖示在所有組中檢測未通過驗證的單元時的狀態;
圖10是在第一擦除測試期間每個單元的狀態的示例;
圖11圖示其中組中的塊中作為擦除驗證的對象的所有單元已通過驗證的狀態;
圖12是第一擦除測試的示例的流程圖13是第二擦除測試的示例的流程圖14是驗證和冗余處理的示例的流程圖;以及
圖15圖示根據第二實施例的半導體存儲器的修改。
具體實施方式
現在將參照附圖來描述一種半導體存儲器測試方法和一種半導體存儲器的實施例,在附圖中相同的參考數字始終指代相同的元件。
(第一實施例)
圖1是根據第一實施例的半導體存儲器測試方法的示例。
此外,圖2是根據第一實施例的半導體存儲器的示例。將首先描述圖2。
半導體存儲器I例如是非易失性存儲器,諸如快閃存儲器,并且包括存儲核心2、命令生成電路3、測試控制電路4、操作控制電路5、地址控制器6、地址生成電路7,以及數據輸入輸出電路8。
存儲核心2包括存儲單元陣列2a、參考單元陣列2b、選擇電路2c以及讀寫電路2d。
多個存儲單元在存儲單元陣列2a中被布置成矩陣的樣子。參考單元陣列2b包括在測試時與存儲單元陣列2a中所包括的存儲單元(下文簡稱作“單元”)進行比較的參考單元。例如,流到參考單元的電流在擦除測試時與流到存儲單元陣列2a中作為擦除測試的對象的存儲單元的電流進行比較。選擇電路2c根據所輸入的地址來選擇存儲單元陣列2a中的單元,并且施加確定的電壓。讀寫電路2d從所選單元讀出數據或將數據寫入到所選單J Li ο
命令生成電路3響應于控制信號或從外部輸入的地址而生成讀取命令、寫入命令、擦除命令、測試模式等。
測試控制電路4響應于由命令生成電路3指定的測試模式而執行寫入測試、讀取測試、擦除測試或類似測試。
響應于由命令生成電路3生成的命令或來自測試控制電路4的信號,操作控制電路5生成用于控制存儲核心2的信號,并且將其供應到選擇電路2c和讀寫電路2d。
響應于由命令生成電路3生成的命令或來自測試控制電路4的信號,地址控制器6控制由地址生成電路7生成的內部地址(列地址和行地址)。
地址生成電路7接受來自外部的地址并且在地址控制器6的控制下生成內部地址。
數據輸入輸出電路8輸出從存儲單元陣列2a讀出的數據或輸入將被寫入到存儲單元陣列2a的數據。
在圖2中,未圖示生成內部電壓的電路部分或執行用于用正常的單元來替換存儲單元陣列2a中的壞單元的冗余功能的電路部分。
現在將使用圖1和2來描述在擦除測試時半導體存儲器I的操作。
如圖1所示,在這個實施例中,擦除測試包括兩個步驟。
(步驟S1:第一擦除測試)
測試控制電路4通過施加擦除脈沖來對存儲單元陣列2a中包括的并且被分成多個組的存儲單元系列執行第一擦除測試,直到出現被做出擦除完成的確定的組為止。
圖1圖示被分成A和B兩個組的存儲單元系列。所述存儲單元系列是存儲單元陣列2a中的一部分單元。在圖1的示例中,圖示在列方向和行方向傾斜布置的存儲單元系列。
測試控制電路4使操作控制電路5生成具有確定的寬度的擦除脈沖并且將其施加到例如包括每個組中的一系列存儲單元并且被看成擦除單元(扇區)的存儲單元系列。
為了確定是否對所述存儲單元系列的每個單元完成擦除,測試控制電路4隨后控制地址控制器6以使地址生成電路7生成用于從參考單元陣列2b中選擇用于擦除測試的參考單元的地址。此外,測試控制電路4向地址控制器6給出生成用于在每個組A和B中選擇一系列存儲單元的地址的指令。
如果選擇在圖1的示例中的存儲單元系列,那么地址控制器6向地址生成電路7給出遞增或遞減行地址和列地址的指令。這樣做,會在每個組A和B中按次序選擇在同一行地址處的單元。測試控制電路4隨后使操作控制電路5輸出用于執行讀取存儲核心2的操作的控制信號。
讀寫電路2d包括例如感測放大器,用于將從參考單元讀出的值(例如,漏極-源極電流值)與從在一系列存儲單元中選出的單元讀出的值進行比較。基于比較結果,測試控制電路4確定是否對所選單元完成擦除。例如,如果所選單元中的電流值大于參考單元中的電流值,那么測試控制電路4確定擦除完成(通過)。如果所選單元中的電流值小于參考單元中的電流值,那么測試控制電路4確定擦除未完成(未通過)。
如果在每個組A和B中的一系列存儲單元間存在未通過驗證的單元,那么測試控制電路4 一個接一個地施加擦除脈沖直到組A和B中出現擦除完成的組為止,并且相同的驗證如上所述重復。
如圖1所示,例如,假定當擦除脈沖的數目是X時,組A中的所有存儲單元系列都通過驗證。在這種情況下,即便在擦除脈沖的數目為X時未通過驗證的單元或尚未經驗證的單元仍在組B中,測試控制電路4也終止第一擦除測試。測試控制電路4保持此時的擦除脈沖的數目(X)。
(步驟S2:第二擦除測試)
基于在檢測到其中有一系列存儲單元首先被完成擦除的組時的擦除脈沖的數目,測試控制電路4對包括上述存儲單元系列在內的其他存儲單元系列(例如,扇區中的所有存儲單元)執行第二擦除測試。
如上所述,例如,如果首先對組A中的存儲單元系列完成擦除,那么此時的擦除脈沖的數目(=X)被應用于第二擦除測試中。測試控制電路4以上述的相同方式來對扇區中的所有存儲單元執行擦除測試。例如,測試控制電路4將所述扇區中的所有存儲單元與參考單元進行比較。在圖1的示例中,通過此擦除測試檢測出未通過驗證的兩個單元。例如,可以通過稍后描述的冗余技術用正常的單元來替換這些單元。
通過將在第一擦除測試中獲得的擦除脈沖的數目(X)與系數相乘而獲得的值可被用作在第二擦除測試中應用的擦除脈沖的數目。
在第二擦除測試中,在基于正應用的、第一擦除測試中獲得的擦除脈沖數目的擦除脈沖時被執行了擦除的單元通過驗證。因此,可以肯定地說在第一擦除測試中獲得的擦除脈沖數目是在第二擦除測試時的驗證閾值。
在執行第一擦除測試時,可能存在由于例如處理導致的問題而需要特別長時間才能擦除的單元(例如,圖1的組B中未通過驗證的單元)。甚至在所述情況下,上述技術仍可以防止在第二擦除測試中應用的擦除脈沖數目受其影響而增加。也就是說,可以防止由于一部分單元需要長時間才能擦除而導致在第二擦除測試時驗證閾值升高和驗證標準放松。
因此,可以準確地驗證出需要長時間才能擦除的單元。憑借通過稍后描述的冗余技術用正常的單元來替換此種單元,可以減少用于半導體存儲器的實際擦除時間。此外,可以防止由驗證標準的放松造成半導體存儲器的可靠性降低。
在以上描述中,通過使用參考單元來執行驗證。然而,驗證方法不限于此。測試控制電路4可以從例如待測試的單元的端子處的電壓的改變來驗證擦除是否被正確地執行。
(第二實施例)
圖3是根據第二實施例的半導體存儲器的示例。
根據第二實施例的半導體存儲器10例如是快閃存儲器。半導體存儲器10包括存儲核心11、命令生成電路12、內建自測試(BIST)控制電路13、操作控制電路14、地址控制器15、地址生成電路16,以及數據輸入輸出電路17。另外,半導體存儲器10包括內部電壓生成電路18、冗余內容可尋址存儲器(CAM) 19、CAM存取控制電路20以及總線控制電路21。
存儲核心11包括存儲單元陣列111、參考單元陣列112、X控制電路113、Y控制電路114、讀寫放大器115以及冗余電路116。
多個單元在存儲單元陣列111中被布置成矩陣的樣子。存儲單元陣列111包括冗余存儲單元陣列111a。在測試時與存儲單元陣列111中包括的單元進行比較的參考單元被包括在參考單元陣列112中。
響應于由地址生成電路16生成的行地址和來自操作控制電路14的控制信號,X控制電路113將確定的電壓施加到(例如)存儲單元陣列Illa中包括的單元的柵極。
響應于由地址生成電路16生成的列地址和來自操作控制電路14的控制信號,Y控制電路114將確定的電壓施加到存儲單元陣列Illa中包括的存儲單元的位線,并且讀寫放大器115執行讀取或寫入操作。
冗余電路116對冗余存儲單元陣列11 Ia具有Y控制電路114和讀寫放大器115的功能。
命令生成電路12連接到外部端子CEX、WEX和CLK以及地址端子ADD。響應于芯片啟用信號、寫入啟用信號、時鐘信號以及從這些端子輸入的地址,命令生成電路12生成讀取命令、寫入命令、擦除命令、測試模式等。
BIST控制電路13具有圖2所示的測試控制電路4的功能并且根據由命令生成電路12指定的測試模式執行寫入測試、讀取測試、擦除測試或類似測試。BIST控制電路13具有確定在擦除測試中擦除是否被正確地執行的功能。此外,BIST控制電路13包括用于對擦除脈沖數目進行計數的計數器13a以及用于存儲在擦除測試時未通過的單元的地址的寄存器13b。計數器13a和寄存器13b可放置在BIST控制電路13之外。
響應于由命令生成電路12生成的命令或來自BIST控制電路13的信號,操作控制電路14生成用于控制存儲核心11的信號,并且將其供應到X控制電路113、Y控制電路114以及讀寫放大器115。
響應于由命令生成電路12生成的命令或來自BIST控制電路13的信號,地址控制器15控制由地址生成電路16生成的內部地址(列地址和行地址)。
地址生成電路16輸入來自地址端子ADD的外部地址并且根據來自地址控制器15的指令來生成內部地址。存在多個地址端子ADD (未圖示)。
數據輸入輸出電路17連接到輸入輸出端子10。數據輸入輸出電路17輸出從存儲單元陣列111讀出的數據或輸入將被寫入到存儲單元陣列111的數據。存在多個輸入輸出端子IO (未圖示)。
內部電壓生成電路18基于從BIST控制電路13供應的控制信號來生成各種內部電壓并且將其供應到冗余CAM19、X控制電路113以及存儲單元陣列111。
冗余CAM19保持被替換的壞單元的地址。CAM存取控制電路20基于來自BIST控制電路13的控制信號來控制對冗余CAM19的寫入存取、讀取存取等。
總線控制電路21被連接在數據輸入輸出電路17與讀寫放大器115之間并且控制由總線22攜帶的數據。
(由半導體存儲器10進行的擦除測試)
圖4是擦除測試的示例的流程圖。
如圖4中指示,擦除測試包括三個步驟。
(步驟SlO:第一擦除測試)
對作為扇區的一部分的存儲單元系列執行第一擦除測試,所述扇區是存儲單元陣列111中的擦除單元。作為所述扇區的一部分的存儲單元系列被分成多個組。在出現其中擦除被完成的第一組時,應用于扇區的擦除脈沖數目被保持,并且對扇區的第一擦除測試終止。
(步驟Sll:第二擦除測試)
對所有扇區中的所有單元執行第二擦除測試。基于通過將在步驟SlO中找出的每個扇區中的擦除脈沖數目與確定的系數相乘而獲得的值(在下文被稱作“最大脈沖數目”),對每個扇區中的所有單元執行擦除測試。使用系數來做乘法的原因如下:第一擦除測試是對扇區中的一部分存儲單元執行的,因此就有可能沒有反映出所述扇區中的所有單元的狀態。這個系數是基于例如過去的擦除測試的結果憑經驗來設定的。
在第二擦除測試中,指示包括通過其數目對應于最大脈沖數目的擦除脈沖不能對其執行擦除的單元的扇區的信息(標志值)被存儲在BIST控制電路13的寄存器13b中。
(步驟S12:驗證和冗余處理)
對包括通過其數目對應于最大脈沖數目的擦除脈沖不能對其執行擦除的單元的扇區中的所有單元執行驗證。隨后用冗余存儲單元陣列Illa中包括的單元來替換未通過驗證的單元。可以用冗余存儲單元陣列Illa中包括的一系列單元來替換包括未通過驗證的單元的扇區。
現在將詳細地描述每個步驟。
(第一擦除測試)
在第一擦除測試中,由BIST控制電路13控制的地址控制器15按以下方式來選擇例如每個扇區中包括的一部分單元。
圖5是在第一擦除測試中指定的扇區中的地址序列的示例。
扇區30包括例如各自包括多個單元的塊ΒΚ0、......、BK15、BK16、......、BK31以及各自包括冗余單元的塊BK32和BK33。例如,塊BKO到BK31對應于32個輸入輸出端子10,并且從這些輸入輸出端子IO輸入的數據被寫入到塊BKO到BK31。
在上述扇區30中,地址控制器15遞增或遞減每個塊BKO到BK33中的列地址和行地址以在傾斜方向上指定地址,如圖5所示。例如,假定箭頭Al指示列地址減小的方向,而箭頭A2指示行地址減小的方向。隨后,通過遞減列地址和行地址兩者來指定圖5中所指示的地址。這樣做,會在每個塊BKO到BK33中按次序選擇在同一行地址處的單元。
用于選擇每個扇區中的一部分單元的方法不限于上述示例。例如,可以選擇在扇區的角落處的單元。
在以下描述中,假定BIST控制電路13將在塊BKO到BK15中選擇的一系列單元視為組G1,將在塊BK16到BK33中選擇的一系列單元視為組G2,并且執行擦除測試。
然而,分組的方法不限于此示例。分組可以在行方向上執行。在這種情況下,可以通過遞增或遞減列地址和行地址并且在每個組中選擇在同一列地址處的單元來執行擦除測試。
此外,假定存儲單元陣列111中的單元在第一擦除測試開始時是處于寫入狀態。
圖6指示就在第一擦除測試開始之后每個單元的狀態。
圖6指示作為驗證的對象并且被包括在屬于圖5所示的組Gl的塊BKO以及屬于圖5所示的組G2的塊BK16中的單元的狀態。黑色的單元指示其未通過驗證。白色的單元指示尚未對其執行驗證。
首先,BIST控制電路13對塊BKO和BK16中每一個的左上角的單元執行擦除驗證。然而,在其中未施加擦除脈沖的狀態下,驗證結果是未通過,如圖6中指示。直到為每個塊中的第一單元獲得通過的驗證結果之前,BIST控制電路13都添加將要施加給扇區中的所有單元的擦除脈沖并且通過計數器13a對擦除脈沖的數目進行計數。
圖7是擦除驗證的示例。
在擦除驗證時,圖3所示的存儲單元陣列111中包括的并且作為擦除驗證的對象的單元40以及參考單元陣列112中包括的用于擦除驗證的參考單元50被連接到感測放大器60,并且進行電流比較。感測放大器60被包括在例如圖3所示的存儲核心11的讀寫放大器115中。參考單元50和單元40到感測放大器60的連接是通過例如Y控制電路114來控制的。
在圖7的示例中,參考單元50和單元40是快閃存儲單元。源極區43和53以及漏極區44和54形成在P井42和52中,P井42和52分別形成在深η井41和51中。另夕卜,形成浮柵45和55以及控制柵46和56。
為了在擦除驗證時將參考單元50和單元40置于讀取狀態,連接到深η井41、ρ井42和源極區43的源極端子S以及連接到深η井51、ρ井52和源極區53的源極端子Sr被設為例如0V。此外,0.9V的電壓被施加到連接到漏極區44的漏極端子D以及連接到漏極區54的漏極端子Dr。3.5V的電壓被施加到連接到控制柵46的控制柵端子CG以及連接到控制柵56的控制柵端子CGr。
圖8是用于擦除驗證的確定標準的示例。水平軸指示柵極-源極電壓Vgs,而垂直軸指示漏極-源極電流Ids。
在參考單元50的Vgs-1ds特征中,假定在柵極-源極電壓Vgs是3.5V時,漏極-源極電流Ids是Idsr。如果作為擦除驗證的對象的單元40的漏極-源極電流Ids高于Idsr,那么感測放大器60輸出“1”,并且BIST控制電路13確定單元40已通過驗證。如果作為擦除驗證的對象的單元40的漏極-源極電流Ids低于Idsr,那么感測放大器60輸出“0”,并且BIST控制電路13確定單元40未通過驗證。
例如,當BIST控制電路13檢測到每個塊BKO到BK33中的第一單元的驗證結果是“通過”時,BIST控制電路13使地址控制器15在圖5所示的傾斜方向上指定地址。BIST控制電路13隨后對基于所指定的地址而選擇的單元執行擦除驗證。如果在組中檢測到未通過驗證的單元,那么BIST控制電路13將所述單元的地址存儲在寄存器13b中。直到在組Gl和G2中都檢測到未通過驗證的單元之前,BIST控制電路13都使地址控制器15指定地址。
圖9圖示在所有組中未通過驗證的單元在被檢測時的狀態。圖9圖示作為擦除驗證的對象并且屬于圖5所示的組Gl的塊BKO以及屬于圖5所示的組G2的塊BK16中包括的單元的狀態。其中劃有斜線的單元指示其已通過驗證。黑色的單元指示其未通過驗證。白色的單元指示尚未對其執行驗證。
如果在屬于組G2的塊BK16中檢測到未通過驗證的單元70時在屬于組Gl的每個塊中作為擦除驗證的對象的單元已全部通過驗證,那么單元70的地址被存儲在寄存器13b中并且隨后地址被指定。在屬于組Gl的塊BKO中,如圖9所示,對單元71、72和73執行擦除驗證。在圖9的示例中,做出單元73未通過驗證的確定。
當以這種方式在所有組中檢測到未通過驗證的單元時,BIST控制電路13使操作控制電路14添加擦除脈沖。之后,BIST控制電路13讀出所存儲的單元70的地址。BIST控制電路13從塊BKO到BK33中的、作為擦除驗證的對象并且其行地址與單元70的行地址相同的單元重新開始驗證,并且存儲首先被做出驗證未通過的確定的單元的地址。BIST控制電路13隨后使地址控制器15指定地址,直到BIST控制電路13在組Gl和G2中都檢測到未通過驗證的單元為止。
圖10是在第一擦除測試期間每個單元的狀態的示例。圖10指示在圖9中指示的狀態下添加擦除脈沖之后每個單元的狀態。
通過添加擦除脈沖,屬于組G2的塊BK16中的單元70通過驗證。然而,屬于組Gl的塊BKO中的單元73仍未通過驗證。如果行地址與單元73的行地址相同的組G2中的塊BK16到BK33中的單元已全部通過驗證,那么BIST控制電路13存儲單元73的地址并且使地址控制器15指定地址。
如圖10所示,對組G2中的塊BK16中的單元74和75執行擦除驗證。在圖10的示例中,做出單元75未通過驗證的確定。因此,BIST控制電路13使操作控制電路14再次添加擦除脈沖。之后,BIST控制電路13讀出所存儲的單元73的地址。BIST控制電路13從塊BKO到BK33中的、作為擦除驗證的對象并且其行地址與單元73的行地址相同的單元重新開始驗證。
通過繼續做上述處理,組中的塊中作為擦除驗證的對象的所有單元都通過驗證。
圖11圖示其中組中的塊中作為擦除驗證的對象的所有單元已通過驗證的狀態。
在圖11的示例中,組Gl中的塊BKO中作為擦除驗證的對象的所有單元都處于已通過驗證的狀態。當組Gl中的另一個塊中作為擦除驗證的對象的所有單元也處于已通過驗證的狀態時,即便組G2包括未通過驗證的單元75,對扇區30的第一擦除測試也終止。BIST控制電路13保持此時的擦除脈沖數目。
對存儲單元陣列111中的所有扇區執行上述第一擦除測試。
在上文的描述中,首先未通過驗證的單元的地址被存儲在BIST控制電路13中包括的寄存器13b中。然而,可以存儲未通過驗證的所有單元的地址。
現在將通過使用流程圖來描述第一擦除測試的流程。
圖12是第一擦除測試的示例的流程圖。
在第一擦除測試開始時,BIST控制電路13控制地址控制器15以使其重置由地址生成電路16生成的地址。因此,在圖5的示例中,在扇區30中的塊BKO到BK33中指定左上角的地址。因此,選擇通過這些地址指定的單元。
(步驟S20)BIST控制電路13將計數器13a的計數器值PC設為O。計數器值指示擦除脈沖的數目。
(步驟S21)BIST控制電路13從CAM存取控制電路20獲取保持在冗余CAM19中的壞單元的地址。(用冗余存儲單元陣列Illa中的單元)替換通過這些地址來指定的單元,所以BIST控制電路13確定所述單元的驗證結果是“通過”。
(步驟S22)BIST控制電路13通過例如圖7所示的方法來執行擦除驗證。對每個組中所選的單元按次序執行擦除驗證。在圖5的示例中,例如,在地址重置之后對屬于組Gl和G2的塊BKO到BK33中的第一單元執行擦除驗證。然而,BIST控制電路13在步驟S21中確定其驗證結果是“通過”的單元被省略。
如果BIST控制電路13在一個或多個組中檢測到未通過驗證的單元,那么BIST控制電路13前進到步驟S25。如果BIST控制電路13檢測到所有組中的所有單元都通過驗證,那么BIST控制電路13前進到步驟S23。
(步驟S23)BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元(在圖5的示例中,為通過由箭頭指示的地址所指定的在塊BKO到BK33中的所有單元)的擦除驗證是否已終止。如果BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元的擦除驗證已終止,那么BIST控制電路13前進到步驟S34。如果BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元的擦除驗證還未終止,那么BIST控制電路13前進到步驟 S24。
(步驟S24)如果BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元的擦除驗證還未終止,那么BIST控制電路13使地址控制器15指定扇區中接下來的地址。在步驟S24之后,處理從步驟S22起重復。
(步驟S25)BIST控制電路13將在步驟S22中的擦除驗證中首先未通過驗證的單元的地址存儲在寄存器13b中。BIST控制電路13可以根據組來包括一個寄存器13b或多個寄存器13b。
(步驟S26)BIST控制電路13確定在所有組中是否檢測到未通過驗證的單元。如果在所有組中檢測到未通過驗證的單元,那么BIST控制電路13前進到步驟S27。如果在所有組中未檢測到未通過驗證的單元,那么BIST控制電路13前進到步驟S31。(步驟S27)BIST控制電路13確定計數器13a的計數器值PC是否小于或等于MAX。MAX是擦除脈沖數目的上限值。如果PC彡MAX,那么BIST控制電路13前進到步驟S28。如果POMAX,那么BIST控制電路13前進到步驟S34。(步驟S28)BIST控制電路13使操作控制電路14將具有確定的寬度的擦除脈沖施加到扇區中的所有單元。由于擦除脈沖的施加,例如,-9.3V的電壓被施加到每個單元的控制柵極,并且+9.3V的電壓被施加到其P井。(步驟S29)BIST控制電路13將計數器13a的計數器值PC加I。(步驟S30)BIST控制電路13讀出未通過驗證的單元的、在步驟S25中存儲在寄存器13b中的地址。隨后,在這些地址處,處理從步驟S21起重復。(步驟S31)如果在步驟S26中做出組中的所有單元都通過驗證的確定,那么BIST控制電路13使地址控制器15指定扇區中接下來的地址。(步驟S32)BIST控制電路13對在其中未檢測到未通過驗證的單元的組中的每個塊中的單元執行擦除驗證。如果一個或多個組中的所有單元都通過驗證,那么BIST控制電路13前進到步驟S33。如果在所有組中檢測到未通過驗證的單元,那么BIST控制電路13前進到步驟S27。在圖9的示例中,例如,做出組Gl中的塊BKO中的單元73未通過驗證的確定。此時,在所有組中檢測到未通過驗證的單元。因此,執行上述步驟S27。(步驟S33)BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元的擦除驗證是否已終止。如果BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元的擦除驗證已終止,那么BIST控制電路13前進到步驟S34。如果BIST控制電路13確定對扇區中作為擦除驗證的對象的所有單元的擦除驗證還未終止,那么BIST控制電路13前進到步驟S31。(步驟S34)BIST控制電路13將指示應用上述處理的扇區中的擦除脈沖數目的值SPTCNT[sector]保持在BIST控制電路13的寄存器13b中作為計數器值PC。變量“sector”是例如扇區的數目或扇區編號。(步驟S35)BIST控制電路13確定對所有扇區的擦除驗證是否已終止。例如,BIST控制電路13參考變量“sector”。如果Sector=I,那么BIST控制電路13確定對所有扇區的擦除驗證已終止,并且終止第一擦除測試。如果BIST控制電路13確定對所有扇區的擦除驗證還未終止,那么BIST控制電路13前進到步驟S36。(步驟S36)為了對下扇區執行第一擦除測試,BIST控制電路13從變量“sector”的值減去I。BIST控制電路13隨后對下扇區從步驟S20起執行處理。(第二擦除測試)對所有扇區中的所有單元執行第二擦除測試。基于指示通過第一擦除測試找出的每個扇區中的擦除脈沖數目的值SPTCNT [sector]來對每個扇區中的所有單元執行擦除測
試。 圖13是第二擦除測試的示例的流程圖。在第二擦除測試開始時,BIST控制電路13控制地址控制器15以使其重置由地址生成電路16生成的地址。因此,選擇扇區中通過第一地址指定的單元。此外,扇區中的每個單元都處于已通過上述第一擦除測試施加了數目由SPTCNT [sector]指示的擦除脈沖的狀態下。(步驟S40)BIST控制電路13針對將被執行第二擦除測試的第一扇區在第一計數器13a中設定指示通過第一擦除測試獲得的擦除脈沖數目的SPTCNT[sector]。也就是說,BIST 控制電路 13 使 PC 等于 SPTCNT [sector]。(步驟S41)BIST控制電路13從CAM存取控制電路20獲取保持在冗余CAM19中的壞單元的地址。通過這些地址來指定的單元被替換,所以BIST控制電路13確定所述單元的驗證結果是“通過”。(步驟S42)BIST控制電路13通過例如圖7所示的方法來執行擦除驗證。在第二擦除測試中,對每個扇區中的所有單元按次序執行擦除驗證。然而,BIST控制電路13在步驟S41中確定其驗證結果是“通過”的單元被省略。如果所選單元未通過擦除驗證,那么BIST控制電路13前進到步驟S45。如果所選單元通過擦除驗證,那么BIST控制電路13前進到步驟S43。(步驟S43)BIST控制電路13確定對扇區中的所有單元的擦除驗證是否已終止。如果BIST控制電路13確定對扇區中的所有單元的擦除驗證已終止,那么BIST控制電路13前進到步驟S49。如果BIST控制電路13確定對扇區中的所有單元的擦除驗證還未終止,那么BIST控制電路13前進到步驟S44。(步驟S44)如果BIST控制電路13確定對扇區中的所有單元的擦除驗證還未終止,那么BIST控制電路13使地址控制器15指定扇區中接下來的地址。在步驟S44之后,處理從步驟S42起重復。
(步驟S45)BIST控制電路13確定計數器13a的計數器值PC是否小于或等于MAXPCtjMAXPC是通過(SPTCNT[sector] Xn(所確定的系數))來指示的最大脈沖數目。如果MAXPC大于或等于擦除脈沖數目的上限值MAX,那么認為MAXPC等于MAX。如果PC彡MAXPC,那么BIST控制電路13前進到步驟S46。如果POMAXPC,那么BIST控制電路13前進到步驟S48。或者,MAXPC可以通過((SPTCNT[sector]+V(所確定的固定值))Xn)來指示(參見稍后描述的修改)。(步驟S46)BIST控制電路13使操作控制電路14將具有確定的寬度的擦除脈沖施加到扇區中的所有單元。由于擦除脈沖的施加,例如,-9.3V的電壓被施加到每個單元的控制柵極,并且+9.3V的電壓被施加到其P井。(步驟S47)BIST控制電路13將計數器13a的計數器值PC加I并且從步驟S41起
重復處理。(步驟S48)如果POMAXPC,那么BIST控制電路13將例如存儲在寄存器13b中的標志值flag [sector]設為H,并且前進到步驟S49。(步驟S49)BIST控制電路13確定對所有扇區的擦除驗證是否已終止。例如,BIST控制電路13參考變量“sector”。如果Sector=I,那么BIST控制電路13確定對所有扇區的擦除驗證已終止,并且終止第二擦除測試。如果BIST控制電路13確定對所有扇區的擦除驗證還未終止,那么BIST控制電路13前進到步驟S50。(步驟S50)為了對下扇區執行第二擦除測試,BIST控制電路13從變量“sector”的值減去I。BIST控制電路13隨后對下一個扇區從步驟S40起執行處理。(驗證和冗余處理)對標志值flag [sector]為H的扇區中的所有單元執行驗證和冗余處理。圖14是驗證和冗余處理的示例的流程圖。在驗證和冗余處理開始時,BIST控制電路13控制地址控制器15以使其重置由地址生成電路16生成的地址。因此,指定扇區中的第一地址,并且選擇通過這些地址指定的單元。(步驟S60)BIST控制電路13從例如寄存器13b讀出扇區的標志值flag[sector]并且確定flag [sector]是否為H。如果flag [sector]為H,那么BIST控制電路13前進到步驟S62。如果flag [sector]不為H,那么BIST控制電路13前進到步驟S61。(步驟S61)BIST控制電路13從變量“sector”的值減去I。BIST控制電路13隨后針對下一個扇區對標志值flag[sector]做出在步驟S60中描述的確定。(步驟S62)BIST控制電路13從CAM存取控制電路20獲取保持在冗余CAM19中的壞單元的地址。通過在所選扇區中的這些地址來指定的單元被替換,所以BIST控制電路13確定所述單元的驗證結果是“通過”。(步驟S63)BIST控制電路13通過例如圖7所示的方法來執行擦除驗證。對flag[sector]為H的扇區中的所有單元按次序地執行擦除驗證。然而,BIST控制電路13在步驟S62中確定其驗證結果是“通過”的單元被省略。如果所選單元未通過擦除驗證,那么BIST控制電路13前進到步驟S66。如果所選單元通過擦除驗證,那么BIST控制電路13前進到步驟S64。(步驟S64)BIST控制電路13確定對扇區中的所有單元的擦除驗證是否已終止。如果BIST控制電路13確定對扇區中的所有單元的擦除驗證已終止,那么BIST控制電路13前進到步驟S68。如果BIST控制電路13確定對扇區中的所有單元的擦除驗證還未終止,那么BIST控制電路13前進到步驟S65。(步驟S65)如果BIST控制電路13確定對扇區中的所有單元的擦除驗證還未終止,那么BIST控制電路13使地址控制器15指定扇區中接下來的地址。在步驟S65之后,處理從步驟S63起重復。(步驟S66)BIST控制電路13詢問CAM存取控制電路20是否可以替換未通過驗證的單元。例如,如果在冗余存儲單元陣列Illa中仍有替換單元,那么CAM存取控制電路20確定可以替換未通過驗證的單元。因此,執行步驟S67。例如,如果未留有替換單元,那么CAM存取控制電路20確定不可以替換未通過驗證的單元,并且驗證和冗余處理終止(故
障停止)。(步驟S67)在BIST控制電路13的控制下,CAM存取控制電路20執行冗余處理以用于用冗余存儲單元陣列Illa中的單元來替換未通過驗證的單元。此時,未通過驗證的單元的地址被存儲在冗余CAM19中。當指定此單元的地址時,冗余電路116在冗余存儲單元陣列Illa中選擇用來替換此單元的單元。(步驟S68)BIST控制電路13確定對所有扇區的擦除驗證是否已終止。例如,BIST控制電路13參考變量“sector”。如果Sector=I,那么BIST控制電路13確定對flag[sector]為H的所有扇區的擦除驗證已終止,并且終止驗證和冗余處理。如果BIST控制電路13確定對flag[sector]為H的所有扇區的擦除驗證還未終止,那么BIST控制電路13前進到步驟S69。(步驟S69)BIST控制電路13從變量“sector”的值減去1,并且對下一個扇區從步驟S60起執行處理。當執行第一擦除測試時,可能存在需要特別長時間才能擦除的單元。甚至在這種情況下,上述技術仍可以防止在第二擦除測試中應用的擦除脈沖數目受其影響而增加。也就是說,可以防止由于一部分單元需要長時間才能擦除而導致在第二擦除測試時驗證閾值升高和驗證標準放松。因此,可以準確地驗證出需要長時間才能擦除的單元。憑借通過冗余處理來替換此種單元,可以減少用于半導體存儲器的實際擦除時間。此外,可以提高半導體存儲器的可靠性。另外,如圖5所示,例如,地址控制器15在第一擦除測試時通過同一種方法(通過遞增或遞減列地址和行地址)來指定扇區30中的塊BKO到BK33中的地址。因此,通過地址控制器15執行的處理可以得到簡化,并且可以控制電路規模的增加。(修改)圖15圖示根據第二實施例的半導體存儲器的修改。圖15中與圖3所示的半導體存儲器10的那些部件相同的部件用相同的數字來標記。除了計數器13a和寄存器13b之外,半導體存儲器IOa中包括的BIST控制電路130還包括加法器13c。加法器13c可以位于BIST控制電路130之外。加法器13c將固定的脈沖數目加到SPTCNT [sector]上,SPTCNT [sector]是通過第一擦除測試獲得的擦除脈沖數目。例如,將被加到SPTCNT [sector]上的固定值可以經由端子IN從外部被設為大于或等于O的值。如果使用固定的值,那么通過將(SPTCNT [sector]+ (固定值))與(系數η)相乘而獲得的值被用作第二擦除測試中的最大脈沖數目(MAXPC)。例如,如果一個組中的單元通過第一擦除測試中的驗證遠早于另一個組中的單元,那么SPTCNT [sector]的值過小。因此,可能會出現許多在第二擦除測試中未通過驗證的單元。因此,會涉及到被替換的單元的數目等。如果這個數目過大,那么將固定的值加到SPTCNT [sector]上。這樣做,可以控制用作第二擦除測試中的驗證閾值的擦除脈沖數目。所述固定值基于(例如)過去的擦除測試的結果憑經驗來設定。根據所公開的半導體存儲器測試方法和半導體存儲器,可以防止因需要長時間才能擦除的存儲單元的影響而造成擦除測試時的驗證標準的放松,并且可以防止半導體存儲器的可靠性降低。
權利要求
1.一種半導體存儲器測試方法,包括: 通過將擦除脈沖施加到存儲單元陣列中包括的并且被分成多個組的存儲單元系列來執行第一擦除測試,直到出現被做出擦除完成的確定的組為止;以及 基于在檢測到首先被做出擦除完成的確定的組時的擦除脈沖數目來對包括所述存儲單元系列在內的存儲單元的其他系列執行第二擦除測試。
2.根據權利要求1所述的半導體存儲器測試方法,其中: 所述存儲單元系列是所述存儲單元陣列的扇區中的一部分存儲單元;以及 所述存儲單元的其他系列是所述扇區中的所有存儲單元。
3.根據權利要求2所述的半導體存儲器測試方法,其中所述擦除脈沖數目是根據扇區來找出的。
4.根據權利要求1到3中任一項所述的半導體存儲器測試方法,其中當執行所述第一擦除測試時,通過遞增或遞減所述存儲單元陣列中的行地址和列地址,針對同行地址或同列地址處的多個組中的存儲單元來驗證擦除是否完成。
5.根據權利要求1所述的半導體存儲器測試方法,其中所述第二擦除測試是用通過將所述擦除脈沖數目乘以確定的系數而獲得的值作為擦除脈沖數目上限來執行的。
6.根據權利要求1所述的半導體存儲器測試方法,其中所述第二擦除測試是基于通過將確定的值加到所述擦除脈沖數目上而獲得的值來執行的。
7.根據權利要求6所述的半導體存儲器測試方法,其中所述第二擦除測試是用通過使通過將所述確定的值加到所述擦除脈沖數目上而獲得的所述值乘以確定的系數而獲得的值作為擦除脈沖數目上限來執行的。
8.根據權利要求1所述的半導體存儲器測試方法,其中所述第一擦除測試包括: 通過使用第一擦除脈沖數目來驗證對所述多個組中所包括的第一組和第二組中所包括的存儲單元系列是否完成擦除; 在檢測到對所述第一組中包括的第一存儲單元未完成擦除時,將所述第一存儲單元的行地址和列地址存儲在寄存器中; 通過遞增或遞減所述存儲單元陣列中的行地址和列地址,通過使用所述第一擦除脈沖數目來對所述第二組執行驗證; 在檢測到對所述第二組中包括的第二存儲單元未完成擦除時讀出所述寄存器中存儲的所述第一存儲單元的行地址和列地址;以及 基于所讀出的所述行地址和所述列地址通過使用第二擦除脈沖數目來對所述第一組和所述第二組執行驗證,所述第二數目大于所述第一數目。
9.一種半導體存儲器,包括: 存儲單元陣列;以及 測試控制電路,所述測試控制電路控制所述半導體存儲器以便通過將擦除脈沖施加到所述存儲單元陣列中包括的并且被分成多個組的存儲單元系列來執行第一擦除測試,直到出現被做出擦除完成的確定的組為止,并且以便基于在檢測到首先被做出擦除完成的確定的組時的擦除脈沖數目來對包括所述存儲單元系列在內的存儲單元的其他系列執行第二擦除測試。
全文摘要
本發明公開了半導體存儲器測試方法和半導體存儲器。通過將擦除脈沖施加到存儲單元陣列中包括的并且被分成多個組的存儲單元系列來執行第一擦除測試,直到出現被做出擦除完成的確定的組為止。基于在檢測到首先被做出擦除完成的確定的組時的擦除脈沖數目來對包括所述存儲單元系列在內的存儲單元的其他系列執行第二擦除測試。
文檔編號G11C29/12GK103187102SQ201210530440
公開日2013年7月3日 申請日期2012年12月10日 優先權日2011年12月28日
發明者森郁, 柳下良昌, 青木一 申請人:富士通半導體股份有限公司