TW201508759A - 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 - Google Patents

用來進行記憶體存取管理之方法以及記憶裝置及其控制器 Download PDF

Info

Publication number
TW201508759A
TW201508759A TW103140546A TW103140546A TW201508759A TW 201508759 A TW201508759 A TW 201508759A TW 103140546 A TW103140546 A TW 103140546A TW 103140546 A TW103140546 A TW 103140546A TW 201508759 A TW201508759 A TW 201508759A
Authority
TW
Taiwan
Prior art keywords
memory
controller
threshold voltage
digit value
memory unit
Prior art date
Application number
TW103140546A
Other languages
English (en)
Inventor
Tsung-Chieh Yang
Hsiao-Te Chang
wen-long Wang
Original Assignee
Silicon Motion Inc
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 Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of TW201508759A publication Critical patent/TW201508759A/zh

Links

Classifications

    • 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
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • 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/0638Organizing or formatting or addressing of data
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control 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/26Sensing or reading circuits; Data output circuits

Landscapes

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

Abstract

本發明提供一種用來進行記憶體存取管理之方法,該方法包含有:針對一記憶體中之同一記憶單元,依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,其中該第一數位值與該至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶單元的各種可能狀態之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量;以及基於該至少一第二數位值,產生/取得該記憶單元之軟資訊,以供進行軟解碼。本發明另提供相關之記憶裝置及其控制器。

Description

