TWI555023B - 快閃記憶體更新方法以及快閃記憶體控制器 - Google Patents

快閃記憶體更新方法以及快閃記憶體控制器 Download PDF

Info

Publication number
TWI555023B
TWI555023B TW102142809A TW102142809A TWI555023B TW I555023 B TWI555023 B TW I555023B TW 102142809 A TW102142809 A TW 102142809A TW 102142809 A TW102142809 A TW 102142809A TW I555023 B TWI555023 B TW I555023B
Authority
TW
Taiwan
Prior art keywords
storage space
input data
threshold voltage
memory
update
Prior art date
Application number
TW102142809A
Other languages
English (en)
Other versions
TW201421476A (zh
Inventor
楊宗杰
Original Assignee
慧榮科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 慧榮科技股份有限公司 filed Critical 慧榮科技股份有限公司
Publication of TW201421476A publication Critical patent/TW201421476A/zh
Application granted granted Critical
Publication of TWI555023B publication Critical patent/TWI555023B/zh

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • G11C11/5635Erasing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

快閃記憶體更新方法以及快閃記憶體控制器
本發明所揭露之實施例係關於管理儲存於一快閃記憶體中的資料,尤指一種快閃記憶體更新方法以及快閃記憶體控制器。
半導體記憶體裝置依其原理可分為揮發性(volatile)記憶體裝置以及非揮發性記憶體裝置。揮發性記憶體裝置可以快速地執行讀/寫操作,但在失去電力時便會失去所儲存的資料,反之,非揮發性記憶體不需要靠電力來維持所儲存的資料。所謂的快閃記憶體即是非揮發性記憶體的一種,具有高記憶單元集成密度(integration density),因此,可以利用快閃記憶體來當作資料儲存媒介,例如一固態硬碟(solid-state drive,SSD)。
隨著快閃記憶體的進步,單一記憶單元能夠儲存一個以上的資料位元,然而,在對能夠儲存多個資料位元的快閃記憶單元進行程式化的時候,需要格外小心地控制分別對應於不同程式化資料值的臨界電壓分佈值。具體來說,當快閃記憶體的集成密度增加時,構成快閃記憶體之記憶單元的最小特徵尺寸(minimum feature size)必然會降低,同時,快閃記憶體中的記憶單元的浮動閘極(floating gate)之間的耦合效應也會增加,使得快閃記憶體的可靠度降低。
此外,由於浮動閘極的尺寸會隨著快閃記憶體的集成密度增加而縮小,資料保持干擾(data-retention disturbance)已成為設計上不得不解決的 問題。在習知的設計中,當資料保持干擾在資料寫入至一記憶區塊後於該記憶區塊中發生,則需要靠複雜的軟式解碼演算法(soft decoding algorithm)並經過多次讀取操作才能將資料回復回來。在成功地回復儲存資料後,還需要在快閃記憶體中找一個替代記憶區塊來存放剛才所回復的資料,並抹除原本的記憶區塊而成為空白記憶區塊。不過,習知的資料保持回復機制會增加程式化/抹除週期(program/erase,P/E)的數目,使快閃記憶體的壽命減少。
根據本發明的示範性實施例,揭露一種快閃記憶體更新方法以及快閃記憶體控制器。
依據本發明的第一方面,本發明提出一種應用於一快閃記憶體之示範性更新方法。該更新方法至少包含有以下步驟:執行一寫入操作以將一輸入資料儲存至該快閃記憶體中的一儲存空間;檢查儲存有該輸入資料之該儲存空間的可靠度;以及當該儲存空間的可靠度達到一預定條件時,依據該輸入資料對該儲存空間執行一更新操作。
在示範性實施例中,檢查該儲存空間的可靠度的步驟包含有:偵測儲存有該輸入資料之該儲存空間是否遭受資料保持干擾。
在示範性實施例中,該儲存空間係由複數個N位元多階記憶單元所構成,且N係大於2的一正值。
在示範性實施例中,該寫入操作會透過一初始程式化操作以及該初始程式化操作之後的至少一再程式化操作,來將該輸入資料儲存至該儲存空間;該更新操作係對該儲存空間進行的一額外再程式化操作,以將從該儲存空間所回復之該輸入資料程式化至該儲存空間中的原始儲存位置。
在示範性實施例中,該寫入操作儲存在該儲存空間中之該輸入資料係依據一第一參考臨界電壓初始設定來被讀取,而該更新操作儲存在該儲存空間中之該輸入資料係依據一第二參考臨界電壓初始設定來被讀取,且該第一參考臨界電壓初始設定係不同於該第二參考臨界電壓初始設定。其中該第二參考臨界電壓初始設定中所定義的一最高參考臨界電壓值係大於該第一參考臨界電壓初始設定中所定義的一最高參考臨界電壓值。此外,該更新方法另包含有:在對該儲存空間執行該更新操作之後,儲存用以指示該第二參考臨界電壓初始設定的一指標。
在示範性實施例中,該儲存空間係該快閃記憶體的一記憶區塊的一部分。此外,該更新方法另包含有:當該儲存空間的可靠度達到該預定條件時,對該快閃記憶體之該記憶區塊的一其餘部分執行一更新操作。
第二方面,本發明提出一種用於一快閃記憶體的示範性記憶體控制器。該示範性記憶體控制器包含有一寫入電路、一檢查電路以及一更新電路。該寫入電路係耦接至該快閃記憶體,用來將一輸入資料儲存至該快閃記憶體中的一儲存空間。該檢查電路係用來檢查儲存有該輸入資料之該儲存空間的可靠度。該更新電路係耦接至該檢查電路以及該快閃記憶體,用來當該儲存空間的可靠度達到一預定條件時,依據該輸入資料對該儲存空間執行一更新操作。
在示範性實施例中,該檢查電路藉由偵測儲存有該輸入資料之該儲存空間是否遭受資料保持干擾,來檢查該儲存空間的可靠度。
在示範性實施例中,該記憶體控制器所存取之該儲存空間係由複 數個N位元多階記憶單元所構成,且N係大於2的一正值。
在示範性實施例中,該寫入電路會透過一初始程式化操作以及該初始程式化操作之後的至少一再程式化操作,來將該輸入資料儲存至該儲存空間。該更新電路係對該儲存空間進行的一額外再程式化操作,以將從該儲存空間所回復之該輸入資料程式化至該儲存空間中的原始儲存位置。
在示範性實施例中,該寫入電路儲存在該儲存空間中之該輸入資料係依據一第一參考臨界電壓初始設定來被讀取,而該更新電路儲存在該儲存空間中之該輸入資料係依據一第二參考臨界電壓初始設定來被讀取,且該第一參考臨界電壓初始設定係不同於該第二參考臨界電壓初始設定。其中該第二參考臨界電壓初始設定中所定義的一最高參考臨界電壓值係大於該第一參考臨界電壓初始設定中所定義的一最高參考臨界電壓值。此外,在更新該儲存空間之後,該更新電路會儲存用以指示該第二參考臨界電壓初始設定的一指標。
在示範性實施例中,該記憶體控制器所存取之該儲存空間係該快閃記憶體的一記憶區塊的一部分。此外當該儲存空間的可靠度達到該預定條件時,該更新電路另用來更新該快閃記憶體之該記憶區塊的一其餘部分。
相較於將受到資料保持干擾的記憶區塊的內容抹除的習知資料保持回復機制,本發明資料保持回復機制會更新而非抹除受到資料保持干擾的記憶區塊,這樣一來,便不會增加程式化/抹除週期的數目。除此之外,習知的資料保持回復機制係將受到資料保持干擾的記憶區塊內的資料搬移到其它的記憶區塊,本發明資料保持回復機制則可更新受到資料保持干擾的記憶區塊而無需移動資料。
100‧‧‧快閃記憶裝置
102‧‧‧記憶體控制器
104‧‧‧快閃記憶體
112‧‧‧寫入電路
114‧‧‧檢查電路
116‧‧‧更新電路
118‧‧‧其它電路
122‧‧‧記憶單元
第1圖為本發明一實施例中的一快閃記憶體裝置的示意圖。
第2圖為第一次程式化操作(即初始程式化操作)執行完畢後的記憶單元臨界電壓分佈圖。
第3圖為第二次程式化操作(即第一次再程式化操作)執行完畢後的記憶單元臨界電壓分佈圖。
第4圖為第三次程式化操作(即第二次再程式化操作)執行完畢後的記憶單元臨界電壓分佈圖。
第5圖為當資料保持干擾發生時記憶單元的臨界電壓分佈圖。
第6圖係更新操作執行完畢之後的記憶單元的臨界電壓分佈圖。
第7圖為檢查電路所記錄的第一清單以及第二清單的範例的示意圖。
第8圖為檢查電路所記錄的第一清單以及第二清單更新後的範例的示意圖。
在說明書及後續的申請專利範圍當中使用了某些詞彙來指稱特定的元件。所屬領域中具有通常知識者應可理解,製造商可能會用不同的名詞來稱呼同樣的元件。本說明書及後續的申請專利範圍並不以名稱的差異來作為區分元件的方式,而是以元件在功能上的差異來作為區分的準則。在通篇說明書及後續的請求項當中所提及的「包含」係為一開放式的用語,故應解釋成「包含但不限定於」。另外,「耦接」一詞在此係包含任何直接及間接的電氣連接手段。因此,若文中描述一第一裝置耦接於一第二裝置,則代表該第一裝置可直接電氣連接於該第二裝置,或透過其他裝置或連接手段間接地電氣連接至該第二裝置。
本發明的精神係在快閃記憶體中針對原本的儲存位置就地執行更 新操作來程式化資料,因此得以在不增加程式化/抹除週期(program/erase,P/E)的數目的情況下解決資料保持干擾(data-retention disturbance)的問題。關於資料保持回復機制的進一步的細節將說明如下。
請參考第1圖,第1圖為本發明一實施例中的一快閃記憶體裝置的示意圖。快閃記憶體裝置100包含有一記憶體控制器102以及一快閃記憶體104。記憶體控制器102係耦接至快閃記憶體104,用來控制快閃記憶體104的存取(即讀和寫)。記憶體控制器102具有一寫入電路112、一檢查電路114、一更新電路116以及其它電路118,其中其它電路118可包含一讀取電路、一抹除電路、一錯誤檢查以及更正(error checking and correcting,ECC)電路等。寫入電路112係耦接至快閃記憶體104,用來將一輸入資料D_IN儲存至快閃記憶體104的一儲存空間,其中該儲存空間係快閃記憶體104中一記憶區塊(block)的一部分,例如一單一記憶分頁(page)中的記憶單元或是位於單一字元線(word line)上的記憶單元。檢查電路114係用來檢查儲存有輸入資料D_IN之該儲存空間的可靠度。更新電路116係耦接至檢查電路114以及快閃記憶體104,用來於該儲存空間的可靠度達到一預定條件時,依據輸入資料D_IN對該儲存空間執行一更新操作。關於寫入電路112、檢查電路114以及更新電路116的操作將會在之後的段落中說明。由於本發明的特徵係在於一種應用在快閃記憶體104的更新機制,因此為使說明書簡潔起見,其它電路118中的元件在執行抹除操作、讀取操作和錯誤檢查以及更正解碼操作的相關說明將予以省略。此外,寫入電路112、檢查電路114、更新電路116以及其它電路118可以是採用了一些軟體碼或是韌體碼的硬體電路設計,且上述四組電路中至少兩組可以在軟體或是韌體的控制之下,共用相同的硬體來執行不同的工作任務。
關於快閃記憶體104,其具有複數個記憶區塊BK0、BK1、…、 BKM,其中M可以視實際的設計需求而為任意正整數。每一記憶區塊都具有複數個記憶單元112位於不同字元線WL0、WL1、WL2、…、WLL上,其中L可以視實際的設計需求而為任意正整數,舉例來說,L=86。每一字元線上的記憶單元122又分為K個記憶分頁,其中K可以視實際的設計需求而為任意正整數。舉例來說,K=3。
快閃記憶體104在執行資料存取的時候,可以對快閃記憶體104執行以記憶體分頁為單位的讀取操作(page-based read operation)來讀取一指定記憶分頁中的記憶單元122中所儲存的資料;另外,可以對快閃記憶體104執行以記憶體分頁為單位的寫入操作(page-based write operation)來將輸入資料程式化到一指定記憶分頁中的記憶單元122中;又,可以對快閃記憶體104執行以記憶區塊為單位的抹除操作(block-based erase operation)來抹除一指定記憶區塊中的記憶單元122中所儲存的資料。在此實施例中,每一記憶單元122可以係一N位元多階記憶單元(multi-level cell,MLC),其中N係大於2的一正整數,例如,每一記憶單元122可以係一3位元多階記憶單元,又名三階記憶單元(triple-level cell,TLC)。
相鄰記憶單元的浮動閘極之間的耦合效應會造成臨界電壓分佈的位移及/或擴展,而臨界電壓分佈的位移及/或擴展會侵害讀取邊際(read margin),因而導致讀取資料的錯誤。要減輕相鄰記憶單元的浮動閘極之間的耦合效應所造成的臨界電壓分佈的位移及/或擴展,寫入電路112係設置來透過一初始程式化操作以及該初始程式化操作之後的至少一再程式化操作(reprogram operation),來執行一寫入操作。
在快閃記憶體104係為一三階快閃記憶體的情況下,每一記憶單元122會被程式化在八種狀態(state)的其中一種,以儲存一3位元資料。 當寫入電路112將輸入資料D_IN寫入至快閃記憶體104的一儲存空間(例如記憶區塊BK0的字元線WL0中的記憶單元122)中,會使用一種基於再程式化的方法(reprogram-based method)來對指定儲存空間中的每一記憶單元122進行程式化。第2圖為第一次程式化操作(即初始程式化操作)執行完畢後的記憶單元臨界電壓分佈圖。就每一記憶單元122來說,該初始程式化操作會根據所欲儲存的一3位元資料,直接將記憶單元122程式化至一目標狀態。如第2圖所示,參考臨界電壓0和VTH1~VTH6係用來分辨記憶單元中的多個狀態,儘管該初始程式化操作已執行完畢,仍然會因為相鄰記憶單元的浮動閘極間的耦合效應所造成的臨界電壓分佈干擾,而難以清楚地分辨不同狀態。具體地說,也就是仍存在有無法明確辨別的資料區域(在圖中以斜線表示)。因此,需要執行一第一次再程式化操作。第3圖為第二次程式化操作(即第一次再程式化操作)執行完畢後的記憶單元臨界電壓分佈圖。第一次再程式化操作係用來優化該初始程式化操作所得到之該臨界電壓分佈。從第3圖可得知,該第二次程式化操作(即該第一次再程式化操作)改善了每一狀態的臨界電壓分佈,縮小了無法明確辨別的資料區域的範圍。儘管如此,當讀取被程式化在無法明確辨別的資料區域的記憶單元時仍然有可能會發生誤判,所以,需要再執行一第二次再程式化操作。第4圖為第三次程式化操作(即第二次再程式化操作)執行完畢後的記憶單元臨界電壓分佈圖。從第4圖可得知,執行完該第二次再程式化操作之後,便可以清楚地分辨每一狀態的臨界電壓的分佈。
儘管寫入電路112所採用之基於再程式化的方法能夠讓臨界電壓分佈於所要的範圍中變窄且較佳地被定義,以使得後續的讀取操作能夠輕易地分辨程式化後的記憶單元122所處的狀態,然而程式化後的記憶單元122仍有可能會發生資料保持干擾,而當資料保持干擾發生時,各狀態的臨界電壓的鐘形分佈會往外擴散。第5圖為當資料保持干擾發生時記憶單元的臨界 電壓分佈圖。當資料保持干擾發生而造成臨界電壓分佈改變時,使用原始參考臨界電壓可能會發生資料讀取錯誤,換句話說,當已儲存輸入資料D_IN的一儲存空間(例如記憶區塊BK0中的字元線WL0上的記憶單元122)的可靠度降低時,記憶體控制器102很難從快閃記憶體104的儲存空間讀取出正確的資料。在此實施例中,檢查電路114會檢查儲存有輸入資料D_IN的儲存空間的可靠度,且更新電路116會在該儲存空間的可靠度達到一預定條件時,依據輸入資料D_IN對該儲存空間執行一更新操作。舉例來說,檢查電路114會偵測儲存輸入資料D_IN的儲存空間是否遭遇資料保存干擾,若是偵測結果指示出遭遇資料保存干擾,則檢查電路114評估該儲存空間的可靠度是否達到該預定條件。在一示範性設計中,檢查電路114會參考其它電路118中之該錯誤檢查以及更正電路所提供的資訊來評估是否發生資料保存干擾。舉例來說,當該錯誤檢查以及更正電路針對從快閃記憶體104所讀取到的資料進行一解碼操作(例如一硬式解碼操作(hard decoding operation)或是一軟式解碼操作)時,遭遇一解碼失敗(decoding failure)或是發現到錯誤位元數超過一臨界值,檢查電路114會判斷該儲存空間中的記憶單元122遭受資料保持干擾,因此,一個基於更新的資料保存回復機制(refresh-based data-retention recovery)便會被致能以回復該儲存空間(例如記憶區塊BK0中的字元線WL0)中所儲存的資料。例如,該錯誤檢查以及更正電路可執行一複雜的解碼演算法(例如軟式解碼演算法)並經過多次讀取操作來回復所儲存的資料。
一般來說,一個三階記憶單元區塊需要三個單階記憶單元(single-level cell,SLC)區塊來緩衝被回復的資料。在一示範性設計中,記憶體控制器102會將一個三階記憶單元區塊的回復資料儲存到快閃記憶體104的三個單階記憶單元區塊中。在另一示範性設計中,可將一個三階記憶單元區塊的回復資料儲存到記憶體控制器102的內部緩衝器中。
在成功地將儲存空間中經歷資料保存干擾的儲存資料(即輸入資料D_IN)復原之後,檢查電路114會控制更新電路116來針對該儲存空間(例如記憶區塊BK0中的字元線WL0上的記憶單元122)執行一更新操作。在此實施例中,由於寫入電路112會採用一種基於再程式化的方法來將輸入資料D_IN寫入至該快閃記憶體104之該儲存空間,更新電路116所執行的更新操作係為對該儲存空間所進行的一額外再程式化操作,以將從該儲存空間所回復之輸入資料D_IN程式化至該儲存空間中的原始儲存位置。這樣一來,第5圖中的臨界電壓分佈便可藉由更新電路116所執行之該額外再程式化操作來獲得改善。第6圖係更新操作執行完畢之後的記憶單元的臨界電壓分佈圖。在一較佳實施例中,更新電路116會參考從該儲存空間回復回來的輸入資料D_IN,來將該儲存空間中的原始儲存位置的記憶單元122設為較高的臨界值,因而得到具有較佳雜訊邊際之較窄的臨界電壓分佈。換句話說,寫入電路112儲存在該儲存空間中的輸入資料D_IN係依據一第一參考臨界電壓初始設定(即第4圖中所示的0和Vth1~Vth6)而被讀取,而更新電路116儲存在該儲存空間中之輸入資料D_IN則是依據一第二參考臨界電壓初始設定(即第6圖中所示的0和Vth1’~Vth6’)而被讀取,且該第一參考臨界電壓初始設定係不同於該第二參考臨界電壓初始設定。除此之外,該第二參考臨界電壓初始設定中所定義的最高參考臨界電壓值(即Vth6’)係大於該第一參考臨界電壓初始設定中所定義的最高參考臨界電壓值(即Vth6)。
如前段所述,該更新操作執行完畢之後,第二參考臨界電壓初始設定(即0和Vth1’~Vth6’)會不同於第一參考臨界電壓初始設定(即0和Vth1~Vth6),因此,為了便於後續的讀取操作,更新電路166會儲存用以指示該第二參考臨界電壓初始設定的一指標(indicator)IT。這樣一來,其它電路118中的讀取電路便可參考指標IT來設定正確的參考臨界電壓值0和Vth1’~ Vth6’,以對更新電路116更新過的儲存空間執行一讀取操作。此外,可將用以指示該第二參考臨界電壓初始設定的指標IT儲存在記憶體控制器102中一相對應的表(table)中。
由於同一記憶區塊中的資料可能係以連續的方式儲存(例如短時間內儲存的資料),因此上述更新操作可以是以記憶區塊為單位的操作。舉例來說,當發現儲存在一記憶區塊中的其中一字元線中的資料遭受資料保存干擾,更新電路116便可對整個記憶區塊進行更新。舉例來說,當檢查電路114發現記憶區塊BK0中的字元線WL0上的記憶單元112遭收資料保持干擾,更新電路116會更新記憶區塊BK0中所有的字元線WL0~WLL,在較佳的設計方式中,更新字元線的順序可以根據資料寫入字元線的順序,以達到更好的臨界電壓分佈優化結果,例如當寫入電路112採用一再程式化方法來將資料依序寫入至BK0中的字元線WL0~WLL時,更新電路116便會依序地更新字元線WL0~WLL
在一較佳實施例中,基於更新的資料保持回復機制係以背景執行的方式來進行,以避免影響快閃記憶體104的正常資料存取。舉例來說,每當快閃記憶裝置100啟動(power up)時,檢查電路114會控制其它電路118中的讀取電路以及錯誤檢查以及更正電路來偵測記憶區塊BK0~BKM中的至少一記憶區塊中是否發生資料保持干擾。檢查電路114會維持一第一清單L1以及一第二清單L2,其中第一清單L1係用來以寫入時間的遞增或是遞減順序來記錄寫入電路112所寫入但尚未被更新電路116所更新的記憶區塊的索引值,而第二清單L2則是用來以更新時間的遞增或是遞減順序來記錄已被更新電路116所更新的記憶區塊的索引值。第7圖為檢查電路114所記錄的第一清單L1以及第二清單L2的範例的示意圖。圖中的示範性第一清單L1依序記錄有索引值“3”、“1”和“2”,隱含代表寫入電路112先將資料寫入記憶區 塊BK3,再將資料寫入記憶區塊BK1,最後才將資料寫入記憶區塊BK2。而示範性第二清單L2依序記錄有索引值“0”和“4”,隱含代表更新電路116先對記憶區塊BK0進行更新,之後才更新記憶區塊BK4。在第一清單L1的輔助之下,檢查電路114得以瞭解記憶區塊BK3係最早被寫入資料的記憶區塊,因此在記憶區塊區塊BK1、BK2和BK3之中係為最有可能會發生資料保持干擾的記憶區塊。同樣的,在第二清單L2的輔助之下,檢查電路114得以瞭解記憶區塊BK0係最早被更新的記憶區塊,因此在記憶區塊BK0和BK4之中具有較高的機率會遭遇資料保持干擾。當快閃記憶裝置100被啟動時,檢查電路114會控制其它電路118中的讀取電路和錯誤檢查及更正電路來讀取記憶區塊BK3中所儲存的資料(例如一字元線上的資料),並且對從記憶區塊BK3中所讀取的資料執行一硬式解碼操作;此外,當快閃記憶裝置100啟動時(或是任何其它預定時間,又或者亦可以係當記憶體控制器102閒置時),檢查電路114另可控制其它電路118中的讀取電路和錯誤檢查及更正電路來讀取記憶區塊BK0中所儲存的資料(例如一字元線上的資料),並且對從記憶區塊BK0中所讀取的資料執行一硬式解碼操作。假設對從記憶區塊BK3所讀取的資料執行的硬式解碼失敗時,會啟動更新電路116來對記憶區塊BK3執行上述更新操作。假設對從記憶區塊BK0所讀取的資料執行的硬式解碼成功時,便不需對記憶區塊BK0進行更進一步的資料保持回復操作。當針對記憶區塊BK3執行上述更新操作時,檢查電路114會相對應地更新第一清單L1以及第二清單L2。第8圖為檢查電路114所記錄的第一清單L1以及第二清單L2更新後的範例的示意圖。如第8圖所示,更新後的第一清單L1依序記錄有索引值“1”和“2”,而更新後的第二清單L2依序記錄有索引值“0”、“4”和“3”。因此,快閃記憶裝置100在下一次啟動的時候,會檢查儲存在記憶區塊BK1(依據第一清單L1中的記載,記憶區塊BK1和記憶區塊BK2中,記憶區塊BK1較有可能會發生資料保持干擾)以及記憶區塊BK0(依據第二清單L2中的記載,記憶區塊BK0、記憶區塊BK4和記憶區塊BK3中,記憶區塊BK0較有可能會 發生資料保持干擾)中的資料。
假設從記憶區塊BK0(依據第二清單L2中的記載,在所有被更新的記憶區塊中,記憶區塊BK0較有可能會發生資料保持干擾)讀取的資料發生硬式解碼錯誤,在一示範性設計中,更新電路116會被啟動並再次對記憶區塊BK0執行更新操作。在另一示範性設計中,可使用習知的資料保持回復機制來把從記憶區塊BK0回復回來的資料程式化到一替代記憶區塊中,並且抹除記憶區塊BK0
相較於將受到資料保持干擾的記憶區塊的內容抹除的習知資料保持回復機制,本發明資料保持回復機制會更新而非抹除受到資料保持干擾的記憶區塊,這樣一來,便不會增加程式化/抹除週期的數目。除此之外,習知的資料保持回復機制係將受到資料保持干擾的記憶區塊內的資料搬移到其它的記憶區塊,然而本發明的資料保持回復機制可更新受到資料保持干擾的記憶區塊而無需移動資料,因此也就不需要額外地更新一邏輯-實體位址映射表(logical-to-physical address mapping table),該邏輯-實體位址對應表可用於一記憶分頁模式(page mode)或是一記憶區塊模式(block mode)。具體而言,當在一記憶分頁模式下使用該邏輯-實體位址對應表時,該邏輯-實體位址對應表係被參考來執行邏輯-實體分頁轉換(logical-to-physical page translation)。當在一記憶區塊模式下使用該邏輯-實體位址對應表時,該邏輯-實體位址對應表係被參考來執行邏輯-實體記憶區塊轉換(logical-to-physical block translation)。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100‧‧‧快閃記憶裝置
102‧‧‧記憶體控制器
104‧‧‧快閃記憶體
112‧‧‧寫入電路
114‧‧‧檢查電路
116‧‧‧更新電路
118‧‧‧其它電路
122‧‧‧記憶單元

Claims (20)

  1. 一種用於一快閃記憶體之更新方法,包含有:執行一寫入操作以將一輸入資料儲存至該快閃記憶體中的一儲存空間;檢查儲存有該輸入資料之該儲存空間的可靠度;以及當該儲存空間的可靠度達到一預定條件時,依據該輸入資料對該儲存空間執行一更新操作,其中該更新操作包含:當從該儲存空間回復該輸入資料時,通過多次讀取操作來回復該輸入資料,將該輸入資料儲存於該快閃記憶體的單位區塊或一記憶體控制器的一內部緩衝器中,以及將從該儲存空間所回復之該輸入資料程式化至該儲存空間中的原始儲存位置。
  2. 如申請專利第1項所述的更新方法,其中檢查該儲存空間的可靠度的步驟包含有:偵測儲存有該輸入資料之該儲存空間是否遭受資料保持干擾。
  3. 如申請專利第1項所述的更新方法,其中該儲存空間係由複數個N位元多階記憶單元(multi-level cell,MLC)所構成,且N係大於2的一正值。
  4. 如申請專利第1項所述的更新方法,其中該寫入操作會透過一初始程式化操作以及該初始程式化操作之後的至少一再程式化操作,來將該輸入資料儲存至該儲存空間。
  5. 如申請專利第4項所述的更新方法,其中該更新操作係對該儲存空間進行的一額外再程式化操作,以將從該儲存空間所回復之該輸入資料程式化至該儲存空間中的原始儲存位置。
  6. 如申請專利第1項所述的更新方法,其中該寫入操作儲存在該儲存空間中之該輸入資料係依據一第一參考臨界電壓初始設定來被讀取,而該更新操作儲存在該儲存空間中之該輸入資料係依據一第二參考臨界電壓初始設定來被讀取,且該第一參考臨界電壓初始設定係不同於該第二參考臨界電壓初始設定。
  7. 如申請專利第6項所述的更新方法,其中該第二參考臨界電壓初始設定中所定義的一最高參考臨界電壓值係大於該第一參考臨界電壓初始設定中所定義的一最高參考臨界電壓值。
  8. 如申請專利第6項所述的更新方法,另包含有:在對該儲存空間執行該更新操作之後,儲存用以指示該第二參考臨界電壓初始設定的一指標。
  9. 如申請專利第1項所述的更新方法,其中該儲存空間係該快閃記憶體的一記憶區塊中的一部分。
  10. 如申請專利第9項所述的更新方法,另包含有:當該儲存空間的可靠度達到該預定條件時,對該快閃記憶體之該記憶區塊中的一其餘部分執行一更新操作。
  11. 一種用於一快閃記憶體的記憶體控制器,包含有:一寫入電路,耦接至該快閃記憶體,用來將一輸入資料儲存至該快閃記憶體中的一儲存空間;一檢查電路,用來檢查儲存有該輸入資料之該儲存空間的可靠度;以及一更新電路,耦接至該檢查電路以及該快閃記憶體,用來於該儲存空間 的可靠度達到一預定條件時,依據該輸入資料對該儲存空間執行一更新操作,其中該檢查電路係通過多次讀取操作從該儲存空間回復該輸入資料、將該輸入資料儲存於該快閃記憶體的單位區塊或一記憶體控制器的一內部緩衝器中,以及該更新電路係將從該儲存空間所回復之該輸入資料程式化至該儲存空間中的原始儲存位置。
  12. 如申請專利第11項所述的記憶體控制器,其中該檢查電路藉由偵測儲存有該輸入資料之該儲存空間是否遭受資料保持干擾,來檢查該儲存空間的可靠度。
  13. 如申請專利第11項所述的記憶體控制器,其中該記憶體控制器所存取之該儲存空間係由複數個N位元多階記憶單元所構成,且N係大於2的一正值。
  14. 如申請專利第11項所述的記憶體控制器,其中該寫入電路會透過一初始程式化操作以及該初始程式化操作之後的至少一再程式化操作,來將該輸入資料儲存至該儲存空間。
  15. 如申請專利第14項所述的記憶體控制器,其中該更新電路係對該儲存空間進行的一額外再程式化操作,以將從該儲存空間所回復之該輸入資料程式化至該儲存空間中的原始儲存位置。
  16. 如申請專利第11項所述的記憶體控制器,其中該寫入電路儲存在該儲存空間中之該輸入資料係依據一第一參考臨界電壓初始設定來被讀取,而該更新電路儲存在該儲存空間中之該輸入資料係依據一第二參考臨界電壓初始設定來被讀取,且該第一參考臨界電壓初始設定係不同於該第二參考 臨界電壓初始設定。
  17. 如申請專利第16項所述的記憶體控制器,其中該第二參考臨界電壓初始設定中所定義的一最高參考臨界電壓值係大於該第一參考臨界電壓初始設定中所定義的一最高參考臨界電壓值。
  18. 如申請專利第16項所述的記憶體控制器,其中在更新該儲存空間之後,該更新電路會儲存用以指示該第二參考臨界電壓初始設定的一指標。
  19. 如申請專利第11項所述的記憶體控制器,其中該記憶體控制器所存取之該儲存空間係該快閃記憶體的一記憶區塊中的一部分。
  20. 如申請專利第19項所述的記憶體控制器,其中當該儲存空間的可靠度達到該預定條件時,該更新電路另用來更新該快閃記憶體之該記憶區塊中的一其餘部分。
TW102142809A 2012-11-29 2013-11-25 快閃記憶體更新方法以及快閃記憶體控制器 TWI555023B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201261731459P 2012-11-29 2012-11-29
US13/967,371 US9627085B2 (en) 2012-11-29 2013-08-15 Refresh method for flash memory and related memory controller thereof

Publications (2)

Publication Number Publication Date
TW201421476A TW201421476A (zh) 2014-06-01
TWI555023B true TWI555023B (zh) 2016-10-21

Family

ID=50773169

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102142809A TWI555023B (zh) 2012-11-29 2013-11-25 快閃記憶體更新方法以及快閃記憶體控制器

Country Status (3)

Country Link
US (2) US9627085B2 (zh)
CN (2) CN107608628B (zh)
TW (1) TWI555023B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9229644B2 (en) * 2013-11-25 2016-01-05 Sandisk Technologies Inc. Targeted copy of data relocation
US10353598B2 (en) * 2014-10-06 2019-07-16 Sandisk Technologies Llc System and method for refreshing data in a memory device
US10042565B2 (en) * 2014-10-16 2018-08-07 Futurewei Technologies, Inc. All-flash-array primary storage and caching appliances implementing triple-level cell (TLC)-NAND semiconductor microchips
KR102644275B1 (ko) 2016-05-19 2024-03-06 삼성전자주식회사 리프레쉬 리드 동작을 수행하는 불휘발성 메모리 장치를 제어하는 메모리 콘트롤러의 동작 방법
CN107632902B (zh) * 2016-07-18 2021-03-30 深圳衡宇芯片科技有限公司 用于程序化失败时回复数据的方法、控制器及存储系统
US11955187B2 (en) * 2017-01-13 2024-04-09 Pure Storage, Inc. Refresh of differing capacity NAND
US10885991B2 (en) * 2017-04-04 2021-01-05 Sandisk Technologies Llc Data rewrite during refresh window
TWI628659B (zh) * 2017-05-04 2018-07-01 華邦電子股份有限公司 非揮發性記憶體裝置及其刷新方法
US10672742B2 (en) 2017-10-26 2020-06-02 Taiwan Semiconductor Manufacturing Co., Ltd. Semiconductor device and manufacturing method thereof
CN108804025B (zh) * 2018-03-07 2021-10-01 深圳忆联信息系统有限公司 一种降低闪存滞留错误的方法及固态硬盘
CN109144769A (zh) * 2018-07-20 2019-01-04 江苏华存电子科技有限公司 一种随机内存使用纠错码校验免去冗余储存单元的方法
US10783857B2 (en) 2018-08-02 2020-09-22 Dell Products, Lp Apparatus and method for fast memory validation in a baseboard management controller
US11010244B2 (en) 2019-09-16 2021-05-18 Macronix International Co., Ltd. Memory data management method
TWI757634B (zh) * 2019-09-16 2022-03-11 旺宏電子股份有限公司 記憶體資料管理方法
KR102697049B1 (ko) * 2019-10-18 2024-08-20 삼성전자주식회사 상변화 메모리 시스템 및 상변화 메모리 장치 리프레시 방법
US10964402B1 (en) * 2020-02-19 2021-03-30 Sandisk Technologies Llc Reprogramming memory cells to tighten threshold voltage distributions and improve data retention
TWI777519B (zh) * 2021-04-26 2022-09-11 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US12014068B2 (en) 2021-04-27 2024-06-18 Microchip Technology Inc. System and method for double data rate (DDR) chip-kill recovery
US11934696B2 (en) * 2021-05-18 2024-03-19 Microchip Technology Inc. Machine learning assisted quality of service (QoS) for solid state drives
US20220413761A1 (en) * 2021-06-25 2022-12-29 Western Digital Technologies, Inc. Data Retention-Specific Refresh Read
CN117480732A (zh) 2021-09-28 2024-01-30 微芯片技术股份有限公司 具有陷阱块管理的ldpc解码
TWI780967B (zh) * 2021-10-28 2022-10-11 旺宏電子股份有限公司 記憶體裝置及記憶體操作方法
JP2023119953A (ja) 2022-02-17 2023-08-29 キオクシア株式会社 メモリシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090161466A1 (en) * 2007-12-20 2009-06-25 Spansion Llc Extending flash memory data retension via rewrite refresh
US20120203951A1 (en) * 2010-01-27 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for determining a configuration parameter for solid-state storage media

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08147988A (ja) * 1994-11-17 1996-06-07 Sony Corp 半導体不揮発性記憶装置
KR100558339B1 (ko) * 2002-12-17 2006-03-10 주식회사 엑셀반도체 다층셀 플래시메모리의 데이터보존성 개선방법
US7551503B2 (en) 2005-06-24 2009-06-23 Macronix International Co., Ltd. Method for refreshing a flash memory
KR100794664B1 (ko) * 2006-09-01 2008-01-14 삼성전자주식회사 플래시 메모리 장치 및 그것의 리프레쉬 방법
KR100816162B1 (ko) * 2007-01-23 2008-03-21 주식회사 하이닉스반도체 낸드 플래시 메모리 장치 및 셀 특성 개선 방법
US8060798B2 (en) 2007-07-19 2011-11-15 Micron Technology, Inc. Refresh of non-volatile memory cells based on fatigue conditions
KR101406279B1 (ko) * 2007-12-20 2014-06-13 삼성전자주식회사 반도체 메모리 장치 및 그것의 읽기 페일 분석 방법
US7859932B2 (en) * 2008-12-18 2010-12-28 Sandisk Corporation Data refresh for non-volatile storage
US8243525B1 (en) * 2009-09-30 2012-08-14 Western Digital Technologies, Inc. Refreshing non-volatile semiconductor memory by reading without rewriting
KR101772578B1 (ko) 2011-04-19 2017-08-30 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 방법
JP5629391B2 (ja) * 2011-04-28 2014-11-19 株式会社日立製作所 半導体記憶装置及び半導体記憶装置の制御方法
US20130031431A1 (en) * 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
US9270296B1 (en) * 2013-11-13 2016-02-23 Western Digital Technologies, Inc. Method and system for soft decoding through single read

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090161466A1 (en) * 2007-12-20 2009-06-25 Spansion Llc Extending flash memory data retension via rewrite refresh
US20120203951A1 (en) * 2010-01-27 2012-08-09 Fusion-Io, Inc. Apparatus, system, and method for determining a configuration parameter for solid-state storage media

Also Published As

Publication number Publication date
US9627085B2 (en) 2017-04-18
TW201421476A (zh) 2014-06-01
US20140146605A1 (en) 2014-05-29
CN103853582B (zh) 2017-11-03
CN107608628A (zh) 2018-01-19
CN103853582A (zh) 2014-06-11
US20170162271A1 (en) 2017-06-08
CN107608628B (zh) 2020-06-02

Similar Documents

Publication Publication Date Title
TWI555023B (zh) 快閃記憶體更新方法以及快閃記憶體控制器
TWI569273B (zh) 非揮發性記憶體裝置讀取干擾管理方法
US9715939B2 (en) Low read data storage management
US10613943B2 (en) Method and system for improving open block data reliability
US9229644B2 (en) Targeted copy of data relocation
TWI515742B (zh) 偵測不穩定記憶胞之分佈的記憶體系統與方法
US9864545B2 (en) Open erase block read automation
US20160118132A1 (en) Low Impact Read Disturb Handling
US9852032B2 (en) Data storage devices and data maintenance methods
TWI545572B (zh) 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置
US9361221B1 (en) Write amplification reduction through reliable writes during garbage collection
US20170162267A1 (en) Data Storage Device and Data Maintenance Method
US11030041B2 (en) Decoding method, associated flash memory controller and electronic device
CN111831580A (zh) 控制器、控制器的操作方法和存储器系统
KR20100028022A (ko) 제어된 스크럽 데이터 판독에 의해 트리거되는 플래시 메모리 리프레시 기술
US10249371B2 (en) Control circuit, semiconductor storage device, and method of controlling semiconductor storage device
US11068201B2 (en) Flash memory controller, method for managing flash memory module and associated electronic device
US20190196896A1 (en) Storing system and storing method
CN110069362B (zh) 数据储存装置与数据处理方法
US11113201B2 (en) Flash memory controller, method and associated electronic device for managing priority of quality detection or garbage collection of block
CN111290878B (zh) 用于刷新固件的副本的方法和系统及存储介质
CN113936721A (zh) 存储器系统、存储器装置和操作存储器装置的方法
US20220156144A1 (en) Memory system and operating method thereof
KR101653293B1 (ko) 플래시 메모리의 재생 방법 및 이에 관한 메모리 컨트롤러
JP2021118011A (ja) 半導体記憶装置及び半導体記憶装置のリフレッシュ方法