TWI655576B - 記憶體管理方法以及儲存控制器 - Google Patents

記憶體管理方法以及儲存控制器 Download PDF

Info

Publication number
TWI655576B
TWI655576B TW107121188A TW107121188A TWI655576B TW I655576 B TWI655576 B TW I655576B TW 107121188 A TW107121188 A TW 107121188A TW 107121188 A TW107121188 A TW 107121188A TW I655576 B TWI655576 B TW I655576B
Authority
TW
Taiwan
Prior art keywords
target
unit
bit value
blank
entity
Prior art date
Application number
TW107121188A
Other languages
English (en)
Other versions
TW202001542A (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 深圳大心電子科技有限公司
Priority to TW107121188A priority Critical patent/TWI655576B/zh
Priority to US16/114,248 priority patent/US10579518B2/en
Application granted granted Critical
Publication of TWI655576B publication Critical patent/TWI655576B/zh
Publication of TW202001542A publication Critical patent/TW202001542A/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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
    • 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/26Sensing 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

本發明提供一種記憶體管理方法。所述方法包括選擇目標實體程式化單元;使用對應所述目標實體程式化單元的第一類型實體頁面的第一讀取電壓來讀取所述目標實體程式化單元的多個目標記憶胞,以計算第一位元值比率。若所述第一位元值比率不小於第一預定門檻值,使用對應所述目標實體程式化單元的第二讀取電壓來讀取所述多個目標記憶胞,以計算第二位元值比率;以及經由比較所述第一位元值比率與所述第二位元值比率來判斷所述目標實體程式化單元的所述第一類型實體頁面是否為空白的。

Description

記憶體管理方法以及儲存控制器
本發明是有關於一種記憶體管理方法,且特別是有關於一種適用於配置有可複寫式非揮發性記憶體模組的儲存裝置的記憶體管理方法與儲存控制器。
對於配置有可複寫式非揮發性記憶體模組的儲存裝置來說,判斷/辨識空頁(空白的儲存單元)的位置與存在是很重要的一個過程。原因在於,儲存裝置的儲存控制器需要辨別一個儲存單元是否為空白的,以確實地管理所有可使用的儲存空間或分配/管理尚未被使用的儲存空間。此外,若能夠精確地辨識已經被使用的儲存單元,也助於儲存控制器對已儲存的資料來進行維護。
一般來說,當儲存控制器要判斷一個儲存單元是否為空白的,儲存控制器會讀取此儲存單元,以根據所讀取的為「1」的位元值的數量是否大於預定值的判斷結果來判斷此儲存單元是否為。
然而,在所儲存資料經過了長時間的存放後,上述的傳 統作法會導致空白儲存單元的誤判。嚴重的話,會發生所判定的為空白的儲存單元實際上有存放資料的情形,進而導致了資料的損毀或儲存空間的管理與辨識上的困難。
因此,如何增進空白的儲存單元的判斷操作(亦稱,空白單元判斷操作或空頁判斷操作)的準確性,進而提昇可複寫式非揮發性記憶體模組的儲存空間管理效率,是本領域人員研究的課題之一。
本發明提供一種記憶體管理方法(亦稱,空白儲存單元管理方法)與儲存控制器,可準確地辨識空白的儲存單元,進而增加了儲存裝置的使用空間的管理效率。
本發明的一實施例提供適用於配置有可複寫式非揮發性記憶體模組的儲存裝置的一種記憶體管理方法。所述可複寫式非揮發性記憶體模組具有多個實體程式化單元,其中所述多個實體程式化單元的每一個實體程式化單元具有多個記憶胞。所述方法包括選擇所述多個實體程式化單元中的目標實體程式化單元;使用對應所述目標實體程式化單元的第一類型實體頁面的第一讀取電壓來讀取所述目標實體程式化單元的多個目標記憶胞,以辨識所述多個目標記憶胞中儲存第一位元值的多個第一目標記憶胞,並且根據所述多個第一目標記憶胞與所述多個目標記憶胞來計算第一位元值比率。若所述第一位元值比率不小於第一預定門檻 值,使用對應所述目標實體程式化單元的第一類型實體頁面的第二讀取電壓來讀取所述多個目標記憶胞,以辨識所述多個目標記憶胞中儲存所述第一位元值的多個第二目標記憶胞,並且根據所述多個第二目標記憶胞與所述多個目標記憶胞來計算第二位元值比率,其中所述第二讀取電壓不同於所述第一讀取電壓,並且所述第一讀取電壓與所述第二讀取電壓用以辨識所述目標實體程式化單元的所述第一類型實體頁面所儲存的位元值;以及經由比較所述第一位元值比率與所述第二位元值比率來判斷所述目標實體程式化單元的所述第一類型實體頁面是否為空白的。
本發明的一實施例提供用於控制配置有可複寫式非揮發性記憶體模組的儲存裝置的一種儲存控制器。所述儲存控制器包括:連接介面電路、記憶體介面控制電路、空白單元管理電路單元以及處理器。連接介面電路用以耦接至主機系統。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組。所述可複寫式非揮發性記憶體模組具有多個實體程式化單元,其中所述多個實體程式化單元的每一個實體程式化單元具有多個記憶胞。處理器耦接至所述連接介面電路、所述記憶體介面控制電路及所述空白單元管理電路單元。所述處理器選擇所述多個實體程式化單元中的目標實體程式化單元以指示所述空白單元管理電路單元對所述目標實體程式化單元執行空白單元辨識操作。在所述空白單元辨識操作中,所述空白單元管理電路單元用以使用對應所述目標實體程式化單元的第一類型實體頁面的第一讀取電壓來讀取 所述目標實體程式化單元的多個目標記憶胞,以辨識所述多個目標記憶胞中儲存第一位元值的多個第一目標記憶胞,並且根據所述多個第一目標記憶胞與所述多個目標記憶胞來計算一第一位元值比率,其中若所述第一位元值比率不小於一第一預定門檻值,所述空白單元管理電路單元更用以使用對應所述目標實體程式化單元的第一類型實體頁面的第二讀取電壓來讀取所述多個目標記憶胞,以辨識所述多個目標記憶胞中儲存所述第一位元值的多個第二目標記憶胞,並且根據所述多個第二目標記憶胞與所述多個目標記憶胞來計算一第二位元值比率,其中所述第二讀取電壓不同於所述第一讀取電壓,並且所述第一讀取電壓與所述第二讀取電壓用以辨識所述目標實體程式化單元的第一類型實體頁面所儲存的位元值,其中所述空白單元管理電路單元更用以經由比較所述第一位元值比率與所述第二位元值比率來判斷所述目標實體程式化單元的所述第一類型實體頁面是否為空白的。
基於上述,本發明實施例所提供的記憶體管理方法以及儲存控制器,可利用經由讀取電壓所獲得的不同的位元值比率與位元值比率來辨識儲存單元是否為空白的,以增強辨識空白的儲存單元的準確性,進而增加儲存裝置管理已使用空間與未使用空間的效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
10‧‧‧主機系統
20‧‧‧儲存裝置
110、211‧‧‧處理器
120‧‧‧主機記憶體
130‧‧‧資料傳輸介面電路
210‧‧‧儲存控制器
212‧‧‧資料管理電路
213‧‧‧記憶體介面控制電路
214‧‧‧錯誤檢查與校正電路
215‧‧‧空白單元管理電路模組
2151‧‧‧葛雷碼計數電路
2152‧‧‧空白單元判斷電路
216‧‧‧緩衝記憶體
217‧‧‧電源管理電路
220‧‧‧可複寫式非揮發性記憶體模組
230‧‧‧連接介面電路
S21、S23、S25、S27‧‧‧記憶體管理方法的流程步驟
SS0、SS1、SS2、MS1、MS2、MS3、MS4、TS1、TS2、TS3、TS4、TS5、TS6、TS7、TS8‧‧‧臨界電壓分佈
L‧‧‧下實體頁面的位元值/儲存狀態
M‧‧‧中實體頁面的位元值/儲存狀態
U‧‧‧上實體頁面的位元值/儲存狀態
V(1)、V(2)‧‧‧讀取電壓
A301、A302、A401、A402、A403、A404、A405、A406、A407、A500、A501、A502、A503、A504‧‧‧箭頭
圖1是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
圖2是根據本發明的一實施例所繪示的記憶體管理方法的流程圖。
圖3A為根據本發明的一實施例所繪示的單階記憶胞(SLC)NAND型快閃記憶體模組的多個記憶胞的臨界電壓分佈及對應的讀取電壓的示意圖。
圖3B為根據本發明的一實施例所繪示的針對單階記憶胞NAND型快閃記憶體模組的空白單元辨識操作的示意圖。
圖3C為根據本發明的一實施例所繪示的針對單階記憶胞NAND型快閃記憶體模組的空白單元辨識操作的示意圖。
圖4A為根據本發明的一實施例所繪示的多階記憶胞(MLC)NAND型快閃記憶體模組的多個記憶胞的臨界電壓分佈及對應的讀取電壓的示意圖。
圖4B~4E為根據本發明的一實施例所繪示的針對多階記憶胞NAND型快閃記憶體模組的空白單元辨識操作的示意圖。
圖4F為根據本發明的一實施例所繪示的空白辨識操作/方法應用於具有異常偏移的臨界電壓分佈的實體程式化單元的示意圖。
圖5為根據本發明的一實施例所繪示的針對三階記憶胞 (TLC)NAND型快閃記憶體模組的多個記憶胞的臨界電壓分佈及對應的空白單元辨識操作的示意圖。
在本實施例中,儲存裝置包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與儲存裝置控制器(亦稱,儲存控制器或儲存控制電路)。此外,儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至儲存裝置或從儲存裝置中讀取資料。
圖1是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
請參照圖1,主機系統(Host System)10包括處理器(Processor)110、主機記憶體(Host Memory)120及資料傳輸介面電路(Data Transfer Interface Circuit)130。在本實施例中,資料傳輸介面電路130耦接(亦稱,電性連接)至處理器110與主機記憶體120。在另一實施例中,處理器110、主機記憶體120與資料傳輸介面電路130之間利用系統匯流排(System Bus)彼此耦接。
儲存裝置20包括儲存控制器(Storage Controller)210、可複寫式非揮發性記憶體模組(Rewritable Non-Volatile Memory Module)220及連接介面電路(Connection Interface Circuit)230。其中,儲存控制器210包括處理器211、資料管理電路(Data Management Circuit)212與記憶體介面控制電路(Memory Interface Control Circuit)213。
在本實施例中,主機系統10是透過資料傳輸介面電路130與儲存裝置20的連接介面電路230耦接至儲存裝置20來進行資料的存取操作。例如,主機系統10可經由資料傳輸介面電路130將資料儲存至儲存裝置20或從儲存裝置20中讀取資料。
在本實施例中,處理器110、主機記憶體120及資料傳輸介面電路130可設置在主機系統10的主機板上。資料傳輸介面電路130的數目可以是一或多個。透過資料傳輸介面電路130,主機板可以經由有線或無線方式耦接至儲存裝置20。儲存裝置20可例如是隨身碟、記憶卡、固態硬碟(Solid State Drive,SSD)或無線記憶體儲存裝置。無線記憶體儲存裝置可例如是近距離無線通訊(Near Field Communication,NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板也可以透過系統匯流排耦接至全球定位系統(Global Positioning System,GPS)模組、網路介面卡、無線傳輸裝置、鍵盤、螢幕、喇叭等各式I/O裝置。
在本實施例中,資料傳輸介面電路130與連接介面電路230是相容於高速周邊零件連接介面(Peripheral Component Interconnect Express,PCI Express)標準的介面電路。並且,資料傳輸介面電路130與連接介面電路230之間是利用快速非揮發性記憶體介面標準(Non-Volatile Memory express,NVMe)通訊協定來進 行資料的傳輸。
然而,必須瞭解的是,本發明不限於此,資料傳輸介面電路130與連接介面電路230亦可以是符合並列先進附件(Parallel Advanced Technology Attachment,PATA)標準、電氣和電子工程師協會(Institute of Electrical and Electronic Engineers,IEEE)1394標準、序列先進附件(Serial Advanced Technology Attachment,SATA)標準、通用序列匯流排(Universal Serial Bus,USB)標準、SD介面標準、超高速一代(Ultra High Speed-I,UHS-I)介面標準、超高速二代(Ultra High Speed-II,UHS-II)介面標準、記憶棒(Memory Stick,MS)介面標準、多晶片封裝(Multi-Chip Package)介面標準、多媒體儲存卡(Multi Media Card,MMC)介面標準、eMMC介面標準、通用快閃記憶體(Universal Flash Storage,UFS)介面標準、eMCP介面標準、CF介面標準、整合式驅動電子介面(Integrated Device Electronics,IDE)標準或其他適合的標準。此外,在另一實施例中,連接介面電路230可與儲存控制器210封裝在一個晶片中,或者連接介面電路230是佈設於一包含儲存控制器210之晶片外。
在本實施例中,主機記憶體120用以暫存處理器110所執行的指令或資料。例如,在本範例實施例中,主機記憶體120可以是動態隨機存取記憶體(Dynamic Random Access Memory,DRAM)、靜態隨機存取記憶體(Static Random Access Memory,SRAM)等。然而,必須瞭解的是,本發明不限於此,主機記憶體120也可以是其他適合的記憶體。
儲存控制器210用以執行以硬體型式或韌體型式實作的多個邏輯閘或控制指令並且根據主機系統10的指令在可複寫式非揮發性記憶體模組220中進行資料的寫入、讀取與抹除等運作。
更詳細來說,儲存控制器210中的處理器211為具備運算能力的硬體,其用以控制儲存控制器210的整體運作。具體來說,處理器211具有多個控制指令,並且在儲存裝置20運作時,此些控制指令會被執行以進行資料的寫入、讀取與抹除等運作。
值得一提的是,在本實施例中,處理器110與處理器211例如是中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Microprocessor)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似電路元件,本發明並不限於此。
在一實施例中,儲存控制器210還具有唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當儲存控制器210被致能時,處理器211會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組220中之控制指令載入至儲存控制器210的隨機存取記憶體中。之後,處理器211會運轉此些控制指令以進行資料的寫入、讀取與抹除等運作。在另一實施例中,處理器211的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組220的特定區域,例如, 可複寫式非揮發性記憶體模組220中專用於存放系統資料的實體儲存單元中。
在本實施例中,如上所述,儲存控制器210還包括資料管理電路212與記憶體介面控制電路213。應注意的是,儲存控制器210各部件所執行的操作亦可視為儲存控制器210所執行的操作。
其中,資料管理電路212耦接至處理器211、記憶體介面控制電路213與連接介面電路230。資料管理電路212用以接受處理器211的指示來進行資料的傳輸。例如,經由連接介面電路230從主機系統10(如,主機記憶體120)讀取資料,並且將所讀取的資料經由記憶體介面控制電路213寫入至可複寫式非揮發性記憶體模組220中(如,根據來自主機系統10的寫入指令來進行寫入操作)。又例如,經由記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的一或多個實體單元中讀取資料(資料可讀取自一或多個實體單元中的一或多個記憶胞),並且將所讀取的資料經由連接介面電路230寫入至主機系統10(如,主機記憶體120)中(如,根據來自主機系統10的讀取指令來進行讀取操作)。在另一實施例中,資料管理電路212亦可整合至處理器211中。
記憶體介面控制電路213用以接受處理器211(或空白單元管理電路模組215)的指示,配合資料管理電路212來進行對於可複寫式非揮發性記憶體模組220的寫入(亦稱,程式化,Programming)操作、讀取操作或抹除操作。例如,根據空白單元 管理電路模組215的指示使用特定的讀取電壓來進行對於可複寫式非揮發性記憶體模組220的一儲存單元的讀取操作。
舉例來說,處理器211可執行寫入指令序列,以指示記憶體介面控制電路213將資料寫入至可複寫式非揮發性記憶體模組220中;處理器211可執行讀取指令序列,以指示記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的對應讀取指令的一或多個實體單元(亦稱,目標實體單元)中讀取資料;處理器211可執行抹除指令序列,以指示記憶體介面控制電路213對可複寫式非揮發性記憶體模組220進行抹除操作。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示對可複寫式非揮發性記憶體模組220執行相對應的寫入、讀取及抹除等操作。在一實施例中,處理器211還可以下達其他類型的指令序列給記憶體介面控制電路213,以對可複寫式非揮發性記憶體模組220執行相對應的操作。
此外,欲寫入至可複寫式非揮發性記憶體模組220的資料會經由記憶體介面控制電路213轉換為可複寫式非揮發性記憶體模組220所能接受的格式。具體來說,若處理器211(或空白單元管理電路模組215)要存取可複寫式非揮發性記憶體模組220,處理器211(或空白單元管理電路模組215)會傳送對應的指令序列給記憶體介面控制電路213以指示記憶體介面控制電路213執行對應的操作。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除 指令序列、以及用以指示各種記憶體操作(例如,改變預設讀取電壓組的多個預設讀取電壓值以進行讀取操作,或執行垃圾回收程序等等)的相對應的指令序列。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
可複寫式非揮發性記憶體模組220是耦接至儲存控制器210(記憶體介面控制電路213)並且用以儲存主機系統10所寫入之資料。可複寫式非揮發性記憶體模組220可以是單階記憶胞(Single Level Cell,SLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存1個位元的快閃記憶體模組)、多階記憶胞(Multi Level Cell,MLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存2個位元的快閃記憶體模組)、三階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存3個位元的快閃記憶體模組)、四階記憶胞(Quadruple Level Cell,QLC)NAND型快閃記憶體模組(即,一個記憶胞中可儲存4個位元的快閃記憶體模組)、三維NAND型快閃記憶體模組(3D NAND flash memory module)或垂直NAND型快閃記憶體模組(Vertical NAND flash memory module)等其他快閃記憶體模組或其他具有相同特性的記憶體模組。可複寫式非揮發性記憶體模組220中的記憶胞是以陣列的方式設置。
在本實施例中,可複寫式非揮發性記憶體模組220具有 多個字元線,其中所述多個字元線的每一個字元線包括多個記憶胞。同一條字元線上的多個記憶胞會組成一或多個實體程式化單元(實體頁面)。此外,多個實體程式化單元可組成一個實體單元(實體區塊或實體抹除單元)。在本實施例中,一個實體程式化單元可具有不同類型的實體頁面。舉例來說,在一實施例中,對於三階記憶胞NAND型快閃記憶體模組來說,三階記憶胞NAND型快閃記憶體模組的一個實體程式化單元可具有第一類型實體頁面與第二類型實體頁面。所述第一類型實體頁面例如為儲存一個位元值的下實體頁面(Lower Physical Page);所述第二類型實體頁面例如為各自儲存一個位元值的中實體頁面(Middle Physical Page)與上實體頁面(Upper Physical Page)。又例如,在一實施例中,對於三階記憶胞NAND型快閃記憶體模組來說,三階記憶胞NAND型快閃記憶體模組的一個實體程式化單元可具有第一類型實體頁面、第二類型實體頁面與第三類型實體頁面。所述第一類型實體頁面例如為儲存一個位元值的下實體頁面;所述第二類型實體頁面例如為儲存一個位元值的中實體頁面;所述第三類型實體頁面例如為儲存一個位元值的上實體頁面。一般來說,當欲寫入資料至三階記憶胞NAND型快閃記憶體模組的一個實體程式化單元的上、中、下實體頁面時,會依序從下實體頁面開始寫入資料,再寫入至中實體頁面,最後寫入至上實體頁面。
在本實施例中,實體抹除單元為抹除之最小單位,即,每一實體抹除單元含有最小數目之一併被抹除之記憶胞。每一實 體抹除單元會具有多個實體程式化單元。一個實體抹除單元可以是指任意數目的實體程式化單元組成,視實務上的需求而定。
在以下實施例中,是以一個實體區塊作為一個實體抹除單元(亦可稱為,實體單元)的範例,並且每一個實體程式化單元被視為一個實體子單元。此外,必須瞭解的是,當處理器211對可複寫式非揮發性記憶體模組220中的實體程式化單元(或實體單元)進行分組以執行對應的管理操作時,此些實體程式化單元(或實體單元)是被邏輯地分組,而其實際位置並未更動。
為了方便說明,在以下的實施例中,一個實體程式化單元會被視為一個儲存單元,並且以下的實施例會針對一實體程式化單元來說明空白單元辨識操作(亦可稱,空白儲存單元辨識操作)及其所使用的記憶體管理方法。
儲存控制器210會配置多個邏輯單元給可複寫式非揮發性記憶體模組220。主機系統10是透過所配置的邏輯單元來存取儲存在多個實體單元中的使用者資料。在此,每一個邏輯單元可以是由一或多個邏輯位址組成。例如,邏輯單元可以是邏輯區塊(Logical Block)、邏輯頁面(Logical Page)或是邏輯扇區(Logical Sector)。在本實施例中,邏輯單元為邏輯區塊,並且邏輯子單元為邏輯頁面。每一邏輯單元具有多個邏輯子單元。一個邏輯單元可以是映射至一個實體單元,並且一個邏輯子單元可以是映射至一個實體子單元。
此外,儲存控制器210會建立邏輯轉實體位址映射表 (Logical To Physical address mapping table)與實體轉邏輯位址映射表(Physical To Logical address mapping table),以記錄配置給可複寫式非揮發性記憶體模組220的邏輯單元(如,邏輯區塊、邏輯頁面或邏輯扇區)與實體單元(如,實體抹除單元、實體程式化單元、實體扇區)之間的映射關係。換言之,儲存控制器210可藉由邏輯轉實體位址映射表來查找一邏輯單元所映射的實體單元,並且儲存控制器210可藉由實體轉邏輯位址映射表來查找一實體單元所映射的邏輯單元。然而,上述有關邏輯單元與實體單元映射的技術概念為本領域技術人員之慣用技術手段,不再贅述於此。
在本實施例中,錯誤檢查與校正電路214是耦接至處理器211並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當處理器211從主機系統10中接收到寫入指令時,錯誤檢查與校正電路214會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且處理器211會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組220中。之後,當處理器211從可複寫式非揮發性記憶體模組220中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路214會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。此外,在錯誤檢查與校正程序後,若成功解碼所讀取之資料,錯誤檢查與校正電路214可回傳錯誤位元值(亦稱,錯誤位元數目) 給處理器211。
在一實施例中,儲存控制器210還包括緩衝記憶體216與電源管理電路217。緩衝記憶體是耦接至處理器211並且用以暫存來自於主機系統10的資料與指令、來自於可複寫式非揮發性記憶體模組220的資料或其他用以管理儲存裝置20的系統資料,以讓處理器211可快速地從緩衝記憶體216中存取所述資料、指令或系統資料。電源管理電路217是耦接至處理器211並且用以控制儲存裝置20的電源。
在本實施例中,空白單元管理電路模組215包括葛雷碼計數電路2151與空白單元判斷電路2152。所述空白單元管理電路模組215為用以執行空白單元辨識操作的電路模組(硬體)。空白單元管理電路模組215各部件所執行的操作亦可視為空白單元管理電路模組215所執行的操作。空白單元管理電路模組215亦可用以記錄關於空白單元的資訊,如所有空白的儲存單元的位置與總容量等資訊。
以下會配合多個圖式來詳細說明空白單元管理電路模組215如何進行空白單元辨識操作的細節以及葛雷碼計數電路2151與空白單元判斷電路2152的功能。
圖2是根據本發明的一實施例所繪示的記憶體管理方法的流程圖。應注意的是,圖2所繪示的的記憶體管理方法亦可稱為空白單元辨識方法。請同時參照圖1與圖2,在步驟S21中,處理器211選擇可複寫式非揮發性記憶體模組的多個實體程式化單 元中的目標實體程式化單元。
具體來說,處理器211可在特定的時間點來選擇可複寫式非揮發性記憶體模組220的多個實體程式化單元中的其中之一個實體程式化單元(亦稱,目標實體程式化單元),並且指示空白單元管理電路模組215來對此目標實體程式化單元進行空白單元辨識操作。舉例來說,特定的時間點包括:(1)儲存裝置20閒暇(即,儲存裝置20閒置超過一預定時間門檻值)時;(2)儲存裝置開電時;或(3)執行對應一突然斷電事件的恢復操作時。
處理器211(或空白單元管理電路模組215)可在尚未確認是否為空白的多個實體程式化單元中對每個實體程式化單元來分別執行空白單元辨識操作,其中被選擇來執行空白單元辨識操作的實體程式化單元即為目標實體程式化單元。在另一實施例中,處理器211(或空白單元管理電路模組215)可在可複寫式非揮發性記憶體模組220的所有實體程式化單元中分別選擇不同的實體程式化單元來做為目標實體程式化單元來執行空白單元辨識操作。
此外,處理器211(或空白單元管理電路模組215)亦可直接對開放實體單元(即,當前被用以儲存寫入資料的實體單元)的所有實體程式化單元分別執行空白單元辨識操作。
在選擇目標實體程式化單元後,接續至步驟S23,空白單元管理電路模組215使用對應所述目標實體程式化單元的第一類型實體頁面的第一讀取電壓來讀取所述目標實體程式化單元的多 個目標記憶胞,以辨識所述多個目標記憶胞中儲存第一位元值的多個第一目標記憶胞,並且根據所述多個第一目標記憶胞與所述多個目標記憶胞來計算第一位元值比率。
具體來說,目標實體程式化單元為多個記憶胞(亦稱,目標記憶胞)所構成的。每個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Gray Code)(亦稱,儲存狀態)的其中之一的位元值,並且所述葛雷碼的總數為N,N為大於2的一第一預定正整數。對應為不同型態的NAND型快閃記憶體的可複寫式非揮發性記憶體模組220,N的值也會不同。例如,若可複寫式非揮發性記憶體模組220是單階記憶胞NAND型快閃記憶體模組,N等於2;若可複寫式非揮發性記憶體模組220是多階記憶胞NAND型快閃記憶體模組,N等於4;若可複寫式非揮發性記憶體模組220是三階記憶胞NAND型快閃記憶體模組,N等於8;若可複寫式非揮發性記憶體模組220是四階記憶胞NAND型快閃記憶體模組,N等於16,依此類推。換言之,N的數值是根據可複寫式非揮發性記憶體模組220的類型而被決定的。
圖3A為根據本發明的一實施例所繪示的單階記憶胞(SLC)NAND型快閃記憶體模組的多個記憶胞的臨界電壓分佈及對應的讀取電壓的示意圖。圖4A為根據本發明的一實施例所繪示的多階記憶胞(MLC)NAND型快閃記憶體模組的多個記憶胞的臨界電壓分佈及對應的讀取電壓的示意圖。圖5為根據本發明的一實施例所繪示的針對三階記憶胞(TLC)NAND型快閃記憶體 模組的多個記憶胞的臨界電壓分佈及對應的空白單元辨識操作的示意圖。
請參照圖3A,單階記憶胞NAND型快閃記憶體模組(簡稱,SLC)可具有兩種儲存狀態(葛雷碼),如,位元值“1”與位元值“0”。此外,處理器211(或空白單元管理電路模組215)可使用對應兩種儲存狀態的讀取電壓V(1)1來讀取SLC的目標實體程式化單元(即,使用讀取電壓V(1)1來讀取為SLC的可複寫式非揮發性記憶體模組220的多個實體程式化單元的其中之一),以辨識此目標實體程式化單元的多個目標記憶胞所具有的儲存狀態(即,以辨識所述多個目標記憶胞所被寫入的位元值)。換言之,SLC中被程式化為位元值“1”(圖3A中的標記“L:1”)的多個記憶胞具有臨界電壓分佈SS1,其小於讀取電壓V(1)1;SLC中被程式化為位元值“0”(即:“L:0”)的多個記憶胞具有臨界電壓分佈SS2,其大於讀取電壓V(1)1。所述讀取電壓V(1)1可為對應目標實體程式化單元的預定讀取電壓,或是對應目標實體程式化單元的最佳化讀取電壓。本實施例並不限制一開始用以讀取目標實體程式化單元的讀取電壓。
圖3B為根據本發明的一實施例所繪示的針對單階記憶胞NAND型快閃記憶體模組的空白單元辨識操作的示意圖。
請參照圖3B,若SLC的目標實體程式化單元尚未被程式化資料(即,目標實體程式化單元的儲存態樣為已抹除的或空白的),則此目標實體程式化單元的所有目標記憶胞的臨界電壓分佈 SS0會位於電壓0伏特的附近,並且所有目標記憶胞的儲存狀態為“1”。也就是說,在此目標實體程式化單元中儲存狀態為“1”的目標記憶胞的總數量佔了此目標實體程式化單元的所有目標記憶胞的總數量的100%(如,圖3B的上方所繪示的例子),即,在此目標實體程式化單元中儲存狀態為“1”的目標記憶胞的總數量佔了此目標實體程式化單元的所有目標記憶胞的總數量的100%,即,全部目標記憶胞的儲存狀態皆為“1”。上述經由讀取電壓V(1)1(亦稱,第一讀取電壓V(1)1),儲存狀態為“1”的目標記憶胞的總數量除以與所有目標記憶胞的總數量所獲得的比率(比值)亦可稱為位元值比率(對應第一讀取電壓的位元值比率可稱為第一位元值比率),其用以表示:經由利用讀取電壓來讀取目標實體程式化單元後,在目標實體程式化單元的所有目標記憶胞中,所辨識的儲存狀態為“1”的目標記憶胞所佔的比率。在上述的定義下,可知道儲存態樣為已抹除或空白的之SLC的實體程式化單元的第一位元值比率等於100%。也因為此現象,一般傳統的作法為,若經由第一讀取電壓所計算出的第一位元值比率為100%時,空白單元管理電路模組215(如,空白單元判斷電路2152)會直接判定此實體程式化單元為空白的。所述100%亦可稱為預定值。但,本發明的空白單元辨識操作並不會僅利用此規則來判斷實體程式化單元是否為空白的,在以下對應圖3C、圖4E的說明中會進一步闡述傳統作法的缺陷及本發明的改良。
若SLC的目標實體程式化單元已被程式化資料(即,目 標實體程式化單元的儲存態樣為非空白的),則此目標實體程式化單元的所述多個目標記憶胞會被均勻地程式化為具有儲存狀態“1”與“0”(比例近似為各50%)。在此目標實體程式化單元中「儲存狀態為“1”」的目標記憶胞的總數量佔了此目標實體程式化單元的所有目標記憶胞的總數量的50%(如,圖3B的下方所繪示的例子),並且在此目標實體程式化單元中儲存狀態為“0”的目標記憶胞的總數量也佔了此目標實體程式化單元的所有目標記憶胞的總數量的另50%。在此例子中,儲存態樣為非空白的之SLC的實體程式化單元的第一位元值比率等於50%。
在本實施例中,空白單元管理電路模組215的葛雷碼計數電路2151可用以計算對應每種讀取電壓的儲存狀態的記憶胞的總數量(即,統計不同種類的讀取位元值/儲存狀態的總數量),並且葛雷碼計數電路2151亦可用以計算對應每種讀取電壓的位元值比率。
請參照圖4A,相較於SLC,多階記憶胞NAND型快閃記憶體模組(簡稱,MLC)的實體程式化單元可具有下實體頁面(可標記為“L”)(亦稱,第一類型實體頁面)與下實體頁面(可標記為“U”)(亦稱,第一類型實體頁面),其中上、下實體頁面各自可儲存兩種儲存狀態(即,“1”,“0”)。因此,MLC共可具有四種儲存狀態(葛雷碼),如,位元值“11”(如圖4A中的“L:1 U:1”,即,下實體頁面的儲存狀態為“1”且上實體頁面的儲存狀態為“1”);位元值“10”(如圖4A中的“L:1 U:0”,即,下實體頁面的儲存狀態為 “1”且上實體頁面的儲存狀態為“0”);位元值“00”(如圖4A中的“L:0 U:0”,即,下實體頁面的儲存狀態為“0”且上實體頁面的儲存狀態為“0”);以及位元值“01”(如圖4A中的“L:0 U:1”,即,下實體頁面的儲存狀態為“0”且上實體頁面的儲存狀態為“1”)。此外,處理器211(或空白單元管理電路模組215)可使用對應四種儲存狀態的讀取電壓V(1)1~V(1)3來讀取MLC的目標實體程式化單元,以辨識此目標實體程式化單元的多個目標記憶胞所具有的儲存狀態/臨界電壓分佈。所述讀取電壓V(1)1~V(1)3可為對應MLC的目標實體程式化單元的預定讀取電壓,或是對應MLC的目標實體程式化單元的最佳化讀取電壓。本實施例並不限制一開始用以讀取目標實體程式化單元的讀取電壓。應注意的是,MLC具有第一類型實體頁面與第二類型實體頁面,但SLC僅具有第一類型實體頁面。
舉例來說,讀取電壓V(1)2用以辨識/區分下實體頁面的記憶胞的儲存狀態。舉例來說,臨界電壓分佈小於讀取電壓V(1)2的下實體頁面的記憶胞的儲存狀態為“1”(如圖4A中的“L:1”),如,臨界電壓分佈MS1、MS2;臨界電壓分佈大於讀取電壓V(1)2的下實體頁面的記憶胞的儲存狀態為“0”(如圖4A中的“L:0”),如,臨界電壓分佈MS3、MS4。讀取電壓V(1)1與V(1)3用以辨識/區分上實體頁面的記憶胞的儲存狀態。舉例來說,臨界電壓分佈小於讀取電壓V(1)1的上實體頁面的記憶胞的儲存狀態為“1”(如圖4A中的“U:1”),如,臨界電壓分佈MS1;臨界電壓分佈大於讀 取電壓V(1)3的上實體頁面的記憶胞的儲存狀態為“1”(如圖4A中的“U:1”),如,臨界電壓分佈MS4;臨界電壓分佈在讀取電壓V(1)1與V(1)3之間的上實體頁面的記憶胞的儲存狀態為“0”(如圖4A中的“U:0”),如,臨界電壓分佈MS2、MS3。換言之,可藉由讀取電壓V(1)1~V(1)3來辨識:臨界電壓分佈MS1的記憶胞的儲存狀態的位元值為“11”;臨界電壓分佈MS2的記憶胞的儲存狀態的位元值為“10”;臨界電壓分佈MS3的記憶胞的儲存狀態的位元值為“00”;臨界電壓分佈MS4的記憶胞的儲存狀態的位元值為“01”。
應注意的是,若MLC的目標實體程式化單元尚未被程式化資料(即,目標實體程式化單元的儲存態樣為已抹除的或空白的),則相同於上述SLC的例子,此目標實體程式化單元的所有目標記憶胞的臨界電壓分佈會位於電壓0伏特的附近,並且所有目標記憶胞的儲存狀態為“1”。在此儲存態樣時,目標實體程式化單元的位元值比率為100%。此外,若TLC/QLC的實體程式化單元的儲存態樣也是已抹除的或是空白的,TLC/QLC的實體程式化單元的位元值比率為100%。
請參照圖5,相似於SLC與MLC,對於三階記憶胞NAND型快閃記憶體模組(簡稱,TLC)的實體程式化單元可具有下實體頁面(可標記為“L”)(亦稱,第一類型實體頁面)、中實體頁面(可標記為“M”)與上實體頁面(可標記為“U”)(其中,中實體頁面與上實體頁面可被稱為第二類型實體頁面),其中上、中、下實體頁面各自可儲存兩種儲存狀態(即,“1”,“0”),進而使TLC的實體 程式化單元可儲存八種儲存狀態(如圖5所繪示的下、中、上實體頁面的儲存狀態組合:“111”、“110”、“100”、“101”、“001”、“000”、“010”、“011”)。讀取電壓V(1)4用以辨識/區分下實體頁面的儲存狀態;讀取電壓V(1)2與讀取電壓V(1)6用以辨識/區分中實體頁面的儲存狀態;讀取電壓V(1)1、讀取電壓V(1)3、讀取電壓V(1)5、讀取電壓V(1)7用以辨識/區分上實體頁面的儲存狀態。
以下先以多階記憶胞NAND型快閃記憶體模組為例來進行關於計算位元值比率的說明。
圖4B~4E為根據本發明的一實施例所繪示的針對多階記憶胞NAND型快閃記憶體模組的空白單元辨識操作的示意圖。
請參照圖4B的上方,假設MLC的目標實體程式化單元僅被程式化資料(即,目標實體程式化單元的儲存態樣為非空白的)至下實體頁面(第一類型實體頁面),即,此目標實體程式化單元為第一類儲存態樣(第一類型實體頁面為非空白的且第二類型實體頁面為空白的)。此目標實體程式化單元的下實體頁面的所述多個目標記憶胞會被均勻地程式化為具有儲存狀態“1”與“0”(比例近似為各50%),即,儲存狀態為“1”的目標記憶胞佔所有目標記憶胞的50%。在此例子中(圖4B上方),葛雷碼計數電路2151經由使用對應下實體頁面的第一讀取電壓V(1)2來讀取為第一類儲存態樣的MLC的目標實體程式化單元,以計算出第一位元值比率(50%)。
又例如,請參照圖4C的上方,假設MLC的目標實體程 式化單元被程式化資料(即,目標實體程式化單元的儲存態樣為非空白的)至下實體頁面(第一類型實體頁面)與上實體頁面(第二類型實體頁面),即,此目標實體程式化單元為第二類儲存態樣(第一類型實體頁面為非空白的且第二類型實體頁面為非空白的)。在本實施例中,葛雷碼計數電路2151使用對應下實體頁面的第一讀取電壓V(1)2(用以辨識/區分下實體頁面的記憶胞的儲存狀態的讀取電壓V(1)2)來讀取目標實體程式化單元(見圖4B的上方例子),以辨識目標實體程式化單元的多個目標記憶胞中儲存位元值“1”(即,第一位元值)的多個第一目標記憶胞。葛雷碼計數電路2151根據所述多個第一目標記憶胞與所述多個目標記憶胞來計算第一位元值比率,即,將所述多個第一目標記憶胞的總數量除以所述多個目標記憶胞的總數量所計算出的比率作為第一位元值比率。在上述的例子中,所計算出的第一位元值比率為50%,其包含了臨界電壓分佈MS1的多個記憶胞所佔的25%與臨界電壓分佈MS2的多個記憶胞所佔的25%(臨界電壓小於讀取電壓V(1)2的記憶胞的儲存狀態被判定為“1”)。
在本實施例中,對於第一類型實體頁面是否為空白的判斷方法為:空白單元判斷電路2152會根據判斷對應第一類型實體頁面的第一位元值比率是否小於預定門檻值(亦稱,第一預定門檻值)的結果來判斷此第一位元值比率所對應的實體程式化單元的第一類型實體頁面是否為空白的。
具體來說,在計算出第一位元值比率後(S23),若第一 位元值比率小於第一預定門檻值,接續至步驟S25,空白單元判斷電路2152直接判定目標實體程式化單元的第一類型實體頁面為非空白的(Not empty)。
舉例來說,假設預定門檻值為90%,並且經由對應第一類型實體頁面的讀取電壓所獲得出的位元值比率為50%。在此情況下,空白單元判斷電路2152會直接判定這個位元值比率所對應的第一類型實體頁面為非空白的(亦可稱,不為空白的或已被程式化的)。例如,圖3B下方的例子、圖4B上方的例子以及圖4C上方的例子皆屬於此種情況。
廠商可根據需求及可複寫式非揮發性記憶體模組220的物理特性來設計所述第一預定門檻值的數值,如,90%。但本發明並不限於第一預定門檻值的具體數值,第一預定門檻值可為非90%的其他數值。
另一方面,在計算出第一位元值比率後(S23),若第一位元值比率不小於第一預定門檻值,接續至步驟S27,葛雷碼計數電路2151使用對應所述目標實體程式化單元的第一類型實體頁面的第二讀取電壓來讀取所述多個目標記憶胞,以辨識所述多個目標記憶胞中儲存所述第一位元值的多個第二目標記憶胞,並且根據所述多個第二目標記憶胞與所述多個目標記憶胞來計算第二位元值比率。
在此說明第二讀取電壓的細節。具體來說,在步驟S27的運作中,葛雷碼計數電路2151會使用不同於第一讀取電壓的第 二讀取電壓來讀取目標實體程式化單元的第一類型實體頁面。第二讀取電壓也是用以辨識第一類型實體頁面的記憶胞的儲存狀態的讀取電壓,並且第二讀取電壓的電壓值可經由第一讀取電壓加上一個“負值的”偏移電壓來獲得(亦可視為:第二讀取電壓的電壓值可經由第一讀取電壓減去一個“正值的”偏移電壓來獲得)。一般來說,第一讀取電壓可利用電壓調整指令以指示去使用多個偏移電壓(可為負值或正值)的其中之一來調整第一讀取電壓的電壓值。在本實施例中,步驟S27中的第二讀取電壓可利用電壓調整指令以將第一讀取電壓往最左方向調整(如圖3C上方所繪示的箭頭A302),以使第一讀取電壓V(1)1調整為第二讀取電壓V(2)1(例如,第一讀取電壓加上一個最小的負值的偏離電壓)。在另一實施例中,第二讀取電壓亦可預先設定,即,不經由第一讀取電壓來調整。
在本實施例中,步驟S27不同於步驟S23的地方在於,步驟S27是使用第二讀取電壓來讀取目標實體程式化單元的第一類型實體頁面,以計算出對應第二讀取電壓的第二位元值比率。如同上述步驟S23所說明的方式,舉例來說,請參照圖3C下方的例子,假設第一預定門檻值為90%,並且對應第一讀取電壓V(1)1的第一位元值比率為100%。葛雷碼計數電路2151使用對應第一類型實體頁面的第二讀取電壓V(2)1來讀取目標實體程式化單元,以辨識目標實體程式化單元的多個目標記憶胞中儲存位元值“1”(即,第一位元值)的多個第一目標記憶胞。。
在獲得第二位元值比率後,接續至步驟S29,空白單元判斷電路2152經由比較所述第一位元值比率與所述第二位元值比率來判斷所述目標實體程式化單元的所述第一類型實體頁面是否為空白的。
也就是說,若第一位元值比率不小於第一預定門檻值,空白單元判斷電路2152不會直接判定第一位元值比率所對應的第一類型實體頁面不為空白的,也不會直接判定第一位元值比率所對應的第一類型實體頁面為空白的。空白單元判斷電路2152需要在獲得第二位元值比率後,再根據第一位元值比率與第二位元值比率來判斷所對應的第一類型實體頁面是否為空白的。
更詳細來說,在上述「經由比較所述第一位元值比率與所述第二位元值比率來判斷所述目標實體程式化單元的所述第一類型實體頁面是否為空白的」之運作中,若所述第一位元值比率與所述第二位元值比率之間的絕對差值大於一第二預定門檻值,空白單元判斷電路2152判定所述目標實體程式化單元的所述第一類型實體頁面不為空白的。反之,若所述第一位元值比率與所述第二位元值比率之間的所述絕對差值不大於所述第二預定門檻值,空白單元判斷電路2152判定所述目標實體程式化單元的所述第一類型實體頁面為空白的。廠商可根據需求及可複寫式非揮發性記憶體模組220的物理特性來設計所述第二預定門檻值的數值,如,15%。但本發明並不限於第二預定門檻值的具體數值,第二預定門檻值可為非15%的其他數值。例如,所述第二預定門檻 值的數值的範圍例如是10%~20%。
舉例來說,請參照圖3B上方的例子,假設第一預定門檻值為90%,第二預定門檻值為15%,並且所獲得的對應第一讀取電壓V(1)1的第一位元值比率為100%。由於第一位元值比率比小於第一預定門檻值,葛雷碼計數電路2151調整第一讀取電壓V(1)1為第二讀取電壓V(2)1(如箭頭A301所示),利用第二讀取電壓V(2)1來讀取目標實體程式化單元,以計算第二位元值比率,其數值為100%。接著,空白單元判斷電路2152計算第一位元值比率與第二位元值比率之間的絕對差值(即,差值的絕對值),並且計算結果為0%。由於所計算出的第一位元值比率與第二位元值比率之間的絕對差值不大於第二預定門檻值,因此,空白單元判斷電路2152判定目標實體程式化單元的第一類型實體頁面為空白的。在一實施例中,當第二位元值比率等於第一位元值比率時,空白單元判斷電路2152也會直接判定對應的實體頁面為空白的。
本發明所提供的空白單元辨識方法的精神在於,先後利用不同的兩個讀取電壓讀取同一個實體程式化單元(所述兩個讀取電壓用以辨識此實體程式化單元的實體頁面的儲存狀態),以獲得對應的兩個位元值比率,進而藉由比較分別對應不同讀取電壓的兩個位元值比率來判斷此實體程式化單元的實體頁面是否為空白的。此方法的益處在於:當已被寫入(程式化)資料的實體程式化單元的臨界電壓分佈具有異常偏移時,本發明所提供的空白單元辨識方法可避免空白單元的誤判。以下先以圖3C來做說明。
圖3C為根據本發明的一實施例所繪示的針對單階記憶胞NAND型快閃記憶體模組的空白單元辨識操作的示意圖。
請參照圖3C,假設可複寫式非揮發性記憶體模組220為SLC,目標實體程式化單元已被寫入資料並且已被寫入資料的多個目標記憶胞的臨界電壓分佈具有異常偏移。在此例子中,由於臨界電壓分佈的異常偏移,使用第一讀取電壓V(1)1來讀取目標實體程式化單元所獲得的第一位元值比率為100%,其不同於圖3B下方的例子(正常的已被寫入資料的記憶胞的臨界電壓分佈)的第一位元值比率(50%),但是卻相同於圖3B上方的例子(空白的/已被抹除的,即,沒有被寫入資料的)的第一位元值比率(100%)。換句話說,若是單純地如同傳統作法般:「僅根據判斷第一讀取電壓所獲得的第一位元值比率是否相近於/等於100%(或是否大於一特定門檻值)來判斷對應的實體頁面是否為空白的」,傳統作法會導致具有異常臨界電壓分佈的實體程式化單元的實體頁面也被判定為空白的(雖然此實體程式化單元實際上並非空白的),進而使空白單元的辨識結果為錯誤的。
然而,根據本實施例所提供的空白單元辨識操作/方法,當對應第一讀取電壓V(1)1的第一位元值比率(100%)不小於第一預定門檻值(如,90%),空白單元管理電路模組215會利用第二讀取電壓V(2)1(如,箭頭A302所示)來讀取實體程式化單元,以獲得第二位元值比率(50%)(如,圖3C下方的例子)。空白單元管理電路模組215會進一步計算第一位元值比率與第二位元值 比率之間的絕對差值。在此例子中,假設第二預定門檻值為15%。由於所計算的絕對差值為50%,其大於第二預定門檻值,因此,空白單元管理電路模組215會判定此實體程式化單元的實體頁面不為空白的。如此一來,當實體程式化單元的實體頁面的多個記憶胞的臨界電壓分佈具有異常偏移時,本實施例所提供的空白單元辨識操作/方法仍可有效率且精確地判斷所述實體頁面是否為空白的,而避免了傳統作法所導致的錯誤的空白單元的辨識結果。
不單單針對圖3C所示的SLC,相似地,具有異常偏移的臨界電壓分佈的MLC/TLC/QLC的實體程式化單元的記憶胞皆可應用本實施例所提供的空白單元辨識操作/方法,來達到有效率且精確地的空白單元辨識結果。以下再以MLC做例子來說明。
請參照圖4E,假設可複寫式非揮發性記憶體模組220為MLC,目標實體程式化單元已被寫入資料並且已被寫入資料的多個目標記憶胞的臨界電壓分佈具有異常偏移。在此例子中,由於臨界電壓分佈的異常偏移,使用第一讀取電壓V(1)1來讀取目標實體程式化單元所獲得的第一位元值比率為98%,其不同於圖3C上方的例子(為第二儲存態樣的MLC的實體程式化單元的記憶胞的正常的臨界電壓分佈)的第一位元值比率(50%)。假設傳統作法的空白單元判斷條件為:「當位元值比率大於95%時,判定對應的實體頁面為空白的」。則,使用傳統作法所得到的空白單元的辨識結果將會是錯誤的(因為,98%大於95%,圖4E的具有異常偏移的臨界電壓分佈的實體頁面會被判定為空白的)。
根據本實施例所提供的空白單元辨識操作/方法,當對應第一讀取電壓V(1)1的第一位元值比率(98%)不小於第一預定門檻值(如,90%),空白單元管理電路模組215會利用第二讀取電壓V(2)1(如,箭頭A405所示)來讀取實體程式化單元,以獲得第二位元值比率(53%,即25%+25%+3%)(如,圖4E下方的例子)。空白單元管理電路模組215會進一步計算第一位元值比率與第二位元值比率之間的絕對差值。在此例子中,假設第二預定門檻值為15%。由於所計算的絕對差值為45%,其大於第二預定門檻值,因此,空白單元管理電路模組215會判定此實體程式化單元的實體頁面不為空白的。如此一來,當實體程式化單元的實體頁面的多個記憶胞的臨界電壓分佈具有異常偏移時,本實施例所提供的空白單元辨識操作/方法仍可有效率且精確地判斷所述實體頁面是否為空白的,而避免了傳統作法所導致的錯誤的空白單元的辨識結果。
在本實施例中,在「目標實體程式化單元具有第一類型實體頁面與第二類型實體頁面」且「寫入順序為第一類型實體頁面會先被寫入,然後寫入第二類型實體頁面」的情況下(如,MLC或TLC/QLC等),若判定所述目標實體程式化單元的所述第一類型實體頁面為空白的,空白單元管理電路模組215(如,空白單元判斷電路2152)可直接判定所述目標實體程式化單元的第二類型實體頁面為空白的。
相反地,若判定所述目標實體程式化單元的所述第一類 型實體頁面不為空白的,葛雷碼計數電路2151會對第二類型實體頁面來執行空白單元辨識操作:葛雷碼計數電路2151會先後利用多個第三讀取電壓與多個第四讀取電壓來讀取第二類型實體頁面,以獲得對應的第三位元值比率與第四位元值比率,進而根據第三位元值比率與第四位元值比率來判斷第二類型實體頁面是否為空白的。具體來說,葛雷碼計數電路2151使用對應所述目標實體程式化單元的多個第三讀取電壓來讀取所述目標實體程式化單元的所述多個目標記憶胞,以辨識所述多個目標記憶胞中儲存所述第一位元值的多個第三目標記憶胞,並且根據所述多個第三目標記憶胞與所述多個目標記憶胞來計算第三位元值比率。
需說明的是,在儲存控制器210或可複寫式非揮發性記憶體模組220具有寫入標記機制的情況下,在“第二類型實體頁面”未被寫入資料時,對應已寫入資料的第二類型實體頁面的寫入標記會被記錄為一特定位元值。當使用讀取電壓讀取寫入標記被記錄為所述特定位元值的第二類型實體頁面時,會強制讀取到第二類型實體頁面的所有記憶胞的儲存狀態皆為“1”的結果(即,對應寫入標記為特定位元值的實體頁面的位元值比率必為100%)。因此,為了對應此種情況,在一實施例中,在儲存控制器210或可複寫式非揮發性記憶體模組220具有寫入標記機制時,若所述第三位元值比率等於100%(亦稱,預定值),空白單元判斷電路2152可直接判定所述目標實體程式化單元的所述第二類型實體頁面為空白的。
若所述第三位元值比率不等於所述預定值(即,100%),葛雷碼計數電路2151使用對應所述目標實體程式化單元的多個第四讀取電壓來讀取所述多個目標記憶胞,以辨識所述多個目標記憶胞中儲存所述第一位元值的多個第四目標記憶胞,並且根據所述多個第四目標記憶胞與所述多個目標記憶胞來計算第四位元值比率。
所述多個第四讀取電壓可根據所述多個第三讀取電壓所調整的或為預定的。此外,所述多個第三讀取電壓與所述多個第四讀取電壓用以辨識所述目標實體程式化單元的第二類型實體頁面所儲存的位元值(即,所述多個第三讀取電壓與所述多個第四讀取電壓為用以區分/辨識所述目標實體程式化單元的第二類型實體頁面的記憶胞的儲存狀態的多個讀取電壓)。
最後,空白單元判斷電路2152可經由比較所述第三位元值比率與所述第四位元值比率來判斷所述目標實體程式化單元的所述第二類型實體頁面是否為空白的。
相似於上述已說明的「經由比較所述第一位元值比率與所述第二位元值比率來判斷所述目標實體程式化單元的所述第一類型實體頁面是否為空白的」之運作,在上述「經由比較所述第三位元值比率與所述第四位元值比率來判斷所述目標實體程式化單元的所述第二類型實體頁面是否為空白的」的運作中,若所述第三位元值比率與所述第四位元值比率之間的絕對差值大於一第三預定門檻值,空白單元判斷電路2152判定所述目標實體程式化 單元的所述第二類型實體頁面不為空白的。反之,若所述第三位元值比率與所述第四位元值比率之間的所述絕對差值不大於所述第三預定門檻值,空白單元判斷電路2152判定所述目標實體程式化單元的所述第二類型實體頁面為空白的。廠商可根據需求及可複寫式非揮發性記憶體模組220的物理特性來設計所述第二預定門檻值的數值,如,15%。但本發明並不限於第二預定門檻值的具體數值,第二預定門檻值可為非15%的其他數值。例如,所述第二預定門檻值的數值的範圍例如是10%~20%。
以下會開始舉例說明對應第二類型實體頁面的空白單元辨識操作的細節。
請參照圖4B,假設目標實體程式化單元為第一類儲存態樣。如上述,空白單元管理電路模組215先執行對應目標實體程式化單元的第一類型實體頁面的空白單元辨識操作,其中空白單元管理電路模組215經由使用對應第一類型實體頁面的第一讀取電壓V(1)2所獲得的第一位元值比率等於50%,並且判定目標實體程式化單元的第一類型實體頁面為非空白的。接著,空白單元管理電路模組215會開始執行對應目標實體程式化單元的第二類型實體頁面的空白單元辨識操作(假設對應的預定第三門檻值為15%),即,空白單元管理電路模組215先使用對應第二類型實體頁面的讀取電壓V(1)1與V(1)3(亦稱,第三讀取電壓)來讀取目標實體程式化單元,並且計算出對應的位元值比率(50%)(即,第三位元值比率)。接著,空白單元管理電路模組215可調整讀取 電壓V(1)1與V(1)3為讀取電壓V(2)1與V(2)3(如箭頭401、402所示),並且使用讀取電壓V(2)1與V(2)3(亦稱,第四讀取電壓)來讀取目標實體程式化單元,並且計算出對應的另個位元值比率(50%)(即,第四位元值比率)。最後,空白單元管理電路模組215可計算出第三位元值比率與第四位元值比率之間的絕對差值為0%,並且空白單元管理電路模組215會判定第二類型實體頁面為空白的(因為第三位元值比率與第四位元值比率之間的絕對差值不大於第三預定門檻值)。如此一來,對於目標實體程式化單元的空白單元辨識操作就完成了,並且所得到的辨識結果也符合第一類儲存態樣(即,第一類型實體頁面為非空白的以及第二類型實體頁面為空白的)。
請參照圖4C,假設目標實體程式化單元為第二類儲存態樣。如上述,空白單元管理電路模組215先執行對應目標實體程式化單元的第一類型實體頁面的空白單元辨識操作,其中空白單元管理電路模組215經由使用對應第一類型實體頁面的第一讀取電壓V(1)2所獲得的第一位元值比率等於50%,並且判定目標實體程式化單元的第一類型實體頁面不為空白的。接著,空白單元管理電路模組215會開始執行對應目標實體程式化單元的第二類型實體頁面的空白單元辨識操作(假設對應的預定第三門檻值為15%),即,空白單元管理電路模組215使用對應第二類型實體頁面(如,上實體頁面)的第三讀取電壓V(1)1與V(1)3(用以辨識/區分上實體頁面的記憶胞的儲存狀態的讀取電壓V(1)2與V(1)3) 來讀取目標實體程式化單元,以辨識目標實體程式化單元的多個目標記憶胞中儲存位元值“1”(即,第一位元值)的多個第三目標記憶胞。空白單元管理電路模組215根據所述多個第三目標記憶胞與所述多個目標記憶胞來計算第三位元值比率,即,將所述多個第三目標記憶胞的總數量除以所述多個目標記憶胞的總數量所計算出的比率作為第三位元值比率。在此例子中,所計算出的第三位元值比率為50%,其包含了臨界電壓分佈MS1的多個記憶胞(臨界電壓小於讀取電壓V(1)1的記憶胞的儲存狀態被判定為“1”)所佔的25%與臨界電壓分佈MS4(臨界電壓大於讀取電壓V(1)3的記憶胞的儲存狀態被判定為“1”)的多個記憶胞所佔的25%。
接著,空白單元管理電路模組215可調整讀取電壓V(1)1與V(1)3為讀取電壓V(2)1與V(2)3(如箭頭403、404所示)。請參照圖4D,空白單元管理電路模組215使用讀取電壓V(2)1與V(2)3來讀取目標實體程式化單元,並且計算出對應的另個位元值比率(25%)(即,第四位元值比率)。接著,空白單元管理電路模組215可計算出第三位元值比率與第四位元值比率之間的絕對差值為25%,並且判定第二類型實體頁面為非空白的(因為第三位元值比率與第四位元值比率之間的絕對差值大於第三預定門檻值)。如此一來,對於目標實體程式化單元的空白單元辨識操作就完成了,並且所得到的辨識結果也符合第二類儲存態樣(即,第一類型實體頁面為非空白的以及第二類型實體頁面為非空白的)。
上述圖4B~4D是基於具有正常的臨界電壓分佈的實體 程式化單元所作的例子。於圖4E的說明中,見上述,也闡述了本發明的空白辨識操作/方法亦可應用於具有異常偏移的臨界電壓分佈的實體程式化單元(針對第一類型實體頁面)。以下進一步利用圖4F來闡述本發明的空白辨識操作/方法可應用於具有異常偏移的臨界電壓分佈的實體程式化單元(針對第二類型實體頁面)。
請參照圖4F,假設目標實體程式化單元為第二類儲存態樣。由於已判定第一類型實體頁面為非空白的(圖4E的例子),接著,空白單元管理電路模組215會開始執行對應目標實體程式化單元的第二類型實體頁面的空白單元辨識操作(假設對應的預定第三門檻值為15%)。即,空白單元管理電路模組215先使用對應第二類型實體頁面的讀取電壓V(1)1與V(1)3(亦稱,第三讀取電壓)來讀取目標實體程式化單元,並且計算出對應的位元值比率(60%)(即,第三位元值比率)。接著,空白單元管理電路模組215可調整讀取電壓V(1)1與V(1)3為讀取電壓V(2)1與V(2)3(如箭頭406、407所示),並且使用讀取電壓V(2)1與V(2)3(亦稱,第四讀取電壓)來讀取目標實體程式化單元,並且計算出對應的另個位元值比率(35%)(即,第四位元值比率)。最後,空白單元管理電路模組215可計算出第三位元值比率與第四位元值比率之間的絕對差值為25%,並且空白單元管理電路模組215會判定第二類型實體頁面為非空白的(因為第三位元值比率與第四位元值比率之間的絕對差值大於第三預定門檻值)。如此一來,對於目標實體程式化單元的空白單元辨識操作就完成了,並且所得到的辨 識結果也符合第二類儲存態樣(即,第一類型實體頁面為非空白的以及第二類型實體頁面為非空白的)。
值得一提的是,在以上的實施例中,位元值比率皆指對應儲存狀態為“1”的記憶胞所佔的比率,並且對應的預定值、多個預定門檻值也是基於此精神來設計的,但本發明並不限於此。例如,在另一實施例中,空白單元管理電路模組215會針對儲存狀態為“0”的記憶胞所佔的比率來作為「位元值比率」,並且對應的預定值、多個預定門檻值也會對應地設計。基本上,在「位元值比率皆指對應儲存狀態為“0”的記憶胞所佔的比率」的情況下所設計的預定值、多個預定門檻值會與在「位元值比率皆指對應儲存狀態為“1”的記憶胞所佔的比率」的情況下所設計的預定值、多個預定門檻值具有對應的關聯(因為一種類型的實體頁面所可儲存的位元值只為“1”或“0”,各自佔的比率的總和為100%)。
上述的實施例是以SLC與MLC做為例子來說明,然而,本領域人員當可從上述的例子知道如何進行對應TLC的空白單元辨識操作。例如,請參照圖5,在對應TLC的實體程式化單元的第一類型實體頁面的空白單元辨識操作中,空白單元管理電路模組215可利用第一讀取電壓V(1)4與第二讀取電壓V(2)4(如箭頭A500所示)來判斷第一類型實體頁面是否為空白的。若判定第一類型實體頁面為空白的,空白單元管理電路模組215可直接判定第二類型實體頁面為空白的。若判定第一類型實體頁面為非空白的,空白單元管理電路模組215可執行對應第二類型實體頁面的 空白單元辨識操作,使用第三讀取電壓V(1)1、V(1)2、V(1)5、V(1)7與對應調整的第四讀取電壓V(2)1、V(2)2、V(2)5、V(2)7來判斷第二類型實體頁面是否為空白的(如箭頭A501~A504所示)。電壓調整的方式基本上如圖5所示,會以讀取電壓V(1)4為中心,位於讀取電壓V(1)4左側的讀取電壓往左邊調整(越往左邊調整越具有準確度/鑑別度);位於讀取電壓V(1)4右側的讀取電壓往右邊調整(越往右邊調整越具有準確度/鑑別度)。
應注意的是,在一實施例中,若所對應的實體頁面(如,第一類型實體頁面)僅需要一個讀取電壓(如,對應的第一讀取電壓)來執行讀取,則將對應第一類型實體頁面的第一讀取電壓V(1)4調整為第二讀取電壓V(2)4的動作僅能往左(或最左)調整。在一實施例中,若所對應的實體頁面(如,第二類型實體頁面)需要兩個以上的讀取電壓(如,多個第三讀取電壓)來執行讀取,則在讀取電壓的調整上,會將所述多個第三讀取電壓中的最左的讀取電壓(電壓值最小者)往左調整,並且將所述多個第三讀取電壓中的最右的讀取電壓(電壓值最大者)往右調整。接著,再利用調整後的讀取電壓來取得另個位元值比率,以根據所述另個位元值比率與原本的位元值比率(經由調整前的多個第三讀取電壓所獲得的)的絕對差值來判斷是否對應的實體頁面是否為空白的。此外,上述的空白單元辨識方法與讀取電壓調整方式亦可應用至QLC的空白單元的辨別上。
綜上所述,本發明實施例所提供的記憶體管理方法以及 儲存控制器,可在不經過解碼操作的情況下,利用經由讀取電壓所獲得的不同的位元值比率與位元值比率來辨識儲存單元是否為空白的,以增強辨識空白的儲存單元的準確性,進而增加儲存裝置管理已使用空間與未使用空間的效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。

