TW201624492A - 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TW201624492A TW201624492A TW103145948A TW103145948A TW201624492A TW 201624492 A TW201624492 A TW 201624492A TW 103145948 A TW103145948 A TW 103145948A TW 103145948 A TW103145948 A TW 103145948A TW 201624492 A TW201624492 A TW 201624492A
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- data
- condition
- memory cells
- threshold voltage
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/12—Programming voltage switching circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- 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
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Read Only Memory (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
一種記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元。所述記憶體管理方法包括:將資料程式化至可複寫式非揮發性記憶體模組的多個記憶胞;根據一預設偏壓區間以及存有所述資料的所述記憶胞的臨界電壓分佈判斷所述資料的儲存狀態是符合第一條件或第二條件;若所述資料的儲存狀態是符合第一條件,執行第一操作;以及若所述資料的儲存狀態是符合第二條件,則執行第二操作,其中所述第一操作與所述第二操作不同。藉此,可減少將有效資料誤判為無效資料的機率。
Description
本發明是有關於一種記憶體管理方法,且特別是有關於一種記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
一般來說,記憶體儲存裝置被斷電之前寫入的資料可能會存在許多錯誤。因此,在記憶體儲存裝置被重新啟動之後,部分斷電之前寫入的資料會被找出來並且會被識別為無效資料。然而,如何降低記憶體儲存裝置中的有效資料被誤判為無效資料的機率仍屬本領域所致力研究的課題之一。
本發明提供一種記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元,可減少將有效資料誤判為無效資料的機率。
本發明的一範例實施例提供一種記憶體管理方法,用於可複寫式非揮發性記憶體模組,所述可複寫式非揮發性記憶體模組包括多個記憶胞,所述記憶體管理方法包括:將資料程式化至所述記憶胞;根據預設偏壓區間以及存有所述資料的所述記憶胞的臨界電壓分佈判斷所述資料的儲存狀態是符合第一條件或第二條件;若所述資料的儲存狀態是符合所述第一條件,執行第一操作;以及若所述資料的儲存狀態是符合所述第二條件,執行第二操作,其中所述第一操作與所述第二操作不同。
在本發明的一範例實施例中,所述判斷所述資料的儲存狀態是符合第一條件或第二條件的步驟包括:掃描所述記憶胞以獲得所述記憶胞的所述臨界電壓分佈;判斷所述臨界電壓分佈的分佈範圍是否與所述預設偏壓區間一致;以及若所述臨界電壓分佈的所述分佈範圍與所述預設偏壓區間一致,判定所述資料的儲存狀態是符合所述第二條件。
在本發明的一範例實施例中,所述判斷所述資料的儲存狀態是符合第一條件或第二條件的步驟更包括:判斷所述臨界電壓分佈的位置是否是位於錯誤範圍內。
在本發明的一範例實施例中,所述判斷所述資料的儲存狀態是符合第一條件或第二條件的步驟包括:統計所述記憶胞中
的至少一第一記憶胞的第一數目,其中每一所述第一記憶胞的臨界電壓小於所述預設偏壓區間的上限值;判斷所述第一數目是否大於門檻值;以及若所述第一數目大於所述門檻值,判定所述資料的儲存狀態是符合所述第二條件。
在本發明的一範例實施例中,所述記憶體管理方法更包括:將預設讀取電壓加上預設偏壓區間調整值以獲得所述預設偏壓區間的所述上限值。
在本發明的一範例實施例中,所述預設偏壓區間符合增量階躍脈衝程式(Incremental-step-pulse programming,ISPP)的程式化模型。
在本發明的一範例實施例中,所述第一操作包括將儲存在所述記憶胞中的所述資料識別為有效資料且解碼所述資料,而所述第二操作包括將儲存在所述記憶胞中的所述資料識別為無效資料且不解碼所述資料。
在本發明的一範例實施例中,所述記憶體管理方法更包括:讀取所述記憶胞以獲得多個位元;以及判斷所述位元中的錯誤位元數是否大於預設值,其中判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的步驟是在所述錯誤位元數大於所述預設值時執行。
本發明的另一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。連接介面單元用以耦接至主機系統。可複寫式非揮發
性記憶體模組包括多個記憶胞。記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組。其中所述記憶體控制電路單元用以將資料寫入至所述記憶胞,其中所述記憶體控制電路單元更用以根據預設偏壓區間以及存有所述資料的所述記憶胞的臨界電壓分佈判斷所述資料的儲存狀態是符合第一條件或第二條件,其中若所述資料的儲存狀態是符合所述第一條件,所述記憶體控制電路單元更用以執行第一操作,其中若所述資料的儲存狀態是符合所述第二條件,所述記憶體控制電路單元更用以執行第二操作,其中所述第一操作與所述第二操作不同。
在本發明的一範例實施例中,所述記憶體控制電路單元判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作包括:掃描所述記憶胞以獲得所述記憶胞的所述臨界電壓分佈;判斷所述臨界電壓分佈的分佈範圍是否與所述預設偏壓區間一致;以及若所述臨界電壓分佈的所述分佈範圍與所述預設偏壓區間一致,判定所述資料的儲存狀態是符合所述第二條件。
在本發明的一範例實施例中,所述記憶體控制電路單元判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作更包括:判斷所述臨界電壓分佈的位置是否是位於錯誤範圍內。
在本發明的一範例實施例中,所述記憶體控制電路單元判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作包括:統計所述記憶胞中的至少一第一記憶胞的第一數目,
其中每一所述第一記憶胞的臨界電壓小於所述預設偏壓區間的上限值;判斷所述第一數目是否大於門檻值;以及若所述第一數目大於所述門檻值,判定所述資料的儲存狀態是符合所述第二條件。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以將預設讀取電壓加上預設偏壓區間調整值以獲得所述預設偏壓區間的所述上限值。
在本發明的一範例實施例中,所述第一操作包括將儲存在所述記憶胞中的所述資料識別為有效資料且解碼所述資料,而所述第二操作包括將儲存在所述記憶胞中的所述資料識別為無效資料且不解碼所述資料。
在本發明的一範例實施例中,所述記憶體控制電路單元更用以讀取所述記憶胞以獲得多個位元,其中所述記憶體控制電路單元更用以判斷所述位元中的錯誤位元數是否大於預設值,其中判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作是在所述錯誤位元數大於所述預設值時執行。
本發明的另一範例實施例提供一種記憶體控制電路單元,其用於控制可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組包括多個記憶胞,所述記憶體控制電路單元包括主機介面、記憶體介面及記憶體管理電路。主機介面用以耦接至主機系統。記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組。記憶體管理電路耦接至所述主機介面與所述記憶體介面。其中所述記憶體管理電路用以發送寫入指令序列,其中所
述寫入指令序列指示將資料寫入至所述記憶胞,其中所述記憶體管理電路更用以根據預設偏壓區間以及存有所述資料的所述記憶胞的臨界電壓分佈判斷所述資料的儲存狀態是符合第一條件或第二條件,其中若所述資料的儲存狀態是符合所述第一條件,所述記憶體管理電路更用以執行第一操作,其中若所述資料的儲存狀態是符合所述第二條件,所述記憶體管理電路更用以執行第二操作,其中所述第一操作與所述第二操作不同。
在本發明的一範例實施例中,所述記憶體管理電路判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作包括:掃描所述記憶胞以獲得所述記憶胞的所述臨界電壓分佈;判斷所述臨界電壓分佈的分佈範圍是否與所述預設偏壓區間一致;以及若所述臨界電壓分佈的所述分佈範圍與所述預設偏壓區間一致,判定所述資料的儲存狀態是符合所述第二條件。
在本發明的一範例實施例中,所述記憶體管理電路判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作更包括:判斷所述臨界電壓分佈的位置是否是位於錯誤範圍內。
在本發明的一範例實施例中,所述記憶體管理電路判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作包括:統計所述記憶胞中的至少一第一記憶胞的第一數目,其中每一所述第一記憶胞的臨界電壓小於所述預設偏壓區間的上限值;判斷所述第一數目是否大於門檻值;以及若所述第一數目大於所述門檻值,判定所述資料的儲存狀態是符合所述第二條件。
在本發明的一範例實施例中,所述記憶體管理電路更用以將預設讀取電壓加上預設偏壓區間調整值以獲得所述預設偏壓區間的所述上限值。
在本發明的一範例實施例中,所述記憶體控制電路單元更包括錯誤檢查與校正電路,其中所述第一操作包括將儲存在所述記憶胞中的所述資料識別為有效資料並且指示所述錯誤檢查與校正電路解碼所述資料,而所述第二操作包括將儲存在所述記憶胞中的所述資料識別為無效資料並且不指示所述錯誤檢查與校正電路解碼所述資料。
在本發明的一範例實施例中,所述記憶體管理電路更用以發送讀取指令序列,其中所述讀取指令序列指示讀取所述記憶胞以獲得多個位元,其中所述記憶體管理電路更用以判斷所述位元中的錯誤位元數是否大於預設值,其中判斷所述資料的儲存狀態是符合所述第一條件或所述第二條件的操作是在所述錯誤位元數大於所述預設值時執行。
基於上述,有別於傳統僅根據資料中錯誤位元的數目來判斷資料是否有效,本發明利用預設偏壓區間來找出系統斷電前寫入的無效資料,將可有效減少將有效資料誤判為無效資料的機率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10‧‧‧記憶體儲存裝置
11‧‧‧主機系統
12‧‧‧電腦
122‧‧‧微處理器
124‧‧‧隨機存取記憶體
126‧‧‧系統匯流排
128‧‧‧資料傳輸介面
13‧‧‧輸入/輸出裝置
21‧‧‧滑鼠
22‧‧‧鍵盤
23‧‧‧顯示器
24‧‧‧印表機
25‧‧‧隨身碟
26‧‧‧記憶卡
27‧‧‧固態硬碟
31‧‧‧數位相機
32‧‧‧SD卡
33‧‧‧MMC卡
34‧‧‧記憶棒
35‧‧‧CF卡
36‧‧‧嵌入式儲存裝置
402‧‧‧連接介面單元
404‧‧‧記憶體控制電路單元
406‧‧‧可複寫式非揮發性記憶體模組
502‧‧‧記憶胞陣列
504‧‧‧字元線控制電路
506‧‧‧位元線控制電路
508‧‧‧行解碼器
510‧‧‧資料輸入/輸出緩衝器
512‧‧‧控制電路
602‧‧‧記憶胞
604‧‧‧位元線
606‧‧‧字元線
608‧‧‧共用源極線
612、614‧‧‧電晶體
702‧‧‧記憶體管理電路
704‧‧‧主機介面
706‧‧‧記憶體介面
708‧‧‧錯誤檢查與校正電路
710‧‧‧緩衝記憶體
712‧‧‧電源管理電路
800(0)~800(R)‧‧‧實體抹除單元
810(0)~810(D)‧‧‧邏輯單元
802‧‧‧儲存區
806‧‧‧系統區
901、902、1101、1102、1201、1202、1301、1302‧‧‧分佈
1010、1020、1030、1040、1050‧‧‧位置
△V、△VISPP‧‧‧分布範圍
VR‧‧‧預設讀取電壓
VMAX‧‧‧上限電壓
S1401~S1404、S1501~S1505、S1601~S1605、S1701~S1707‧‧‧步驟
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。
圖2是根據本發明的一範例實施例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的範例示意圖。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。
圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的範例示意圖。
圖7是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
圖8是根據本發明的一範例實施例所繪示的管理可複寫式非揮發性記憶體模組的範例示意圖。
圖9是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分布圖。
圖10是根據本發明的一範例實施例所繪示的程式化記憶胞的示意圖。
圖11是根據本發明的一範例實施例所繪示的錯誤的臨界電壓分佈的示意圖。
圖12是根據本發明的一範例實施例所繪示的判斷資料是否有效地被程式化至此些記憶胞中的示意圖。
圖13是根據本發明的另一範例實施例所繪示的判斷資料是否有效地被程式化至此些記憶胞中的示意圖。
圖14是根據本發明的一範例實施例所繪示的記憶體管理方法的示意圖。
圖15是根據本發明的另一範例實施例所繪示的記憶體管理方法的示意圖。
圖16是根據本發明的另一範例實施例所繪示的記憶體管理方法的示意圖。
圖17是根據本發明的另一範例實施例所繪示的記憶體管理方法的示意圖。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。圖2是根據本發明的一範例實施
例所繪示的電腦、輸入/輸出裝置與記憶體儲存裝置的範例示意圖。
請參照圖1,主機系統11一般包括電腦12與輸入/輸出(input/output,I/O)裝置13。電腦12包括微處理器122、隨機存取記憶體(random access memory,RAM)124、系統匯流排126與資料傳輸介面128。輸入/輸出裝置13包括如圖2的滑鼠21、鍵盤22、顯示器23與印表機24。必須瞭解的是,圖2所示的裝置非限制輸入/輸出裝置13,輸入/輸出裝置13可更包括其他裝置。
在一範例實施例中,記憶體儲存裝置10是透過資料傳輸介面128與主機系統11的其他元件耦接。藉由微處理器122、隨機存取記憶體124與輸入/輸出裝置13的運作可將資料寫入至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。例如,記憶體儲存裝置10可以是如圖2所示的隨身碟25、記憶卡26或固態硬碟(Solid State Drive,SSD)27等的可複寫式非揮發性記憶體儲存裝置。
圖3是根據本發明的一範例實施例所繪示的主機系統與記憶體儲存裝置的範例示意圖。
一般而言,主機系統11為可實質地與記憶體儲存裝置10配合以儲存資料的任意系統。雖然在本範例實施例中,主機系統11是以電腦系統來作說明,然而,另一範例實施例中,主機系統11可以是數位相機、攝影機、通信裝置、音訊播放器或視訊播放器等系統。例如,在主機系統為數位相機(攝影機)31時,可複寫式非揮發性記憶體儲存裝置則為其所使用的SD卡32、MMC卡
33、記憶棒(memory stick)34、CF卡35或嵌入式儲存裝置36(如圖3所示)。嵌入式儲存裝置36包括嵌入式多媒體卡(Embedded MMC,eMMC)。值得一提的是,嵌入式多媒體卡是直接耦接於主機系統的基板上。
圖4是繪示圖1所示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
在本範例實施例中,連接介面單元402是相容於序列先進附件(Serial Advanced Technology Attachment,SATA)標準。然而,必須瞭解的是,本發明不限於此,連接介面單元402亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準、通用序列匯流排(Universal Serial Bus,USB)標準、安全數位(Secure Digital,SD)介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、崁入式多媒體儲存卡(Embedded Multimedia Card,eMMC)介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、小型快閃(Compact Flash,CF)介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)
標準或其他適合的標準。連接介面單元402可與記憶體控制電路單元404封裝在一個晶片中,或者連接介面單元402是佈設於一包含記憶體控制電路單元404之晶片外。
記憶體控制電路單元404用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統11的指令在可複寫式非揮發性記憶體模組406中進行資料的寫入、讀取與抹除等運作。
可複寫式非揮發性記憶體模組406是耦接至記憶體控制電路單元404並且用以儲存主機系統11所寫入之資料。可複寫式非揮發性記憶體模組406可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元資料的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元資料的快閃記憶體模組)、複數階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元資料的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
圖5是根據本發明的一範例實施例所繪示的可複寫式非揮發性記憶體模組的概要方塊圖。圖6是根據本發明的一範例實施例所繪示的記憶胞陣列的範例示意圖。
請參照圖5,可複寫式非揮發性記憶體模組406包括記憶胞陣列502、字元線控制電路504、位元線控制電路506、行解碼
器(column decoder)508、資料輸入/輸出緩衝器510與控制電路512。
在本範例實施例中,記憶胞陣列502可包括用以儲存資料的多個記憶胞602、多個選擇閘汲極(select gate drain,SGD)電晶體612與多個選擇閘源極(select gate source,SGS)電晶體614、以及連接此些記憶胞的多條位元線604、多條字元線606、與共用源極線608(如圖6所示)。記憶胞602是以陣列方式(或立體堆疊的方式)配置在位元線604與字元線606的交叉點上。當從記憶體控制電路單元404接收到寫入指令或讀取指令時,控制電路512會控制字元線控制電路504、位元線控制電路506、行解碼器508、資料輸入/輸出緩衝器510來寫入資料至記憶胞陣列502或從記憶胞陣列502中讀取資料,其中字元線控制電路504用以控制施予至字元線606的電壓,位元線控制電路506用以控制施予至位元線604的電壓,行解碼器508依據指令中的列位址以選擇對應的位元線,並且資料輸入/輸出緩衝器510用以暫存資料。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是以臨界電壓的改變來儲存一或多個位元。具體來說,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓至控制閘極,可以改變電荷補捉層的電子量,因而改變了記憶胞的臨界電壓。此改變臨界電壓的程序亦稱為”把資料寫入至記憶胞”或”程式化記憶胞”。隨著臨界電壓的改變,記憶胞陣列502的每一個記憶胞具有多個儲存狀態。並且透過讀取電壓
可以判斷記憶胞是屬於哪一個儲存狀態,藉此取得記憶胞所儲存的一或多個位元。
圖7是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖7,記憶體控制電路單元404包括記憶體管理電路702、主機介面704、記憶體介面706及錯誤檢查與校正電路708。
記憶體管理電路702用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路702具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。以下說明記憶體管理電路702的操作時,等同於說明記憶體控制電路單元404的操作,以下並不再贅述。
在本範例實施例中,記憶體管理電路702的控制指令是以韌體型式來實作。例如,記憶體管理電路702具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取與抹除等運作。
在另一範例實施例中,記憶體管理電路702的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路702具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有
開機碼(boot code),並且當記憶體控制電路單元404被致能時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路702的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。
此外,在另一範例實施例中,記憶體管理電路702的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路702包括微控制器、記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元。記憶體管理單元、記憶體寫入單元、記憶體讀取單元、記憶體抹除單元與資料處理單元是耦接至微控制器。其中,記憶體管理單元用以管理可複寫式非揮發性記憶體模組406的實體抹除單元;記憶體寫入單元用以對可複寫式非揮發性記憶體模組406下達寫入指令以將資料寫入至可複寫式非揮發性記憶體模組406中;記憶體讀取單元用以對可複寫式非揮發性記憶體模組406下達讀取指令以從可複寫式非揮發性記憶體模組406中讀取資料;記憶體抹除單元用以對可複寫式非揮發性記憶體模組406下達抹除指令以將資料從可複寫式非揮發性記憶體模組406中抹除;而資料處理單元用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。
主機介面704是耦接至記憶體管理電路702並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統
11所傳送的指令與資料會透過主機介面704來傳送至記憶體管理電路702。在本範例實施例中,主機介面704是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面704亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面706是耦接至記憶體管理電路702並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面706轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路702要存取可複寫式非揮發性記憶體模組406,記憶體介面706會傳送對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
錯誤檢查與校正電路708是耦接至記憶體管理電路702並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路702從主機系統11中接收到寫入指令時,錯誤檢查與校正電路708會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路702會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路702從可
複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路708會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體710與電源管理電路712。緩衝記憶體710是耦接至記憶體管理電路702並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路712是耦接至記憶體管理電路702並且用以控制記憶體儲存裝置10的電源。
圖8是根據本發明的一範例實施例所繪示之管理可複寫式非揮發性記憶體模組的範例示意圖。必須瞭解的是,在此描述可複寫式非揮發性記憶體模組406之實體抹除單元的運作時,以“選擇”、“分組”、“劃分”、“關聯”等詞來操作實體抹除單元是邏輯上的概念。也就是說,可複寫式非揮發性記憶體模組之實體抹除單元的實際位置並未更動,而是邏輯上對可複寫式非揮發性記憶體模組的實體抹除單元進行操作。
可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。具體來說,同一條字元線上的記憶胞會組成一或多個實體程式化單元。若每一個記憶胞可儲存2個以上的位元,則同一條字元線上的實體程式化單元至少可被分類為下實體程式化單元與
上實體程式化單元。例如,一記憶胞的最低有效位元(Least Significant Bit,LSB)是屬於下實體程式化單元,並且一記憶胞的最高有效位元(Most Significant Bit,MSB)是屬於上實體程式化單元。一般來說,在MLC NAND型快閃記憶體中,下實體程式化單元的寫入速度會大於上實體程式化單元的寫入速度,或下實體程式化單元的可靠度是高於上實體程式化單元的可靠度。在此範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面或是實體扇(sector)。若實體程式化單元為實體頁面,則每一個實體程式化單元通常包括資料位元區與冗餘位元區。資料位元區包含多個實體扇,用以儲存使用者的資料,而冗餘位元區用以儲存系統的資料(例如,錯誤更正碼)。在本範例實施例中,資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte,B)。然而,在其他範例實施例中,資料位元區中也可包含8個、16個或數目更多或更少的實體扇,本發明並不限制實體扇的大小以及個數。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。例如,實體抹除單元為實體區塊。
請參照圖8,記憶體管理電路702可將可複寫式非揮發性記憶體模組406的實體抹除單元800(0)~800(R)邏輯地劃分為多個區域,例如為儲存區802與系統區806。
儲存區802的實體抹除單元是用以儲存來自主機系統11
的資料。儲存區802中會儲存有效資料(valid data)與無效資料(invalid data)。例如,當主機系統要刪除一份有效資料時,被刪除的資料可能還是儲存在儲存區802中,但會被標記為無效資料。沒有儲存有效資料的實體抹除單元亦被稱為閒置(spare)實體抹除單元。例如,被抹除以後的實體抹除單元便會成為閒置實體抹除單元。若儲存區802或系統區806中有實體抹除單元損壞時,儲存區802中的實體抹除單元也可以用來替換損壞的實體抹除單元。倘若儲存區802中沒有可用的實體抹除單元來替換損壞的實體抹除單元時,則記憶體管理電路702會將整個記憶體儲存裝置10宣告為寫入保護(write protect)狀態,而無法再寫入資料。此外,有儲存有效資料的實體抹除單元亦被稱為非閒置(non-spare)實體抹除單元。
系統區806的實體抹除單元是用以記錄系統資料,其中此系統資料包括關於記憶體晶片的製造商與型號、記憶體晶片的實體抹除單元數、每一實體抹除單元的實體程式化單元數等。
儲存區802與系統區806的實體抹除單元的數量會依據不同的記憶體規格而有所不同。此外,必須瞭解的是,在記憶體儲存裝置10的運作中,實體抹除單元關聯至儲存區802與系統區806的分組關係會動態地變動。例如,當系統區806中的實體抹除單元損壞而被儲存區802的實體抹除單元取代時,則原本在儲存區802的實體抹除單元會被關聯至系統區806。
記憶體管理電路702會配置邏輯單元810(0)~810(D)以映
射至儲存區802中的實體抹除單元800(0)~800(A)。例如,在本範例實施例中,主機系統11是透過邏輯位址來存取儲存區802中的資料,因此,每一個邏輯單元810(0)~810(D)是指一個邏輯位址。此外,在一範例實施例中,每一個邏輯單元810(0)~810(D)也可以是指一個邏輯扇、一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續的邏輯位址組成。每一個邏輯單元810(0)~810(D)是映射至一或多個實體單元。在本範例實施例中,一個實體單元是指一個實體抹除單元。然而,在另一範例實施例中,一個實體單元也可以是一個實體位址、一個實體扇、一個實體程式化單元或者是由多個連續的實體位址組成,本發明不加以限制。記憶體管理電路702會將邏輯單元與實體單元之間的映射關係記錄於一或多個邏輯-實體映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路702可根據此一或多個邏輯-實體映射表來執行對於記憶體儲存裝置10的資料存取。
圖9是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分布圖。
請參照圖9,橫軸代表記憶胞的臨界電壓,而縱軸代表記憶胞個數。記憶體管理電路702會發送一寫入指令序列至可複寫式非揮發性記憶體模組406。此寫入指令序列包括一或多個指令或程式碼並且用以指示將資料寫入至可複寫式非揮發性記憶體模組406中的一個實體程式化單元。圖9表示此實體程式化單元中各個
記憶胞的臨界電壓。在此假設若某一個記憶胞的臨界電壓是落在分佈901,此記憶胞所儲存的是位元“1”;若某一個記憶胞的臨界電壓是落在分佈902,此記憶胞所儲存的是位元“0”。值得一提的是,本範例實施例是以SLC NAND型快閃記憶體模組為例,因此臨界電壓的分佈有兩種可能。然而,在其他範例實施例中,臨界電壓的分佈可能四種、八種或其他任意個可能,而讀取電壓可以在任意兩個分佈之間。此外,本發明也不限制每一個分佈所代表的位元。例如,在另一範例實施例中,分佈901是代表位元“0”,並且分佈902是代表位元“1”。
當要從可複寫式非揮發性記憶體模組406讀取資料時,記憶體管理電路702會發送一讀取指令序列至可複寫式非揮發性記憶體模組406。此讀取指令序列包括一或多個指令或程式碼並且用以指示讀取一個實體程式化單元中的多個記憶胞以取得多個位元。例如,記憶體管理電路702會根據分佈901與分佈902之間的一個讀取電壓來讀取一個實體程式化單元中的多個記憶胞。若某一個記憶胞的臨界電壓小於此讀取電壓,則此記憶胞會導通,並且記憶體管理電路702會讀到位元“1”。相反地,若某一個記憶胞的臨界電壓大於此讀取電壓,則此記憶胞不會導通,並且記憶體管理電路202會讀到位元“0”。
圖10是根據本發明的一範例實施例所繪示的程式化記憶胞的示意圖。
請參照圖9與圖10,在本範例實施例中,記憶體管理電
路702是指示基於增量階躍脈衝程式(Incremental-step-pulse programming,ISPP)的程式化模型來程式化記憶胞。在ISPP程式化模型中,程式化所使用的寫入電壓(亦稱為寫入偏壓)會逐漸加大,直到記憶胞被程式化至正確的儲存狀態為止。例如,對於需程式化至分佈901中的記憶胞來說,記憶體管理電路702會先使用一個初始寫入偏壓來程式化此些記憶胞。然後,記憶體管理電路702會逐漸加大寫入偏壓以執行多次的程式化(例如,將寫入偏壓增加一個偏壓調整量而執行下一次的程式化)。例如,根據逐漸加大的寫入偏壓,被程式化的記憶胞的臨界電壓分佈會從初始的位置1010依序移動至位置1050。在此假設位置1050上的臨界電壓分佈是此些記憶胞正確的儲存狀態,則當被程式化的記憶胞的臨界電壓分佈位於位置1050上時,可獲得分佈901。值得一提的是,在此是假設初始寫入偏壓是16伏特(Voltage,V),偏壓調整量被設定為0.6V,並且ISPP程式化模型中每一個分布在電壓上的分布範圍(或稱為分布區間)是△VISPP(如圖10所示)。然而,位置1010~1050之間的臨界電壓分佈的改變次數會隨著每一次增加的偏壓調整量之不同而增加或減少,而不限於此。此外,上述程式化過程中所使用的初始寫入偏壓及/或偏壓調整量可以是由記憶體管理電路702指示或者是由可複寫式非揮發性記憶體模組406自行決定(例如,由控制電路512控制),本發明不加以限制。
在記憶體儲存裝置10的使用過程中,記憶體儲存裝置10隨時都可能被斷電或被關機。若可複寫式非揮發性記憶體模組406
中某些記憶胞尚未被程式化至正確的儲存狀態,記憶體儲存裝置10就被斷電或被關機,則此些記憶胞所儲存的資料可能會存在大量的錯誤。
圖11是根據本發明的一範例實施例所繪示的錯誤的臨界電壓分佈的示意圖。
請參照圖10與圖11,在程式化一個實體程式化單元中的某些記憶胞的過程中,假設當前此些記憶胞的臨界電壓分佈位於位置1040,且記憶體儲存裝置10被突然地斷電,則此實體程式化單元中所有的記憶胞的臨界電壓分佈例如是分布1101與1102。分布1102位於錯誤的位置1040(正確的位置是位置1050),並且屬於分佈1102的記憶胞具有大量的錯誤。此外,分布1101與1102在電壓上的分布範圍符合ISPP程式化模型。也就是說,分布1101與1102在電壓上各別的分布範圍皆是△VISPP。
傳統上,為了找出上述因斷電或關機而沒有正確儲存的資料,在記憶體儲存裝置被斷電並重新供電(或者被關機並且重新開機)之後,記憶體儲存裝置會判斷可複寫式非揮發性記憶體模組中特定的區域中的資料的錯誤位元數是否太多。若此資料的錯誤位元數太多,則此資料會被直接視為是斷電或關機前沒有正確儲存的資料並且被標記為無效資料。然而,這樣的作法可能會導致某些不是在斷電或關機前寫入的資料只是因為其錯誤位元數太多就直接被標記為無效資料而沒有被適當地更正。本發明可準確地識別出哪些資料是屬於斷電或關機前沒有正確儲存的資料而可視
為無效資料,以及哪些資料是單純因為其錯誤位元數太高而需要適當地更正,從而可有效減少上述誤判的問題發生的機率。
在本範例實施例中,在一筆資料被寫入至上述記憶胞之後,記憶體管理電路702會根據一個預設偏壓區間以及存有此資料的此些記憶胞的臨界電壓分佈來判斷此資料的儲存狀態是符合一第一條件或一第二條件。其中,若此資料的儲存狀態符合第一條件,表示此資料已被有效地程式化至對應的記憶胞中;若此資料的儲存狀態符合第二條件,表示此資料沒有被有效地程式化至對應的記憶胞中。例如,在一範例實施例中,記憶體管理電路702會掃描此些記憶胞以獲得此些記憶胞的臨界電壓分佈。記憶體管理電路702會判斷此臨界電壓分佈的分佈範圍是否與預設偏壓區間一致。若臨界電壓分佈的分佈範圍與預設偏壓區間不一致,則記憶體管理電路702會判定此資料的儲存狀態符合第一條件並且據以執行第一操作。例如,第一操作可以包括將此些記憶胞識別為儲存有效資料並且可進一步將此些記憶胞中的資料讀出並且加以解碼/更正。反之,若臨界電壓分佈的分佈範圍與預設偏壓區間一致,則記憶體管理電路702會判定此資料的儲存狀態符合第二條件並且據以執行第二操作。第一操作與第二操作不同。在此所指的第一操作與第二操作不同可以是指所有或部分的操作細節不同。例如,第二操作可以包括將此些記憶胞識別為儲存無效資料並且不需要將此些記憶胞中的資料讀出,更不需要加以解碼/更正。此外,第二操作還可以包括通知主機系統11此筆資料發生寫
入錯誤並且要求重新寫入等。
圖12是根據本發明的一範例實施例所繪示的判斷資料是否有效地被程式化至此些記憶胞中的示意圖。
請參照圖12,假設某些資料在某些記憶胞中儲存了較長的時間、此些資料被存取的次數較多及/或此些記憶胞經過高溫製程,則此些記憶胞的臨界電壓分佈會呈現像是分佈1201與1202。在此,分佈1201代表儲存位元“1”的記憶胞,並且分佈1202代表儲存位元“0”的記憶胞。分佈1201與1202之間具有一重疊區域1203(以斜線表示)。在重疊區域1203中,部分儲存位元“0”的記憶胞會被識別為儲存位元“1”,並且部分儲存位元“1”的記憶胞會被識別為儲存位元“0”。例如,假設是以預設讀取電壓VR來讀取此些記憶胞,則實際儲存位元“0”但其臨界電壓小於預設讀取電壓VR的記憶胞會被錯誤地識別為儲存位元“1”,並且實際儲存位元“1”但其臨界電壓大於預設讀取電壓VR的記憶胞會被錯誤地識別為儲存位元“0”。此外,在另一範例實施例中,分佈1202亦可以代表儲存位元“1”的記憶胞,並且分佈1202亦可以代表儲存位元“0”的記憶胞,本發明不加以限制。
記憶體管理電路702會將上述分布範圍△VISPP設定為一個預設偏壓區間。記憶體管理電路702會掃描此些記憶胞以獲得此些記憶胞的臨界電壓分佈(例如,分布1202)。記憶體管理電路702會獲得分佈1202在電壓上的分布範圍△V(如圖12所示)。記憶體管理電路702會判斷分布範圍△V是否與分布範圍△VISPP一致。
例如,記憶體管理電路702可以判斷分布範圍△V是否小於或等於分布範圍△VISPP。在圖12的範例實施例中,分布範圍△V大於分布範圍△VISPP,表示分布範圍△V與分布範圍△VISPP不一致,因此記憶體管理電路702會判定資料已有效地被程式化至此些記憶胞中並且執行上述第一操作。也就是說,即使此些記憶胞所儲存的資料的錯誤位元數很多,記憶體管理電路702也不會將此些記憶胞所儲存的資料誤判為是在記憶體儲存裝置10被斷電或被關機前所儲存的資料。此外,若分布範圍△V小於或等於分布範圍△VISPP(例如,圖11的範例實施例),表示分布範圍△V與分布範圍△VISPP一致,因此記憶體管理電路702會判定資料不是有效地被程式化至此些記憶胞中(例如,記憶胞的程式化過程被意外地中斷)並且執行上述第二操作。
在圖12的另一範例實施例中,記憶體管理電路702還會判斷分佈1202的位置是否是位於一錯誤範圍內。分佈1202的位置可以是指分佈1202的峰值(peak)在電壓上的位置(即,分佈1202中記憶胞數量最多的電壓位置)、分布1202的上/下限電壓位置或者分佈1202中的任一個電壓位置。錯誤範圍包含記憶胞被程式化正確的儲存狀態之前其臨界電壓分佈在電壓上的可能移動範圍。例如,此可能移動範圍包括圖10的分佈1010~1050之間的任一位置(不包含分佈1050的位置)。若分布範圍△V大於分布範圍△VISPP且/或臨界電壓分佈1202的位置不是位於此錯誤範圍內,記憶體管理電路702會判定資料已有效地被程式化至此些記憶胞中(即,符
合第一條件)並且執行上述第一操作。反之,若分布範圍△V小於或等於分布範圍△VISPP且臨界電壓分佈1202的位置是位於此錯誤範圍內,則記憶體管理電路702會判定資料非有效地被程式化至此些記憶胞中(即,符合第二條件)並且執行上述第二操作。
然而,圖12的範例實施例中的操作需要掃描多個記憶胞以獲得此些記憶胞的臨界電壓分布,因此所需的時間較多。本發明另提出了其他的作法而可較為快速地獲得上述判斷結果。
圖13是根據本發明的另一範例實施例所繪示的判斷資料是否有效地被程式化至此些記憶胞中的示意圖。
請參照圖13,分布1301與1302分別相同或相似於分布1201與1202,故在此不加以贅述。在本範例實施例中,記憶體管理電路702不需要完整掃描記憶胞以獲得分布1301或1302。在本範例實施例中,記憶體管理電路702會統計此些記憶胞中的一部分(亦稱為第一記憶胞)的數目(亦稱為第一數目),其中每一個第一記憶胞的臨界電壓皆小於預設偏壓區間的上限值。例如,假設預設偏壓區間是分布範圍△VISPP,則預設偏壓區間的上限值就是上限電壓VMAX(如圖13所示)。例如,記憶體管理電路702會將預設讀取電壓VR加上一個預設偏壓區間調整值以獲得預設偏壓區間的上限值。其中,預設偏壓區間調整值就是分布範圍△VISPP的值,並且預設讀取電壓VR例如是最佳讀取電壓或當前使用的讀取電壓。也就是說,記憶體管理電路702可以統計圖13中斜線範圍內的所有記憶胞的數目作為第一數目。
在圖11與圖13的範例實施例中,若以臨界電壓小於上限電壓VMAX的記憶胞作為第一數目,則圖11的範例實施例中所統計出的第一數目勢必會大幅多於圖13的範例實施例中所統計出的第一數目。因此,可以設定一個門檻值。若統計出的第一數目大於此門檻值,表示當前檢查的記憶胞沒有被程式化到正確的儲存狀態(記憶胞的臨界電壓分布較類似於分布1102),而這樣的情形有很大的機率是發生在記憶體儲存裝置10突然被斷電或被關機。反之,若統計出的第一數目小於或等於此門檻值,表示當前檢查的記憶胞已經被程式化到正確的儲存狀態(記憶胞的臨界電壓分布較類似於分布1302)。因此,在本範例實施例中,記憶體管理電路702會判斷第一數目是否大於一門檻值。若第一數目大於此門檻值,記憶體管理電路702會判定資料的儲存狀態符合第二條件。反之,若第一數目小於或等於此門檻值,則記憶體管理電路702會判定資料的儲存狀態符合第一條件。換言之,此門檻值即是用以識別當前檢查的記憶胞的臨界電壓分布是較類似於分布1102或者分布1302,或者用以識別當前檢查的記憶胞所儲存的資料是否是在記憶體儲存裝置10突然被斷電或被關機之前所儲存的具有大量錯誤的資料。例如,在圖11的範例實施例中,統計出來的第一數目會大於此門檻值,並且此些記憶胞會被識別為儲存無效資料。反之,在圖13的範例實施例中,統計出來的第一數目會小於此門檻值,並且此些記憶胞會被識別為儲存有效資料。在本範例實施例中,可將此門檻值設定為等於或接近當前檢查的記憶
胞的總數。例如,可將此門檻值設定為當前檢查的記憶胞的總數的90%~100%或者更少。然而,在另一範例實施例中,亦可以根據實務上的需求來調整此門檻值。
在一範例實施例中,上述判斷資料的儲存狀態是符合第一條件或第二條件的多種操作亦可以部份或全部合併使用。例如,只有在臨界電壓分佈的分佈範圍與預設偏壓區間一致、臨界電壓分佈的位置位於錯誤範圍內、且第一數目大於門檻值時,被檢查的記憶胞才會被識別為程式化尚未完成且儲存無效資料(即,資料的儲存狀態符合第二條件)。
在一範例實施例中,上述判斷資料的儲存狀態是符合第一條件或第二條件的操作可以在任意時間點執行。或者,在另一範例實施例中,上述判斷資料的儲存狀態是符合第一條件或第二條件的操作則是在特定時間點執行。例如,此特定時間點可以包括記憶體儲存裝置10被斷電並重新供電(或者被關機並且重新開機)時、記憶體儲存裝置10閒置超過一預設時間時、記憶體儲存裝置10被連續使用超過另一預設時間時、對於可複寫式非揮發性記憶體模組406中的某些記憶胞的存取次數(例如,寫入次數、讀取次數及/或抹除次數)超過一預設次數以及從可複寫式非揮發性記憶體模組406中讀取出的資料的錯誤位元數超過一預設值時的至少其中之一,或者亦可由使用者選擇執行。例如,在一範例實施例中,在記憶體儲存裝置10被斷電並重新供電(或者被關機並且重新開機)之後或任意時間點,若記憶體管理電路702接收到可
複寫式非揮發性記憶體模組406反應於一讀取指令序列而傳送的多個位元或執行開機掃描而獲得此些位元,錯誤檢查與校正電路708會對此些位元進行解碼,例如,進行低密度奇偶檢查校正碼(low density parity code,LDPC)解碼,以找出此些位元中的錯誤位元。記憶體管理電路702會判斷此些錯誤位元的數目(即,錯誤位元數)是否大於一預設值。若此錯誤位元數大於此預設值,記憶體管理電路702會執行上述判斷資料的儲存狀態是符合第一條件或第二條件的操作。反之,若此錯誤位元數不大於此預設值,則記憶體管理電路702會執行預設操作。此預設操作例如是更正資料中的錯誤位元並將更正後的資料傳送至主機系統11等等。
此外,在一範例實施例中,上述第一操作還可以包括將識別為儲存無效資料的記憶胞抹除,而第二操作則還可以包括將被識別為儲存有效資料的記憶胞中的資料更新及/或搬移資料等有助於改善資料儲存正確性的操作。
圖14是根據本發明的一範例實施例所繪示的記憶體管理方法的示意圖。
請參照圖14,在步驟S1401中,將資料寫入至多個記憶胞。在步驟S1402中,根據一預設偏壓區間以及存有此資料的記憶胞的臨界電壓分佈判斷資料的儲存狀態是否符合第一條件。若資料的儲存狀態是符合第一條件,在步驟S1403中,執行上述第一操作。若資料的儲存狀態不符合第一條件(即,符合第二條件),在步驟S1404中,執行上述第二操作。
圖15是根據本發明的另一範例實施例所繪示的記憶體管理方法的示意圖。
請參照圖15,在步驟S1501中,將資料寫入至多個記憶胞。在步驟S1502中,掃描所述記憶胞以獲得所述記憶胞的臨界電壓分佈。在步驟S1503中,判斷所述記憶胞的臨界電壓分布的分布範圍是否與預設偏壓區間一致且臨界電壓分布的位置是否位於錯誤範圍內。若所述記憶胞的臨界電壓分布的分布範圍與預設偏壓區間不一致及/或臨界電壓分布的位置不是位於錯誤範圍內,在步驟S1504中,執行上述第一操作。若所述記憶胞的臨界電壓分布的分布範圍與預設偏壓區間一致且臨界電壓分布的位置位於錯誤範圍內,在步驟S1505中,執行上述第二操作。
圖16是根據本發明的另一範例實施例所繪示的記憶體管理方法的示意圖。
請參照圖16,在步驟S1601中,將資料寫入至多個記憶胞。在步驟S1602中,統計所述記憶胞中的第一記憶胞的第一數目,其中每一個第一記憶胞的臨界電壓皆小於一預設偏壓區間的上限值。在步驟S1603中,判斷第一數目是否大於一門檻值。若第一數目不大於此門檻值,在步驟S1604中,執行上述第一操作。若第一數目大於此門檻值,在步驟S1605中,執行上述第二操作。
圖17是根據本發明的另一範例實施例所繪示的記憶體管理方法的示意圖。
請參照圖17,在步驟S1701中,將資料寫入至多個記憶
胞。在步驟S1702中,讀取所述記憶胞以獲得多個位元。在步驟S1703中,判斷所述位元中的錯誤位元數是否大於一預設值。若所述位元中的錯誤位元數大於此預設值,在步驟S1704中,根據一預設偏壓區間以及存有此資料的記憶胞的臨界電壓分佈判斷資料的儲存狀態是否符合第一條件。若資料的儲存狀態是符合第一條件,在步驟S1705中,執行上述第一操作。若資料的儲存狀態不符合第一條件(即,符合第二條件),在步驟S1706中,執行上述第二操作。若所述位元中的錯誤位元數不大於此預設值,在步驟S1707中,執行預設操作。
然而,圖14至圖17中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖14至圖17中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖14至圖17的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,有別於傳統僅根據資料中錯誤位元的數目來判斷記憶胞中的資料是否有效及/或先前對於記憶胞的程式化是否被意外地中止,本發明利用預設偏壓區間來找出系統斷電前寫入的無效資料,將可有效減少將有效資料誤判為無效資料的機率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
S1401~S1404‧‧‧步驟
Claims (24)
- 一種記憶體管理方法,用於一可複寫式非揮發性記憶體模組,該可複寫式非揮發性記憶體模組包括多個記憶胞,該記憶體管理方法包括:將一資料程式化至該些記憶胞;根據一預設偏壓區間以及存有該資料的該些記憶胞的一臨界電壓分佈判斷該資料的一儲存狀態是符合一第一條件或一第二條件;若該資料的該儲存狀態符合第一條件,執行一第一操作;以及若該資料的該儲存狀態符合第二條件,執行一第二操作,其中該第一操作與該第二操作不同。
- 如申請專利範圍第1項所述的記憶體管理方法,其中判斷該資料的該儲存狀態是符合該第一條件或該第二條件的步驟包括:掃描該些記憶胞以獲得該些記憶胞的該臨界電壓分佈;判斷該臨界電壓分佈的一分佈範圍是否與該預設偏壓區間一致;以及若該臨界電壓分佈的該分佈範圍與該預設偏壓區間一致,判定該資料的該儲存狀態是符合該第二條件。
- 如申請專利範圍第2項所述的記憶體管理方法,其中判斷該資料的該儲存狀態是符合該第一條件或該第二條件的步驟更包 括:判斷該臨界電壓分佈的一位置是否是位於一錯誤範圍內。
- 如申請專利範圍第1項所述的記憶體管理方法,其中判斷該資料的該儲存狀態是符合該第一條件或該第二條件的步驟包括:統計該些記憶胞中的至少一第一記憶胞的一第一數目,其中每一該至少一第一記憶胞的一臨界電壓小於該預設偏壓區間的一上限值;判斷該第一數目是否大於一門檻值;以及若該第一數目大於該門檻值,判定該資料的該儲存狀態是符合該第二條件。
- 如申請專利範圍第4項所述的記憶體管理方法,更包括:將一預設讀取電壓加上一預設偏壓區間調整值以獲得該預設偏壓區間的該上限值。
- 如申請專利範圍第1項所述的記憶體管理方法,其中該預設偏壓區間符合一增量階躍脈衝程式(Incremental-step-pulse programming,ISPP)的一程式化模型。
- 如申請專利範圍第1項所述的記憶體管理方法,其中該第一操作包括將儲存在該些記憶胞中的該資料識別為有效資料且解碼該資料,其中該第二操作包括將儲存在該些記憶胞中的該資料識別為無效資料且不解碼該資料。
- 如申請專利範圍第1項所述的記憶體管理方法,更包括:讀取該些記憶胞以獲得多個位元;以及判斷該些位元中的一錯誤位元數是否大於一預設值,其中判斷該資料的該儲存狀態是符合該第一條件或該第二條件的步驟是在該錯誤位元數大於該預設值時執行。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個記憶胞;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元用以將一資料寫入至該些記憶胞,其中該記憶體控制電路單元更用以根據一預設偏壓區間以及存有該資料的該些記憶胞的一臨界電壓分佈判斷該資料的一儲存狀態是符合一第一條件或一第二條件,其中若該資料的該儲存狀態是符合該第一條件,該記憶體控制電路單元更用以執行一第一操作,其中若該資料的該儲存狀態是符合該第二條件,該記憶體控制電路單元更用以執行一第二操作,其中該第一操作與該第二操作不同。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該記憶體控制電路單元判斷該資料的該儲存狀態是符合該第一條件 或該第二條件的操作包括:掃描該些記憶胞以獲得該些記憶胞的該臨界電壓分佈;判斷該臨界電壓分佈的一分佈範圍是否與該預設偏壓區間一致;以及若該臨界電壓分佈的該分佈範圍與該預設偏壓區間一致,判定該資料的該儲存狀態是符合該第二條件。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元判斷該資料的該儲存狀態是符合該第一條件或該第二條件的操作更包括:判斷該臨界電壓分佈的一位置是否是位於一錯誤範圍內。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該記憶體控制電路單元判斷該資料的該儲存狀態是符合該第一條件或該第二條件的操作包括:統計該些記憶胞中的至少一第一記憶胞的一第一數目,其中每一該至少一第一記憶胞的一臨界電壓小於該預設偏壓區間的一上限值;判斷該第一數目是否大於一門檻值;以及若該第一數目大於該門檻值,判定該資料的該儲存狀態是符合該第二條件。
- 如申請專利範圍第12項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以將一預設讀取電壓加上一預設偏壓區間調整值以獲得該預設偏壓區間的該上限值。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該預設偏壓區間符合一增量階躍脈衝程式的一程式化模型。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該第一操作包括將儲存在該些記憶胞中的該資料識別為有效資料且解碼該資料,其中該第二操作包括將儲存在該些記憶胞中的該資料識別為無效資料且不解碼該資料。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該記憶體控制電路單元更用以讀取該些記憶胞以獲得多個位元,其中該記憶體控制電路單元更用以判斷該些位元中的一錯誤位元數是否大於一預設值,其中判斷該資料的該儲存狀態是符合該第一條件或該第二條件的操作是在該錯誤位元數大於該預設值時執行。
- 一種記憶體控制電路單元,用於控制一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組包括多個記憶胞,該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;以及一記憶體管理電路,耦接至該主機介面與該記憶體介面,其中該記憶體管理電路用以發送一寫入指令序列,其中該寫入指令序列指示將一資料寫入至該些記憶胞, 其中該記憶體管理電路更用以根據一預設偏壓區間以及存有該資料的該些記憶胞的一臨界電壓分佈判斷該資料的一儲存狀態是符合一第一條件或一第二條件,其中若該資料的該儲存狀態是符合該第一條件,該記憶體管理電路更用以執行一第一操作,其中若該資料該資料的該儲存狀態是符合該第二條件,該記憶體管理電路更用以執行一第二操作,其中該第一操作與該第二操作不同。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該記憶體管理電路判斷該資料的該儲存狀態是符合該第一條件或該第二條件的操作包括:掃描該些記憶胞以獲得該些記憶胞的該臨界電壓分佈;判斷該臨界電壓分佈的一分佈範圍是否與該預設偏壓區間一致;以及若該臨界電壓分佈的該分佈範圍與該預設偏壓區間一致,判定該資料的該儲存狀態是符合該第二條件。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該記憶體管理電路判斷該資料的該儲存狀態是符合該第一條件或該第二條件的操作更包括:判斷該臨界電壓分佈的一位置是否是位於一錯誤範圍內。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該記憶體管理電路判斷該資料的該儲存狀態是符合該第一條件 或該第二條件的操作包括:統計該些記憶胞中的至少一第一記憶胞的一第一數目,其中每一該至少一第一記憶胞的一臨界電壓小於該預設偏壓區間的一上限值;判斷該第一數目是否大於一門檻值;以及若該第一數目大於該門檻值,判定該資料的該儲存狀態是符合該第二條件。
- 如申請專利範圍第20項所述的記憶體控制電路單元,其中該記憶體管理電路更用以將一預設讀取電壓加上一預設偏壓區間調整值以獲得該預設偏壓區間的該上限值。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該預設偏壓區間符合一增量階躍脈衝程式的一程式化模型。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該記憶體控制電路單元更包括一錯誤檢查與校正電路,其中該第一操作包括將儲存在該些記憶胞中的該資料識別為有效資料並且指示該錯誤檢查與校正電路解碼該資料,其中該第二操作包括將儲存在該些記憶胞中的該資料識別為無效資料並且不指示該錯誤檢查與校正電路解碼該資料。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該記憶體管理電路更用以發送一讀取指令序列,其中該讀取指令序列指示讀取該些記憶胞以獲得多個位元,其中該記憶體管理電路更用以判斷該些位元中的一錯誤位元 數是否大於一預設值,其中判斷該資料的該儲存狀態是符合該第一條件或該第二條件的操作是在該錯誤位元數大於該預設值時執行。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103145948A TWI559314B (zh) | 2014-12-27 | 2014-12-27 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US14/636,191 US9947417B2 (en) | 2014-12-27 | 2015-03-03 | Memory management method, memory storage device and memory controlling circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103145948A TWI559314B (zh) | 2014-12-27 | 2014-12-27 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201624492A true TW201624492A (zh) | 2016-07-01 |
TWI559314B TWI559314B (zh) | 2016-11-21 |
Family
ID=56164194
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103145948A TWI559314B (zh) | 2014-12-27 | 2014-12-27 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9947417B2 (zh) |
TW (1) | TWI559314B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394880A (zh) * | 2019-08-19 | 2021-02-23 | 慧荣科技股份有限公司 | 以机器学习针对服务质量优化进行存取控制的方法和设备 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170073792A (ko) * | 2015-12-18 | 2017-06-29 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI607452B (zh) * | 2016-08-12 | 2017-12-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
JP6709180B2 (ja) * | 2017-02-28 | 2020-06-10 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US10032511B1 (en) * | 2017-05-18 | 2018-07-24 | Macronix International Co., Ltd. | Memory with dynamic permissible bit write logic and method |
KR102535110B1 (ko) * | 2018-10-01 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11169730B2 (en) * | 2019-06-06 | 2021-11-09 | Micron Technology, Inc. | Scrub rate control for a memory device |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8706990B2 (en) * | 2003-10-28 | 2014-04-22 | Sandisk Technologies Inc. | Adaptive internal table backup for non-volatile memory system |
US8495423B2 (en) * | 2009-08-11 | 2013-07-23 | International Business Machines Corporation | Flash-based memory system with robust backup and restart features and removable modules |
KR20110131648A (ko) * | 2010-05-31 | 2011-12-07 | 삼성전자주식회사 | 비휘발성 메모리 장치, 그것을 포함한 메모리 시스템 및 메모리 카드 및 그것의 프로그램 방법 |
TWI442230B (zh) * | 2011-04-28 | 2014-06-21 | Phison Electronics Corp | 資料寫入方法、記憶體控制器與記憶體儲存裝置 |
US8687419B2 (en) * | 2011-08-05 | 2014-04-01 | Micron Technology, Inc. | Adjusting operational parameters for memory cells |
US8954650B2 (en) * | 2011-09-16 | 2015-02-10 | Intel Corporation | Apparatus, system, and method for improving read endurance for a non-volatile memory |
US8839073B2 (en) * | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
TWI467376B (zh) * | 2012-06-11 | 2015-01-01 | Phison Electronics Corp | 資料保護方法、記憶體控制器與記憶體儲存裝置 |
CN103530242B (zh) * | 2012-07-06 | 2016-02-17 | 河南思维自动化设备股份有限公司 | NandFlash存储器写操作过程掉电防护方法 |
KR102025263B1 (ko) * | 2012-10-05 | 2019-09-25 | 삼성전자주식회사 | 메모리 시스템 및 그것의 읽기 교정 방법 |
US20140241071A1 (en) * | 2013-02-26 | 2014-08-28 | Seagate Technology Llc | Fast Power Loss Recovery By Swapping Boot and Recovery Data Sets in a Memory |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
CN103324578A (zh) * | 2013-06-20 | 2013-09-25 | 深圳市瑞耐斯技术有限公司 | 一种nand闪存设备及其随机写入方法 |
TWI508082B (zh) * | 2013-09-30 | 2015-11-11 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置與記憶體控制電路單元 |
-
2014
- 2014-12-27 TW TW103145948A patent/TWI559314B/zh active
-
2015
- 2015-03-03 US US14/636,191 patent/US9947417B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112394880A (zh) * | 2019-08-19 | 2021-02-23 | 慧荣科技股份有限公司 | 以机器学习针对服务质量优化进行存取控制的方法和设备 |
CN112394880B (zh) * | 2019-08-19 | 2023-11-21 | 慧荣科技股份有限公司 | 以机器学习针对服务质量优化进行存取控制的方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
TWI559314B (zh) | 2016-11-21 |
US9947417B2 (en) | 2018-04-17 |
US20160188213A1 (en) | 2016-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI559314B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
US10892026B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
TWI550612B (zh) | 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI582779B (zh) | 讀取電壓準位估測方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI545572B (zh) | 記憶胞程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI515734B (zh) | 資料儲存方法、記憶體控制電路單元以及記憶體儲存裝置 | |
TWI512462B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW201706847A (zh) | 映射表格更新方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201642266A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI554885B (zh) | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 | |
TWI591482B (zh) | 資料保護方法、記憶體控制電路單元及記憶體儲存裝置 | |
TW201319805A (zh) | 區塊管理方法、記憶體控制器與記憶體儲存裝置 | |
TW202009711A (zh) | 資料整併方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI486765B (zh) | 記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US9312013B1 (en) | Configuration method of erase operation, memory controlling circuit unit and memory storage device | |
TWI509615B (zh) | 資料儲存方法、記憶體控制器與記憶體儲存裝置 | |
CN105810246B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TW201443902A (zh) | 資料讀取方法、控制電路、記憶體模組與記憶體儲存裝置 | |
TW202004506A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI550625B (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI691961B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201901433A (zh) | 資料讀取方法、記憶體控制電路單元與記憶體儲存裝置 | |
US20200081653A1 (en) | Memory management method, memory storage device and memory control circuit unit | |
CN114138207B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US20240028506A1 (en) | Mapping table re-building method, memory storage device and memory control circuit unit |