TWI416523B - 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器 - Google Patents
非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器 Download PDFInfo
- Publication number
- TWI416523B TWI416523B TW098119341A TW98119341A TWI416523B TW I416523 B TWI416523 B TW I416523B TW 098119341 A TW098119341 A TW 098119341A TW 98119341 A TW98119341 A TW 98119341A TW I416523 B TWI416523 B TW I416523B
- Authority
- TW
- Taiwan
- Prior art keywords
- volatile memory
- data
- write
- controller
- memory
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Description
本發明係有關於非揮發性記憶體(non-volatile memory),特別是有關於快閃記憶體(flash memory)。
非揮發性記憶體(non-volatile memory)係指當記憶體的供電中斷時仍可保持其中所儲存的資料的記憶體。快閃記憶體便是目前常用的非揮發性記憶體。快閃記憶體為一種可由電編程及清除其資料的非揮發性記憶體,主要用來作記憶卡及通用序列匯流排(Universal Serial Bus,USB)裝置,以供電腦及其他數位產品之一般性資料儲存。快閃記憶體的應用範圍包括掌上型電腦(PDA)、筆記型電腦、數位音樂播放器、數位相機、以及行動電話。
當主機欲將資料儲存至非揮發性記憶體時,通常需透過一控制器以將資料寫入非揮發性記憶體。第1圖為包含非揮發性記憶體104之一記憶裝置100的區塊圖。除了非揮發性記憶體104以外,記憶裝置100尚包括控制器102。控制器102耦接至主機,並依據主機之指示管理非揮發性記憶體104中的資料。於一實施例中,控制器102包括控制單元112、資料緩衝器(data buffer)114、主機介面116、以及儲存介面118。主機介面116負責控制器102與主機間的資料傳遞,而儲存介面118負責控制器102與非揮發性記憶體104間的資料傳遞。非揮發性記憶體104依據控制器102之指示儲存資料。於一實施例中,非揮發性記憶
體104包括儲存介面126、資料暫存器(data temporary register)124、以及記憶單元陣列(storage array)122。儲存介面126負責非揮發性記憶體104與控制器102間的資料傳遞,而記憶單元陣列122係用以儲存資料。
當主機要求控制器102儲存資料時,控制器102會依據主機之指示進行寫入動作。第2圖為記憶裝置100進行資料寫入之方法200的流程圖。首先,控制器102透過主機介面116自主機接收一寫入資料,並將接收的寫入資料儲存於資料緩衝器114中(步驟202)。接著,控制單元112經由儲存介面118傳送寫入命令至非揮發性記憶體104(步驟204)。接著,控制單元112經由儲存介面118傳送寫入位址至非揮發性記憶體104(步驟206)。接著,控制單元112將資料緩衝器114儲存的寫入資料經由儲存介面118傳送至非揮發性記憶體104,而非揮發性記憶體104將所接收之寫入資料儲存於資料暫存器124(步驟208)。
接著,非揮發性記憶體104依據寫入命令將資料暫存器124中儲存之寫入資料寫入至記憶單元陣列122的寫入位址之記憶空間142(步驟209)。接著,控制單元112經由儲存介面118傳送一寫入狀態檢測命令(status check command)至非揮發性記憶體104(步驟210)。若非揮發性記憶體104之前於寫入資料被寫入記憶單元陣列122時發生寫入錯誤,則非揮發性記憶體104將寫入之錯誤狀態回報控制器102。因此,若非揮發性記憶體104回報寫入錯誤至控制器102(步驟212),則控制器102需重新執行一遍步驟204~210,直至非揮發性記憶體104於步驟212回報寫
入無誤為止。亦即,控制器102需重新傳送寫入命令(步驟204)、與前次不同的寫入位址(步驟206)、寫入資料(步驟208),再由非揮發性記憶體104將資料暫存器124中之寫入資料重新寫入至新寫入位址之記憶空間144(步驟209),且於控制器102傳送寫入狀態檢測命令(步驟210)後未回報寫入錯誤(步驟212),該筆寫入資料之寫入動作才算完成。最後,若主機沒有新寫入資料待寫入,則寫入程序結束(步驟214)。
一般的非揮發性記憶體104之資料暫存器124於寫入資料被寫入記憶單元陣列122後,無法保留資料暫存器124中的寫入資料不變。因此,於寫入資料被寫入記憶單元陣列122後,控制器102之資料緩衝器114仍需保留寫入資料,無法立即清除寫入資料。當步驟212中的寫入錯誤發生時,控制器102才能將資料緩衝器114中保留的寫入資料於後續步驟208中重新傳送至非揮發性記憶體104之資料暫存器124,以供再次寫入記憶單元陣列122。
然而,上述的習知方法200有兩個缺點。首先,於寫入資料被寫入記憶單元陣列122後,由於控制器102之資料緩衝器114仍需保留寫入資料,資料緩衝器114需要具有較大的記憶空間,會提升控制器102之生產成本。其次,當寫入錯誤發生時,控制器102需於步驟204~210重新傳送寫入命令、寫入位址、寫入資料、寫入狀態檢測命令至非揮發性記憶體104。重新重送該等命令及資料會造成時間的延遲,並導致記憶卡100之效能的下降。因此,需要一種非揮發性記憶體之寫入錯誤管理方法,減少控制器之
資料緩衝器的大小並減少時間的延遲,以降低控制器之生產成本並提升系統效能。
有鑑於此,本發明之目的在於提供一種非揮發性記憶體(non-volatile memory)之寫入錯誤管理方法,以解決習知技術存在之問題。於一實施例中,該非揮發性記憶體耦接至一控制器。首先,以該非揮發性記憶體之一資料暫存器(data temporary register)儲存由該控制器所傳送的一寫入資料。接著,依該控制器之指示將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間。接著,於該寫入資料被寫入後該第一寫入位址之記憶空間後,保持該資料暫存器內之該寫入資料不變。若該非揮發性記憶體於該寫入資料被寫入該第一寫入位址之記憶空間時發生寫入錯誤,經由該控制器向該非揮發性記憶體發送一重新寫入命令。最後,當該非揮發性記憶體於收到該重新寫入命令後,直接將該資料緩衝器儲存的該寫入資料依該控制器之指示寫入該非揮發性記憶體之具有一第二寫入位址之記憶空間。
本發明提供一種非揮發性記憶體(non-volatile memory)之寫入錯誤管理方法。於一實施例中,該非揮發性記憶體耦接至一控制器。首先,以該非揮發性記憶體之一資料暫存器(data temporary register)儲存由該控制器所傳送的一寫入資料。接著,依該控制器之指示將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間。接著,
於該寫入資料被寫入後該第一寫入位址之記憶空間後,保持該資料暫存器內之該寫入資料不變。若該非揮發性記憶體於該寫入資料被寫入該第一寫入位址之記憶空間時發生寫入錯誤,經由該控制器向該非揮發性記憶體發送一資料回傳命令。當該非揮發性記憶體於收到該資料回傳命令後,將該資料緩衝器儲存的該寫入資料傳送回該控制器。
本發明提供一種非揮發性記憶體(non-volatile memory)。於一實施例中,該非揮發性記憶體耦接至一控制器,包括一資料緩衝器(data temporary register)以及一記憶單元陣列(storage array)。該資料緩衝器儲存該控制器所傳送的一寫入資料,並於該寫入資料被寫入該記憶單元陣列後仍保持該寫入資料不變。該記憶單元陣列耦接至該資料緩衝器,將該資料緩衝器儲存的該寫入資料寫入該控制器指示的一第一寫入位址之記憶空間。
本發明提供一種記憶卡(memory card)。於一實施例中,該記憶卡耦接至一主機,包括一控制器(controller)以及一非揮發性記憶體(non-volatile memory)。該控制器具有一資料緩衝器(data buffer)以儲存由該主機所接收的一寫入資料,將該寫入資料傳送至一非揮發性記憶體,並指示該非揮發性記憶體將該寫入資料寫入具有一第一寫入位址之記憶空間。該非揮發性記憶體具有一資料暫存器(data temporary register)以儲存由該控制器所傳送的該寫入資料,將該資料緩衝器儲存的該寫入資料寫入該控制器指示的該第一寫入位址之記憶空間,並於該寫入資料被寫入後該第一寫入位址之記憶空間後仍保持該資料暫存器內之該
寫入資料不變。
本發明提供一種非揮發性記憶體之控制器。於一實施例中,該控制器耦接至一非揮發性記憶體,包括一資料緩衝器(data buffer)以及一控制單元。該資料緩衝器儲存由一主機所接收的一寫入資料。該控制單元將該資料緩衝器儲存的該寫入資料傳送至該非揮發性記憶體之一資料暫存器(data temporary register),指示該非揮發性記憶體將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間,並於發生寫入錯誤時向該非揮發性記憶體發送一重新寫入命令以指示該非揮發性記憶體直接將該資料緩衝器儲存的該寫入資料寫入該非揮發性記憶體之具有一第二寫入位址之記憶空間。其中於該寫入資料被寫入後該第一寫入位址之記憶空間後,該非揮發性記憶體保持該資料暫存器內之該寫入資料不變。
本發明提供一種非揮發性記憶體之控制器。於一實施例中,該控制器耦接至一非揮發性記憶體,包括一資料緩衝器(data buffer)以及一控制單元。該資料緩衝器儲存由一主機所接收的一寫入資料。該控制單元將該資料緩衝器儲存的該寫入資料傳送至該非揮發性記憶體之一資料暫存器(data temporary register),指示該非揮發性記憶體將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間,並於發生寫入錯誤時向該非揮發性記憶體發送一資料回傳命令以指示該非揮發性記憶體將該資料緩衝器儲存的該寫入資料傳送回該控制器。其中於該寫入資料被寫入後該第一寫入位址之記憶空間後,該非揮發性記憶體保持
該資料暫存器內之該寫入資料不變。
為了讓本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉數較佳實施例,並配合所附圖示,作詳細說明如下:
第3圖係依據本發明之包含非揮發性記憶體304之記憶裝置300的區塊圖。記憶裝置300包括控制器302及非揮發性記憶體304。於一實施例中,控制器302包括控制單元312、資料緩衝器(data buffer)314、主機介面316、以及儲存介面318。除了控制單元312外,控制器302的子電路功能大致與第1圖之控制器102相同。主機介面316負責控制器302與一主機間的資料傳遞,而儲存介面318負責控制器302與非揮發性記憶體304間的資料傳遞。非揮發性記憶體304依據控制器302之指示儲存資料。
於一實施例中,非揮發性記憶體304包括儲存介面326、資料暫存器(data temporary register)324、以及記憶單元陣列(storage array)322。除了資料暫存器524外,非揮發性記憶體304的子電路功能大致與第1圖之非揮發性記憶體104相同。儲存介面326負責非揮發性記憶體304與控制器302間的資料傳遞,而記憶單元陣列322係用以儲存資料。於一實施例中,非揮發性記憶體304為一快閃記憶體。不同於第1圖之資料暫存器124,非揮發性記憶體304之資料暫存器324可於寫入資料被寫入記憶單元陣列322後,仍保持資料暫存器324中的寫入資料不變。
當主機要求控制器302儲存資料時,控制器302會依據主機之指示進行寫入動作。第4圖為依據本發明之記憶裝置300進行資料寫入之方法400的流程圖。首先,控制器302透過主機介面316自主機接收一寫入資料,並將接收的寫入資料儲存於資料緩衝器314中(步驟402)。接著,控制單元312經由儲存介面318傳送寫入命令至非揮發性記憶體304(步驟404)。接著,控制單元312經由儲存介面318傳送寫入位址至非揮發性記憶體304(步驟406)。此時為初次執行寫入動作,並非重新寫入(步驟407),因此控制單元312將資料緩衝器314所儲存的寫入資料經由儲存介面318傳送至非揮發性記憶體304,而非揮發性記憶體304將所接收之寫入資料儲存於資料暫存器324(步驟408)。
接著,非揮發性記憶體304依據寫入命令將資料暫存器324中儲存之寫入資料寫入至記憶單元陣列322的寫入位址之記憶空間342(步驟409)。接著,控制單元312經由儲存介面318傳送一寫入狀態檢測命令(status check command)至非揮發性記憶體304(步驟410)。若非揮發性記憶體304之前於寫入資料被寫入記憶單元陣列322時發生寫入錯誤,則非揮發性記憶體304將寫入錯誤之狀態回報控制器302。因此,若非揮發性記憶體304回報寫入錯誤至控制器302(步驟412),則控制器302需執行重新寫入程序,以將主機交付的寫入資料正確地寫入非揮發性記憶體304。
然而,寫入錯誤發生時記憶卡300執行的重新寫入程序,並非如第2圖之習知方法200中般重新重新傳送寫入
命令(步驟204)、寫入位址(步驟206)、寫入資料(步驟208),寫入狀態檢測命令(步驟210)。相反的,控制器302之控制單元312傳送一重新寫入命令(re-write command)至非揮發性記憶體304(步驟404),再傳送與前次寫入位址不同的新寫入位址至非揮發性記憶體304(步驟406)。由於非揮發性記憶體304之資料暫存器324可於寫入資料被寫入記憶單元陣列322後仍保持資料暫存器324中的寫入資料不變,因此控制器302之控制單元312不重新傳送寫入資料至非揮發性記憶體304。接著,當非揮發性記憶體304於收到重新寫入命令後,便直接將資料暫存器324儲存的寫入資料寫入新寫入位址之記憶空間544(步驟409)。接著,控制器304便再次傳送寫入狀態檢測命令(步驟410)至非揮發性記憶體304(步驟410)。若此時非揮發性記憶體304未回報寫入錯誤(步驟412),該筆寫入資料之寫入動作才算完成。最後,若主機沒有新寫入資料待寫入,則寫入程序結束(步驟414)。
與第1圖之記憶卡100相比,第3圖之非揮發性記憶體304之資料暫存器324可於寫入資料被寫入記憶單元陣列322後仍保持資料暫存器324中的寫入資料不變。因此,於寫入資料被寫入記憶單元陣列322後,控制器302之資料緩衝器314不需保留寫入資料。因而資料緩衝器314僅需有較小的記憶空間便可順利運作,從而降低控制器302之生產成本。其次,與第2圖之方法200相比,第4圖之方法400於執行的重新寫入程序時不需如步驟208般重新傳送寫入資料至非揮發性記憶體304。亦即,相較於第1
圖的習知技術中執行重新寫入程序時寫入資料需經由路徑134由控制器102傳送至非揮發性記憶體104,第3圖之非揮發性記憶體304可直接由路徑334將資料暫存器324中的寫入資料寫入記憶單元陣列322。因此,當寫入錯誤發生時,控制器302不需重新傳送寫入資料非揮發性記憶體304,從而降低時間的延遲,並提升記憶卡300之效能。
第5圖係依據本發明之包含非揮發性記憶體504之記憶裝置500的區塊圖。記憶裝置500包括控制器502及非揮發性記憶體504。於一實施例中,控制器502包括控制單元512、資料緩衝器(data buffer)514、主機介面516、以及儲存介面518。除了控制單元512外,控制器502的子電路功能大致與第3圖之控制器302相同。於一實施例中,非揮發性記憶體504包括儲存介面526、資料暫存器(data temporary register)524、以及記憶單元陣列(storage array)522。非揮發性記憶體504的子電路功能大致與第3圖之非揮發性記憶體304相同。於一實施例中,非揮發性記憶體504為一快閃記憶體。同樣的,不同於第1圖之資料暫存器124,非揮發性記憶體504之資料暫存器524可於寫入資料被寫入記憶單元陣列522後,仍保持資料暫存器524中的寫入資料不變。
當主機要求控制器502儲存資料時,控制器502會依據主機之指示進行寫入動作。第6圖為依據本發明之記憶裝置500進行資料寫入之方法600的流程圖。首先,控制器502透過主機介面516自主機接收一寫入資料,並將接收的寫入資料儲存於資料緩衝器514中(步驟602)。接著,
控制單元512經由儲存介面518傳送寫入命令至非揮發性記憶體504(步驟604)。接著,控制單元512經由儲存介面518傳送寫入位址至非揮發性記憶體504(步驟606)。接著,控制單元512將資料緩衝器514所儲存的寫入資料經由儲存介面518傳送至非揮發性記憶體504,而非揮發性記憶體504將所接收之寫入資料儲存於資料暫存器524(步驟608)。
接著,非揮發性記憶體504依據寫入命令將資料暫存器524中儲存之寫入資料寫入至記憶單元陣列522的寫入位址之記憶空間542(步驟609)。接著,控制單元512經由儲存介面518傳送一寫入狀態檢測命令(status check command)至非揮發性記憶體504(步驟610)。若非揮發性記憶體504之前於寫入資料被寫入記憶單元陣列522時發生寫入錯誤,則非揮發性記憶體504將寫入錯誤之狀態回報控制器502。因此,若非揮發性記憶體504回報寫入錯誤至控制器502(步驟612),則控制器502需執行重新寫入程序,以將主機交付的寫入資料正確地寫入非揮發性記憶體504。
於記憶卡500執行的重新寫入程序時,控制單元512首先經由儲存介面518傳送一讀回命令至非揮發性記憶體504(步616),接著傳送讀取位址至非揮發性記憶體504(步驟618)。由於非揮發性記憶體504之資料暫存器524可於寫入資料被寫入記憶單元陣列522後仍保持資料暫存器524中的寫入資料不變,因此非揮發性記憶體504依據讀回命令將資料暫存器524中之寫入資料傳送回予控制器
502(步驟619),而控制器502再將回傳的寫入資料儲存於資料緩衝器514中(步驟620)。接著,控制器502再度重新重新傳送寫入命令(步驟604)、新寫入位址(步驟606)、寫入資料(步驟608)至非揮發性記憶體504。接著,非揮發性記憶體504便將寫入資料寫入新寫入位址之記憶空間544(步驟609)。接著,控制器502便再次傳送寫入狀態檢測命令至非揮發性記憶體504(步驟610)。若此時非揮發性記憶體504未回報寫入錯誤(步驟612),該筆寫入資料之寫入動作才算完成。最後,若主機沒有新寫入資料待寫入,則寫入程序結束(步驟614)。
與第1圖之記憶卡100相比,第5圖之非揮發性記憶體504之資料暫存器524可於寫入資料被寫入記憶單元陣列522後仍保持資料暫存器524中的寫入資料不變,而可於寫入錯誤發生時回傳寫入資料至控制器502之資料緩衝器514。因此,於寫入資料被寫入記憶單元陣列522後,控制器502之資料緩衝器514不需保留寫入資料。因而資料緩衝器514僅需有較小的記憶空間便可順利運作,從而降低控制器502之生產成本。然而,與第2圖之方法200相比,第6圖之方法600於執行的重新寫入程序時需要多執行步驟416~420以傳送讀回命令、讀取位址、寫入資料。亦即,相較於第1圖的習知技術,第5圖之非揮發性記憶體504需由路徑534將資料暫存器324中的寫入資料傳送回控制器502之資料緩衝器514,因此會增加時間的延遲。然而,由於寫入錯誤發生的頻率並不高,因此方法600造成的時間延遲不會對系統效能造成太大的影響。
第7圖為依據本發明之二級寫入模式之記憶卡700的區塊圖。於二級(2-plane)寫入模式下,非揮發性記憶體704包括兩資料暫存器724、726,而控制器702將資料緩衝器714中的兩寫入資料先後傳送至非揮發性記憶體704之兩資料暫存器724、726。當資料暫存器724將所接收的第一寫入資料寫入記憶單元陣列722時,資料暫存器726自控制器702接收第二寫入資料。如此兩資料暫存器724、726交替自控制器702接收寫入資料。第8圖為依據本發明之二向交錯之二級寫入模式之記憶卡800的區塊圖。於二向交錯之二級(2-plane+2 way interleave)寫入模式下,記憶卡800包括兩非揮發性記憶體804、806,而控制器802交替的致能兩非揮發性記憶體804、806的晶片致能信號0、1。當非揮發性記憶體804被致能時,兩資料暫存器824、826則交替自控制器802之資料緩衝器814接收寫入資料。當非揮發性記憶體806被致能時,兩資料暫存器834、836則交替自控制器802之資料緩衝器814接收寫入資料。
第9A圖為本發明之重新寫入程序所需之控制器的資料緩衝器大小的比較示意圖。假設控制器於每次寫入動作寫入非揮發性記憶體一頁(page)大小之資料。於第2圖之習知方法200下,控制器之資料緩衝器於基本寫入模式中至少需保留一頁的資料量,於二級寫入模式下則需保留寫入非揮發性記憶體之兩資料暫存器的兩頁資料量,於二向交錯之二級寫入模式下則需保留寫入兩非揮發性記憶體之四資料暫存器的四頁資料量,而於四向交錯之二級寫入模式下則需保留寫入四非揮發性記憶體之八資料暫存器的八頁
資料量。相反的,由於本發明之非揮發性記憶體可於寫入動作後保留資料不變,本發明之控制器之資料緩衝器於執行寫入動作後不需保留寫入資料。因此於本發明第4、6圖之方法400、600下,控制器之資料緩衝器於各種寫入模式中僅需具有一頁的資料量供儲存目前的寫入資料即可順利運作,從而降低控制器的生產成本。
第9B圖為本發明之重新寫入程序所需之時間長短的比較示意圖。假設控制器於每次寫入動作寫入非揮發性記憶體一頁(page)大小之資料。於第2圖之習知方法200下,重新寫入程序需執行步驟204、206、208、210以分別傳送寫入命令、寫入位址、寫入資料、寫入狀態檢測命令。假設傳送寫入命令、寫入位址、寫入資料、寫入狀態檢測命令分別需時2、X、N、1個時脈週期,則習知方法200之重新寫入程序需時(X+3+N)個時脈週期。於第4圖之本發明第一方法200下,重新寫入程序需執行步驟404、406、410以分別傳送重新寫入命令、寫入位址、寫入狀態檢測命令,則本發明第一方法400之重新寫入程序僅需時(X+3)個時脈週期,可有效提升系統的效能。於第6圖之本發明第二方法600下,重新寫入程序需執行步驟616、618、619、704、706、708、710以分別傳送讀回命令、讀取位址、回傳寫入資料、寫入命令、寫入位址、寫入資料、寫入狀態檢測命令,則本發明第二方法600之重新寫入程序僅需時(X+N+3)×2個時脈週期。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟習此項技術者,在不脫離本發明之精
神和範圍內,當可作些許之更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100、300、500‧‧‧記憶卡
102、302、502‧‧‧控制器
104、304、504‧‧‧非揮發性記憶體
112、312、512‧‧‧控制單元
114、314、514‧‧‧資料緩衝器
116、316、516‧‧‧主機介面
118、318、518、126、326、526‧‧‧儲存介面
122、322、522‧‧‧記憶單元陣列
124、324、524‧‧‧資料暫存器
700、800‧‧‧記憶卡
702、802‧‧‧控制器
704、804‧‧‧非揮發性記憶體
712、812‧‧‧控制單元
714、814‧‧‧資料緩衝器
722、822‧‧‧記憶單元陣列
724、726、824、826、834、836‧‧‧資料暫存器
第1圖為包含非揮發性記憶體之一記憶裝置的區塊圖;第2圖為第1圖之記憶裝置進行資料寫入之方法的流程圖;第3圖係依據本發明之包含非揮發性記憶體之記憶裝置的區塊圖;第4圖為依據本發明之記憶裝置進行資料寫入之方法的流程圖;第5圖係依據本發明之包含非揮發性記憶體之記憶裝置的區塊圖;第6圖為依據本發明之記憶裝置進行資料寫入之方法的流程圖;第7圖為依據本發明之二級寫入模式之記憶卡的區塊圖;第8圖為依據本發明之二向交錯之二級寫入模式之記憶卡的區塊圖;第9A圖為本發明之重新寫入程序所需之控制器的資料緩衝器大小的比較示意圖;以及第9B圖為本發明之重新寫入程序所需之時間長短的比較示意圖。
Claims (20)
- 一種非揮發性記憶體(non-volatile memory),耦接至一控制器,包括:一資料暫存器(data temporary register),儲存該控制器所傳送的一寫入資料,並於該寫入資料被寫入一記憶單元陣列後仍保持該寫入資料不變;以及該記憶單元陣列(storage array),耦接至該資料暫存器,將該資料暫存器儲存的該寫入資料寫入該控制器指示的一第一寫入位址之記憶空間,其中若該非揮發性記憶體於該寫入資料被寫入該記憶單元陣列時發生寫入錯誤,則該非揮發性記憶體將該寫入錯誤之狀態回報該控制器,其中當該控制器得知該寫入錯誤後向該非揮發性記憶體發送一資料回傳命令,該非揮發性記憶體於收到該資料回傳命令後將該資料暫存器儲存的該寫入資料傳送回該控制器。
- 如申請專利範圍第1項所述之非揮發性記憶體,其中當該控制器得知該寫入錯誤後向該非揮發性記憶體發送一重新寫入命令而不再向該非揮發性記憶體重新傳送該寫入資料,該非揮發性記憶體於收到該重新寫入命令後直接將該資料暫存器儲存的該寫入資料寫入該控制器指示的具有一第二寫入位址之記憶空間。
- 如申請專利範圍第1項所述之非揮發性記憶體,其中當該控制器收到該非揮發性記憶體回傳的該寫入資料後,將該寫入資料再次傳送至該非揮發性記憶體,而該非揮發性記憶體將收到的該寫入資料寫入該控制器指示的具有一第二寫入位址之記憶空間。
- 如申請專利範圍第1項所述之非揮發性記憶體,其中該非揮發性記憶體為一快閃記憶體(flash memory)。
- 一種記憶卡(memory card),耦接至一主機,包括:一控制器(controller),具有一資料緩衝器(data buffer)以儲存由該主機所接收的一寫入資料,將該寫入資料傳送至一非揮發性記憶體,並指示該非揮發性記憶體將該寫入資料寫入具有一第一寫入位址之記憶空間;以及一非揮發性記憶體(non-volatile memory),具有一資料暫存器(data temporary register)以儲存由該控制器所傳送的該寫入資料,將該資料暫存器儲存的該寫入資料寫入該控制器指示的該第一寫入位址之記憶空間,並於該寫入資料被寫入後該第一寫入位址之記憶空間後仍保持該資料暫存器內之該寫入資料不變,其中若該非揮發性記憶體於該寫入資料被寫入該第一寫入位址之記憶空間時發生寫入錯誤,則該非揮發性記憶體將該寫入錯誤之狀態回報該控制器,其中當該控制器得知該寫入錯誤後向該非揮發性記憶體發送一資料回傳命令,且該非揮發性記憶體於收到該資料回傳命令後將該資料暫存器儲存的該寫入資料傳送回該控制器。
- 如申請專利範圍第5項所述之記憶卡,其中當該控制器得知該寫入錯誤後向該非揮發性記憶體發送一重新寫入命令而不再向該非揮發性記憶體重新傳送該寫入資料,該非揮發性記憶體於收到該重新寫入命令後直接將該資料暫存器儲存的該寫入資料寫入該控制器指示的具有一第二寫入位址之記憶空間。
- 如申請專利範圍第5項所述之記憶卡,其中當該控制器收到該非揮發性記憶體回傳的該寫入資料後,將該寫入資料再次傳送至該非揮發性記憶體,而該非揮發性記憶體將收到的該寫入資料寫入該控制器指示的具有一第二寫入位址之記憶空間。
- 如申請專利範圍第5項所述之記憶卡,其中該非揮發性記憶體為一快閃記憶體(flash memory)。
- 一種非揮發性記憶體(non-volatile memory)之寫入錯誤管理方法,其中該非揮發性記憶體耦接至一控制器,該方法包括下列步驟:以該非揮發性記憶體之一資料暫存器(data temporary register)儲存由該控制器所傳送的一寫入資料;依該控制器之指示將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間;於該寫入資料被寫入後該第一寫入位址之記憶空間後,保持該資料暫存器內之該寫入資料不變;若該非揮發性記憶體於該寫入資料被寫入該第一寫入位址之記憶空間時發生寫入錯誤,經由該控制器向該非揮發性記憶體發送一重新寫入命令;以及當該非揮發性記憶體於收到該重新寫入命令後,直接將該資料暫存器儲存的該寫入資料依該控制器之指示寫入該非揮發性記憶體之具有一第二寫入位址之記憶空間。
- 如申請專利範圍第9項所述之非揮發性記憶體之寫入錯誤管理方法,其中該控制器向該非揮發性記憶體發送該重新寫入命令時不再向該非揮發性記憶體重新傳送該 寫入資料。
- 如申請專利範圍第9項所述之非揮發性記憶體之寫入錯誤管理方法,其中該非揮發性記憶體為一快閃記憶體(flash memory)。
- 一種非揮發性記憶體(non-volatile memory)之寫入錯誤管理方法,其中該非揮發性記憶體耦接至一控制器,該方法包括下列步驟:以該非揮發性記憶體之一資料暫存器(data temporary register)儲存由該控制器所傳送的一寫入資料;依該控制器之指示將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間;於該寫入資料被寫入後該第一寫入位址之記憶空間後,保持該資料暫存器內之該寫入資料不變;若該非揮發性記憶體於該寫入資料被寫入該第一寫入位址之記憶空間時發生寫入錯誤,經由該控制器向該非揮發性記憶體發送一資料回傳命令;以及當該非揮發性記憶體於收到該資料回傳命令後,將該資料暫存器儲存的該寫入資料傳送回該控制器。
- 如申請專利範圍第12項所述之非揮發性記憶體之寫入錯誤管理方法,其中該方法更包括:當該控制器收到該非揮發性記憶體回傳的該寫入資料後,將該寫入資料再次傳送至該非揮發性記憶體;以及當該非揮發性記憶體收到該寫入資料後,將收到的該寫入資料依據該控制器之指示寫入該非揮發性記憶體之具有一第二寫入位址之記憶空間。
- 如申請專利範圍第12項所述之非揮發性記憶體之寫入錯誤管理方法,其中該非揮發性記憶體為一快閃記憶體(flash memory)。
- 一種非揮發性記憶體之控制器,耦接至一非揮發性記憶體,包括:一資料緩衝器(data buffer),儲存由一主機所接收的一寫入資料;以及一控制單元,將該資料緩衝器儲存的該寫入資料傳送至該非揮發性記憶體之一資料暫存器(data temporary register),指示該非揮發性記憶體將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間,並於發生寫入錯誤時向該非揮發性記憶體發送一重新寫入命令以指示該非揮發性記憶體直接將該資料暫存器儲存的該寫入資料寫入該非揮發性記憶體之具有一第二寫入位址之記憶空間;其中於該寫入資料被寫入後該第一寫入位址之記憶空間後,該非揮發性記憶體保持該資料暫存器內之該寫入資料不變。
- 如申請專利範圍第15項所述之控制器,其中該控制單元向該非揮發性記憶體發送該重新寫入命令時,不再向該非揮發性記憶體重新傳送該寫入資料。
- 如申請專利範圍第15項所述之控制器,其中該非揮發性記憶體為一快閃記憶體(flash memory)。
- 一種非揮發性記憶體之控制器,耦接至一非揮發性記憶體,包括: 一資料緩衝器(data buffer),儲存由一主機所接收的一寫入資料;以及一控制單元,將該資料緩衝器儲存的該寫入資料傳送至該非揮發性記憶體之一資料暫存器(data temporary register),指示該非揮發性記憶體將該寫入資料寫入該非揮發性記憶體之具有一第一寫入位址之記憶空間,並於發生寫入錯誤時向該非揮發性記憶體發送一資料回傳命令以指示該非揮發性記憶體將該資料暫存器儲存的該寫入資料傳送回該控制器;其中於該寫入資料被寫入後該第一寫入位址之記憶空間後,該非揮發性記憶體保持該資料暫存器內之該寫入資料不變。
- 如申請專利範圍第18項所述之控制器,其中當該控制器收到該非揮發性記憶體回傳的該寫入資料後,該資料緩衝器儲存該寫入資料,而該控制單元將該寫入資料再次傳送至該非揮發性記憶體,以指示該非揮發性記憶體將收到的該寫入資料寫入該非揮發性記憶體之具有一第二寫入位址之記憶空間。
- 如申請專利範圍第18項所述之控制器,其中該非揮發性記憶體為一快閃記憶體(flash memory)。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098119341A TWI416523B (zh) | 2009-06-10 | 2009-06-10 | 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器 |
US12/618,766 US8151144B2 (en) | 2009-06-10 | 2009-11-15 | Memory card, nonvolatile memory, controller, and method for managing writing errors for nonvolatile memories |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098119341A TWI416523B (zh) | 2009-06-10 | 2009-06-10 | 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201044397A TW201044397A (en) | 2010-12-16 |
TWI416523B true TWI416523B (zh) | 2013-11-21 |
Family
ID=43307452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098119341A TWI416523B (zh) | 2009-06-10 | 2009-06-10 | 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8151144B2 (zh) |
TW (1) | TWI416523B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8880778B2 (en) * | 2010-05-13 | 2014-11-04 | Micron Technology, Inc. | Memory buffer having accessible information after a program-fail |
US9990246B2 (en) | 2013-03-15 | 2018-06-05 | Intel Corporation | Memory system |
US9372629B2 (en) * | 2014-06-09 | 2016-06-21 | SanDisk Technologies, Inc. | System, method and apparatus for preventing data loss due to memory defects using latches |
US10163508B2 (en) | 2016-02-26 | 2018-12-25 | Intel Corporation | Supporting multiple memory types in a memory slot |
US10394647B2 (en) * | 2017-06-22 | 2019-08-27 | International Business Machines Corporation | Bad bit register for memory |
TW202008171A (zh) * | 2018-07-20 | 2020-02-16 | 大陸商深圳大心電子科技有限公司 | 資料寫入方法以及儲存控制器 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200403687A (en) * | 2002-08-30 | 2004-03-01 | Nec Electronics Corp | Flash memory for improving write access time |
US20060198202A1 (en) * | 2005-02-18 | 2006-09-07 | M-Systems Flash Disk Pioneers Ltd. | Flash memory backup system and method |
TW200707443A (en) * | 2005-04-01 | 2007-02-16 | Sandisk Corp | Multi-state memory having data recovery after program fail |
US20070186040A1 (en) * | 2004-02-03 | 2007-08-09 | Matsushita Electric Industrial Co., Ltd. | Memory card, data processor,memory card control method and memory card setting |
US20080175065A1 (en) * | 2007-01-23 | 2008-07-24 | Samsung Electronics Co., Ltd. | Method and apparatus for storing page data |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070076849A (ko) | 2006-01-20 | 2007-07-25 | 삼성전자주식회사 | 메모리 카드의 카피백 동작을 수행하는 장치 및 방법 |
-
2009
- 2009-06-10 TW TW098119341A patent/TWI416523B/zh active
- 2009-11-15 US US12/618,766 patent/US8151144B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW200403687A (en) * | 2002-08-30 | 2004-03-01 | Nec Electronics Corp | Flash memory for improving write access time |
US20070186040A1 (en) * | 2004-02-03 | 2007-08-09 | Matsushita Electric Industrial Co., Ltd. | Memory card, data processor,memory card control method and memory card setting |
US20060198202A1 (en) * | 2005-02-18 | 2006-09-07 | M-Systems Flash Disk Pioneers Ltd. | Flash memory backup system and method |
TW200707443A (en) * | 2005-04-01 | 2007-02-16 | Sandisk Corp | Multi-state memory having data recovery after program fail |
US20080175065A1 (en) * | 2007-01-23 | 2008-07-24 | Samsung Electronics Co., Ltd. | Method and apparatus for storing page data |
Also Published As
Publication number | Publication date |
---|---|
US8151144B2 (en) | 2012-04-03 |
TW201044397A (en) | 2010-12-16 |
US20100318840A1 (en) | 2010-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI424435B (zh) | 對快閃記憶體下達程式化指令的方法、控制器與儲存系統 | |
US9183143B2 (en) | Memory device that specifies a size of a segment of write data | |
US9697116B2 (en) | Storage system and writing method thereof | |
TWI416523B (zh) | 非揮發性記憶體之寫入錯誤管理方法、非揮發性記憶體、記憶卡、以及非揮發性記憶體之控制器 | |
CN101800071B (zh) | 固态盘设备及其编程失败处理方法 | |
US9741442B2 (en) | System and method of reading data from memory concurrently with sending write data to the memory | |
US9471242B2 (en) | Early de-allocation of write buffer in an SSD | |
US10649692B2 (en) | Storage device, system including the same and method of operating the same | |
TWI789817B (zh) | 用來進行記憶裝置的存取管理之方法、記憶裝置及其控制器、主裝置以及電子裝置 | |
WO2015117493A1 (zh) | 一种flash的控制方法和控制器 | |
US9400747B2 (en) | Batch command techniques for a data storage device | |
TWI574274B (zh) | 循環區塊模式下的資料存取方法以及使用該方法的裝置 | |
US11561725B2 (en) | System and operating method thereof | |
TWI582599B (zh) | 資料傳輸方法、記憶體控制器、資料傳輸系統 | |
CN101930406B (zh) | 非易失性存储器的写入错误管理方法、存储卡、及控制器 | |
CN110069427B (zh) | 存储器控制器以及存储器控制器的操作方法 | |
CN110874190A (zh) | 闪存控制器及方法 | |
CN110364196A (zh) | 存储器系统及其操作方法 | |
US9223649B2 (en) | System and method of sending correction data to a buffer of a non-volatile memory | |
KR20150059056A (ko) | 호스트 ftl을 갖는 사용자 장치 및 그것의 소거 카운트 전송 방법 | |
CN113311991B (zh) | 具有针对优选用户数据改进的写入性能的数据存储 | |
CN106227682B (zh) | 电子装置、存储器装置及其数据交换方法 | |
JP2003030045A (ja) | 記憶装置 |