Claims (12)

  1. 一種記憶體管理方法,適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置,其中該可複寫式非揮發性記憶體模組具有多個實體程式化單元,其中該些實體程式化單元的每一個實體程式化單元具有多個記憶胞,所述方法包括: 選擇該些實體程式化單元中的一目標實體程式化單元; 使用對應該目標實體程式化單元的一第一讀取電壓來讀取該目標實體程式化單元的多個目標記憶胞,以辨識該些目標記憶胞中儲存一第一位元值的多個第一目標記憶胞,並且根據該些第一目標記憶胞與該些目標記憶胞來計算一第一位元值比率; 若該第一位元值比率小於該第一預定門檻值,判定該目標實體程式化單元的該第一類型實體頁面不為空白的; 若該第一位元值比率不小於一第一預定門檻值,使用對應該目標實體程式化單元的一第二讀取電壓來讀取該些目標記憶胞,以辨識該些目標記憶胞中儲存該第一位元值的多個第二目標記憶胞,並且根據該些第二目標記憶胞與該些目標記憶胞來計算一第二位元值比率,其中該第二讀取電壓不同於該第一讀取電壓,並且該第一讀取電壓與該第二讀取電壓用以辨識該目標實體程式化單元的一第一類型實體頁面所儲存的位元值;以及 經由比較該第一位元值比率與該第二位元值比率來判斷該目標實體程式化單元的該第一類型實體頁面是否為空白的。
  2. 如申請專利範圍第1項所述的記憶體管理方法,其中上述經由比較該第一位元值比率與該第二位元值比率來判斷該目標實體程式化單元的該第一類型實體頁面是否為空白的之步驟包括: 若該第一位元值比率與該第二位元值比率之間的絕對差值大於一第二預定門檻值,判定該目標實體程式化單元的該第一類型實體頁面不為空白的;以及 若該第一位元值比率與該第二位元值比率之間的該絕對差值不大於該第二預定門檻值,判定該目標實體程式化單元的該第一類型實體頁面為空白的。
  3. 如申請專利範圍第1項所述的記憶體管理方法,所述記憶體管理方法更包括: 若判定該目標實體程式化單元的該第一類型實體頁面為空白的,判定該目標實體程式化單元的一第二類型實體頁面為空白的。
  4. 如申請專利範圍第1項所述的記憶體管理方法,所述記憶體管理方法更包括: 若判定該目標實體程式化單元的該第一類型實體頁面不為空白的,使用對應該目標實體程式化單元的多個第三讀取電壓來讀取該目標實體程式化單元的該些目標記憶胞,以辨識該些目標記憶胞中儲存該第一位元值的多個第三目標記憶胞,並且根據該些第三目標記憶胞與該些目標記憶胞來計算一第三位元值比率; 若該第三位元值比率不等於一預定值,使用對應該目標實體程式化單元的多個第四讀取電壓來讀取該些目標記憶胞,以辨識該些目標記憶胞中儲存該第一位元值的多個第四目標記憶胞,並且根據該些第四目標記憶胞與該些目標記憶胞來計算一第四位元值比率,其中該些第三讀取電壓與該些第四讀取電壓用以辨識該目標實體程式化單元的一第二類型實體頁面所儲存的位元值;以及 經由比較該第三位元值比率與該第四位元值比率來判斷該目標實體程式化單元的該第二類型實體頁面是否為空白的。
  5. 如申請專利範圍第4項所述的記憶體管理方法,其中上述經由比較該第三位元值比率與該第四位元值比率來判斷該目標實體程式化單元的該第二類型實體頁面是否為空白的之步驟包括: 若該第三位元值比率與該第四位元值比率之間的絕對差值大於一第三預定門檻值,判定該目標實體程式化單元的該第二類型實體頁面不為空白的;以及 若該第三位元值比率與該第四位元值比率之間的該絕對差值不大於該第三預定門檻值,判定該目標實體程式化單元的該第二類型實體頁面為空白的。
  6. 如申請專利範圍第5項所述的記憶體管理方法,更包括: 若該第三位元值比率等於該預定值,判定該目標實體程式化單元的該第二類型實體頁面為空白的。
  7. 一種儲存控制器,用於控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置,該儲存控制器包括: 一連接介面電路,用以耦接至一主機系統; 一記憶體介面控制電路,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個實體程式化單元,其中該些實體程式化單元的每一個實體程式化單元具有多個記憶胞; 一空白單元管理電路單元;以及 一處理器,耦接至該連接介面電路、該記憶體介面控制電路及該空白單元管理電路單元, 其中該處理器選擇該些實體程式化單元中的一目標實體程式化單元以指示該空白單元管理電路單元對該目標實體程式化單元執行一空白單元辨識操作, 在該空白單元辨識操作中, 該空白單元管理電路單元用以使用對應該目標實體程式化單元的一第一讀取電壓來讀取該目標實體程式化單元的多個目標記憶胞,以辨識該些目標記憶胞中儲存一第一位元值的多個第一目標記憶胞,並且根據該些第一目標記憶胞與該些目標記憶胞來計算一第一位元值比率, 其中若該第一位元值比率小於該第一預定門檻值,該空白單元管理電路單元判定該目標實體程式化單元的該第一類型實體頁面不為空白的, 其中若該第一位元值比率不小於一第一預定門檻值,該空白單元管理電路單元更用以使用對應該目標實體程式化單元的一第二讀取電壓來讀取該些目標記憶胞,以辨識該些目標記憶胞中儲存該第一位元值的多個第二目標記憶胞,並且根據該些第二目標記憶胞與該些目標記憶胞來計算一第二位元值比率,其中該第二讀取電壓不同於該第一讀取電壓,並且該第一讀取電壓與該第二讀取電壓用以辨識該目標實體程式化單元的一第一類型實體頁面所儲存的位元值, 其中該空白單元管理電路單元更用以經由比較該第一位元值比率與該第二位元值比率來判斷該目標實體程式化單元的該第一類型實體頁面是否為空白的。
  8. 如申請專利範圍第7項所述的儲存控制器,其中在上述該空白單元管理電路單元更用以經由比較該第一位元值比率與該第二位元值比率來判斷該目標實體程式化單元的該第一類型實體頁面是否為空白的之運作中, 若該第一位元值比率與該第二位元值比率之間的絕對差值大於一第二預定門檻值,該空白單元管理電路單元判定該目標實體程式化單元的該第一類型實體頁面不為空白的;以及 若該第一位元值比率與該第二位元值比率之間的該絕對差值不大於該第二預定門檻值,該空白單元管理電路單元判定該目標實體程式化單元的該第一類型實體頁面為空白的。
  9. 如申請專利範圍第7項所述的儲存控制器,其中 若判定該目標實體程式化單元的該第一類型實體頁面為空白的,該空白單元管理電路單元判定該目標實體程式化單元的一第二類型實體頁面為空白的。
  10. 如申請專利範圍第7項所述的儲存控制器,其中 若判定該目標實體程式化單元的該第一類型實體頁面不為空白的,該空白單元管理電路單元使用對應該目標實體程式化單元的多個第三讀取電壓來讀取該目標實體程式化單元的該些目標記憶胞,以辨識該些目標記憶胞中儲存該第一位元值的多個第三目標記憶胞,並且根據該些第三目標記憶胞與該些目標記憶胞來計算一第三位元值比率, 其中若該第三位元值比率不等於一預定值,該空白單元管理電路單元使用對應該目標實體程式化單元的多個第四讀取電壓來讀取該些目標記憶胞,以辨識該些目標記憶胞中儲存該第一位元值的多個第四目標記憶胞,並且根據該些第四目標記憶胞與該些目標記憶胞來計算一第四位元值比率,其中該些第三讀取電壓與該些第四讀取電壓用以辨識該目標實體程式化單元的一第二類型實體頁面所儲存的位元值, 其中該空白單元管理電路單元經由比較該第三位元值比率與該第四位元值比率來判斷該目標實體程式化單元的該第二類型實體頁面是否為空白的。
  11. 如申請專利範圍第10項所述的儲存控制器,其中在上述該空白單元管理電路單元經由比較該第三位元值比率與該第四位元值比率來判斷該目標實體程式化單元的該第二類型實體頁面是否為空白的之運作中, 若該第三位元值比率與該第四位元值比率之間的絕對差值大於一第三預定門檻值,該空白單元管理電路單元判定該目標實體程式化單元的該第二類型實體頁面不為空白的;以及 若該第三位元值比率與該第四位元值比率之間的該絕對差值不大於該第三預定門檻值,該空白單元管理電路單元判定該目標實體程式化單元的該第二類型實體頁面為空白的。
  12. 如申請專利範圍第11項所述的儲存控制器,其中 若該第三位元值比率等於該預定值,該空白單元管理電路單元判定該目標實體程式化單元的該第二類型實體頁面為空白的。
