TWI797946B - 記憶體裝置之偵錯方法 - Google Patents
記憶體裝置之偵錯方法 Download PDFInfo
- Publication number
- TWI797946B TWI797946B TW111100247A TW111100247A TWI797946B TW I797946 B TWI797946 B TW I797946B TW 111100247 A TW111100247 A TW 111100247A TW 111100247 A TW111100247 A TW 111100247A TW I797946 B TWI797946 B TW I797946B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- memory cells
- programming
- memory block
- error
- Prior art date
Links
Images
Landscapes
- Read Only Memory (AREA)
- Debugging And Monitoring (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本揭示提供一種記憶體裝置之偵錯方法。其中記憶體裝置包括多個記憶體區塊,各記憶體區塊具有多條字元線連接於多個記憶晶胞,偵錯方法包括以下步驟。對於各字元線連接的記憶晶胞執行多次編程操作,以將記憶晶胞編程為多個編程位準狀態。對於記憶晶胞執行多次驗證操作,以分別驗證編程位準狀態。當編程位準狀態其中一者的驗證操作的驗證次數大於該編程位準狀態對應的上限次數,標記字元線為錯誤字元線。
Description
本揭示係關於一種半導體裝置之偵錯方法,特別有關於一種用於偵測記憶體裝置的編程操作異常的方法。
在製造過程中的不確定因素,可能導致記憶體裝置的硬體元件發生缺陷(defects);並且,在記憶體裝置的使用過程中,執行多次的編程/擦除的循環週期後,亦可能使記憶體裝置逐漸損耗。無論是製造過程中導致的缺陷或使用過程中的損耗,都可能造成記憶體裝置的儲存資料錯誤。
在最嚴重的狀況中,記憶體裝置的已發生異常而導致寫入記憶體裝置的已編程資料發生錯誤;但記憶體裝置的其中一些編程位準狀態仍然通過驗證,因而誤判此些已編程資料是正確的。而後,此些已編程資料被讀取,然而,已編程資料中的錯誤無法藉由錯誤更正機制(例如,錯誤更正碼(ECC))進行更正或回復。
針對於上述技術問題,本技術領域之相關產業之技術人員係致力於更早期的偵測出記憶體裝置的異常狀況,並對於偵測為異常的記憶體區塊(或字元線)進行隔離以保護編程資料。
根據本揭示之一方面,係提供一種記憶體裝置之偵錯方法,其中記憶體裝置包括多個記憶體區塊,各記憶體區塊具有多條字元線連接於多個記憶晶胞,偵錯方法包括以下步驟。對於各字元線連接的記憶晶胞執行多次編程操作,以將記憶晶胞編程為多個編程位準狀態。對於記憶晶胞執行多次驗證操作,以分別驗證編程位準狀態。當編程位準狀態其中一者的驗證操作的驗證次數大於該編程位準狀態對應的上限次數,標記字元線為錯誤字元線。
根據本揭示之另一方面,係提供一種記憶體裝置之偵錯方法,其中記憶體裝置包括多個記憶體區塊,各記憶體區塊具有多條字元線連接於多個記憶晶胞,偵錯方法包括以下步驟。對於各字元線連接的記憶晶胞執行多次編程操作,以將記憶晶胞編程為多個編程位準狀態。對於記憶晶胞執行多次驗證操作,以分別驗證編程位準狀態。當編程位準狀態其中一者通過驗證的記憶晶胞數量小於下限數量,標記字元線為錯誤字元線。
根據本揭示之又一方面,係提供一種記憶體裝置之偵錯方法,其中記憶體裝置包括多個記憶體區塊,記憶體區塊至少包括第一記憶體區塊及第二記憶體區塊,偵錯方法包括以下步驟。對於第一記憶體區塊的多個記憶晶胞及第二記憶體區塊的多個記憶晶胞執行多次編程操作,以將第一記憶體區塊的記憶晶胞及第二記憶體區塊的記憶晶胞編程為多個編程位準狀態。對於第一記憶體區塊的記憶晶胞及第二記憶體區塊的記憶晶胞執行多次驗證操作,以分別驗證編程位準
狀態。當第一記憶體區塊及第二記憶體區塊的相同的編程位準狀態的驗證操作的驗證次數的差值大於標準次數,將第一記憶體區塊及/或第二記憶體區塊標記為錯誤記憶體區塊。
透過閱讀以下圖式、詳細說明以及申請專利範圍,可見本揭示之其他方面以及優點。
100,200,101,102:記憶晶胞
101a,101b,102a,102b:記憶晶胞
104a,104b,101c:記憶晶胞
1000:記憶體裝置
BLK1,BLK2,BLK3,BLK4:記憶體區塊
BLKn,BLKn-1:記憶體區塊
WL1-1,WL1-2,WL1-3:字元線
WL1-(m-2),WL1-(m-1),WL1-m:字元線
S0:擦除狀態
A,B,C,D,E,F,G:編程位準狀態
A1,A2,A8,A9,A10,A11:位準狀態
Vv-A,Vv-B,Vv-C,Vv-D:驗證參考電壓
Vv-E,Vv-F,Vv-G:驗證參考電壓
Vt:臨界電壓
NL:編程迴圈的次數
NV,NV1,NV2:驗證次數
df_NV:驗證次數的差值
Nd:預定次數
Nmax,Nmax-A,Nmax-B:上限次數
Nmax-C,Nmax-E:上限次數
Cmin:下限數量
PGM_data1,PGM_data2,PGM_data3:已編程資料
S110~S170,S210~S270,S310~S350:步驟
第1A圖為本揭示一實施例之偵錯方法應用的記憶體裝置之示意圖。
第1B圖為第1A圖之記憶體裝置的記憶體區塊的電路圖。
第2圖為記憶體裝置執行編程操作後的不同編程位準狀態的臨界電壓分布的示意圖。
第3A~3C圖為其中一編程位準狀態的編程操作與驗證操作的示意圖。
第4圖為執行多次編程迴圈以使其中一編程位準狀態通過驗證的示意圖。
第5圖為不同編程位準狀態的驗證參考電壓以及驗證次數的示意圖。
第6圖為本揭示一實施例之偵錯方法中,讀取錯誤字元線的已編程資料並寫入另一字元線的示意圖。
第7圖為本揭示一實施例之偵錯方法中,讀取錯誤記憶體區塊的已編程資料並寫入另一記憶體區塊的示意圖。
第8A~8C圖為本揭示另一實施例之偵錯方法中,分析通過驗證的記憶晶胞數量的示意圖。
第9圖為本揭示又一實施例之偵錯方法中,比較兩個記憶體區塊各自的驗證次數的示意圖。
第10圖為本揭示一實施例之偵錯方法的流程圖。
第11圖為本揭示另一實施例之偵錯方法的流程圖。
第12圖為本揭示又一實施例之偵錯方法的流程圖。
本說明書的技術用語係參照本技術領域之習慣用語,如本說明書對部分用語有加以說明或定義,該部分用語之解釋係以本說明書之說明或定義為準。本揭露之各個實施例分別具有一或多個技術特徵。在可能實施的前提下,本技術領域具有通常知識者可選擇性地實施任一實施例中部分或全部的技術特徵,或者選擇性地將這些實施例中部分或全部的技術特徵加以組合。
第1A圖為本揭示一實施例之偵錯方法應用的記憶體裝置1000之示意圖,第1B圖為第1A圖之記憶體裝置1000的記憶體區塊BLK1的電路圖。請同時參見第1A、1B圖,記憶體裝置1000包括複數個記憶體區塊BLK1~BLKn,並且記憶體區塊BLK1~BLKn的每一者具有複數條字元線。例如,記憶體區塊BLK1具有字元線WL1-1~WL1-m。
並且,字元線WL1-1~WL1-m的每一者連接於複數個記憶晶胞。例如,字元線WL1-1連接於複數個記憶晶胞100,
字元線WL1-2連接於複數個記憶晶胞200。在本實施例中,記憶晶胞100、200中的每一個記憶晶胞例如為多階記憶晶胞,其可儲存多位元的資料。
第2圖為記憶體裝置1000執行編程操作後的不同編程位準狀態A~G的臨界電壓分布的示意圖。請參見第2圖(並配合參見第1B圖),以記憶體裝置1000之記憶體區塊BLK1的字元線WL1-1為例,字元線WL1-1連接的全部的記憶晶胞100原處於擦除狀態(erase state)「S0-state」(以下簡稱為擦除狀態S0),擦除狀態S0例如對應於三位元資料「1、1、1」。在一種示例中,記憶體裝置1000例如為浮動閘極記憶體(floating gate memory)或電荷獲取記憶體(charge trapping memory),當對於記憶體裝置1000的記憶晶胞100執行編程操作(programming operation)時,可施加複數次的編程脈衝(programming pulse)於記憶晶胞100的控制閘極(control gate)使記憶晶胞100的浮動閘極(floating gate)的電荷數量改變,以將記憶晶胞100的臨界電壓Vt提升至不同位準的電壓分布,致使記憶晶胞100處於不同的編程位準狀態(programming-level state)。在其他示例中,記憶體裝置1000亦可為其他形式的非揮發式記憶體。施加複數次的編程脈衝後,使得上述非揮發式記憶體形式的記憶體裝置1000的記憶晶胞100的臨界電壓Vt提升至不同的編程位準狀態。
以記憶晶胞100為三階記憶晶胞(triple level cell,TLC)為示例,在執行複數次編程操作後,記憶晶胞100可編程為
七個編程位準狀態。例如,記憶晶胞100中一部分的記憶晶胞101可編程為較低位準的編程位準狀態「A-state」(亦可稱為「A-level」,以下簡稱為「編程位準狀態A」)。並且,記憶晶胞100中另一部分的記憶晶胞102可編程為次低位準的編程位準狀態「B-state」(亦可稱為「B-level」,以下簡稱為「編程位準狀態B」)。依此類推,記憶晶胞100中又一部分的記憶晶胞107可編程為較高位準的編程位準狀態「G-state」(亦可稱為「G-level」,以下簡稱為編程位準狀態G)。
第3A~3C圖為編程位準狀態A的編程操作與驗證操作的示意圖。請先參見第3A圖,本實施例之偵錯方法可先從較低位準的編程位準狀態A開始執行。記憶晶胞100中一部分的記憶晶胞101欲編程的目標為編程位準狀態A,此些記憶晶胞101原處於擦除狀態S0。
對於記憶晶胞101執行一次編程操作以施加一次的編程脈衝後,可提升記憶晶胞101的臨界電壓Vt;並且,執行一次的驗證操作(verifying operation)以確認記憶晶胞101的臨界電壓Vt是否大於驗證參考電壓(verification reference voltage)Vv-A。施加一次的編程脈衝並搭配執行一次的驗證操作,係稱為一次的「編程迴圈(programming loop)」。
執行多次的編程迴圈(例如八次的編程迴圈)後,記憶晶胞101由擦除狀態S0提升至暫時的(或中間的)位準狀態A8。此時,處於位準狀態A8時,執行編程迴圈的次數「NL」=8。並
且,執行驗證操作的次數「NV」(即,驗證次數「NV」)=8。記憶晶胞101處於暫時的位準狀態A8時,其中一部分的記憶晶胞101b的臨界電壓Vt大於驗證參考電壓Vv-A而通過驗證。然而,記憶晶胞101的另一部分的記憶晶胞101a的臨界電壓Vt仍小於驗證參考電壓Vv-A而尚未通過驗證。因此,必須執行更多次的編程迴圈以進一步提升記憶晶胞101的臨界電壓Vt。
接著,參見第3B圖,執行第九次的編程迴圈後(此時,編程迴圈的次數NL=9並且驗證次數NV=9),記憶晶胞101提升為位準狀態A9。當處於位準狀態A9時全部的記憶晶胞101的臨界電壓Vt皆大於驗證參考電壓Vv-A而全部通過驗證,則記憶晶胞101完成編程。位準狀態A9即為目標的編程位準狀態A(即,第3B圖所示的「A-state」)。
在本揭示的偵錯方法中,可對於編程位準狀態A~G分別設定各自對應的上限次數Nmax,例如,對於編程位準狀態A可設定上限次數Nmax-A。可比較編程位準狀態A的驗證次數NV是否大於編程位準狀態A對應的上限次數Nmax-A。(在另一種示例中,亦可比較編程位準狀態A對應的編程迴圈的次數NL是否大於編程位準狀態A對應的上限次數Nmax-A)。當驗證次數NV大於上限次數Nmax-A,(即,驗證次數過多),表示編程位準狀態A的編程操作異常,可判斷記憶晶胞101及/或連接於記憶晶胞101的字元線WL1-1可能具有硬體元件之缺陷(defects)而運作異常。例如,字元線WL1-1與相鄰的字元線可能發生短路,或字元
線WL1-1與通道區域(channel)可能發生短路。本實施例將編程位準狀態A的上限次數Nmax-A設定為「10」,而編程位準狀態A之驗證次數NV=9係小於上限次數Nmax-A=10,表示編程位準狀態A之編程操作正常,並可判斷連接於記憶晶胞101的字元線WL1-1運作正常;即,判斷字元線WL1-1為正常的字元線(“healthy”word line)。
然而,如第3C圖所示,若字元線WL1-1運作異常,可能導致較多數量之具有缺陷的記憶晶胞101c。具有缺陷的記憶晶胞101c可稱為「缺陷位元(“slow”bits或“tail”bits)」。此些記憶晶胞101c的臨界電壓Vt仍然低於驗證參考電壓Vv-A而無法通過驗證,因而需要執行更多次的編程迴圈。
接著,請參見第4圖,其繪示執行多次編程迴圈以使編程位準狀態A通過驗證的示意圖。若字元線WL1-1運作異常,則例如需要執行十一次的編程迴圈(編程迴圈的次數NL=11並且驗證次數NV=11)才能使全部的記憶晶胞101通過驗證。此時,編程位準狀態A(即,第4圖所示的「A-state」)的驗證次數NV=11大於上限次數Nmax-A=10,表示驗證次數過多。因而,可判斷編程位準狀態A的編程操作失敗(fail)或異常,並回報「異常編程操作之狀況」的訊息。並可判斷連接於記憶晶胞101的字元線WL1-1可能具有硬體元件缺陷而導致運作異常,且將字元線WL1-1標記為錯誤字元線(error WL或“risky”WL)。
第5圖為不同編程位準狀態A~G的驗證參考電壓
Vv-A~Vv-G以及驗證次數NV的示意圖。請參見第5圖,記憶晶胞100分別編程為七個編程位準狀態A~G,並根據驗證參考電壓Vv-A~Vv-G分別進行驗證操作。可分別比較編程位準狀態A~G各自的驗證次數NV是否大於各自對應的上限次數Nmax。其中,不同編程位準狀態可具有不同的上限次數Nmax,例如,編程位準狀態A對應的上限次數Nmax-A=10,編程位準狀態B對應的上限次數Nmax-B=9,編程位準狀態C對應的上限次數Nmax-C=8,...,編程位準狀態E對應的上限次數Nmax-E=11,...,等等。當編程位準狀態A~G其中任一者的驗證次數NV大於上限次數Nmax,可判斷連接於記憶晶胞100的字元線WL1-1可能具有硬體元件缺陷而導致運作異常,並將字元線WL1-1標記為錯誤字元線。例如,編程位準狀態A的驗證次數NV=11大於程位準狀態A對應的上限次數Nmax-A=10,並且,編程位準狀態E的驗證次數NV=12亦大於程位準狀態E對應的上限次數Nmax-E=11,可判斷連接於記憶晶胞100的字元線WL1-1運作異常。
在一種示例中,當較低位準的編程位準狀態的驗證次數NV大於上限次數Nmax,可立即停止或終止(terminate)字元線WL1-1的記憶晶胞100的編程操作,不對於更高位準的編程位準狀態進行編程操作。例如,編程位準狀態A的驗證次數NV=11大於程位準狀態A對應的上限次數Nmax-A=10,則更高位準的編程位準狀態B~G不進行編程操作。
在另一種示例中,可根據前一個編程位準狀態的驗證結果以及目前的編程位準狀態驗證結果來判斷編程操作是否異常。例如,若前一個編程位準狀態A已經通過驗證,而目前的編程位準狀態B的驗證次數NV=9已達到編程位準狀態B對應的上限次數Nmax=9但仍未通過驗證,可判斷編程操作異常。
第6圖為本揭示一實施例之偵錯方法中,讀取錯誤字元線的已編程資料並寫入另一字元線的示意圖。請參見第6圖,當編程位準狀態A~G其中任一者的驗證次數NV大於上限次數Nmax,可將字元線WL1-1標記為錯誤字元線,並讀取錯誤字元線WL1-1連接的記憶晶胞100中的已編程資料PGM_data1,且將已編程資料PGM_data1寫入另一條字元線。例如,字元線WL1-2係正常運作,可將已編程資料PGM_data1寫入字元線WL1-2連接的記憶晶胞200,以保存(preserve)已編程資料PGM_data1,具有保護正確資料與資料回復(recovery)的功效。
第7圖為本揭示一實施例之偵錯方法中,讀取錯誤記憶體區塊的已編程資料並寫入另一記憶體區塊的示意圖。請參見第7圖,可將錯誤字元線WL1-1所屬的記憶體區塊BLK1標記為錯誤記憶體區塊,並且停止錯誤記憶體區塊BLK1的所有字元線WL1-1~WL1-m連接的記憶晶胞的編程操作。再者,可讀取錯誤記憶體區塊BLK1的記憶晶胞中的已編程資料PGM_data2,將已編程資料PGM_data2寫入另一記憶體區塊。例如,記憶體區塊
BLK2係正常運作,則將已編程資料PGM_data2寫入記憶體區塊BLK2以保存已編程資料PGM_data2。
第8A~8C圖為本揭示另一實施例之偵錯方法中,分析通過驗證的記憶晶胞數量的示意圖。在第8A~8C圖的實施例中,可根據通過驗證的記憶晶胞的數量判斷編程操作是否異常。請先參見第8A圖(並配合參見第1B圖),編程位準狀態A的記憶晶胞101的編程迴圈的預定次數Nd可設定為「6」。當記憶晶胞101執行六次的編程迴圈後(編程迴圈的次數NL=6)已達到預定次數Nd=6,則分析記憶晶胞101中通過驗證(即,臨界電壓Vt大於驗證參考電壓Vv-A)的記憶晶胞101b的數量。當記憶晶胞101b的數量小於或等於下限數量Cmin,可判斷記憶晶胞101的編程操作失敗,並判斷記憶晶胞101連接的字元線WL1-1運作異常,且將字元線WL1-1標記為錯誤字元線。
在一種示例中(類似於第6圖之示例),當通過驗證的記憶晶胞101b的數量小於或等於下限數量Cmin,更可停止錯誤字元線WL1-1連接的全部的記憶晶胞100的編程操作。並且,進一步的讀取錯誤字元線WL1-1連接的記憶晶胞100中的已編程資料PGM_data1,且將已編程資料PGM_data1寫入正常運作的另一字元線(例如字元線WL1-2)連接的記憶晶胞200,以保存已編程資料PGM_data1。
在另一種示例中(類似於第7圖之示例),當通過驗證的記憶晶胞101b的數量小於或等於下限數量Cmin,更可將錯
誤字元線WL1-1所屬的記憶體區塊BLK1標記為錯誤記憶體區塊,並且停止編程錯誤記憶體區塊BLK1的所有字元線連接的記憶晶胞。並且,進一步的讀取錯誤記憶體區塊BLK1的記憶晶胞中的已編程資料PGM_data2,將已編程資料PGM_data2寫入正常運作的另一記憶體區塊(例如記憶體區塊BLK2)的記憶晶胞,以保存已編程資料PGM_data2。
在其他的示例中,亦可針對編程位準狀態A~G分別設定不同的編程迴圈的預定次數Nd以及不同的下限數量Cmin。例如,編程位準狀態B、D的編程迴圈的預定次數Nd分別為「5」、「7」。如第8B圖所示,當編程位準狀態B的編程迴圈的次數NL=5已達到預定次數Nd=5,則比較記憶晶胞102中通過驗證的記憶晶胞102b的數量是否小於下限數量Cmin=25000。另一方面,如第8C圖所示,當編程位準狀態D的編程迴圈的次數NL=7已達到預定次數Nd=7,則比較記憶晶胞104中通過驗證的記憶晶胞104b的數量是否小於下限數量Cmin=45000。
此外,亦可根據記憶體裝置1000的狀態而調整編程迴圈的預定次數Nd。例如,當記憶體裝置1000被使用較長時間而處於生命週期的晚期(end of life)時,可將編程迴圈的預定次數Nd設定為較小的數值。
相較於第3A~3C、4圖之偵錯方法,第8A~8C圖之偵錯方法可更早期的偵測出編程操作異常。以編程位準狀態A為例,在第8A圖的示例中,當編程迴圈的次數NL達到預定次數
Nd=6時,可立即檢查通過驗證的記憶晶胞101b的數量是否過少。然而,在第3B圖的示例中,必須等待全部的記憶晶胞101都通過驗證之後,始確認驗證次數NV是否過多。換言之,第8A圖的示例可較早期的在編程迴圈的次數NL=6時立即進行檢查,但第3B圖的示例可能經過更多次的編程迴圈(例如,編程迴圈的次數NL=9)後才進行判斷。
第9圖為本揭示又一實施例之偵錯方法中,比較兩個記憶體區塊各自的驗證次數的示意圖。請參見第9圖,可對於記憶體裝置1000中的記憶體區塊BLK1~BLKn分別執行編程操作,並執行驗證操作以驗證編程位準狀態,且進一步分析其中兩個記憶體區塊的相同的編程位準狀態的驗證次數。例如,分析記憶體區塊BLK1的編程位準狀態A的驗證次數「NV1」(例如NV1=10),並且分析記憶體區塊BLK2的相同的編程位準狀態A的驗證次數「NV2」(例如NV2=13)。並計算驗證次數NV1與驗證次數NV2之間的驗證次數的差值「df_NV」=3,且設定一標準次數「Ns」,例如標準次數Ns設定為「2」。
當驗證次數的差值df_NV=3大於標準次數Ns=2,可判斷記憶體區塊BLK1、BLK2至少其中一者的編程操作異常。在一種示例中,由於記憶體區塊BLK2的驗證次數NV2=13大於記憶體區塊BLK1的驗證次數NV1=10,可判斷驗證次數較大的記憶體區塊BLK2為異常,並將記憶體區塊BLK2標記為錯誤記憶體區塊。在另一種示例中,可能記憶體區塊BLK1與記憶體區
塊BLK2兩者的編程操作皆為異常,則將記憶體區塊BLK1、BLK2兩者皆標記為錯誤記憶區塊。
更可停止錯誤記憶體區塊BLK2的記憶晶胞(第9圖中未顯示記憶晶胞)的編程操作,並讀取錯誤記憶體區塊BLK2的記憶晶胞中的已編程資料PGM_data3,且將已編程資料PGM_data3寫入另一記憶體區塊的記憶晶胞。例如,記憶體區塊BLK4為運作正常的區塊,可將已編程資料PGM_data3寫入記憶體區塊BLK4,以保存已編程資料PGM_data3。在另一種示例中,當記憶體區塊BLK1、BLK2兩者皆為錯誤記憶區塊時,停止錯誤記憶體區塊BLK1、BLK2的記憶晶胞的編程操作。
第10圖為本揭示一實施例之偵錯方法的流程圖,係對應於第3A~3C、4~7圖示意的實施例。請參見第10圖,在步驟S110,對於記憶晶胞100(以三階記憶晶胞為例)執行編程操作以編程為編程位準狀態A~G,並執行驗證操作以分別驗證編程位準狀態A~G。而後,在步驟S120,判斷編程位準狀態A~G各自的驗證次數NV是否大於編程位準狀態A~G各自對應的上限次數Nmax。例如,判斷編程位準狀態A的驗證次數NV是否大於編程位準狀態A對應的上限次數Nmax-A,判斷編程位準狀態B的驗證次數NV是否大於編程位準狀態B對應的上限次數Nmax-B,等等。當編程位準狀態A~G各自的驗證次數NV小於或等於編程位準狀態A~G各自對應的上限次數Nmax,可判斷編程操作正常,則執行步驟S130:對於記憶晶胞100繼續執行編程操作。
另一方面,在步驟S120中當編程位準狀態A~G各自的驗證次數NV大於編程位準狀態A~G各自對應的上限次數Nmax,可判斷編程操作異常,則執行步驟S140:停止連接記憶晶胞100的字元線WL1-1的編程操作,並將字元線WL1-1標記為錯誤字元線。而後,執行步驟S150,讀取錯誤字元線WL1-1的已編程資料,並寫入另一字元線。
或者,在步驟S120中當編程位準狀態A~G各自的驗證次數NV大於編程位準狀態A~G各自對應的上限次數Nmax,亦可執行步驟S160:停止字元線WL1-1所屬的記憶體區塊BLK1的編程操作,並將記憶體區塊BLK1標記為錯誤記憶體區塊。而後,執行步驟S170,讀取錯誤記憶體區塊BLK1中的已編程資料,並寫入另一正常運作的記憶體區塊。
第11圖為本揭示另一實施例之偵錯方法的流程圖,係對應於第8A~8C圖示意的實施例。第11圖之方法流程大致相同於第10圖之方法流程,差異在於第11圖之步驟S220。在步驟S220中,判斷編程位準狀態A~G其中一者通過驗證的記憶晶胞數量是否小於下限數量Cmin。若大於或等於下限數量Cmin,可判斷編程操作正常,則執行步驟S230。另一方面,若小於下限數量Cmin,可判斷編程操作異常,則執行步驟S240。
第12圖為本揭示又一實施例之偵錯方法的流程圖,係對應於第9圖示意的實施例。請參見第12圖,在步驟S310,對於記憶體裝置1000的第一記憶體區塊BLK1及第二記憶體區
塊BLK2的記憶晶胞執行編程操作,以使第一記憶體區塊BLK1及第二記憶體區塊BLK2的記憶晶胞具有複數個編程位準狀態A~G(以三階記憶晶胞為例)。並且,對於第一記憶體區塊BLK1及第二記憶體區塊BLK2執行驗證操作,以分別驗證該些編程位準狀態A~G。
而後,在步驟S320,判斷第一記憶體區塊BLK1的驗證次數NV1與第二記憶體區塊BLK2的相同編程位準狀態(例如相同為編程位準狀態A)的驗證次數NV2之間的差值df_NV是否大於標準次數Ns。當驗證次數的差值df_NV小於或等於標準次數Ns,可判斷編程操作正常,則執行步驟S330:對於第一記憶體區塊BLK1與第二記憶體區塊BLK2繼續執行編程操作。
另一方面,當驗證次數的差值df_NV大於標準次數Ns,可判斷編程操作異常,則執行步驟S340:將驗證次數較大的記憶體區塊(例如第二記憶體區塊BLK2)標記為錯誤記憶體區塊,並停止錯誤記憶體區塊BLK2的編程操作。在另一種示例中,當第一記憶體區塊BLK1及第二記憶體區塊BLK2兩者的編程操作皆為異常,則將記憶體區塊BLK1、BLK2兩者皆標記為錯誤記憶體區塊,並停止錯誤記憶體區塊BLK1、BLK2兩者的編程操作。
。而後,執行步驟S350:讀取錯誤記憶體區塊BLK2中的已編程資料,並將已編程資料寫入另一個正常運作的記憶體區塊。
根據上述各實施例,本揭示之用於記憶體裝置1000之偵錯方法可分析不同的編程位準狀態各自的驗證次數NV或編程迴圈的次數NL是否過多(超過編程位準狀態各自對應的上限次數Nmax),據以判斷編程操作是否異常並判斷字元線是否異常。亦可分析特定的編程位準狀態中通過驗證的記憶晶胞的數量是否過少(小於下限數量Cmin),或分析兩個記憶體區塊的驗證次數之間的差值(或分析編程迴圈的次數之間的差值)是否過大(超過標準次數Ns)。本揭示之方案可在早期階段判斷出編程操作異常而停止編程操作。並且,當判斷字元線或記憶體區塊運作異常,可將字元線或記憶體區塊中已寫入的已編程資料讀取出來,並寫入其他的運作正常的字元線或記憶體區塊,以保存或回復已編程資料。
雖然本發明已以較佳實施例及範例詳細揭露如上,可理解的是,此些範例意指說明而非限制之意義。可預期的是,所屬技術領域中具有通常知識者可想到多種修改及組合,其多種修改及組合落在本發明之精神以及後附之申請專利範圍之範圍內。
100:記憶晶胞
S0:擦除狀態
A,B,C,D,E,F,G:編程位準狀態
Vv-A,Vv-B,Vv-C,Vv-D:驗證參考電壓
Vv-E,Vv-F,Vv-G:驗證參考電壓
Vt:臨界電壓
NL:編程迴圈的次數
NV:驗證次數
Nmax-A,Nmax-B:上限次數
Nmax-C,Nmax-E:上限次數
Claims (11)
- 一種記憶體裝置之偵錯方法,其中該記憶體裝置包括複數個記憶體區塊,各該記憶體區塊具有複數條字元線連接於複數個記憶晶胞,該偵錯方法包括以下步驟:對於該些字元線連接的該些記憶晶胞執行複數次編程操作,以將該些記憶晶胞編程為複數個編程位準狀態;對於該些記憶晶胞執行複數次驗證操作,以分別驗證該些編程位準狀態;當該些編程位準狀態其中一者的該些驗證操作的驗證次數大於該編程位準狀態對應的一上限次數,將該些字元線之對應一者標記為一錯誤字元線;停止該錯誤字元線連接的該些記憶晶胞的該些編程操作;以及讀取該錯誤字元線連接的該些記憶晶胞中的已編程資料,並將該已編程資料寫入另一字元線連接的複數個記憶晶胞。
- 如請求項1所述之偵錯方法,更包括以下步驟:將該錯誤字元線所屬的該記憶體區塊標記為一錯誤記憶體區塊,並且停止該錯誤記憶體區塊的所有字元線連接的該些記憶晶胞的該些編程操作。
- 如請求項2所述之偵錯方法,更包括以下步驟:讀取該錯誤記憶體區塊的該些記憶晶胞中的已編程資料,並將 該已編程資料寫入另一記憶體區塊的複數個記憶晶胞。
- 一種記憶體裝置之偵錯方法,其中該記憶體裝置包括複數個記憶體區塊,各該記憶體區塊具有複數條字元線連接於複數個記憶晶胞,該偵錯方法包括以下步驟:對於該些字元線連接的該些記憶晶胞執行複數次編程操作,以將該些記憶晶胞編程為複數個編程位準狀態;對於該些記憶晶胞執行複數次驗證操作,以分別驗證該些編程位準狀態;當該些編程位準狀態其中一者通過驗證的記憶晶胞數量小於一下限數量,將該些字元線之對應一者標記為一錯誤字元線;停止該錯誤字元線連接的該些記憶晶胞的該些編程操作;以及讀取該錯誤字元線連接的該些記憶晶胞中的已編程資料,並將該已編程資料寫入另一字元線連接的複數個記憶晶胞。
- 如請求項4所述之偵錯方法,更包括以下步驟:將該錯誤字元線所屬的該記憶體區塊標記為一錯誤記憶體區塊,並且停止該錯誤記憶體區塊的所有字元線連接的該些記憶晶胞的該些編程操作。
- 如請求項5所述之偵錯方法,更包括以下步驟:讀取該錯誤記憶體區塊的該些記憶晶胞中的已編程資料,並將 該已編程資料寫入另一記憶體區塊的複數個記憶晶胞。
- 一種記憶體裝置之偵錯方法,其中該記憶體裝置包括複數個記憶體區塊,該些記憶體區塊至少包括一第一記憶體區塊及一第二記憶體區塊,該偵錯方法包括以下步驟:對於該第一記憶體區塊的複數個記憶晶胞及該第二記憶體區塊的複數個記憶晶胞執行複數次編程操作,以將該第一記憶體區塊的該些記憶晶胞及該第二記憶體區塊的該些記憶晶胞編程為複數個編程位準狀態;對於該第一記憶體區塊的該些記憶晶胞及該第二記憶體區塊的該些記憶晶胞執行複數次驗證操作,以分別驗證該些編程位準狀態;以及當該第一記憶體區塊及該第二記憶體區塊的相同的編程位準狀態的該些驗證操作的驗證次數的差值大於一標準次數,將該第一記憶體區塊及/或該第二記憶體區塊標記為一錯誤記憶體區塊。
- 如請求項7所述之偵錯方法,其中,係將該第一記憶體區塊及該第二記憶體區塊其中驗證次數較大之一者標記為一錯誤記憶體區塊。
- 如請求項7所述之偵錯方法,其中,係將該第一 記憶體區塊及該第二記憶體區塊兩者皆標記為錯誤記憶體區塊。
- 如請求項7所述之偵錯方法,更包括以下步驟:停止該錯誤記憶體區塊的該些記憶晶胞的該些編程操作。
- 如請求項10所述之偵錯方法,更包括以下步驟:讀取該錯誤記憶體區塊的該些記憶晶胞中的已編程資料,並將該已編程資料寫入另一記憶體區塊的複數個記憶晶胞。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111100247A TWI797946B (zh) | 2022-01-04 | 2022-01-04 | 記憶體裝置之偵錯方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW111100247A TWI797946B (zh) | 2022-01-04 | 2022-01-04 | 記憶體裝置之偵錯方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI797946B true TWI797946B (zh) | 2023-04-01 |
TW202329137A TW202329137A (zh) | 2023-07-16 |
Family
ID=86945054
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW111100247A TWI797946B (zh) | 2022-01-04 | 2022-01-04 | 記憶體裝置之偵錯方法 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI797946B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190348127A1 (en) * | 2018-05-08 | 2019-11-14 | Sandisk Technologies Llc | Non-volatile memory with multi-plane mixed sub-block programming |
US20210343351A1 (en) * | 2020-05-01 | 2021-11-04 | Micron Technology, Inc. | Defect detection during program verify in a memory sub-system |
US20220230692A1 (en) * | 2021-01-19 | 2022-07-21 | Yangtze Memory Technologies Co., Ltd. | Semiconductor memory device |
-
2022
- 2022-01-04 TW TW111100247A patent/TWI797946B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190348127A1 (en) * | 2018-05-08 | 2019-11-14 | Sandisk Technologies Llc | Non-volatile memory with multi-plane mixed sub-block programming |
US20210343351A1 (en) * | 2020-05-01 | 2021-11-04 | Micron Technology, Inc. | Defect detection during program verify in a memory sub-system |
US20220230692A1 (en) * | 2021-01-19 | 2022-07-21 | Yangtze Memory Technologies Co., Ltd. | Semiconductor memory device |
Also Published As
Publication number | Publication date |
---|---|
TW202329137A (zh) | 2023-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7352620B2 (en) | Non-volatile semiconductor device and method for automatically recovering erase failure in the device | |
US6553510B1 (en) | Memory device including redundancy routine for correcting random errors | |
KR100315321B1 (ko) | 불휘발성 반도체 메모리 장치 및 소거 검증 방법 | |
JP4901348B2 (ja) | 半導体記憶装置およびその制御方法 | |
US7168013B2 (en) | Memory with element redundancy | |
US5590075A (en) | Method for testing an electrically erasable and programmable memory device | |
US20080158989A1 (en) | Retention margin program verification | |
US8947958B2 (en) | Latent slow bit detection for non-volatile memory | |
US8995202B2 (en) | Test flow to detect a latent leaky bit of a non-volatile memory | |
EP2760027B1 (en) | Dynamic detection method for latent slow-to-erase bit for high performance and high reliability flash memory | |
US20080285368A1 (en) | Method for nrom array word line retry erasing and threshold voltage recovering | |
JP2007004955A (ja) | 不揮発性半導体記憶装置 | |
US8713406B2 (en) | Erasing a non-volatile memory (NVM) system having error correction code (ECC) | |
TWI797946B (zh) | 記憶體裝置之偵錯方法 | |
JPH0883500A (ja) | セルの判別方法とその消去方法,および,それらの方法に用いられるメモリ・デバイスとそのメモリ・デバイスを用いた集積回路 | |
US10714197B1 (en) | Memory device and program verification method thereof | |
US20060291308A1 (en) | Test method and test program for semiconductor storage device, and semiconductor storage device | |
TWI386939B (zh) | 保留餘裕程式驗證 | |
US11797193B2 (en) | Error detection method for memory device | |
US6587378B2 (en) | Apparatus and method for refreshing a flash memory unit | |
KR100335769B1 (ko) | 플래쉬 메모리 소자의 프로그램 방법 | |
CN115295056A (zh) | 用于过擦除修复的方法和存储装置 | |
KR100358059B1 (ko) | 플래쉬 메모리 소자의 테스트 방법 | |
US11869604B2 (en) | Method for checking the erasing phase of a memory device | |
KR20000019968A (ko) | 플래쉬 메모리의 소거 방법 |