用來進行記憶體存取管理之方法以及記憶裝置及其控制器
本發明係有關於快閃記憶體(Flash Memory)之存取(Access),尤指一種用來進行記憶體存取管理之方法以及相關之記憶裝置及其控制器。
近年來由於記憶體的技術不斷地發展,各種可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)被廣泛地實施於諸多應用中。因此,這些可攜式記憶裝置中之記憶體的存取控制遂成為相當熱門的議題。
以常用的NAND型快閃記憶體而言,其主要可區分為單階細胞(Single Level Cell,SLC)與多階細胞(Multiple Level Cell,MLC)兩大類之快閃記憶體。單階細胞快閃記憶體中之每個被當作記憶單元的電晶體只有兩種電荷值,分別用來表示邏輯值0與邏輯值1。另外,多階細胞快閃記憶體中之每個被當作記憶單元的電晶體的儲存能力則被充分利用,係採用較高的電壓來驅動,以透過不同級別的電壓在一個電晶體中記錄兩組(或以上)位元資訊(00、01、11、10);理論上,多階細胞快閃記憶體的記錄密度可以達到單階細胞快閃記憶體的記錄密度之兩倍,這對於曾經在發展過程中遇到瓶頸的NAND型快閃記憶體之相關產業而言,是非常好的消息。
相較於單階細胞快閃記憶體,由於多階細胞快閃記憶體之價格較便宜,並且在有限的空間裡可提供較大的容量,故多階細胞快閃記憶體很快地成為市面上之可攜式記憶裝置競相採用的主流。然而,多階細胞快閃記憶體的不穩定性所導致的問題也一一浮現。為了確保可攜式記憶裝置對快閃記 憶體之存取控制能符合相關規範,快閃記憶體的控制器通常備有某些管理機制以妥善地管理資料之存取。
依據相關技術,有了這些管理機制的記憶裝置還是有不足之處。舉例來說,多階細胞快閃記憶體之錯誤率在某些情況下會上升至令人難以置信的地步,而傳統的錯誤更正機制卻不足以應付這些狀況下之叢發錯誤(Burst Error)。因此,需要一種同時具備錯誤更正機制與資料存取機制之新穎的記憶體存取機制。
因此本發明之目的之一在於提供一種用來進行記憶體存取管理之方法以及相關之記憶裝置及其控制器,以解決上述問題。
本發明之較佳實施例中提供一種用來進行記憶體存取管理之方法,該方法包含有:針對一記憶體中之同一記憶單元(Memory Cell),依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,其中該第一數位值與該至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶單元的各種可能狀態(即各種可能的儲存狀態)之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量;以及基於該至少一第二數位值,產生/取得該記憶單元之軟資訊(Soft Information),以供進行軟解碼(Soft Decoding)。尤其是,該軟資訊可依據該記憶體之電荷分佈統計資訊而定。
本發明於提供上述方法之同時,亦對應地提供一種記憶裝置,其包含有:一記憶體,該記憶體包含複數個區塊;以及一控制器,用來存取(Access)該記憶體以及管理該複數個區塊,並且另針對該控制器本身所存取之資料來進行記憶體存取管理。另外,針對該記憶體中之同一記憶單元,該控制器依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,其中該第一數位值與該至少一第二數位值係用來判斷該記憶單元 所儲存之同一位元之資訊,且該記憶單元的各種可能狀態(即各種可能的儲存狀態)之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量。此外,基於該至少一第二數位值,該控制器產生/取得該記憶單元之軟資訊,以供進行軟解碼。尤其是,該軟資訊可依據該記憶體之電荷分佈統計資訊而定。
本發明於提供上述方法之同時,亦對應地提供一種記憶裝置之控制器,該控制器係用來存取一記憶體,該記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;一微處理器,用來執行該程式碼以控制對該記憶體之存取以及管理該複數個區塊,其中在該微處理器之控制下,該控制器針對該控制器本身所存取之資料來進行記憶體存取管理。另外,針對該記憶體中之同一記憶單元,該控制器依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,其中該第一數位值與該至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶單元的各種可能狀態(即各種可能的儲存狀態)之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量。此外,基於該至少一第二數位值,該控制器產生/取得該記憶單元之軟資訊,以供進行軟解碼。尤其是,該軟資訊可依據該記憶體之電荷分佈統計資訊而定。
100‧‧‧記憶裝置
110‧‧‧記憶體控制器
112‧‧‧微處理器
112C‧‧‧程式碼
112M‧‧‧唯讀記憶體
114‧‧‧控制邏輯
116‧‧‧緩衝記憶體
118‧‧‧介面邏輯
120‧‧‧快閃記憶體
200‧‧‧主裝置
400‧‧‧用來讀取一頁資料之方法
410,420,430,440,450,460‧‧‧步驟
910‧‧‧用來進行記憶體存取管理之方法
912,914‧‧‧步驟
S0,S1,S000,S001,S010,S011,S100,S101,S110,S111‧‧‧快閃單元的狀態
Vd‧‧‧判定電壓
Ve‧‧‧確切的門檻電壓
Vth,Vth1_max,Vth0_max,Vpv0,Vpv1,Vpv2,Vpv3,Vpv4,Vpv5,Vpv6,Vpv7‧‧‧門檻電壓
V1st,V2nd,V3rd‧‧‧感測電壓
△V0,△V1‧‧‧電壓差
第1A圖為依據本發明一第一實施例之一種記憶裝置與一主裝置(Host Device)的示意圖。
第1B圖為依據本發明一實施例之一種用來進行記憶體存取管理之方法的流程圖。
第2圖繪示一實施例中關於單階細胞快閃記憶體(Single Level Cell Flash Memory,SLC Flash Memory)中之快閃單元的門檻電壓分佈以及對應的 狀態。
第3圖繪示一實施例中關於單階細胞快閃記憶體中之快閃單元的門檻電壓分佈及對應的狀態以及相關的感測電壓(Sensing Voltage)。
第4圖為依據本發明一實施例之一種用來讀取一頁資料之方法400的流程圖。
第5圖繪示一實施例中關於三階細胞(Triple Level Cell,TLC)快閃記憶體中之快閃單元的門檻電壓分佈及對應的狀態以及相關參數。
第6A圖至第6C圖繪示其它實施例中關於三階細胞快閃記憶體中之快閃單元的門檻電壓分佈及對應的狀態以及相關參數。
第7圖繪示另一實施例中關於三階細胞快閃記憶體中之快閃單元的門檻電壓分佈及對應的狀態以及相關參數。
I.記憶體系統
請參考第1A圖,第1A圖為依據本發明一第一實施例之一種記憶裝置100與一主裝置(Host Device)200的示意圖,其中本實施例之記憶裝置100尤其係為可攜式記憶裝置(例如:符合SD/MMC、CF、MS、XD標準之記憶卡)或固態硬碟(SSD,Solid State Drive)。記憶裝置100包含有一控制器以及一記憶體,其中該控制器係用來存取(Access)該記憶體。例如:該控制器與該記憶體可分別為一記憶體控制器110與一快閃記憶體(Flash Memory)120,而記憶體控制器110係用來存取快閃記憶體120。依據本實施例,記憶體控制器110包含一微處理器112、一儲存器諸如一唯讀記憶體(Read Only Memory,ROM)112M、一控制邏輯114、一緩衝記憶體116、與一介面邏輯118。另外,本實施例之唯讀記憶體112M係用來儲存一程式碼112C,而微處理器112則用來執行程式碼112C以控制對快閃記憶體120之存取。請注意到,程式碼112C亦得儲存在緩衝記憶體116或任何形式之記憶體內。
於本實施例中,主裝置200可藉由傳送指令與對應的邏輯位址予記憶體控制器110來存取記憶裝置100。記憶體控制器110接收該些指令與該些邏輯位址,並控制快閃記憶體120讀取、寫入(Write/Program)、或抹除(Erase)快閃記憶體120當中具有實體位址之記憶單位(Memory Unit),其中該些實體位址對應於該些邏輯位址。
第1B圖為依據本發明一實施例之一種用來進行記憶體存取管理之方法910的流程圖,其中方法910可應用於第1A圖所示之記憶裝置100,尤其是可應用於其內的元件,諸如快閃記憶體120、及/或藉由利用微處理器112執行程式碼112C之記憶體控制器110。於步驟912中,針對一記憶體諸如快閃記憶體120中之同一記憶單元(Memory Cell),記憶裝置100(尤其是藉由利用微處理器112執行程式碼112C之記憶體控制器110)依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,其中該第一數位值與上述之至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶單元的各種可能狀態(即各種可能的儲存狀態)之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量。例如:上述之全部的位元包含單一位元,則其各種可能組合之數量可視為2,這是因為該單一位元之值可為0或1。又例如:上述之全部的位元包含X個位元,則其各種可能組合之數量可視為2X,這是因為該X個位元中之每一位元之值可為0或1。於步驟914中,基於上述之至少一第二數位值,記憶裝置100(尤其是藉由利用微處理器112執行程式碼112C之記憶體控制器110)產生/取得該記憶單元之軟資訊(Soft Information),以供進行軟解碼(Soft Decoding)。尤其是,該軟資訊係依據上述之記憶體諸如快閃記憶體120之電荷分佈統計資訊而定。第1A圖所示架構以及第1B圖所示方法之相關細節進一步說明如下。
II.硬解碼(Hard Decoding)與軟解碼
上述之記憶體包含複數個記憶單位,於本發明之不同的實施例中,該記憶體可為任何種類的記憶體。在此,該記憶體係以快閃記憶體120為例來進行說明。快閃記憶體120可包含複數個記憶體晶片,而每一記憶體晶片包含複數個區塊(Block),其中每一區塊係為一抹除單位。一區塊可包含複數頁(Page),其中每一頁係為一寫入單位。一頁可包含複數個區段(Sector),其中每一區段係為一讀取單位。在實體架構上,該區塊包含安排成一陣列之複數個快閃單元(Flash Cell;其亦可譯為快閃細胞),而每一快閃單元係為一浮動閘極電晶體(Floating Gate Transistor),且一串快閃單元可儲存至少一頁的資料。請注意,廣義而言,本發明並不限於快閃記憶體的範疇;此狀況下,上述之快閃單元可廣義地稱為記憶單元,諸如步驟912所述之記憶單元。
已知單階細胞(Single Level Cell,SLC)快閃記憶體中之每個被當作記憶單元的電晶體只有兩種電荷值(Charge Level),分別用來表示邏輯值0與邏輯值1;然而,每一快閃單元會有輕微的差異。如此,以相同邏輯值(例如:邏輯值1)寫入之兩個記憶單元仍可能具有不同的電荷值(但仍可將兩個記憶單元視為處於同一狀態);換句話說,這兩個記憶單元可能具有不同的門檻電壓,其中每一門檻電壓係用來表示施加於所考慮的記憶單元的電壓是否足以讓此記憶單元導通的門檻值,且該門檻電壓與該記憶單元的電荷值互相對應。第2圖繪示一實施例中關於單階細胞快閃記憶體中之快閃單元的門檻電壓分佈以及對應的狀態S1與S0,其中狀態S1表示以邏輯值1寫入之狀態,而狀態S0表示以邏輯值0寫入之狀態。於第2圖中,橫軸(或一般認知的x軸)代表一快閃單元的門檻電壓且標示為「Vth」,而縱軸(或一般認知的y軸)代表一快閃單元具有某一門檻電壓的機率。例如:以邏輯值1寫入之快閃單元針對門檻電壓為-1V的狀況會具有最高機率。又例如:以邏輯值0寫入之快閃單元針對門檻電壓為1V的狀況會具有最高機率。
在快閃記憶體120係以單階細胞快閃記憶體來實施之典型狀況下,記憶體控制器110控制快閃記憶體120於一快閃單元寫入1位元的資訊並且 從該快閃單元讀出1位元的資訊,其中從該快閃單元所讀出之1位元的資訊可視為步驟912所述之第一數位值之一例。另外,一串快閃單元可被安排成一頁,且記憶體控制器110可將一頁的資料同時寫入快閃記憶體120中之一串快閃單元。被寫入該些快閃單元的這一頁的資料包含:傳送自主裝置200之主裝置資料、存取資料所需之控制資訊以及記憶體控制器110依據同一頁中之該主裝置資料所產生之錯誤更正碼等。在讀取時,快閃記憶體120判斷對應於讀取頁(或所需頁;即依據記憶體控制器110的需求所欲讀取之頁)之各個快閃單元的門檻電壓,並且將相對應的邏輯值回覆給記憶體控制器110,其中快閃記憶體120依據各個快閃單元的門檻電壓所判斷之相對應的邏輯值即為該讀取頁的資料,其可簡稱為讀取頁資料。記憶體控制器110以特定的錯誤更正機制來解碼該讀取頁資料,並將正確的資料回覆給主裝置200。這樣運作的解碼機制可視為硬解碼機制,而快閃記憶體120所判斷之該讀取頁資料可視為「硬資訊」(Hard Information)。然而,在新世代的快閃記憶體諸如多階細胞(Multiple Level Cell,MLC)或三階細胞(Triple Level Cell,TLC)快閃記憶體中,該硬解碼機制並不足以應付叢發錯誤(Burst Error),其中廣義而言,三階細胞快閃記憶體可視為多階細胞快閃記憶體的一種。為了提供更好得錯誤更正能力,在錯誤更正機制當中需要更多的資訊,尤其是每一快閃單元之門檻電壓或其相關資訊。
一旦快閃記憶體120能將其內之各個快閃單元的「軟資訊」提供予記憶體控制器110,尤其是在該軟資訊對應於所考慮的記憶單元之門檻電壓(或電荷值)的狀況下,記憶體控制器110就可以利用該軟資訊進行軟解碼,諸如低密度奇偶校驗碼(Low-Density Parity-Check Code,LDPC)解碼。如此,本發明可以達到更好的錯誤更正能力。舉例而言,在快閃記憶體120係以單階細胞快閃記憶體來實施之狀況下,記憶體控制器110控制快閃記憶體120於一快閃單元寫入1位元的資訊、從該快閃單元讀出複數個數位值諸如N位元(N>1)的資訊、並且將該N位元的資訊回覆給記憶體控制器110。 尤其是,該複數個數位值可包含上述之第一數位值以及至少一第二數位值;如此,該N位元的資訊可包含該快閃單元之硬資訊與軟資訊。
請注意,依據本發明之某些實施例,該些數位值中之至少一部分可代表所考慮的記憶單元之門檻電壓(或電荷值)、或是該門檻電壓(或該電荷值)之相關資訊。例如:上述之至少一第二數位值可代表該記憶單元之至少一候選門檻電壓(或候選電荷值)或其代表資訊,其中記憶體控制器110可依據該至少一候選門檻電壓(或候選電荷值),決定該記憶單元之門檻電壓(或電荷值)。又例如:上述之至少一第二數位值可代表該記憶單元之至少一候選門檻電壓(或候選電荷值)偏高或偏低,其中記憶體控制器110可依據該至少一候選門檻電壓(或候選電荷值)是否偏高或偏低,決定該記憶單元之門檻電壓(或電荷值)。依據這些實施例之某些特例,上述之至少一第二數位值包含複數個第二數位值,其中記憶體控制器110可依據該些第二數位值中之一者,要求快閃記憶體120輸出該些第二數位值中之另一者。
另外,依據本發明之某些實施例,快閃記憶體120可產生軟資訊予記憶體控制器110。這只是為了說明的目的而已,並非對本發明之限制。依據這些實施例之某些變化例,記憶體控制器110可依據快閃記憶體120所產生之軟資訊,進一步產生相關的軟資訊。請參考第3圖,取得軟資訊之相關細節進一步說明如下。
III.取得軟資訊
第3圖繪示一實施例中關於單階細胞快閃記憶體中之快閃單元的門檻電壓分佈及對應的狀態S1與S0以及相關的感測電壓(Sensing Voltage)。依據本實施例,記憶體控制器110可控制快閃記憶體120分別利用不全部相同之複數個感測電壓進行感測運作,以產生上述之至少一第二數位值與該第一數位值中之至少一部分數位值,諸如上述之至少一第二數位值與該第一數位值所構成的集合中之一部分或全部。實作上,上述不全部相同之複數個感 測電壓可為不同的感測電壓,以達到最佳的效能。例如:記憶體控制器110可控制快閃記憶體120分別利用不同的感測電壓進行感測運作,以產生該第一數位值與上述之至少一第二數位值。尤其是,在上述之至少一第二數位值包含該複數個第二數位值的狀況下,記憶體控制器110控制快閃記憶體120分別利用不同的感測電壓進行感測運作,以產生該些第二數位值。又例如:在上述之至少一第二數位值包含該複數個第二數位值的狀況下,記憶體控制器110控制快閃記憶體120分別利用不同的感測電壓進行感測運作,以產生該些第二數位值與該第一數位值中之至少一部分數位值,諸如該些第二數位值與該第一數位值所構成的集合中之一部分或全部。
如第3圖所示,以邏輯值0寫入之快閃單元針對門檻電壓為Vth0_max的狀況會具有最高機率,而以邏輯值1寫入之快閃單元針對門檻電壓為Vth1_max的狀況會具有最高機率。在此,目前所考慮的記憶單元可稱為待測記憶單元。於第3圖中,符號Ve代表該待測記憶單元之確切的門檻電壓(或電荷值),其中星狀圖案係用來繪示確切的門檻電壓Ve在第3圖中之橫向位置,以便於理解。為了找到Ve,快閃記憶體120對該待測記憶單元之閘極施予第一感測電壓V1st,並偵測是否有任何電流流經該待測記憶單元。例如:第一感測電壓V1st可對應於邏輯值1的門檻電壓分佈曲線(即以邏輯值1寫入各個記憶單元的狀況下之門檻電壓分佈曲線)以及邏輯值0的門檻電壓分佈曲線(即以邏輯值0寫入各個記憶單元的狀況下之門檻電壓分佈曲線)之交點。又例如:第一感測電壓V1st可位於門檻電壓Vth0_max與Vth1_max的正中央、或其它預定值。於第3圖所示狀況下,由於第一感測電壓V1st大於Ve,故快閃記憶體120會偵測到有電流流經該待測記憶單元。
其次,快閃記憶體120減少感測電壓,尤其是對該待測記憶單元之閘極施予第二感測電壓V2nd,並偵測是否有任何電流流經該待測記憶單元。例如:第二感測電壓V2nd可位於門檻電壓Vth1_max與第一感測電壓V1st的正中央。於第3圖所示狀況下,由於第二感測電壓V2nd小於Ve,故快閃記憶體120 會偵測到沒有電流流經該待測記憶單元。
再其次,快閃記憶體120增加感測電壓,尤其是對該待測記憶單元之閘極施予第三感測電壓V3rd,並偵測是否有任何電流流經該待測記憶單元。例如:第三感測電壓V3rd可位於第二感測電壓V2nd與第一感測電壓V1st的正中央。於第3圖所示狀況下,由於第三感測電壓V3rd大於Ve,故快閃記憶體120會偵測到有電流流經該待測記憶單元。
實作上,以感測電壓進行感測運作(例如第3圖所示實施例中所揭露之感測運作)的次數可依需要來決定。依據本發明之某些實施例,針對該待測記憶單元,記憶裝置100(尤其是其內的元件,諸如快閃記憶體120、或是藉由利用微處理器112執行程式碼112C之記憶體控制器110)可決定一判定門檻電壓Vd(以下可簡稱為判定電壓Vd)。例如:若3次感測運作就足以清楚地描述該待測記憶單元之門檻電壓(或電荷值),則針對該待測記憶單元,判定電壓Vd可計算如下:Vd=((V2nd+V3rd)/2);相仿地,若(K+1)次感測運作(例如:K>0)就足以清楚地描述該待測記憶單元之門檻電壓(或電荷值),則針對該待測記憶單元,判定電壓Vd可計算如下:Vd=((VK+VK+1)/2);其中符號VK代表第K次感測運作的感測電壓(其可簡稱為第K感測電壓),而符號VK+1代表第(K+1)次感測運作的感測電壓(其可簡稱為第(K+1)感測電壓)。
另外,依據本發明之某些實施例,當判定電壓Vd已被決定,記 憶裝置100(尤其是其內的元件,諸如快閃記憶體120、或是藉由利用微處理器112執行程式碼112C之記憶體控制器110)可依據判定電壓Vd來決定該待測記憶單元之相關的軟資訊SI。例如:在判定電壓Vd係由記憶體控制器110所決定的狀況下,記憶體控制器110另依據判定電壓Vd來決定軟資訊SI。又例如:在判定電壓Vd係由快閃記憶體120所決定的狀況下,快閃記憶體120另依據判定電壓Vd來決定軟資訊SI。又例如:在判定電壓Vd係由快閃記憶體120所決定的狀況下,記憶體控制器110依據判定電壓Vd來決定軟資訊SI。
於本發明之一實施例中,假設判定電壓Vd與Vth0_max之間的電壓差為△V0,且判定電壓Vd與Vth1_max之間的電壓差為△V1;則記憶裝置100(尤其是記憶體控制器110)可依據判定電壓Vd以及電壓差△V0與△V1來決定軟資訊SI,尤其是依據下列方程式來決定軟資訊SI: 例如:若△V1=0.5且△V0=1.5,則軟資訊SI之值為2。軟資訊SI為一正值,其指出該記憶單元(在此即上述之待測記憶單元)中所儲存的資訊可粗略地判定為「1」且此判定之可靠度為2。又例如:若△V1=0.1且△V0=1.9,則軟資訊SI之值為3.6。軟資訊SI為一正值,其指出該記憶單元中所儲存的資訊可粗略地判定為「1」且此判定之可靠度為3.6。又例如:若△V1=1.1且△V0=0.9,則軟資訊SI之值為-0.4。軟資訊SI為一負值,其指出該記憶單元中所儲存的資訊可粗略地判定為「0」且此判定之可靠度為0.4。其中,軟資訊SI之可靠度可以用前述之該些第二數位值來表示。請注意,記憶裝置100針對軟資訊SI的決定方式並不限於方程式(1)。依據本實施例之某些變化例,當門檻電壓分佈曲線所代表之機率分佈並不對稱或是不規則時,記憶裝置100(尤其是其內的元件,諸如快閃記憶體120、或是藉由利用微處理器112執行程 式碼112C之記憶體控制器110)針對軟資訊SI的計算方式可另導入加權值,例如可以利用變異或其它參數來進行正規化(normalization)。依據本實施例之某些變化例,記憶裝置100(尤其是其內的元件,諸如快閃記憶體120、或是藉由利用微處理器112執行程式碼112C之記憶體控制器110)可依據寫入或抹除次數來更新上述之機率分佈的代表資訊,諸如門檻電壓分佈曲線或其曲線參數/資料。
依據本發明之一實施例,在軟資訊SI係由快閃記憶體120所決定的狀況下,快閃記憶體120可將軟資訊SI轉換成數位形式,尤其是依據軟資訊SI產生數位軟資訊SId,並且將數位軟資訊SId送予或回覆給記憶體控制器110。例如:針對所考慮之記憶單元,數位軟資訊SId可為1位元組或多個位元組的數位值。廣義而言,針對該記憶單元,數位軟資訊SId可為N’位元的數位值。實作上,數位軟資訊SId之最高有效位元(Most Significant Bit,MSB)可為一符號位元(Sign Bit),其可粗略地代表該記憶單元中所儲存的資訊;尤其是,該符號位元可視為上述之硬資訊,其中硬資訊與軟資訊的組合亦可廣義地視為軟資訊,是因為這樣的組合仍可被用於軟解碼。在大多數狀況下,記憶體控制器110藉由只讀取該符號位元來判斷該記憶單元中所儲存的資訊。當發生讀取錯誤時,記憶體控制器110讀取數位軟資訊SId之其它位元以糾正讀取錯誤。
IV.傳輸軟資訊至記憶體控制器
第4圖為依據本發明一實施例之一種用來讀取一頁資料之方法400的流程圖,其中本實施例係為第1B圖所示實施例之一變化例。步驟410係為方法400的開始,其代表開始讀取上述之記憶體諸如快閃記憶體120中之一頁資料。於步驟420中,針對快閃記憶體120中對應於同一頁之各個記憶單元,記憶體控制器110控制快閃記憶體120讀取其各自的符號位元,亦即該些記憶單元各自的符號位元,諸如該些記憶單元各自的軟資訊中之符號 位元。於是,快閃記憶體120將這些符號位元回覆給記憶體控制器110,而記憶體控制器110對這些符號位元進行硬解碼,以確認資料之正確性。例如:該硬解碼可為BCH碼之解碼,其中BCH碼的名稱中之「BCH」分別代表其三位發明人:卜氏(Bose)、雷蕭氏(Ray-Chaudhuri)、與胡氏(Hocquenghem)。於步驟430中,當偵測到硬解碼成功,表示偵測到沒有錯誤或者可更正的狀況,則進入步驟460以結束第4圖的工作流程;否則(即偵測到硬解碼失敗),進入步驟440。於步驟440中,針對該些記憶單元中之至少一部分(例如:該些記憶單元中之一記憶單元、一部分記憶單元、或全部的記憶單元)中之每一者,記憶體控制器110控制快閃記憶體120讀取下一個位元,亦即所考慮之記憶單元的軟資訊中由符號位元開始之第n個位元,以供記憶體控制器110進行軟解碼,其中n代表於步驟420與430被執行且進入步驟440之後,步驟440目前被執行的總次數加一。尤其是,該些記憶單元中之該至少一部分包含該些記憶單元中之全部的記憶單元。於是,快閃記憶體120將該些記憶單元中之每一者的第n個位元回覆給記憶體控制器110,而記憶體控制器110對這些位元進行軟解碼,以確認資料之正確性。例如:該軟解碼可為上述之低密度奇偶校驗碼。於步驟450中,當偵測到軟解碼成功,表示偵測到沒有錯誤或者可更正的狀況,則進入步驟460以結束第4圖的工作流程;否則(即偵測到軟解碼失敗),重新進入步驟440。由於軟解碼只有在需要時才執行,且軟解碼的次數只有在需要時才會增加,故本發明可在不增加記憶體控制器110與快閃記憶體120之間的頻寬需求的狀況下,即可達到極佳的效能。
請注意,在記憶體控制器110的控制下,上述以感測電壓進行感測運作、決定軟資訊(諸如上述之第n個位元)的運作、以及回覆軟資訊的運作可由快閃記憶體120來進行。尤其是,當記憶體控制器110控制快閃記憶體120讀取下一個位元時,快閃記憶體120只在滿足記憶體控制器110的解析度需求之程度內進行必要的感測運作(例如:利用感測電壓VK諸如感測 電壓V1st、V2nd、與V3rd中之任一者進行感測運作)以及必要的軟資訊判定。因此,本發明在達到極佳的效能之同時,不會對記憶體控制器110及快閃記憶體120產生不必要的工作負荷。
V.三階細胞快閃記憶體的軟資訊之決定
第5圖繪示一實施例中關於三階細胞快閃記憶體中之快閃單元的門檻電壓分佈及對應的狀態{S000,S001,S010,S011,S100,S101,S110,S111}以及相關參數,其中這些狀態{S000,S001,S010,S011,S100,S101,S110,S111}的下標分別以寫入的邏輯值{000,001,010,011,100,101,110,111}來標示。典型狀況下,該些狀態可被安排成第5圖所示狀態{S111,S011,S001,S101,S100,S000,S010,S110}的順序。這只是為了說明的目的而已,並非對本發明之限制。依據本實施例之某些變化例,該些狀態可被安排成不同的順序。
於本實施例中,上述之記憶體諸如快閃記憶體120可為多階細胞快閃記憶體,尤其是三階細胞快閃記憶體。針對快閃記憶體120當中所考慮之記憶單元之一特定位元,記憶裝置100(例如:上述之控制器諸如記憶體控制器110,或上述之記憶體諸如快閃記憶體120)可依據該特定位元之值相異之兩相鄰狀態來決定一第一電壓差與一第二電壓差,其中該第一電壓差代表該兩相鄰狀態中之一第一狀態的門檻電壓與判定電壓Vd之間的電壓差,而該第二電壓差代表該兩相鄰狀態中之一第二狀態的門檻電壓與判定電壓Vd之間的電壓差。於是,記憶裝置100(例如:記憶體控制器110或快閃記憶體120)可依據該第一電壓差與該第二電壓差決定對應於該特定位元之軟資訊。
更明確而言,一個快閃單元可儲存3位元的資料;於該快閃單元被寫入一邏輯值諸如{111,011,001,101,100,000,010,110}中之任一者時,該快閃單元的門檻電壓可處於第5圖所示8種不同狀態{S111,S011,S001,S101,S100,S000,S010,S110}中的相對應狀態。理論上,該快閃單元的門檻電壓之橫向位置 會落在該相對應狀態之門檻電壓分佈曲線以及橫軸的交點之間的範圍內。如第5圖所示,以邏輯值「111」寫入之快閃單元針對門檻電壓為Vpv0的狀況會具有最高機率,而以邏輯值「011」寫入之快閃單元針對門檻電壓為Vpv1的狀況會具有最高機率,且以邏輯值「001」寫入之快閃單元針對門檻電壓為Vpv2的狀況會具有最高機率,依此類推。為了取得所考慮之記憶單元的軟資訊,需決定電壓差△V0與△V1。例如:目前需要取得該記憶單元之最高有效位元的軟資訊,以供針對該記憶單元之最高有效位元進行軟解碼,其中記憶裝置100可決定上述之判定電壓Vd。於第5圖所示狀況下,電壓差△V0可決定為判定電壓Vd與Vpv1之間的電壓差,其中在邏輯值{111,011,001,101,100,000,010,110}當中最高有效位元為0者所對應的狀態中,門檻電壓Vpv1係為這些狀態當中位於星狀圖案左側且距離判定電壓Vd最近的狀態之門檻電壓分佈曲線的峰值所在位置。另外,電壓差△V1可決定為判定電壓Vd與Vpv3之間的電壓差,其中在邏輯值{111,011,001,101,100,000,010,110}當中最高有效位元為1者所對應的狀態中,門檻電壓Vpv3係為這些狀態當中位於星狀圖案右側且距離判定電壓Vd最近的狀態之門檻電壓分佈曲線的峰值所在位置。
請注意,決定電壓差△V0與△V1時,必須選擇該記憶單元之正確的位元所對應的兩狀態,尤其是依據該位元之值相異之兩相鄰狀態來決定電壓差△V0與△V1。例如:依據本實施例,以邏輯值「011」與「101」為下標所標示之兩狀態S011與S101係為該最高有效位元之值相異之兩相鄰狀態;因此,於針對上述之特定位元諸如該記憶單元之最高有效位元進行軟解碼時,該兩相鄰狀態S011與S101是好的候選狀態,其對應的門檻電壓Vpv1與Vpv3可供分別用來決定上述之電壓差△V0與△V1。相較之下,以邏輯值「011」與「001」為下標所標示之兩狀態S011與S001係為該最高有效位元之值相同之兩個狀態;因此,於針對該記憶單元之最高有效位元進行軟解碼時,這兩個狀態S011與S001並非好的候選狀態。
第6A圖繪示另一實施例中關於三階細胞快閃記憶體中之快閃單 元的門檻電壓分佈及對應的狀態{S000,S001,S010,S011,S100,S101,S110,S111}以及相關參數。例如:上述之特定位元可代表該記憶單元之最低有效位元,而目前需要取得該記憶單元之最低有效位元的軟資訊,以供針對該記憶單元之最低有效位元進行軟解碼,其中記憶裝置100可決定上述之判定電壓Vd。於第6A圖所示狀況下,電壓差△V0可決定為判定電壓Vd與Vpv4之間的電壓差,其中在邏輯值{111,011,001,101,100,000,010,110}當中最低有效位元為0者所對應的狀態中,門檻電壓Vpv4係為這些狀態當中位於星狀圖案右側且距離判定電壓Vd最近的狀態之門檻電壓分佈曲線的峰值所在位置。另外,電壓差△V1可決定為判定電壓Vd與Vpv1之間的電壓差,其中在邏輯值{111,011,001,101,100,000,010,110}當中最低有效位元為1者所對應的狀態中,門檻電壓Vpv1係為這些狀態當中位於星狀圖案左側且距離判定電壓Vd最近的狀態之門檻電壓分佈曲線的峰值所在位置。
相仿地,決定電壓差△V0與△V1時,必須選擇該記憶單元之正確的位元所對應的兩狀態,尤其是依據該位元之值相異之兩相鄰狀態來決定電壓差△V0與△V1。例如:依據本實施例,兩狀態S011與S100係為該最低有效位元之值相異之兩相鄰狀態;因此,於針對該記憶單元之最低有效位元進行軟解碼時,該兩相鄰狀態S011與S100是好的候選狀態,其對應的門檻電壓Vpv1與Vpv4可供分別用來決定上述之電壓差△V1與△V0。相較之下,以邏輯值「011」與「001」為下標所標示之兩狀態S011與S001係為該最低有效位元之值相同之兩個狀態;因此,於針對該記憶單元之最低有效位元進行軟解碼時,這兩個狀態S011與S001並非好的候選狀態。
依據第6A圖所示實施例之一變化例,諸如第6B圖所示之實施例,假設在該記憶單元之各個位元當中,所考慮之位元係為位於中間者,即所謂的中央有效位元(Central Significant Bit,CSB)。依據第6B圖所示之實施例,以邏輯值「011」與「001」為下標所標示之兩狀態S011與S001係為該中央有效位元之值相異之兩相鄰狀態;因此,於針對該記憶單元之中央有效位元進 行軟解碼時,該兩相鄰狀態S011與S001是好的候選狀態,其對應的門檻電壓Vpv1與Vpv2可供分別用來決定上述之電壓差△V1與△V0
依據第6A圖所示實施例之另一變化例,諸如第6C圖所示之實施例,假設星狀圖案之橫向位置落入門檻電壓Vpv0與Vpv1之間的區間,而非落入門檻電壓Vpv1與Vpv2之間的區間,其中在該記憶單元之各個位元當中,所考慮之位元仍是上述之中央有效位元。依據第6C圖所示之實施例,以邏輯值「111」與「001」為下標所標示之兩狀態S111與S001係為該中央有效位元之值相異之兩相鄰狀態;因此,於針對該記憶單元之中央有效位元進行軟解碼時,該兩相鄰狀態S111與S001是好的候選狀態,其對應的門檻電壓Vpv0與Vpv2可供分別用來決定上述之電壓差△V1與△V0。相較之下,以邏輯值「111」與「011」為下標所標示之兩狀態S111與S011係為該中央有效位元之值相同之兩個狀態;因此,於針對該記憶單元之中央有效位元進行軟解碼時,這兩個狀態S111與S011並非好的候選狀態。
VI.以碼字(Code Word)取得軟資訊
計算軟資訊的運算負荷可由記憶體控制器110來分擔。依據本發明之一實施例,為了取得判定電壓Vd,記憶體控制器110及快閃記憶體120可擁有一協定,用來進行兩者之間的溝通。請同時參考第3圖;記憶體控制器110及快閃記憶體120都知道第一次感測運作會由第一感測電壓V1st開始進行。若確切的門檻電壓Ve小於第一感測電壓V1st(即當偵測到有電流通過該待測記憶單元時),則快閃記憶體120回覆數位值「1」給記憶體控制器110,並且以第二感測電壓V2nd進行第二次感測運作。記憶體控制器110接收快閃記憶體120所回覆之數位值「1」且據以得知確切的門檻電壓Ve小於第一感測電壓V1st,並且下一個感測電壓將是第二感測電壓V2nd。其次,若確切的門檻電壓Ve大於第二感測電壓V2nd(即當偵測到沒有電流通過該待測記憶單元時),則快閃記憶體120回覆數位值「0」給記憶體控制器110,並且以第三 感測電壓V3rd進行第三次感測運作。記憶體控制器110接收快閃記憶體120所回覆之數位值「0」且據以得知確切的門檻電壓Ve大於第二感測電壓V2nd,並且下一個感測電壓將是第三感測電壓V3rd。接下來,若確切的門檻電壓Ve小於第三感測電壓V3rd(即當偵測到有電流通過該待測記憶單元時),則快閃記憶體120回覆數位值「1」給記憶體控制器110。記憶體控制器110接收快閃記憶體120所回覆之數位值「1」且據以得知確切的門檻電壓Ve小於第三感測電壓V3rd
基於上述快閃記憶體120傳送之碼字(諸如數位值「1」或「0」),記憶體控制器110據以得知確切的門檻電壓Ve位於第二感測電壓V2nd與第三感測電壓V3rd之間。依據本實施例之一實施選擇,記憶體控制器110可將判定電壓Vd計算成為((V2nd+V3rd)/2)。依據本實施例之另一實施選擇,記憶體控制器110可控制快閃記憶體120執行更多的感測運作,以達到更高的解析度。另外,於取得判定電壓Vd之後,記憶體控制器110可據以計算軟資訊SI;例如:於針對每一回覆(諸如快閃記憶體120所傳送之碼字)計算軟資訊SI時,記憶體控制器110可使用方程式(1)及/或預定的加權值。
VII.以讀取重試(Read Retry)機制取得軟資訊
依據本發明之某些實施例,為了在未支援上述判定電壓Vd的決定以及軟資訊的計算之狀況下由快閃記憶體120取得軟資訊,本發明提供相關輔助運作,使得記憶體控制器110可利用快閃記憶體120既有的讀取重試機制作為取得軟資訊之工具。請參考第7圖,上述之相關輔助運作進一步說明如下。
假設所考慮的記憶單元之確切的門檻電壓Ve位於第7圖所示之星狀圖案之橫向位置。記憶體控制器110控制快閃記憶體120改變感測電壓,以便逐步地決定該記憶單元之最高有效位元。快閃記憶體120藉由利用位於門檻電壓Vpv0與Vpv1的正中央(即門檻電壓Vpv0與Vpv1之間的中央點)之一 第一感測電壓Vc,來決定該記憶單元之最高有效位元。例如:快閃記憶體120回覆數位值「0」給記憶體控制器110,以指出感測電壓Vc大於確切的門檻電壓Ve(即當偵測到有電流通過該待測記憶單元時)。又例如:快閃記憶體120回覆數位值「1」給記憶體控制器110,以指出感測電壓Vc小於確切的門檻電壓Ve(即當偵測到無電流通過該待測記憶單元時)。其次,記憶體控制器110控制快閃記憶體120,以藉由利用一第二感測電壓(Vc-△V)來決定確切的門檻電壓Ve,其中△V可為50mV或其它預定值。於是,快閃記憶體120回覆感測運作之結果給記憶體控制器110。當該結果仍舊是數位值「0」時,記憶體控制器110可控制快閃記憶體120,以進一步地利用任何預定值諸如一第三感測電壓(Vc-2 *(△V))來決定確切的門檻電壓Ve,依此類推。例如:在第(n-1)次感測運作之結果仍舊是數位值「0」的狀況下,當進行第n次感測運作時,記憶體控制器110可控制快閃記憶體120,以進一步地利用一第n感測電壓(Vc-(n-1)*(△V))來決定確切的門檻電壓Ve。如此,一次又一次,記憶體控制器110一直減少感測電壓,直到某一次感測運作之結果由數位值「0」變成數位值「1」。尤其是,當第N”次感測運作之結果由數位值「0」變成數位值「1」時,記憶體控制器110據以得知確切的門檻電壓Ve位於第N”感測電壓(Vc-(N”-1)*(△V))與第(N”-1)感測電壓(Vc-(N”-2)*(△V))之間。如此,記憶體控制器110可依據最後兩次感測運作所採用之感測電壓來決定上述之判定電壓Vd,並據以決定上述之軟資訊。例如:記憶體控制器110可將判定電壓Vd決定成為最後兩次感測運作所採用之感測電壓的平均值,尤其是依據下列方程式來決定上述之判定電壓Vd:Vd=(Vc-(N”-1.5)*(△V));其中N”代表感測結果為數位值「0」之連續的感測運作之總次數加一。
請注意,利用該讀取重試機制來尋找判定電壓Vd時,必須選擇 該記憶單元之正確的位元。例如:依據本實施例,針對以邏輯值「111」與「011」為下標所標示之兩相鄰狀態S111與S011,其最高有效位元不同;因此,於針對該記憶單元之最高有效位元進行軟解碼時,該兩相鄰狀態S111與S011係為好的候選狀態,其對應的門檻電壓Vpv0與Vpv1可供用來決定上述之第一感測電壓Vc,其中記憶體控制器110可將第一感測電壓Vc決定成為門檻電壓Vpv0與Vpv1的平均值(或加權平均值)。
依據本實施例之一變化例(請仍舊參考第7圖),假設第7圖所示之星狀圖案之橫向位置右移至跨過門檻電壓Vpv0與Vpv1之間的中央點的位置,亦即在該記憶單元之確切的門檻電壓Ve位於該中央點與門檻電壓Vpv1之間的狀況下,記憶體控制器110可將判定電壓Vd決定成為最後兩次感測運作所採用之感測電壓的平均值,尤其是依據下列方程式來決定上述之判定電壓Vd:Vd=(Vc+(N”-1.5)*(△V));其中本變化例之N”代表感測結果為數位值「1」之連續的感測運作之總次數加一。
依據本實施例之另一變化例(請仍舊參考第7圖),針對以邏輯值「111」與「011」為下標所標示之兩相鄰狀態S111與S011,其最低有效位元相同;因此,於針對該記憶單元之最低有效位元進行軟解碼時,該兩相鄰狀態S111與S011並非好的候選狀態,其對應的門檻電壓Vpv0與Vpv1不適合用來決定上述之第一感測電壓Vc,其中記憶體控制器110不應將第一感測電壓Vc決定成為門檻電壓Vpv0與Vpv1的平均值(或加權平均值)。尤其是,於本變化例中,門檻電壓Vpv0與Vpv4才是適合用來決定上述之第一感測電壓Vc,這是因為它們所代表的狀態S111與S100是在其所對應之邏輯值之最低有效位元不同的狀況下之兩個相鄰狀態,其中記憶體控制器110可將第一感測電壓Vc決定成為門檻電壓Vpv0與Vpv4的平均值(或加權平均值)。
依據本實施例之另一變化例(請仍舊參考第7圖),針對以邏輯值「111」與「011」為下標所標示之兩相鄰狀態S111與S011,其中央有效位元相同;因此,於針對該記憶單元之中央有效位元進行軟解碼時,該兩相鄰狀態S111與S011並非好的候選狀態,其對應的門檻電壓Vpv0與Vpv1不適合用來決定上述之第一感測電壓Vc,其中記憶體控制器110不應將第一感測電壓Vc決定成為門檻電壓Vpv0與Vpv1的平均值(或加權平均值)。尤其是,於本變化例中,門檻電壓Vpv0與Vpv2才是適合用來決定上述之第一感測電壓Vc,這是因為它們所代表的狀態S111與S001是在其所對應之邏輯值之中央有效位元不同的狀況下之兩個相鄰狀態,其中記憶體控制器110可將第一感測電壓Vc決定成為門檻電壓Vpv0與Vpv2的平均值(或加權平均值)。
本發明的好處之一是,藉由適當地產生軟資訊,輔以相關的軟/硬資訊傳輸控制(例如:第4圖所示之方法所揭露之軟/硬資訊傳輸控制),本發明能針對該控制器所存取之資料來進行妥善的記憶體存取管理,以減少錯誤的發生。另外,依據以上各個實施例/變化例來實施並不會增加許多額外的成本,甚至比相關技術更能節省成本。因此,基於以上揭露的內容,相關技術的問題已被解決,且整體成本不會增加太多。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
910‧‧‧用來進行記憶體存取管理之方法
912,914‧‧‧步驟