TW107121188A 2018-06-20 2018-06-20 記憶體管理方法以及儲存控制器 TWI655576B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW107121188A TWI655576B (zh) 2018-06-20 2018-06-20 記憶體管理方法以及儲存控制器
US16/114,248 US10579518B2 (en) 2018-06-20 2018-08-28 Memory management method and storage controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW107121188A TWI655576B (zh) 2018-06-20 2018-06-20 記憶體管理方法以及儲存控制器

Publications (2)

Publication Number Publication Date
TWI655576B true TWI655576B (zh) 2019-04-01
TW202001542A TW202001542A (zh) 2020-01-01

Family

ID=66996057

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107121188A TWI655576B (zh) 2018-06-20 2018-06-20 記憶體管理方法以及儲存控制器

Country Status (2)

Country Link
US (1) US10579518B2 (zh)
TW (1) TWI655576B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10990520B2 (en) * 2018-12-10 2021-04-27 Storart Technology Co., Ltd. Method for gabage collecting for non-volatile memory
TWI722867B (zh) * 2020-04-14 2021-03-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
CN115485776A (zh) 2020-05-13 2022-12-16 美光科技公司 用于存取存储器单元的基于计数器的方法和系统
US11615854B2 (en) 2021-04-02 2023-03-28 Micron Technology, Inc. Identify the programming mode of memory cells during reading of the memory cells
US11664073B2 (en) 2021-04-02 2023-05-30 Micron Technology, Inc. Adaptively programming memory cells in different modes to optimize performance
US11514983B2 (en) * 2021-04-02 2022-11-29 Micron Technology, Inc. Identify the programming mode of memory cells based on cell statistics obtained during reading of the memory cells
US11989443B2 (en) * 2022-05-12 2024-05-21 Micron Technology, Inc. Techniques for enhanced read performance on repurposed blocks of memory cells

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335047A (zh) * 2007-06-28 2008-12-31 三星电子株式会社 闪存装置和调节闪存装置的读电压的方法
CN102956255A (zh) * 2011-08-30 2013-03-06 慧荣科技股份有限公司 闪存控制器
CN107068186A (zh) * 2015-12-15 2017-08-18 三星电子株式会社 操作存储装置的方法
TW201821971A (zh) * 2016-12-14 2018-06-16 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9443566B2 (en) * 2012-10-24 2016-09-13 Stmicroelectronics S.R.L. Identification of a condition of a sector of memory cells in a non-volatile memory
KR102238592B1 (ko) * 2014-08-08 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 디폴트 독출 전압 설정 방법 및 비휘발성 메모리 장치의 데이터 독출 방법
US9640270B2 (en) * 2014-08-12 2017-05-02 Sandisk Technologies Llc System and method of using multiple read operations
KR102239868B1 (ko) * 2014-11-28 2021-04-13 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작 방법
US9552885B2 (en) * 2014-12-10 2017-01-24 Sandisk Technologies Llc Partial block erase for open block reading in non-volatile memory
US9773529B1 (en) * 2016-06-16 2017-09-26 Cypress Semiconductor Corporation Methods and devices for reading data from non-volatile memory cells

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101335047A (zh) * 2007-06-28 2008-12-31 三星电子株式会社 闪存装置和调节闪存装置的读电压的方法
CN102956255A (zh) * 2011-08-30 2013-03-06 慧荣科技股份有限公司 闪存控制器
CN107068186A (zh) * 2015-12-15 2017-08-18 三星电子株式会社 操作存储装置的方法
TW201821971A (zh) * 2016-12-14 2018-06-16 慧榮科技股份有限公司 資料儲存裝置及其資料維護方法

