TWI414941B - 非揮發性記憶體及記憶體系統 - Google Patents
非揮發性記憶體及記憶體系統 Download PDFInfo
- Publication number
- TWI414941B TWI414941B TW099132876A TW99132876A TWI414941B TW I414941 B TWI414941 B TW I414941B TW 099132876 A TW099132876 A TW 099132876A TW 99132876 A TW99132876 A TW 99132876A TW I414941 B TWI414941 B TW I414941B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- area
- save
- address
- control unit
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
Description
本發明係關於具有錯誤校正能力的一種非揮發性記憶體及一種記憶體系統。
非揮發性記憶體的特徵為在移除電源時,非揮發性記憶體將儲存內容保持於其中的能力。因此,對記憶體中之儲存資料而言重要的是保持可靠。
在資料寫入於非揮發性記憶體中之後,已擷取資料越頻繁且資料已在其等中保持越長,則許多非揮發性記憶體越有使資料自其等正確讀出之困難。重複資料讀出及延長資料保持力可使儲存資料退化且導致其位元錯誤。
迄今為止已藉由連同資料一起將錯誤校正碼(ECC)寫入於儲存器上來避開以上瓶頸。在讀取時間執行錯誤偵測及校正程序以改良所擷取資料之可靠性。
作為非揮發性記憶體之錯誤發生概率之一實例,由N. Mielke、T. Marquart、N. Wu,J. Kessenich、H. Beigal、E. Schares、F. Trivedi,E. Goodness及Leland R. Nevill在2008年IEEE CFPO8RPS-DCR的第46屆Annual International Reliability Physics Symp.的「Bit Error Rate in NAND Flash Memories」(後文稱作非專利文件)中引用8十億位元NAND快閃記憶體之二位元錯誤率。文件亦討論相對於資料保持週期及資料擷取頻率之位元錯誤率。
以上非專利文件中引用之位元錯誤率的一者係關於其上執行最大可容許重寫的記憶體單元。2,000小時過後此等記憶體單元之位元錯誤率展現為約1.0E-7。
以上非專利文件中引用之另一位元錯誤率係關於其上亦執行最大可容許重寫的記憶體單元。在重複10,000次之讀取操作之後,此等記憶體單元之位元錯誤率亦展現為約1.0E-7。
當資料寫回至形成上述資料錯誤之非揮發性記憶體的此等單元時,重設記憶體之資料保持週期。此使得非揮發性記憶體經刷新以具有寫入至該非揮發性記憶體之資料及自該非揮發性記憶體再次正確地讀取。將正確資料寫回至非揮發性記憶體之程序係延長正被懷疑之記憶體的資料保持週期的一有效方法。
但是從一主機裝置看,資料寫回程序係在資料讀取時間意外發生之一程序。因而,資料寫回程序係可防止主機裝置存取所關注之記憶體的因素。
特定而言,請求自記憶體以一恆定資料速率讀出之資料的一應用在處理資料寫回程序方面有困難。
若重複自保持錯誤資料之記憶體單元讀出資料,則會促進資料退化且更可能發生不可校正錯誤。
日本專利案第3068009號(後文稱作專利文件1)揭示一種具有應對軟錯誤之對策的技術。
根據此技術,若發生可校正錯誤,則相對應於該錯誤之位址及與該錯誤相關聯之正確資料係保持於一緩衝器中。僅在一不可校正錯誤已發生於自相同位址讀取之資料中之情況下自緩衝器擷取正確資料。
但是依據專利文件1中揭示之技術,在已發生資料錯誤時,正確資料不能寫回至記憶體單元。
日本專利特許公開案第Sho 63-271555號(後文稱作專利文件2)亦揭示一種具有應對軟錯誤之對策的技術。
根據此技術,當將資料自一主記憶體讀取至一快取記憶體中時且若ECC已形成一錯誤,則設定校正位元以指示校正之發生。當自快取記憶體撤離資料時,若找到被設定之校正位元,則校正主記憶體中之資料。
但是依據專利文件2中揭示之技術,僅待自主記憶體讀取至CPU之快取記憶體中的資料受到校正;不能校正主記憶體中之任何其他資料。
日本專利特許公開案第Hei 5-6313號(後文稱作專利文件3)揭示一種若在自一記憶體讀取之資料中存在錯誤,則容許在緩衝器中保持正確資料及其位址以便在由處理器完成存取之後可將資料寫回至記憶體的技術。
但是依據專利文件3中揭示之技術,在資料讀取時間存取保持正確資料之位址之後,資料總是自記憶體單元讀出;並不擷取緩衝器中之正確資料。
當重複對記憶體單元之存取時,資料退化將加劇且最終發生不可校正錯誤。在此案例中,系統由於不可校正錯誤而不可繼續其操作且停止。接著要求系統執行一寫回程序。
已按以上情況考慮本發明且本發明提供一種非揮發性記憶體及一種記憶體系統,若在相同位址上一讀取操作執行為保存資料之讀取資料,則該非揮發性記憶體及該記憶體系統可輸出已保存之正確資料。
在執行本發明中且根據本發明之一實施例,提供一種非揮發性記憶體,其包含:一記憶體區域,其包含經組態以保持資料之一資料區域及經組態以保持稱作ECC之一錯誤校正碼的一錯誤校正碼區域;及一控制單元,其經組態以控制對該記憶體區域之存取。該控制單元包含:一錯誤偵測及校正功能,其經組態以偵測自該資料區域讀取之該資料中的一錯誤且校正該偵測到之錯誤;至少一保存區域,其經組態使得若一指定位址處之資料及相對應於該資料之ECC係自該記憶體區域讀取且若偵測到一錯誤,則該保存區域保持該位址及相對應於該位址之正確資料;及一有效性呈現區塊,其經組態以指示保持於該保存區域中之該位址及該正確資料是否有效。若一新位址及正確資料進入該保存區域中,則該控制單元將該有效性呈現區塊設定為有效;且若保持於該保存區域中之該資料變為不必要,則該控制單元將該有效性呈現區塊設定為無效。
根據本發明之另一實施例,提供一種記憶體系統,其包含:一記憶體區域,其包含經組態以保持資料之一資料區域及經組態以保持稱作ECC之一錯誤校正碼的一錯誤校正碼區域;一控制單元,其經組態以控制對該記憶體區域之存取;及一主機裝置,其包含經組態以指定該控制單元執行一讀取操作之至少一功能及經組態以指定該控制單元執行一寫入操作之一功能。該控制單元包含:一錯誤偵測及校正功能,其經組態以偵測自該資料區域讀取之該資料中的一錯誤且校正該偵測到之錯誤;至少一保存區域,其經組態使得若由該主機裝置指定之一位址處之資料及相對應於該資料之ECC係自該記憶體區域讀取且若偵測到一錯誤,則該保存區域保持該位址及相對應於該位址之正確資料;及一有效性呈現區塊,其經組態以指示保持於該保存區域中之該位址及該正確資料是否有效。若一新位址及正確資料進入該保存區域中,則該控制單元將該有效性呈現區塊設定為有效;且若保持於該保存區域中之該資料變為不必要,則該控制單元將該有效性呈現區塊設定為無效。
根據體現為如上概述之本發明,若在相同位址處一讀取發生為保存資料之讀取,則可輸出已保存於該位址處之正確資料。
現在將在以下標題下參考附圖描述本發明的一些較佳實施例:
1.記憶體系統之整體組態
2.在接收讀取命令之後的操作
3.在接收寫入命令之後的操作
4.在接收保存程序目標位址設定命令之後的操作
5.在接收正確資料寫回命令之後的操作
圖1展示採用體現本發明之一非揮發性記憶體200之一記憶體系統10的一典型組態。
體現本發明之記憶體系統10係經結構化以包含一主機裝置100及非揮發性記憶體200。
主機裝置100連接至非揮發性記憶體200且在寫入及讀取操作中控制非揮發性記憶體200。
非揮發性記憶體200係由一記憶體區域210及一控制單元220組成。在控制單元220之控制下,記憶體區域210記錄資料ECC且保存旗標SVFLG。
控制單元220自主機裝置100接收一命令CMD且根據所接收之命令CMD將資料寫入至記憶體區域210或自記憶體區域210讀取資料。
圖2列出由組成本發明之實施例之部分的主機裝置100發出的典型命令。
由主機裝置100發出之命令CMD包含一讀取命令RD、一寫入命令WRT、一保存程序目標位址設定(「Correct_address_set)」命令CAS、一保存程序目標位址設定(「Correct_address_reset」)命令CAR、一正確資料寫回(「Correct_data」)」命令CD及一寫回停止(「Stop_correct_data」)命令SCD。
在接收讀取命令RD之後,控制單元220執行自記憶體區域210之讀取。
在接收寫入命令WRT之後,控制單元220執行至記憶體區域210之寫入。
當接收保存程序目標位址設定命令CAS時,控制單元220設定保存程序目標位址。
在獲得保存程序目標位址設定命令CAR之後,控制單元220重設保存程序目標位址。
當獲得正確資料寫回命令CD時,控制單元220將正確資料寫回至記憶體區域210。
在接收寫回停止命令SCD之後,控制單元220停止寫回命令之執行。
記憶體區域210係藉由一資料區域211及一ECC區域212所形成。
在記憶體區域210中,將寫入資料寫入至資料區域211;在讀取時間,自資料區域211讀取資料。
在ECC區域212,相對應於每一資料項記錄ECC及保存旗標SVFLG。
圖3展示組成本發明之實施例之部分的ECC區域212的一典型形成。
如圖3中所指示,ECC區域212係藉由每一者記錄一保存旗標SVFLG之保存旗標欄位2121及藉由每一者記錄一ECC之ECC欄位2122所組成。
控制單元220包含一命令解碼器221、一位址鎖存器222、一位址解碼器223、一位址比較器224、一保存程序目標位址區域儲存區塊225、一保存區域控制區塊226、一保存區域227及一記憶體區域控制區塊228。
控制單元220進一步包含一錯誤偵測/校正區塊229、一讀取資料緩衝器230、一寫入資料緩衝器231、一ECC產生區塊232及一資料選擇器233。
命令解碼器221解碼來自主機裝置100之命令CMD。在解碼之後,命令解碼器221將反映解碼命令之一控制信號CTL發送至記憶體區域控制區塊228以及保存區域控制區塊226。
位址鎖存器222係鎖存輸入位址之一暫存器。位址鎖存器222將鎖存位址輸出至位址解碼器223及位址比較器224。
位址解碼器223解碼由位址鎖存器222鎖存的位址。在解碼之後,位址解碼器223將待存取之記憶體區域210的位址位置給予記憶體區域控制區塊228。
位址比較器224比較待存取之位址與記錄於保存區域227中各有效性旗標VLFLG(作為有效性呈現區塊)設定為有效之所有位址。位址比較器224將比較結果輸出至保存區域控制區塊226及資料選擇器233。
保存程序目標位址區域儲存區塊225保持在執行資料校正時執行用於將正確資料保存至保存區域227中之一系列程序的位址範圍。
保存區域控制區塊226控制至保存區域227及自保存區域227之資料寫入及讀取。保存區域控制區塊226具有每次任何正確資料及其位址再次被添加至保存區域227時通知主機裝置100的功能。控制區塊226進一步具有將已變為可用之任何可用保存區域通知給主機裝置100的功能。
保存區域227係由錯誤位址緩衝器2271、一校正資料儲存器緩衝器2272及一有效性旗標區塊2273所組成。至少一資料項及其位址係記錄於保存區域227中。可併發地記錄於保存區域227中之正確資料項與其等位址之數量係由兩個因素決定:待存取直至主機裝置100開始寫回程序的資料大小及可校正錯誤之發生率。
可校正錯誤之概率事實上係藉由自位元錯誤率(BER)減去不可校正錯誤之概率而獲得。鑒於與可校正錯誤之概率相比,所發生之不可校正錯誤之概率係可忽略之事實,可校正錯誤之概率實際上被視為相同於位元錯誤率。
考慮受到最大可容許重寫的上述NAND快閃記憶體。在2,000小時過後觀察到的BER(位元錯誤率)展現為1.0E-7。若在開始重寫程序之前待存取之資料大小假設為「X」MB,則正確資料項與其等保存位址之數量給定為「0.8*X」。
假設由數位靜態相機獲取之每一相片具有若干MB之大小且每次自相機之記憶體擷取一相片時執行資料寫回程序。在此一案例中,即使使用記憶體直至可容許重寫計數過期,僅約10個正確資料項與其等位址需要建立為記錄至保存區域227之正確資料計數。
記憶體區域控制區塊228根據由命令解碼器221發出之控制信號CTL控制至記憶體區域210及自記憶體區域210的寫入及讀取操作。
錯誤偵測/校正區塊229偵測到來自從記憶體區域210擷取之資料的錯誤且校正所偵測到之錯誤。
讀取資料緩衝器230允許來自錯誤偵測/校正區塊229之正確資料。
讀取資料緩衝器230將緩衝資料輸出至保存區域227及資料選擇器233。
寫入資料緩衝器231緩衝自外部I/O裝置輸入之資料且將緩衝資料輸出至資料區域211及ECC產生區塊232。
ECC產生區塊232由自寫入資料緩衝器231輸入之資料產生一錯誤校正碼(ECC),且將所產生之ECC輸出至ECC區域212。
若位址比較器224指示位址之間的匹配,則資料選擇器233輸出來自保存區域227之正確資料儲存器緩衝器2272的資料。若位址比較器224指示位址之間的失配,則資料選擇器233輸出來自讀取資料緩衝器230之資料。
以下係在接收讀取命令以及接收寫入命令之後非揮發性記憶體200如何操作的一解釋。
圖4係解釋體現本發明之非揮發性記憶體200在接收一讀取命令之後如何操作的一流程圖,其中並不覆寫保存之資料。
在非揮發性記憶體200中,控制單元220接收由主機裝置100發出之讀取命令RD(在步驟ST1中)。
如此接收之讀取命令RD係藉由命令解碼器221解碼。繼而,命令解碼器221將反映解碼命令之一控制信號CTL傳輸至記憶體區域控制區塊228及保存區域控制區塊226。
一讀取位址係藉由位址鎖存器222鎖存。鎖存之讀取位址饋送至位址解碼器223及位址比較器224。
位址解碼器223解碼由位址鎖存器222鎖存的位址。在解碼之後,位址解碼器223按照解碼位址將待存取之記憶體區域210的位址位置給予記憶體區域控制區塊228。
位址比較器224比較待存取之位址與記錄於保存區域227中各有效性旗標VLFLG的設定為有效的所有位址(在步驟ST2中)。比較結果輸出至保存區域控制區塊226及資料選擇器233。在步驟ST2中,作出檢查以判定讀取位址是否為保存程序目標位址。
在步驟ST2中,若讀取位址並不被判定為保存程序目標位址,則記憶體區域控制區塊228自由位址解碼器223指定的資料區域211之該位址位置讀取資料及ECC(在步驟ST3中)。
在讀取資料輸入至讀取資料緩衝器230之前由錯誤偵測/校正區塊229校正讀取資料(在步驟ST4中)。資料經由資料選擇器233自讀取資料緩衝器230輸出至外部I/O裝置(在步驟ST5中)。
在步驟ST2中,若讀取位址被判定為一保存程序目標位址,則位址比較器224比較讀取位址與保持於保存區域之錯誤位址緩衝器2271中各有效性旗標VLFLG的設定為有效的所有位址(在步驟ST6中)。在此步驟中作出檢查以判定是否存在設定為有效的任何有效性旗標。
在步驟ST6中,若判定存在一匹配位址,則保存區域控制區塊226將匹配位址處之正確資料自保存區域227輸出至資料選擇器233。繼而,資料選擇器233將來自保存區域227之正確資料輸出至外部I/O裝置(在步驟ST7中)。
在步驟ST6中,若判定不存在匹配位址,則記憶體區域控制區塊228使得可自資料區域211讀取資料且可自ECC區域212讀取ECC及保存旗標SVFLG(在步驟ST8中)。
所擷取資料經由錯誤偵測/校正區塊229輸入至讀取資料緩衝器230(在步驟ST9中)。在步驟ST9中,若錯誤偵測/校正區塊229判定不存在錯誤,則讀取資料緩衝器230中之資料經由資料選擇器233輸出至外部I/O裝置(在步驟ST5中)。
在步驟ST9中,若在讀取資料中偵測到錯誤,則將讀取資料緩衝器230中之正確資料及其位址保存至保存區域227中。此時,執行以下步驟。
保存區域控制區塊226檢查以判定是否存在有效性旗標VLFLG設定為有效的一保存區域227(在步驟ST10中)。
在步驟ST10中,若判定存在有效性旗標VLFLG設定為有效的一保存區域227,則將正確資料及其位址儲存至有效性旗標VLFLG設定為無效的該保存區域227。接著有效性旗標VLFLG設定為有效(在步驟ST11中)。主機裝置100除了被通知新保存資料已進入保存區域227中之事實之外還被通知有效性旗標狀態(在步驟ST12中)。
主機裝置100可由保存旗標SVFLG之狀態判定新進入之保存資料是否更早地出現於相同位址處。
主機裝置100可取決於情況判定該位址之記憶體單元為有缺陷單元而不能繼續作進一步使用。
可判定不存在正確資料及其位址儲存至保存區域(在步驟ST10中)之前或正確資料及其位址進入保存區域中(步驟ST13中)之後有效性旗標VLFLG設定為無效的保存區域227。在該案例中,主機裝置100被告知不存在可用保存區域(步驟ST14)。
圖5係解釋體現本發明之非揮發性記憶體在接收讀取命令之後如何操作的一流程圖,其中覆寫保存之資料。
圖5中之處理不同於圖4中之處理,不同之處在於在執行步驟ST12之前,步驟ST10中之判定的否定結果之後係步驟ST15。
在步驟ST15中,用正確資料及其位址覆寫有效性旗標VLFLG設定為有效的任一保存區域227且有效性旗標VLFLG設定為有效。接著到達上文描述之步驟ST12。
圖6係解釋體現本發明之非揮發性記憶體在接收一寫入命令之後如何操作的一流程圖。
在非揮發性記憶體200中,控制單元220接收由主機裝置100發出之寫入命令WRT(在步驟ST21中)。
如此接收之寫入命令WRT係藉由命令解碼器221解碼。繼而,命令解碼器221將反映解碼命令之一控制信號CTL發送至記憶體區域控制區塊228及保存區域控制區塊226。
一寫入位址係藉由位址鎖存器222鎖存。鎖存之寫入位址饋送至位址解碼器223及位址比較器224。位址解碼器223解碼由位址鎖存器222鎖存的位址,且將待存取之記憶體區域210的位址位置給予記憶體區域控制區塊228。
一外部I/O裝置將寫入資料輸入至寫入資料緩衝器231。ECC產生區塊232產生一ECC。
在由命令解碼器221控制指示記憶體區域控制區塊228執行一寫入下,資料寫入至由位址解碼器223指定之位址位置(在步驟ST22中)。
位址比較器224比較寫入位址與保持於保存區域227中各有效性旗標VLFLG的設定為有效的所有位址以尋找一匹配(在步驟ST23中)。
若在步驟ST23中存在匹配,則保存區域控制區塊226將相對應於匹配位址的保存區域之有效性旗標VLFLG設定為無效(在步驟ST24中)。
圖7係展示體現本發明之非揮發性記憶體在接收一保存程序目標位址設定(「Correct_address_set」)命令之後如何操作的一流程圖。
在非揮發性記憶體200中,控制單元220接收由主機裝置100發出之保存程序目標位址設定(「Correct_address_set」)命令(在步驟ST31中)。
連同命令CAS一起傳輸之資料表示一保存程序目標位址。在保存程序目標位址設定為保存程序目標位址區域儲存區塊225(在步驟ST32中)之前,其係藉由位址鎖存器222鎖存。
圖8係展示體現本發明之非揮發性記憶體在接收一校正資料寫回(「Correct_data」)命令之後如何操作的一流程圖。
在非揮發性記憶體200中,控制單元220接收由主機裝置100發出之校正資料寫回(「Correct_data」)命令(在步驟ST41中)。
如此接收之命令係藉由命令解碼器221解碼。繼而,命令解碼器221將反映解碼命令之一控制信號CTL發送至記憶體區域控制區塊228及保存區域控制區塊226。
保存區域控制區塊226檢查瞭解是否有有效性旗標VLFLG被設定,藉此判定是否存在任何有效寫回資料(在步驟ST42中)。
在步驟ST42中,若沒有找到被設定的有效性旗標VLFLG,則處理結束。
若找到被設定的任何有效性旗標VLFLG,則作出檢查以判定是否已執行如命令指定數量的各具有設定為有效之有效性旗標VLFLG的正確資料的寫回(在步驟ST43中)。
若指定之正確資料數量為零,則寫回各具有設定為有效之有效性旗標VLFLG的所有正確資料。
在已執行如命令指定數量的資料之寫回之後,結束處理。
可能發生的是在完成如指定數量的資料之寫回之前接收寫回停止(「Stop_correct_data」)命令SCD(在步驟ST44)。若此發生,則結束校正處理。
在步驟ST44中,若仍待接收寫回停止(「Stop_correct_data」)命令SCD,則執行後續步驟。
ECC區域212之保存旗標SVFLG被設定,且正確資料寫回至資料區域211(在步驟ST45)。在寫回之後,有效性旗標VLFLG設定為無效(在步驟ST46中)。若存在有效性旗標VLFLG設定為有效的任何進一步保存區域227,則重複以上步驟。
上文討論之本發明的實施例提供以下主要優點。
提供保存區域以保持作為由主機裝置100發出之讀取請求的一結果而發生校正的任何記憶體單元之位址及資料。因在記憶體內部如此管理保存之位址及資料,無需要對主機裝置100裝備有管理關於已發生校正之記憶體單元之資訊的功能。
若存在自主機100之讀取請求的位址與保存於保存區域227中之任何位址之間的匹配,則自匹配保存區域讀取資料。因此可能的是無需存取記憶體單元以尋找正被懷疑之資料。
上文解釋之特徵降低在執行寫回程序之前使不可校正錯誤發生的概率。此使得可改良儲存資料之可靠性。
實行寫回程序允許再次保持及擷取正確資料的同時重設記憶體單元之資料保持週期。此進一步增強資料之可靠性。
圖9A及圖9B係展示相對於普通系統,體現本發明之一記憶體系統可如何最小化寫回程序對系統效能之不利影響而無需減少對資料保持特徵之改善效果的示意圖。
圖9A展示其中正確資料之寫回程序阻止記憶體控制器執行一讀取操作的一普通系統之案例。
相比之下,圖9B展示本發明之系統如何容許資料以一恆定速率輸出而無需阻止記憶體控制器實行讀取操作。
體現本發明之此記憶體系統能夠判定主機裝置100開始寫回程序之時序。
例示性而言,記憶體系統容許資料寫回程序在主機裝置100並不存取記憶體時發生。
圖10A及圖10B係比較不能停止寫回程序之情況下的案例與如本發明之實施例可停止寫回程序之情況的案例的示意圖。
根據實施例,如圖10B中所示,若在該程序期間對記憶體之突發存取變為必需,則停止寫回程序;在存取之後可恢復寫回程序。
在記憶體之保存區域的內部管理發生校正的記憶體單元之位址及資料。因此無需要對主機裝置裝備有管理此資訊的功能。
圖11A及圖11B係比較寫回所有正確資料之情況的案例與寫回僅在指定位址處的正確資料之情況下的案例的示意圖。
當容許選擇被執行寫回程序之位址範圍時,可防止主機裝置不需要之寫回程序的發生。
甚至在已執行寫回程序之後重複發生可校正錯誤的記憶體單元很可能為具有差資料保持特徵的記憶體單元。
此等記憶體單元被偵測且報告至主機裝置。繼而,主機裝置可利用記憶體單元上的所接收資訊以作為判定是否繼續使用正被懷疑之記憶體單元的基礎。此特徵幫助進一步改良資料之可靠性。
本申請案含有關於在2009年11月16日向日本專利局申請的日本優先權專利申請案JP 2009-260705中揭示的標的,該案之全部內容以引用方式併入本文中。
熟悉此項技術中應理解可取決於設計要求及其他因素發生多種修改、組合、次組合及變更,只要其等係在隨附請求項或其等等效例之範圍內。
10...記憶體系統
100...主機裝置
200...非揮發性記憶體
210...記憶體區域
211...資料區域
212...錯誤校正碼(ECC)區域
220...控制單元
221...命令解碼器
222...位址鎖存器
223...位址解碼器
224...位址比較器
225...保存程序目標位址區域儲存區塊
226...保存區域控制區塊
227...保存區域
228...記憶體區域控制區塊
229...錯誤偵測/校正區塊
230...讀取資料緩衝器
231...寫入資料緩衝器
232...ECC產生區塊
233...資料選擇器
2121...保存旗標欄位
2122...ECC欄位
2271...錯誤位址緩衝器
2272...校正資料儲存器緩衝器
2273...有效性旗標區塊
圖1係展示採用體現本發明之非揮發性記憶體之一記憶體系統的一典型組態的一方塊圖;
圖2係列出由組成本發明之實施例之部分的一主機裝置發出的典型命令的一表列圖;
圖3係展示組成本發明之實施例之部分的一ECC區域的一典型形成的一示意圖;
圖4係解釋體現本發明之非揮發性記憶體在接收一讀取命令之後如何操作的一流程圖,其中並不覆寫保存之資料;
圖5係解釋體現本發明之非揮發性記憶體在接收讀取命令之後如何操作的一流程圖,其中覆寫保存之資料;
圖6係解釋體現本發明之非揮發性記憶體在接收一寫入命令之後如何操作的一流程圖;
圖7係展示體現本發明之非揮發性記憶體在接收一保存程序目標位址設定命令(「Correct_address_set」)之後如何操作的一流程圖;
圖8係展示體現本發明之非揮發性記憶體在接收一校正資料寫回(「Correct_data」)命令之後如何操作的一流程圖;
圖9A及圖9B係展示相對於普通系統,體現本發明之一記憶體系統可如何最小化寫回程序對系統效能之不利影響而無需減少對資料保持特徵之改善效果的示意圖;
圖10A及圖10B係比較不能停止寫回程式之情況下的案例與如本發明之實施例可停止寫回程序之情況的案例的示意圖;及
圖11A及圖11B係比較寫回所有正確資料之情況的案例與寫回僅在指定位址處的正確資料之情況下的案例的示意圖。
10...記憶體系統
100...主機裝置
200...非揮發性記憶體
210...記憶體區域
211...資料區域
212...錯誤校正碼(ECC)區域
220...控制單元
221...命令解碼器
222...位址鎖存器
223...位址解碼器
224...位址比較器
225...保存程序目標位址區域儲存區塊
226...保存區域控制區塊
227...保存區域
228...記憶體區域控制區塊
229...錯誤偵測/校正區塊
230...讀取資料緩衝器
231...寫入資料緩衝器
232...ECC產生區塊
233...資料選擇器
2271...錯誤位址緩衝器
2272...校正資料儲存器緩衝器
2273...有效性旗標區塊
Claims (20)
- 一種非揮發性記憶體,其包括:一記憶體區域,其包含經組態以保持資料之一資料區域及經組態以保持稱作ECC之一錯誤校正碼的一錯誤校正碼區域;及一控制單元,其經組態以控制對該記憶體區域之存取;該控制單元包含:一錯誤偵測及校正功能,其經組態以偵測自該資料區域讀取之該資料中的一錯誤且校正該偵測到之錯誤,至少一保存區域,其經組態使得若一指定位址處之資料及相對應於該資料之ECC係自該記憶體區域讀取且若偵測到一錯誤,則該保存區域保持該位址及相對應於該位址之正確資料,及一有效性呈現區塊,其經組態以指示保持於該保存區域中之該位址及該正確資料是否有效,其中,若一新位址及正確資料進入該保存區域中,則該控制單元將該有效性呈現區塊設定為有效,且若保持於該保存區域中之該資料變為不必要,則該控制單元將該有效性呈現區塊設定為無效。
- 如請求項1之非揮發性記憶體,其中該控制單元包含:一比較功能,其經組態以比較指定為用於存取該記憶體區域之該位址與保持於該等保存區域中且該有效性呈現區塊設定為有效的所有位址,若該比較功能在資料讀取時間偵測到該等位址之間的一匹配,則該控制單元自該相對應保存區域輸出該正確資料。
- 如請求項2之非揮發性記憶體,其中若該比較功能偵測到該等位址之間的一失配,則該控制單元自該資料區域讀取該資料及自該ECC區域讀取該ECC,且使該錯誤偵測及校正功能檢查一資料錯誤及使並不需要被校正之該資料未作改變地輸出;且在偵測到一資料錯誤之後,該控制單元將該位址及正確資料寫入至相對應保存區域,將該有效性呈現區塊設定為有效且輸出該正確資料。
- 如請求項3之非揮發性記憶體,其中該控制單元包含:經組態以給出該位址及正確資料被再次添加至該等保存區域之通知的一功能。
- 如請求項4之非揮發性記憶體,其中該控制單元包含:經組態以給出不存在可用保存區域之通知的一功能。
- 如請求項2之非揮發性記憶體,其中若該比較功能偵測到該等位址之間的一匹配,則該控制單元將保持該匹配位址的該保存區域之該有效性呈現區塊設定為無效。
- 如請求項6之非揮發性記憶體,其中該控制單元包含:經組態以將在該等保存區域中將該有效性呈現區塊設定為有效的該資料寫回至該記憶體區域的一功能。
- 如請求項7之非揮發性記憶體,其中該控制單元包含:經組態以指定被寫回資料的最大數量個保存區域的一功能,該最大數量被容許以限制要求執行寫回程序之時間的一方式指定。
- 如請求項7之非揮發性記憶體,其中該控制單元包含:經組態以在接收一寫回命令之後開始該寫回程序及在完成該程序之後將該有效性呈現區塊設定為無效且給出該程序之該完成的通知的一功能。
- 如請求項9之非揮發性記憶體,其中該控制單元包含:經組態以在接收一寫回停止命令之後停止該寫回程序及再次接收該寫回命令時恢復該停止之寫回程序的一功能。
- 如請求項10之非揮發性記憶體,其中該控制單元包含:經組態以建立作為一保存程序目標的一位址區域的一功能,該功能容許在接收一保存程序目標位址區域設定命令之後指定作為該保存程序目標的該位址區域。
- 如請求項10之非揮發性記憶體,其包括:經組態以在該資料區域之該ECC區域中儲存指示之前執行該保存程序之該位址的一保存旗標的一區域,其中該控制單元在將保持於該等保存區域中之該正確資料寫回至該資料區域時,設定該保存旗標。
- 如請求項12之非揮發性記憶體,其中該控制單元包含:經組態以在資料讀取時間自該資料區域讀取該資料且自該ECC區域讀取該ECC及該保存旗標、並且偵測到所擷取資料中之一錯誤之後、除了給出該位址及正確資料再次被添加至該等保存區域之事實之外還給出保存旗標狀態的通知的一功能。
- 一種記憶體系統,其包括:一記憶體區域,其包含經組態以保持資料之一資料區域及經組態以保持稱作ECC之一錯誤校正碼的一錯誤校正碼區域;及一控制單元,其經組態以控制對該記憶體區域之存取;及一主機裝置,其包含經組態以指定該控制單元執行一讀取操作之至少一功能及經組態以指定該控制單元執行一寫入操作之一功能;該控制單元包含:一錯誤偵測及校正功能,其經組態以偵測自該資料區域讀取之該資料中的一錯誤且校正該偵測到之錯誤,至少一保存區域,其經組態使得若由該主機裝置指定之一位址處之資料及相對應於該資料之ECC係自該記憶體區域讀取且若偵測到一錯誤,則該保存區域保持該位址及相對應於該位址之正確資料,及一有效性呈現區塊,其經組態以指示保持於該保存區域中之該位址及該正確資料是否有效,其中,若一新位址及正確資料進入該保存區域中,則該控制單元將該有效性呈現區塊設定為有效,且若保持於該保存區域中之該資料變為不必要,則該控制單元將該有效性呈現區塊設定為無效。
- 如請求項14之記憶體系統,其中該控制單元包含:一比較功能,其經組態以比較指定為用於存取該記憶體區域之該位址與保持於該等保存區域中該有效性呈現區塊設定為有效之所有位址,若該比較功能在資料讀取時間偵測到該等位址之間的一匹配,則該控制單元自該相對應保存區域輸出該正確資料。
- 如請求項15之記憶體系統,其中若該比較功能偵測到該等位址之間的一失配,則該控制單元自該資料區域讀取該資料及自該ECC區域讀取該ECC且使該錯誤偵測及校正功能檢查一資料錯誤及使並不需要被校正之該資料未作改變地輸出;且在偵測到一資料錯誤之後,該控制單元將該位址及正確資料寫入至相對應保存區域,將該有效性呈現區塊設定為有效且輸出該正確資料。
- 如請求項16之記憶體系統,其中該控制單元包含:經組態以通知該主機裝置該位址及正確資料被再次添加至該等保存區域的一功能;及經組態以通知該主機裝置不存在可用保存區域的一功能。
- 如請求項17之記憶體系統,其中該控制單元包含:經組態使得若該比較功能偵測到該等位址之間的一匹配、則一功能將保持該匹配位址的該保存區域之該有效性呈現區塊設定為無效的該功能;經組態以將該資料寫回至該記憶體區域,其中在該等保存區域中將該有效性呈現區塊設定為有效的一功能;及經組態以指定被寫回資料的最大數量個保存區域的一功能;其中該主機裝置可以限制要求執行該寫回程序之時間的一方式指定該最大數量個保存區域。
- 如請求項18之記憶體系統,其中該控制單元包含:經組態以在自該主機裝置接收一寫回命令之後開始該寫回程序及在完成該程序之後將該有效性呈現區塊設定為無效且給出該程序之該完成的通知的一功能;及經組態以在自該主機裝置接收一寫回停止命令之後停止該寫回程序的一功能;該控制單元在自該主機裝置再次接收該寫回命令時恢復該停止之寫回程序。
- 如請求項19之記憶體系統,其包括:經組態以在該資料區域之該ECC區域中儲存指示之前執行該保存程序之該位址的一保存旗標的一區域,其中該控制單元包含經組態以建立作為一保存程序目標的一位址區域的一功能,該功能容許由自該主機裝置之一保存程序目標位址區域設定命令指定作為該保存程序目標的該位址區域;其中該控制單元在將保持於該等保存區域中之該正確資料寫回至該資料區域時,設定該保存旗標;及該控制單元進一步包含經組態以在資料讀取時間自該資料區域讀取該資料且自該ECC區域讀取該ECC及該保存旗標的一功能,該功能除了若在所擷取資料中偵測到一錯誤,則該位址及正確資料再次被添加至該等保存區域之事實之外,還進一步將保存旗標狀態通知給該主機裝置,若不存在可用保存區域,則該功能進一步將該等保存區域之不可用性通知給該主機裝置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009260705A JP2011108306A (ja) | 2009-11-16 | 2009-11-16 | 不揮発性メモリおよびメモリシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201120636A TW201120636A (en) | 2011-06-16 |
TWI414941B true TWI414941B (zh) | 2013-11-11 |
Family
ID=43999175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099132876A TWI414941B (zh) | 2009-11-16 | 2010-09-28 | 非揮發性記憶體及記憶體系統 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8683290B2 (zh) |
JP (1) | JP2011108306A (zh) |
CN (1) | CN102063940B (zh) |
TW (1) | TWI414941B (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012252558A (ja) * | 2011-06-03 | 2012-12-20 | Sony Corp | 不揮発性メモリ、メモリコントローラ、不揮発性メモリのアクセス方法、およびプログラム |
EP2761472B1 (en) | 2011-09-30 | 2020-04-01 | Intel Corporation | Memory channel that supports near memory and far memory access |
WO2013048500A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy over common memory channels |
EP2761464B1 (en) | 2011-09-30 | 2018-10-24 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy having different operating modes |
WO2013048497A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Apparatus and method for implementing a multi-level memory hierarchy |
KR20130049332A (ko) * | 2011-11-04 | 2013-05-14 | 삼성전자주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN103578566B (zh) * | 2012-07-23 | 2016-08-24 | 群联电子股份有限公司 | 存储器存储装置及其修复方法 |
CN103593252B (zh) * | 2012-08-14 | 2017-06-13 | 旺宏电子股份有限公司 | 具有动态错误侦测及更正的存储器 |
US8793558B2 (en) * | 2012-08-27 | 2014-07-29 | Freescale Semiconductor, Inc. | Adaptive error correction for non-volatile memories |
CN102981976B (zh) * | 2012-12-05 | 2016-05-25 | 清华大学 | 用于数据存储的访问控制方法 |
JP2014157391A (ja) * | 2013-02-14 | 2014-08-28 | Sony Corp | 記憶制御装置、記憶装置、情報処理システムおよび記憶制御方法 |
JP5843804B2 (ja) * | 2013-03-25 | 2016-01-13 | 株式会社東芝 | 演算装置およびエラー処理方法 |
JP2015225603A (ja) * | 2014-05-29 | 2015-12-14 | 富士通株式会社 | ストレージ制御装置、ストレージ制御方法およびストレージ制御プログラム |
CN105469822B (zh) * | 2014-09-12 | 2019-10-18 | 华邦电子股份有限公司 | 半导体存储器装置、半导体系统以及读取方法 |
US9852811B2 (en) * | 2014-11-13 | 2017-12-26 | Macronix International Co., Ltd. | Device and method for detecting controller signal errors in flash memory |
KR102395158B1 (ko) * | 2015-05-08 | 2022-05-10 | 에스케이하이닉스 주식회사 | 반도체 메모리 장치 |
KR20170098538A (ko) * | 2016-02-22 | 2017-08-30 | 에스케이하이닉스 주식회사 | 반도체 장치 및 그 구동 방법 |
JP6799262B2 (ja) * | 2017-03-03 | 2020-12-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP2018152146A (ja) * | 2017-03-09 | 2018-09-27 | 東芝メモリ株式会社 | 半導体記憶装置及びデータ読み出し方法 |
US10146615B2 (en) * | 2017-04-24 | 2018-12-04 | Arteris, Inc. | Recovery of a system directory after detection of uncorrectable error |
JP2020144554A (ja) * | 2019-03-05 | 2020-09-10 | キオクシア株式会社 | 記憶装置およびデータ読出方法 |
JP7202990B2 (ja) * | 2019-08-27 | 2023-01-12 | 三菱電機株式会社 | Dram診断方法 |
JP6927610B1 (ja) * | 2020-03-13 | 2021-09-01 | Necプラットフォームズ株式会社 | キャッシュ制御装置、キャッシュシステムおよびキャッシュ制御方法 |
EP3936996A4 (en) | 2020-04-01 | 2022-07-06 | Changxin Memory Technologies, Inc. | READ-WRITE METHOD AND STORAGE DEVICE |
CN113495675B (zh) * | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3964940A4 (en) | 2020-04-01 | 2022-08-17 | Changxin Memory Technologies, Inc. | READ/WRITE METHOD AND STORAGE DEVICE |
CN113495672B (zh) | 2020-04-01 | 2023-08-11 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113495674B (zh) | 2020-04-01 | 2023-10-10 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
EP3985494B1 (en) | 2020-04-01 | 2024-01-17 | Changxin Memory Technologies, Inc. | Read-write method and memory device |
CN113495671B (zh) * | 2020-04-01 | 2023-10-17 | 长鑫存储技术有限公司 | 读写方法及存储器装置 |
CN113496745B (zh) * | 2020-04-03 | 2024-03-08 | 澜起科技股份有限公司 | 用于修复存储模块缺陷的装置和方法以及存储器系统 |
JPWO2021261157A1 (zh) * | 2020-06-25 | 2021-12-30 | ||
CN112133356B (zh) * | 2020-09-11 | 2023-05-16 | 深圳市宏旺微电子有限公司 | eMMC中RPMB的功能测试方法、装置和计算机设备 |
US11740973B2 (en) | 2020-11-23 | 2023-08-29 | Cadence Design Systems, Inc. | Instruction error handling |
KR20230012274A (ko) | 2021-07-15 | 2023-01-26 | 삼성전자주식회사 | 메모리 장치 동작 방법, 메모리 컨트롤러의 동작 방법 및 메모리 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271555A (ja) * | 1987-04-28 | 1988-11-09 | Nec Corp | 記憶制御方式 |
JPH1049448A (ja) * | 1996-08-06 | 1998-02-20 | Nec Corp | 冗長化メモリのエラー訂正機構 |
TW200910365A (en) * | 2007-06-15 | 2009-03-01 | Spansion Llc | Non-volatile memory device, non-volatile memory system, and control method for the non-volatile memory device |
TW200926192A (en) * | 2009-02-10 | 2009-06-16 | Abounion Tech | Method for checking and correcting errors of data |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4084236A (en) * | 1977-02-18 | 1978-04-11 | Honeywell Information Systems Inc. | Error detection and correction capability for a memory system |
US4920539A (en) * | 1988-06-20 | 1990-04-24 | Prime Computer, Inc. | Memory error correction system |
US4995041A (en) * | 1989-02-03 | 1991-02-19 | Digital Equipment Corporation | Write back buffer with error correcting capabilities |
JPH0368009A (ja) | 1989-08-08 | 1991-03-25 | Oki Electric Ind Co Ltd | 計算機内の信号転送装置 |
US5233616A (en) * | 1990-10-01 | 1993-08-03 | Digital Equipment Corporation | Write-back cache with ECC protection |
JPH056313A (ja) * | 1991-06-27 | 1993-01-14 | Oki Electric Ind Co Ltd | メモリアクセス制御装置 |
JPH06110793A (ja) * | 1992-09-30 | 1994-04-22 | Toshiba Corp | 不揮発性半導体記憶装置 |
GB2289779B (en) * | 1994-05-24 | 1999-04-28 | Intel Corp | Method and apparatus for automatically scrubbing ECC errors in memory via hardware |
US6076183A (en) * | 1997-12-18 | 2000-06-13 | Bull, S.A. | Method of memory error correction by scrubbing |
JP3937214B2 (ja) * | 1999-09-17 | 2007-06-27 | 株式会社ルネサステクノロジ | エラー訂正回数を記録する記憶装置 |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
JP2003248631A (ja) * | 2002-02-26 | 2003-09-05 | Nec Microsystems Ltd | メモリ制御回路及びメモリ制御方法 |
US7173852B2 (en) * | 2003-10-03 | 2007-02-06 | Sandisk Corporation | Corrected data storage and handling methods |
US7159069B2 (en) * | 2004-06-23 | 2007-01-02 | Atmel Corporation | Simultaneous external read operation during internal programming in a flash memory device |
US7437597B1 (en) * | 2005-05-18 | 2008-10-14 | Azul Systems, Inc. | Write-back cache with different ECC codings for clean and dirty lines with refetching of uncorrectable clean lines |
JP2008225835A (ja) * | 2007-03-13 | 2008-09-25 | Fujitsu Ltd | メモリアクセス制御方法及び回路、並びに情報処理装置 |
US8316277B2 (en) * | 2007-12-06 | 2012-11-20 | Fusion-Io, Inc. | Apparatus, system, and method for ensuring data validity in a data storage process |
JP5202130B2 (ja) * | 2008-06-24 | 2013-06-05 | 株式会社東芝 | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 |
-
2009
- 2009-11-16 JP JP2009260705A patent/JP2011108306A/ja active Pending
-
2010
- 2010-09-28 TW TW099132876A patent/TWI414941B/zh active
- 2010-11-03 US US12/938,768 patent/US8683290B2/en active Active
- 2010-11-09 CN CN201010538227.3A patent/CN102063940B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63271555A (ja) * | 1987-04-28 | 1988-11-09 | Nec Corp | 記憶制御方式 |
JPH1049448A (ja) * | 1996-08-06 | 1998-02-20 | Nec Corp | 冗長化メモリのエラー訂正機構 |
TW200910365A (en) * | 2007-06-15 | 2009-03-01 | Spansion Llc | Non-volatile memory device, non-volatile memory system, and control method for the non-volatile memory device |
TW200926192A (en) * | 2009-02-10 | 2009-06-16 | Abounion Tech | Method for checking and correcting errors of data |
Also Published As
Publication number | Publication date |
---|---|
TW201120636A (en) | 2011-06-16 |
US20110119558A1 (en) | 2011-05-19 |
CN102063940A (zh) | 2011-05-18 |
CN102063940B (zh) | 2014-08-06 |
US8683290B2 (en) | 2014-03-25 |
JP2011108306A (ja) | 2011-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI414941B (zh) | 非揮發性記憶體及記憶體系統 | |
US8271515B2 (en) | System and method for providing copyback data integrity in a non-volatile memory system | |
US8347141B2 (en) | Method and apparatus to maintain data integrity in disk cache memory during and after periods of cache inaccessibility | |
US8479062B2 (en) | Program disturb error logging and correction for flash memory | |
US8214725B2 (en) | Memory access system | |
US20070170268A1 (en) | Memory cards, nonvolatile memories and methods for copy-back operations thereof | |
US8321757B2 (en) | Method and apparatus for error correction | |
JP5202130B2 (ja) | キャッシュメモリ、コンピュータシステム、及びメモリアクセス方法 | |
US7894270B2 (en) | Data restoration method for a non-volatile memory | |
TW201321977A (zh) | 快閃記憶裝置及其資料讀取方法 | |
JP2011076706A (ja) | 不安定メモリセル散布を検出するメモリ・システム及びその検出方法 | |
US20120030441A1 (en) | Semiconductor memory device detecting error | |
US20100217917A1 (en) | System and method of finalizing semiconductor memory | |
KR20130019891A (ko) | 메타 라이팅 빈도를 줄이기 위한 메타 데이터 라이팅 방법 | |
TWI473103B (zh) | 快閃記憶體儲存裝置及其不良儲存區域的判定方法 | |
JP5306745B2 (ja) | フラッシュメモリの管理方法及びフラッシュメモリデバイス | |
JP5883284B2 (ja) | 半導体メモリ制御装置及び制御方法 | |
US8230276B2 (en) | Writing to memory using adaptive write techniques | |
JP2006099802A (ja) | 記憶制御装置およびキャッシュメモリの制御方法 | |
US20120159280A1 (en) | Method for controlling nonvolatile memory apparatus | |
JP2020144554A (ja) | 記憶装置およびデータ読出方法 | |
JP2005196680A (ja) | コンピュータシステム | |
US8386739B2 (en) | Writing to memory using shared address buses | |
US8583968B2 (en) | Data storage apparatus and method for writing data | |
US11630586B2 (en) | Information processing apparatus and method for controlling the same |