Claims (23)

  1. 一種用來進行記憶體存取管理之方法,包含有:針對一記憶體中之同一記憶單元(Memory Cell),依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,其中該第一數位值與該至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶單元的各種可能狀態之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量;以及基於該至少一第二數位值,產生/取得該記憶單元之軟資訊(Soft Information),以供進行軟解碼(Soft Decoding)。
  2. 如申請專利範圍第1項所述之方法,其中該軟資訊係依據該記憶體之電荷分佈統計資訊而定。
  3. 如申請專利範圍第1項所述之方法,其中該軟資訊對應於該記憶單元之門檻電壓。
  4. 如申請專利範圍第3項所述之方法,其中該至少一第二數位值代表該記憶單元之至少一候選門檻電壓或其代表資訊;以及該方法另包含:依據該至少一候選門檻電壓,決定該記憶單元之門檻電壓。
  5. 如申請專利範圍第3項所述之方法,其中該至少一第二數位值代表該記憶單元之至少一候選門檻電壓偏高或偏低;以及該方法另包含:依據該至少一候選門檻電壓是否偏高或偏低,決定該記憶單元之門檻電壓。
  6. 如申請專利範圍第1項所述之方法,其中該至少一第二數位值包含複數 個第二數位值;以及該方法另包含:依據該些第二數位值中之一者,要求該記憶體輸出該些第二數位值中之另一者。
  7. 如申請專利範圍第1項所述之方法,其中該記憶體是一快閃記憶體(Flash Memory),且該記憶單元是一快閃單元(Flash Cell)。
  8. 如申請專利範圍第7項所述之方法,其另包含有:控制該快閃記憶體分別利用不全部相同之複數個感測電壓(Sensing Voltage)進行感測運作,以產生該至少一第二數位值與該第一數位值中之至少一部分數位值。
  9. 如申請專利範圍第1項所述之方法,其另包含有:針對該記憶體中對應於同一頁之各個記憶單元,控制該記憶體讀取該些記憶單元各自的符號位元;對該些符號位元進行硬解碼;以及在偵測到硬解碼失敗的狀況下,針對該些記憶單元中之至少一部分中之每一者,控制該記憶體讀取至少下一個位元,以供進行軟解碼。
  10. 一種記憶裝置,其包含有:一記憶體,該記憶體包含複數個區塊;以及一控制器,用來存取(Access)該記憶體以及管理該複數個區塊,並且另針對該控制器本身所存取之資料來進行記憶體存取管理,其中針對該記憶體中之同一記憶單元,該控制器依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,而該第一數位值與該至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶 單元的各種可能狀態之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量,其中基於該至少一第二數位值,該控制器產生/取得該記憶單元之軟資訊,以供進行軟解碼。
  11. 如申請專利範圍第10項所述之記憶裝置,其中該軟資訊對應於該記憶單元之門檻電壓。
  12. 如申請專利範圍第11項所述之記憶裝置,其中該至少一第二數位值代表該記憶單元之至少一候選門檻電壓或其代表資訊;以及該控制器依據該至少一候選門檻電壓,決定該記憶單元之門檻電壓。
  13. 如申請專利範圍第11項所述之記憶裝置,其中該至少一第二數位值代表該記憶單元之至少一候選門檻電壓偏高或偏低;以及該控制器依據該至少一候選門檻電壓是否偏高或偏低,決定該記憶單元之門檻電壓。
  14. 如申請專利範圍第10項所述之記憶裝置,其中該至少一第二數位值包含複數個第二數位值;以及該控制器依據該些第二數位值中之一者,要求該記憶體輸出該些第二數位值中之另一者。
  15. 如申請專利範圍第10項所述之記憶裝置,其中該記憶體是一快閃記憶體(Flash Memory),且該記憶單元是一快閃單元(Flash Cell)。
  16. 如申請專利範圍第15項所述之記憶裝置,其中該控制器控制該快閃記憶體分別利用不全部相同之複數個感測電壓(Sensing Voltage)進行感測運作,以產生該至少一第二數位值與該第一數位值中之至少一部分數位值。
  17. 一種記憶裝置之控制器,該控制器係用來存取(Access)一記憶體,該記憶體包含複數個區塊,該控制器包含有:一唯讀記憶體(Read Only Memory,ROM),用來儲存一程式碼;以及一微處理器,用來執行該程式碼以控制對該記憶體之存取以及管理該複數個區塊,其中在該微處理器之控制下,該控制器針對該控制器本身所存取之資料來進行記憶體存取管理,以及針對該記憶體中之同一記憶單元,該控制器依據該記憶體所輸出之一第一數位值,要求該記憶體輸出至少一第二數位值,而該第一數位值與該至少一第二數位值係用來判斷該記憶單元所儲存之同一位元之資訊,且該記憶單元的各種可能狀態之數量等於該記憶單元所儲存之全部的位元之各種可能組合之數量,其中基於該至少一第二數位值,該控制器產生/取得該記憶單元之軟資訊,以供進行軟解碼。
  18. 如申請專利範圍第17項所述之控制器,其中該軟資訊對應於該記憶單元之門檻電壓。
  19. 如申請專利範圍第18項所述之控制器,其中該至少一第二數位值代表該記憶單元之至少一候選門檻電壓或其代表資訊;以及該控制器依據該至少一候選門檻電壓,決定該記憶單元之門檻電壓。
  20. 如申請專利範圍第18項所述之控制器,其中該至少一第二數位值代表該記憶單元之至少一候選門檻電壓偏高或偏低;以及該控制器依據該至少一候選門檻電壓是否偏高或偏低,決定該記憶單元之門檻電壓。
  21. 如申請專利範圍第17項所述之控制器,其中該至少一第二數位值包含複數個第二數位值;以及該控制器依據該些第二數位值中之一者,要求 該記憶體輸出該些第二數位值中之另一者。
  22. 如申請專利範圍第17項所述之控制器,其中該記憶體是一快閃記憶體(Flash Memory),且該記憶單元是一快閃單元(Flash Cell)。
  23. 如申請專利範圍第22項所述之控制器,其中該控制器控制該快閃記憶體分別利用不全部相同之複數個感測電壓(Sensing Voltage)進行感測運作,以產生該至少一第二數位值與該第一數位值中之至少一部分數位值。