Also Published As

Publication number Publication date
US10579518B2 (en) 2020-03-03
US20190391914A1 (en) 2019-12-26
TW202001542A (zh) 2020-01-01

Similar Documents

Publication Publication Date Title
TWI655576B (zh) 記憶體管理方法以及儲存控制器
US10698762B2 (en) Data reading method and storage controller
TWI650757B (zh) 解碼方法以及儲存控制器
TWI661427B (zh) 記憶體管理方法以及儲存控制器
TWI651726B (zh) 解碼方法以及儲存控制器
US10628082B2 (en) Data reading method and storage controller
US10748599B1 (en) Data reading method, storage controller and storage device background of the disclosure
US20170003897A1 (en) Memory management method, memory control circuit unit and memory storage apparatus
TW202025165A (zh) 資料讀取方法、儲存控制器與儲存裝置
TW201947402A (zh) 記憶體管理方法以及儲存控制器
US9430325B2 (en) Method for programming data, memory storage device and memory control circuit unit
TW201939500A (zh) 解碼方法以及儲存控制器
US9990152B1 (en) Data writing method and storage controller
US10509583B1 (en) Memory management method and storage controller
TWI667606B (zh) 記憶體管理方法以及儲存控制器
US20160099062A1 (en) Data writing method, memory storage device and memory control circuit unit
US10614892B1 (en) Data reading method, storage controller and storage device
CN110377538B (zh) 存储器管理方法以及存储控制器
CN108108118B (zh) 数据写入方法以及存储控制器
CN110727390B (zh) 存储器管理方法以及存储控制器
CN110364197B (zh) 解码方法以及存储控制器
CN110364207B (zh) 解码方法以及储存控制器
CN109273037B (zh) 数据读取方法以及存储控制器
CN110658977B (zh) 存储器管理方法以及存储控制器
CN113312274B (zh) 存储器的数据整理方法、存储器存储装置及控制电路单元