TW103140546A 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器 TW201508759A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US32581110P 2010-04-19 2010-04-19

Publications (1)

Publication Number Publication Date
TW201508759A true TW201508759A (zh) 2015-03-01

Family

ID=44789078

Family Applications (4)

Application Number Title Priority Date Filing Date
TW105122365A TWI594256B (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TW103140546A TW201508759A (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TW106121509A TWI633557B (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TW100102086A TWI474330B (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器

Family Applications Before (1)

Application Number Title Priority Date Filing Date
TW105122365A TWI594256B (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器

Family Applications After (2)

Application Number Title Priority Date Filing Date
TW106121509A TWI633557B (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TW100102086A TWI474330B (zh) 2010-04-19 2011-01-20 用來進行記憶體存取管理之方法以及記憶裝置及其控制器

Country Status (2)

Country Link
US (10) US8508991B2 (zh)
TW (4) TWI594256B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI663603B (zh) * 2015-03-09 2019-06-21 韓商愛思開海力士有限公司 控制器、半導體記憶體系統及其操作方法

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101578511B1 (ko) * 2009-05-20 2015-12-18 삼성전자주식회사 리드 전압 설정 방법
TWI594256B (zh) 2010-04-19 2017-08-01 慧榮科技股份有限公司 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
US11869584B2 (en) 2010-04-19 2024-01-09 Silicon Motion, Inc. Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
US9009574B2 (en) * 2011-06-07 2015-04-14 Marvell World Trade Ltd. Identification and mitigation of hard errors in memory systems
TWI460733B (zh) * 2011-11-15 2014-11-11 Silicon Motion Inc 具有低密度奇偶校驗碼解碼能力的記憶體控制裝置及方法
US8687421B2 (en) * 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
CN103137213B (zh) * 2011-12-01 2015-07-15 慧荣科技股份有限公司 具有低密度奇偶校验码译码能力的存储器控制装置及方法
US8737139B2 (en) 2012-04-11 2014-05-27 Micron Technology, Inc. Determining soft data for combinations of memory cells
KR102252379B1 (ko) * 2013-06-24 2021-05-14 삼성전자주식회사 메모리 시스템 및 이의 독출 방법
CN104714754B (zh) * 2013-12-16 2018-08-31 联想(北京)有限公司 一种电子设备及信息处理的方法
TWI541819B (zh) 2013-12-30 2016-07-11 慧榮科技股份有限公司 用來進行錯誤更正之方法、記憶裝置、與控制器
US9645763B2 (en) 2014-01-13 2017-05-09 Seagate Technology Llc Framework for balancing robustness and latency during collection of statistics from soft reads
TWI492234B (zh) 2014-04-21 2015-07-11 Silicon Motion Inc 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與記憶體系統
KR102149668B1 (ko) 2014-04-22 2020-08-31 삼성전자주식회사 비휘발성 메모리 장치의 데이터 디코딩 방법
KR102247087B1 (ko) * 2014-07-08 2021-05-03 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US9824750B2 (en) * 2015-02-24 2017-11-21 Empire Technology Development Llc Memory sensing
TWI596476B (zh) * 2015-11-27 2017-08-21 群聯電子股份有限公司 資料程式化方法、記憶體儲存裝置及記憶體控制電路單元
TWI602188B (zh) * 2017-01-03 2017-10-11 慧榮科技股份有限公司 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
US10970226B2 (en) * 2017-10-06 2021-04-06 Silicon Motion, Inc. Method for performing access management in a memory device, associated memory device and controller thereof, and associated electronic device
US11099781B2 (en) 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
CN109032532B (zh) * 2018-08-28 2021-07-13 深圳忆联信息系统有限公司 闪存存储管理方法及闪存装置
TWI672702B (zh) * 2018-09-28 2019-09-21 衡宇科技股份有限公司 訓練人工智慧估測儲存裝置的感測電壓的方法
KR20210039075A (ko) * 2019-10-01 2021-04-09 삼성전자주식회사 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템
US11258466B1 (en) * 2020-03-13 2022-02-22 Kioxia Corporation System and method for high reliability fast raid soft decoding for NAND flash memories

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6377507B1 (en) * 2001-04-06 2002-04-23 Integrated Memory Technologies, Inc. Non-volatile memory device having high speed page mode operation
GB2428496A (en) 2005-07-15 2007-01-31 Global Silicon Ltd Error correction for flash memory
US7746602B2 (en) * 2006-06-21 2010-06-29 Hitachi Global Storage Technologies Netherlands B.V. Magnetic read head with reduced shunting
US7814401B2 (en) * 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
KR100850509B1 (ko) * 2007-01-10 2008-08-05 삼성전자주식회사 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법
WO2008121577A1 (en) * 2007-03-31 2008-10-09 Sandisk Corporation Soft bit data transmission for error correction control in non-volatile memory
US8335977B2 (en) 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
KR101436505B1 (ko) * 2008-01-03 2014-09-02 삼성전자주식회사 메모리 장치
US7746692B2 (en) * 2008-01-31 2010-06-29 Agere Systems Inc. Multiple-level memory with analog read
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8077520B1 (en) * 2008-09-05 2011-12-13 Marvell International Ltd. Determining threshold voltage distribution in flash memory
US8504884B2 (en) 2009-10-29 2013-08-06 Freescale Semiconductor, Inc. Threshold voltage techniques for detecting an imminent read failure in a memory array
US8510628B2 (en) * 2009-11-12 2013-08-13 Micron Technology, Inc. Method and apparatuses for customizable error correction of memory
US8332728B2 (en) * 2010-04-02 2012-12-11 Skymedi Corporation Method and apparatus of generating a soft value for a memory device
TWI594256B (zh) * 2010-04-19 2017-08-01 慧榮科技股份有限公司 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
US8451664B2 (en) * 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
CN102566937A (zh) 2010-12-30 2012-07-11 慧荣科技股份有限公司 快闪存储装置及其运作方法
US8812939B2 (en) 2011-01-28 2014-08-19 Marvell World Trade Ltd. Soft decoding systems and methods for flash based memory systems
US9058289B2 (en) 2011-11-07 2015-06-16 Sandisk Enterprise Ip Llc Soft information generation for memory systems
US8656257B1 (en) 2012-01-11 2014-02-18 Pmc-Sierra Us, Inc. Nonvolatile memory controller with concatenated error correction codes
US9177664B2 (en) 2012-02-22 2015-11-03 Silicon Motion, Inc. Method, memory controller and system for reading data stored in flash memory
US8943384B2 (en) 2012-04-12 2015-01-27 Seagate Technology Llc Using a soft decoder with hard data

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI663603B (zh) * 2015-03-09 2019-06-21 韓商愛思開海力士有限公司 控制器、半導體記憶體系統及其操作方法

Also Published As

Publication number Publication date
US9858996B2 (en) 2018-01-02
US11386952B2 (en) 2022-07-12
US9627050B2 (en) 2017-04-18
US20180012651A1 (en) 2018-01-11
US8508991B2 (en) 2013-08-13
US20170148511A1 (en) 2017-05-25
TWI594256B (zh) 2017-08-01
US9520185B2 (en) 2016-12-13
US20210035632A1 (en) 2021-02-04
US8867270B2 (en) 2014-10-21
TW201635307A (zh) 2016-10-01
US9239685B2 (en) 2016-01-19
US10854285B2 (en) 2020-12-01
TW201137891A (en) 2011-11-01
US20140321203A1 (en) 2014-10-30
TW201735050A (zh) 2017-10-01
US10102904B2 (en) 2018-10-16
US20200051623A1 (en) 2020-02-13
US10490268B2 (en) 2019-11-26
TWI633557B (zh) 2018-08-21
US20160329095A1 (en) 2016-11-10
US20110258371A1 (en) 2011-10-20
US20130304977A1 (en) 2013-11-14
US20190027214A1 (en) 2019-01-24
US20160093371A1 (en) 2016-03-31
TWI474330B (zh) 2015-02-21

Similar Documents

Publication Publication Date Title
TWI474330B (zh) 用來進行記憶體存取管理之方法以及記憶裝置及其控制器
TWI781568B (zh) 快閃記憶體控制器以及用來存取快閃記憶體模組的方法
US8289771B2 (en) Data reading method and control circuit and memory controller using the same
US9583217B2 (en) Decoding method, memory storage device and memory control circuit unit
US8578245B2 (en) Data reading method, memory storage apparatus, and controller thereof
US9136875B2 (en) Decoding method, memory storage device and rewritable non-volatile memory module
US10977116B2 (en) Data access method, memory control circuit unit and memory storage device
US10424391B2 (en) Decoding method, memory controlling circuit unit and memory storage device
US10911068B2 (en) Error correction circuit and method of operating the same
US20190189228A1 (en) Bit tagging method, memory control circuit unit and memory storage device
US20200075121A1 (en) Memory management method and storage controller
WO2018119900A1 (zh) 数据读取方法及闪存设备
US11869584B2 (en) Memory access module for performing a plurality of sensing operations to generate digital values of a storage cell in order to perform decoding of the storage cell
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
US10628259B2 (en) Bit determining method, memory control circuit unit and memory storage device