TWI612525B - 解碼方法、記憶體儲存裝置及記憶體控制電路單元 - Google Patents
解碼方法、記憶體儲存裝置及記憶體控制電路單元 Download PDFInfo
- Publication number
- TWI612525B TWI612525B TW105121544A TW105121544A TWI612525B TW I612525 B TWI612525 B TW I612525B TW 105121544 A TW105121544 A TW 105121544A TW 105121544 A TW105121544 A TW 105121544A TW I612525 B TWI612525 B TW I612525B
- Authority
- TW
- Taiwan
- Prior art keywords
- voltage level
- memory
- read voltage
- data
- read
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- 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/10—Programming or data input 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/349—Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- 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/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種解碼方法、記憶體儲存裝置及記憶體控制電路單元。所述解碼方法包括:基於第一讀取電壓準位來從可複寫式非揮發性記憶體模組中的多個第一記憶胞讀取第一資料並執行第一解碼操作;若所述第一解碼操作失敗,評估所述可複寫式非揮發性記憶體模組的通道狀態並根據所述通道狀態獲得第二讀取電壓準位,其中所述第二讀取電壓準位不同於所述第一讀取電壓準位,且所述第二讀取電壓準位不同於最佳讀取電壓準位;基於所述第二讀取電壓準位來從所述多個第一記憶胞讀取第二資料並執行第二解碼操作。藉此,可提高解碼效率。
Description
本發明是有關於一種解碼技術,且特別是有關於一種解碼方法、記憶體儲存裝置及記憶體控制電路單元。
數位相機、行動電話與MP3播放器在這幾年來的成長十分迅速,使得消費者對儲存媒體的需求也急速增加。由於可複寫式非揮發性記憶體模組(例如,快閃記憶體)具有資料非揮發性、省電、體積小,以及無機械結構等特性,所以非常適合內建於上述所舉例的各種可攜式多媒體裝置中。
在某些支援錯誤更正的記憶體裝置中,資料會先被編碼然後才會被儲存。一般來說,在對從記憶體裝置中讀取的資料進行解碼時,若解碼失敗,記憶體裝置可能會透過查表來逐一檢查不同的讀取電壓或直接追蹤最佳讀取電壓並藉由調整後的讀取電壓來重複讀取記憶胞陣列,以嘗試減少待解碼資料中的錯誤。但是,當記憶體裝置的通道狀態很差時,透過查表來盲目的測試不同的讀取電壓或追蹤最佳讀取電壓都需要花費很多時間,使得記憶體裝置的解碼效率下降。
本發明提供一種解碼方法、記憶體儲存裝置及記憶體控制電路單元,可提高解碼效率。
本發明的一範例實施例提供一種解碼方法,其用於包括多個記憶胞的可複寫式非揮發性記憶體模組,所述解碼方法包括:基於第一讀取電壓準位來從所述多個記憶胞中的多個第一記憶胞讀取第一資料;對所述第一資料執行第一解碼操作;若所述第一解碼操作失敗,評估所述可複寫式非揮發性記憶體模組的通道狀態並根據所述通道狀態獲得第二讀取電壓準位,其中所述第二讀取電壓準位不同於所述第一讀取電壓準位,且所述第二讀取電壓準位不同於最佳讀取電壓準位;基於所述第二讀取電壓準位來從所述多個第一記憶胞讀取第二資料;以及對所述第二資料執行第二解碼操作。
在本發明的一範例實施例中,評估所述可複寫式非揮發性記憶體模組的所述通道狀態並根據所述通道狀態獲得所述第二讀取電壓準位的步驟包括:獲得所述多個第一記憶胞中符合預設條件之記憶胞的第一數目;以及根據所述第一數目來決定所述第二讀取電壓準位。
在本發明的一範例實施例中,獲得所述多個第一記憶胞中符合所述預設條件之記憶胞的所述第一數目的步驟包括:根據所述第一資料中的第一類資料來獲得符合所述預設條件之記憶胞的所述第一數目。
在本發明的一範例實施例中,根據所述第一數目來決定所述第二讀取電壓準位的步驟包括:獲得所述第一數目與所述多個第一記憶胞之總數的比值;以及根據所述比值來決定所述第二讀取電壓準位。
在本發明的一範例實施例中,所述解碼方法更包括:若所述第二解碼操作失敗,執行最佳讀取電壓準位追蹤操作以獲得所述最佳讀取電壓準位;基於所述最佳讀取電壓準位來從所述多個第一記憶胞讀取第三資料,其中所述第三資料中的錯誤位元之總數少於所述第二資料中的錯誤位元之總數;以及對所述第三資料執行第三解碼操作。
在本發明的一範例實施例中,所述解碼方法適用於具有三維記憶胞陣列的所述可複寫式非揮發性記憶體模組。
在本發明的一範例實施例中,所述可複寫式非揮發性記憶體模組的臨界讀取電壓準位與所述可複寫式非揮發性記憶體模組的預設讀取電壓準位之間的第一電壓差值大於第二電壓差值的一半,所述第二電壓差值為所述多個第一記憶胞的初始臨界電壓分布上的一狀態所對應的臨界電壓上端點與臨界電壓下端點之間的電壓差值,其中基於所述臨界讀取電壓準位從所述多個第一記憶胞讀取的資料所包含的錯誤位元之總數趨近於用於控制所述可複寫式非揮發性記憶體模組的記憶體控制電單元之最大錯誤更正能力所對應的錯誤位元數目。
本發明的另一範例實施例提供一種記憶體儲存裝置,其包括連接介面單元、可複寫式非揮發性記憶體模組及記憶體控制電路單元。所述連接介面單元用以耦接至主機系統。所述可複寫式非揮發性記憶體模組包括多個記憶胞。所述記憶體控制電路單元耦接至所述連接介面單元與所述可複寫式非揮發性記憶體模組,其中所述記憶體控制電路單元用以發送第一讀取指令序列以指示基於第一讀取電壓準位來從所述多個記憶胞中的多個第一記憶胞讀取第一資料,其中所述記憶體控制電路單元更用以對所述第一資料執行第一解碼操作,其中若所述第一解碼操作失敗,所述記憶體控制電路單元更用以評估所述可複寫式非揮發性記憶體模組的通道狀態並根據所述通道狀態獲得第二讀取電壓準位,其中所述第二讀取電壓準位不同於所述第一讀取電壓準位,且所述第二讀取電壓準位不同於最佳讀取電壓準位,其中所述記憶體控制電路單元更用以發送第二讀取指令序列以指示基於所述第二讀取電壓準位來從所述多個第一記憶胞讀取第二資料,其中所述記憶體控制電路單元更用以對所述第二資料執行第二解碼操作。
在本發明的一範例實施例中,所述記憶體控制電路單元評估所述可複寫式非揮發性記憶體模組的所述通道狀態並根據所述通道狀態獲得所述第二讀取電壓準位的操作包括:獲得所述多個第一記憶胞中符合預設條件之記憶胞的第一數目;以及根據所述第一數目來決定所述第二讀取電壓準位。
在本發明的一範例實施例中,所述記憶體控制電路單元獲得所述多個第一記憶胞中符合所述預設條件之記憶胞的所述第一數目的操作包括:根據所述第一資料中的第一類資料來獲得符合所述預設條件之記憶胞的所述第一數目。
在本發明的一範例實施例中,所述記憶體控制電路單元根據所述第一數目來決定所述第二讀取電壓準位的操作包括:獲得所述第一數目與所述多個第一記憶胞之總數的比值;以及根據所述比值來決定所述第二讀取電壓準位。
在本發明的一範例實施例中,若所述第二解碼操作失敗,所述記憶體控制電路單元更用以執行最佳讀取電壓準位追蹤操作以獲得所述最佳讀取電壓準位,所述記憶體控制電路單元更用以發送第三讀取指令序列以指示基於所述最佳讀取電壓準位來從所述多個第一記憶胞讀取第三資料,其中所述第三資料中的錯誤位元之總數少於所述第二資料中的錯誤位元之總數,所述記憶體控制電路單元更用以對所述第三資料執行第三解碼操作。
本發明的另一範例實施例提供一種記憶體控制電路單元,其用於控制包括多個記憶胞的可複寫式非揮發性記憶體模組,其中所述記憶體控制電路單元包括主機介面、記憶體介面、錯誤檢查與校正電路及記憶體管理電路。所述主機介面用以耦接至主機系統。所述記憶體介面用以耦接至所述可複寫式非揮發性記憶體模組。所述記憶體管理電路耦接至所述主機介面、所述記憶體介面及所述錯誤檢查與校正電路,其中所述記憶體管理電路用以發送第一讀取指令序列以指示基於第一讀取電壓準位從所述多個記憶胞中的多個第一記憶胞讀取第一資料,其中所述錯誤檢查與校正電路用以對所述第一資料執行第一解碼操作,其中若所述第一解碼操作失敗,所述記憶體管理電路更用以評估所述可複寫式非揮發性記憶體模組的通道狀態並根據所述通道狀態獲得第二讀取電壓準位,其中所述第二讀取電壓準位不同於所述第一讀取電壓準位,且所述第二讀取電壓準位不同於最佳讀取電壓準位,其中所述記憶體管理電路更用以發送第二讀取指令序列以指示基於所述第二讀取電壓準位來從所述多個第一記憶胞讀取第二資料,其中所述錯誤檢查與校正電路更用以對所述第二資料執行第二解碼操作。
在本發明的一範例實施例中,所述記憶體管理電路評估所述可複寫式非揮發性記憶體模組的所述通道狀態並根據所述通道狀態獲得所述第二讀取電壓準位的操作包括:獲得所述多個第一記憶胞中符合預設條件之記憶胞的第一數目;以及根據所述第一數目來決定所述第二讀取電壓準位。
在本發明的一範例實施例中,所述記憶體管理電路獲得所述多個第一記憶胞中符合所述預設條件之記憶胞的所述第一數目的操作包括:根據所述第一資料中的第一類資料來獲得符合所述預設條件之記憶胞的所述第一數目。
在本發明的一範例實施例中,所述記憶體管理電路根據所述第一數目來決定所述第二讀取電壓準位的操作包括:獲得所述第一數目與所述多個第一記憶胞之總數的比值;以及根據所述比值來決定所述第二讀取電壓準位。
在本發明的一範例實施例中,所述第一數目的值正相關於所述第一讀取電壓準位與所述第二讀取電壓準位之間的電壓差值。
在本發明的一範例實施例中,若所述第二解碼操作失敗,所述記憶體管理電路更用以執行最佳讀取電壓準位追蹤操作以獲得所述最佳讀取電壓準位,所述記憶體管理電路更用以發送第三讀取指令序列以指示基於所述最佳讀取電壓準位來從所述多個第一記憶胞讀取第三資料,其中所述第三資料中的錯誤位元之總數少於所述第二資料中的錯誤位元之總數,所述錯誤檢查與校正電路更用以對所述第三資料執行第三解碼操作。
在本發明的一範例實施例中,所述可複寫式非揮發性記憶體模組具有三維記憶胞陣列。
在本發明的一範例實施例中,所述可複寫式非揮發性記憶體模組的臨界讀取電壓準位與所述可複寫式非揮發性記憶體模組的預設讀取電壓準位之間的第一電壓差值大於第二電壓差值的一半,其中所述第二電壓差值為所述多個第一記憶胞的初始臨界電壓分布上的一狀態所對應的臨界電壓上端點與臨界電壓下端點之間的電壓差值,其中基於所述臨界讀取電壓準位從所述多個第一記憶胞讀取的資料所包含的錯誤位元之總數趨近於所述錯誤檢查與校正電路的最大錯誤更正能力所對應的錯誤位元數目。
基於上述,在基於第一讀取電壓準位來讀取第一資料且對第一資料的第一解碼操作失敗時,可根據所評估的可複寫式非揮發性記憶體模組之通道狀態來獲得與第一讀取電壓準位不同的第二讀取電壓準位,且此第二讀取電壓準位不同於最佳讀取電壓準位。然後,再基於此第二讀取電壓準位來讀取第二資料並執行第二解碼操作。特別是,由於第二讀取電壓準位的決定僅粗略地符合當前可複寫式非揮發性記憶體模組的通道狀態,故相較於嚴謹地追蹤最佳讀取電壓準位,第二讀取電壓準位可較快速地被決定。此外,相較於第一讀取電壓準位,基於第二讀取電壓準位所讀取的資料中的錯誤也可以被減少。藉此,可提升記憶體儲存裝置的解碼效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
一般而言,記憶體儲存裝置(亦稱,記憶體儲存系統)包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與控制器(亦稱,控制電路)。通常記憶體儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至記憶體儲存裝置或從記憶體儲存裝置中讀取資料。
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。
請參照圖1與圖2,主機系統11一般包括處理器111、隨機存取記憶體(random access memory, RAM)112、唯讀記憶體(read only memory, ROM)113及資料傳輸介面114。處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114皆耦接至系統匯流排(system bus)110。
在本範例實施例中,主機系統11是透過資料傳輸介面114與記憶體儲存裝置10耦接。例如,主機系統11可經由資料傳輸介面114將資料儲存至記憶體儲存裝置10或從記憶體儲存裝置10中讀取資料。此外,主機系統11是透過系統匯流排110與I/O裝置12耦接。例如,主機系統11可經由系統匯流排110將輸出訊號傳送至I/O裝置12或從I/O裝置12接收輸入訊號。
在本範例實施例中,處理器111、隨機存取記憶體112、唯讀記憶體113及資料傳輸介面114可設置在主機系統11的主機板20上。資料傳輸介面114的數目可以是一或多個。透過資料傳輸介面114,主機板20可以經由有線或無線方式耦接至記憶體儲存裝置10。記憶體儲存裝置10可例如是隨身碟201、記憶卡202、固態硬碟(Solid State Drive, SSD)203或無線記憶體儲存裝置204。無線記憶體儲存裝置204可例如是近距離無線通訊(Near Field Communication, NFC)記憶體儲存裝置、無線傳真(WiFi)記憶體儲存裝置、藍牙(Bluetooth)記憶體儲存裝置或低功耗藍牙記憶體儲存裝置(例如,iBeacon)等以各式無線通訊技術為基礎的記憶體儲存裝置。此外,主機板20也可以透過系統匯流排110耦接至全球定位系統(Global Positioning System, GPS)模組205、網路介面卡206、無線傳輸裝置207、鍵盤208、螢幕209、喇叭210等各式I/O裝置。例如,在一範例實施例中,主機板20可透過無線傳輸裝置207存取無線記憶體儲存裝置204。
在一範例實施例中,所提及的主機系統為可實質地與記憶體儲存裝置配合以儲存資料的任意系統。雖然在上述範例實施例中,主機系統是以電腦系統來作說明,然而,圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。請參照圖3,在另一範例實施例中,主機系統31也可以是數位相機、攝影機、通訊裝置、音訊播放器、視訊播放器或平板電腦等系統,而記憶體儲存裝置30可為其所使用的安全數位(Secure Digital, SD)卡32、小型快閃(Compact Flash, CF)卡33或嵌入式儲存裝置34等各式非揮發性記憶體儲存裝置。嵌入式儲存裝置34包括嵌入式多媒體卡(embedded MMC, eMMC)341及/或嵌入式多晶片封裝(embedded Multi Chip Package, eMCP)儲存裝置342等各類型將記憶體模組直接耦接於主機系統31的基板上的嵌入式儲存裝置。
圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。
請參照圖4,記憶體儲存裝置10包括連接介面單元402、記憶體控制電路單元404與可複寫式非揮發性記憶體模組406。
連接介面單元402用以將記憶體儲存裝置10耦接至主機系統11。在本範例實施例中,連接介面單元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)標準、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)標準或其他適合的標準。連接介面單元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個位元的快閃記憶體模組)、其他快閃記憶體模組或其他具有相同特性的記憶體模組。
可複寫式非揮發性記憶體模組406中的記憶胞是以陣列的方式設置。以下分別以二維陣列與三維陣列來對不同範例實施例中的記憶胞陣列進行說明。在此須注意的是,以下範例實施例只是記憶胞陣列的幾種範例,在其他的範例實施例中,記憶胞陣列的配置方式可以被調整以符合實務上的需求。
圖5A是根據本發明的一範例實施例所繪示的記憶胞陣列的示意圖。
請參照圖5A,記憶胞陣列510包括用以儲存資料的多個記憶胞502、多個選擇閘汲極(select gate drain, SGD)電晶體512與多個選擇閘源極(select gate source, SGS)電晶體514、連接此些記憶胞502的多條位元線504、多條字元線506、與共用源極線508。記憶胞502是以陣列方式配置在位元線504與字元線506的交叉點上,如圖5A所示。
圖5B是根據本發明的另一範例實施例所繪示的記憶胞陣列的示意圖。
請參照圖5B,記憶胞陣列520包括用以儲存資料的多個記憶胞522、多個位元線組524(1)~524(4)及多個字元線層526(1)~526(8)。位元線組524(1)~524(4)彼此獨立(例如,彼此分離)並且沿第一方向(例如,X軸)排列。位元線組524(1)~524(4)中的每一個位元線組包括彼此獨立(例如,彼此分離)的多條位元線524。包含於每一位元線組中的位元線524沿第二方向(例如,Y軸)排列並且往第三方向(例如,Z軸)延伸。字元線層526(1)~526(8)彼此獨立(例如,彼此分離)並且沿第三方向堆疊。在本範例實施例中,字元線層526(1)~526(8)中的每一個字元線層亦可視為一個字元線平面。每一個記憶胞522被配置於位元線組524(1)~524(4)中的每一位元線524與字元線層526(1)~526(8)之間的每一個交錯處。然而,在另一範例實施例中,一個位元線組可以包括更多或更少的位元線,並且一個字元線層也可以讓更多或更少的位元線組通過。
可複寫式非揮發性記憶體模組406中的每一個記憶胞是基於電壓(以下亦稱為臨界電壓)的改變來儲存一或多個位元。當從記憶體控制電路單元404接收到寫入指令序列或讀取指令序列時,可複寫式非揮發性記憶體模組406會控制施予至某一字元線(或字元線層)與某一位元線(或位元線組)的電壓來改變相應之記憶胞的臨界電壓或偵測記憶胞的狀態(state)。例如,每一個記憶胞的控制閘極(control gate)與通道之間有一個電荷捕捉層。透過施予一寫入電壓(或程式化電壓)至某一個記憶胞的控制閘極,可以改變其電荷補捉層的電子量,進而改變此記憶胞的臨界電壓。例如,此改變臨界電壓的操作亦稱為“把資料寫入至記憶胞”或“程式化記憶胞”。隨著臨界電壓的改變,可複寫式非揮發性記憶體模組406中的記憶胞可具有多個狀態。透過施予讀取電壓可以判斷一個記憶胞是屬於哪一個狀態,藉此取得此記憶胞所儲存的一或多個位元。
可複寫式非揮發性記憶體模組406的記憶胞會構成多個實體程式化單元,並且此些實體程式化單元會構成多個實體抹除單元。例如,同一條字元線或同一個字元線層上的記憶胞可組成一或多個實體程式化單元。例如,若可複寫式非揮發性記憶體模組406為MLC NAND型快閃記憶體模組,則同一條字元線(或字元線層)與多條位元線之交錯處上的記憶胞會構成2個實體程式化單元。或者,若可複寫式非揮發性記憶體模組406為TLC NAND型快閃記憶體模組,則同一條字元線(或字元線層)與多條位元線之交錯處上的記憶胞會構成3個實體程式化單元。
在本範例實施例中,實體程式化單元為程式化的最小單元。即,實體程式化單元為寫入資料的最小單元。例如,實體程式化單元為實體頁面(page)或是實體扇(sector)。若某一實體程式化單元為實體頁面,則此實體程式化單元通常包括資料位元區與冗餘(redundancy)位元區,其中資料位元區包含用以儲存使用者資料的多個實體扇,而冗餘位元區則用以儲存系統資料(例如,錯誤更正碼)。在本範例實施例中,一個資料位元區包含32個實體扇,且一個實體扇的大小為512位元組(byte, B)。然而,在其他範例實施例中,一個資料位元區也可包含8個、16個或數目更多或更少的實體扇,並且每一個實體扇的大小也可以是更大或更小。另一方面,實體抹除單元為抹除之最小單位。亦即,每一實體抹除單元含有最小數目之一併被抹除的記憶胞。例如,實體抹除單元為實體區塊(block)。
圖6是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。
請參照圖6,記憶體控制電路單元404包括記憶體管理電路602、主機介面604、記憶體介面606及錯誤檢查與校正電路608。
記憶體管理電路602用以控制記憶體控制電路單元404的整體運作。具體來說,記憶體管理電路602具有多個控制指令,並且在記憶體儲存裝置10運作時,此些控制指令會被執行以進行資料的寫入、讀取、抹除及調整讀取電壓等運作。以下說明記憶體管理電路602的操作時,等同於說明記憶體控制電路單元404的操作。
在本範例實施例中,記憶體管理電路602的控制指令是以韌體型式來實作。例如,記憶體管理電路602具有微處理器單元(未繪示)與唯讀記憶體(未繪示),並且此些控制指令是被燒錄至此唯讀記憶體中。當記憶體儲存裝置10運作時,此些控制指令會由微處理器單元來執行以進行資料的寫入、讀取、抹除及調整讀取電壓等運作。
在另一範例實施例中,記憶體管理電路602的控制指令亦可以程式碼型式儲存於可複寫式非揮發性記憶體模組406的特定區域(例如,記憶體模組中專用於存放系統資料的系統區)中。此外,記憶體管理電路602具有微處理器單元(未繪示)、唯讀記憶體(未繪示)及隨機存取記憶體(未繪示)。特別是,此唯讀記憶體具有開機碼(boot code),並且當記憶體控制電路單元404被致能(例如,上電)時,微處理器單元會先執行此開機碼來將儲存於可複寫式非揮發性記憶體模組406中之控制指令載入至記憶體管理電路602的隨機存取記憶體中。之後,微處理器單元會運轉此些控制指令以進行資料的寫入、讀取、抹除及調整讀取電壓等運作。
此外,在另一範例實施例中,記憶體管理電路602的控制指令亦可以一硬體型式來實作。例如,記憶體管理電路602包括微控制器、記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路、讀取電壓控制電路及資料處理電路。記憶胞管理電路、記憶體寫入電路、記憶體讀取電路、記憶體抹除電路、讀取電壓控制電路及資料處理電路是耦接至微控制器。記憶胞管理電路用以管理可複寫式非揮發性記憶體模組406的記憶胞或其群組。記憶體寫入電路用以對可複寫式非揮發性記憶體模組406下達寫入指令序列以將資料寫入至可複寫式非揮發性記憶體模組406中。記憶體讀取電路用以對可複寫式非揮發性記憶體模組406下達讀取指令序列以從可複寫式非揮發性記憶體模組406中讀取資料。記憶體抹除電路用以對可複寫式非揮發性記憶體模組406下達抹除指令序列以將資料從可複寫式非揮發性記憶體模組406中抹除。讀取電壓控制電路用以下達讀取電壓控制指令序列以控制可複寫式非揮發性記憶體模組406用來讀取資料的讀取電壓準位。資料處理電路用以處理欲寫入至可複寫式非揮發性記憶體模組406的資料以及從可複寫式非揮發性記憶體模組406中讀取的資料。寫入指令序列、讀取指令序列、抹除指令序列及讀取電壓控制指令序列可各別包括一或多個程式碼或指令碼並且用以指示可複寫式非揮發性記憶體模組406執行相對應的寫入、讀取、抹除及調整讀取電壓等操作。在一範例實施例中,記憶體管理電路602還可以下達其他類型的指令序列給可複寫式非揮發性記憶體模組406以指示執行相對應的操作。
主機介面604是耦接至記憶體管理電路602並且用以接收與識別主機系統11所傳送的指令與資料。也就是說,主機系統11所傳送的指令與資料會透過主機介面604來傳送至記憶體管理電路602。在本範例實施例中,主機介面604是相容於SATA標準。然而,必須瞭解的是本發明不限於此,主機介面604亦可以是相容於PATA標準、IEEE 1394標準、PCI Express標準、USB標準、SD標準、UHS-I標準、UHS-II標準、MS標準、MMC標準、eMMC標準、UFS標準、CF標準、IDE標準或其他適合的資料傳輸標準。
記憶體介面606是耦接至記憶體管理電路602並且用以存取可複寫式非揮發性記憶體模組406。也就是說,欲寫入至可複寫式非揮發性記憶體模組406的資料會經由記憶體介面606轉換為可複寫式非揮發性記憶體模組406所能接受的格式。具體來說,若記憶體管理電路602要存取可複寫式非揮發性記憶體模組406,記憶體介面606會傳送對應的指令序列。例如,這些指令序列可包括指示寫入資料的寫入指令序列、指示讀取資料的讀取指令序列、指示抹除資料的抹除指令序列及指示用來讀取資料的讀取電壓準位的讀取電壓控制指令序列等,且記憶體介面606可傳送的指令序列之類型不限於上述。這些指令序列例如是由記憶體管理電路602產生並且透過記憶體介面606傳送至可複寫式非揮發性記憶體模組406。這些指令序列可包括一或多個訊號,或是在匯流排上的資料。這些訊號或資料可包括指令碼或程式碼。例如,在讀取指令序列中,會包括讀取的辨識碼、記憶體位址等資訊。
錯誤檢查與校正電路608是耦接至記憶體管理電路602並且用以執行錯誤檢查與校正程序以確保資料的正確性。具體來說,當記憶體管理電路602從主機系統11中接收到寫入指令時,錯誤檢查與校正電路608會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code, ECC)及/或錯誤檢查碼(error detecting code,EDC),並且記憶體管理電路602會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組406中。之後,當記憶體管理電路602從可複寫式非揮發性記憶體模組406中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路608會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。例如,錯誤檢查與校正電路608是使用低密度奇偶檢查校正碼(low density parity code,LDPC)、BCH碼或方塊渦輪碼(block turbo code, BTC)等演算法來執行編碼與解碼操作。
在一範例實施例中,記憶體控制電路單元404還包括緩衝記憶體610與電源管理電路612。
緩衝記憶體610是耦接至記憶體管理電路602並且用以暫存來自於主機系統11的資料與指令或來自於可複寫式非揮發性記憶體模組406的資料。電源管理電路612是耦接至記憶體管理電路602並且用以控制記憶體儲存裝置10的電源。
在本範例實施例中,記憶體管理電路602會配置邏輯單元以映射可複寫式非揮發性記憶體模組406中的實體單元。例如,一個邏輯單元可以是指一個邏輯位址、一個邏輯程式化單元、一個邏輯抹除單元或者由多個連續或不連續的邏輯位址組成。例如,一個實體單元可以是指一個實體位址、一個實體程式化單元、一個實體抹除單元或者由多個連續或不連續的實體位址組成。此外,一個邏輯單元可被映射至一或多個實體單元。例如,記憶體管理電路602會將邏輯單元與實體單元之間的映射關係(亦稱為邏輯-實體映射關係)記錄於至少一邏輯-實體映射表。當主機系統11欲從記憶體儲存裝置10讀取資料或寫入資料至記憶體儲存裝置10時,記憶體管理電路602可根據此邏輯-實體映射表來執行對於記憶體儲存裝置10的資料存取。
圖7A是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分佈的示意圖。須注意的是,圖7A表示在程式化可複寫式非揮發性記憶體模組406中的一或多個實體單元之後,被程式化的記憶胞(以下亦稱為第一記憶胞)的臨界電壓分布,其中橫軸代表記憶胞的臨界電壓,而縱軸代表記憶胞個數。
請參照圖7A,在本範例實施例中,若某一個記憶胞的臨界電壓是屬於狀態710,此記憶胞所儲存的是位元“1”;相反地,若某一個記憶胞的臨界電壓是屬於狀態720,此記憶胞所儲存的是位元“0”。須注意的是,在本範例實施例中,每一個記憶胞是用以儲存一個位元,故臨界電壓分佈有兩種狀態。在以下範例實施例中,亦以每一個記憶胞儲存一個位元作為範例。然而,在其他未提及的範例實施例中,若一個記憶胞是用以儲存多個位元,則對應的臨界電壓的狀態則可能有四種、八種或其他任意個可能。此外,本發明也不限制臨界電壓分佈上的每一個狀態所代表的位元。
當要從可複寫式非揮發性記憶體模組406讀取資料時,記憶體管理電路602會發送一讀取指令序列(以下亦稱為第一讀取指令序列)至可複寫式非揮發性記憶體模組406,其中第一讀取指令序列指示可複寫式非揮發性記憶體模組406基於某一讀取電壓準位(以下亦稱為第一讀取電壓準位)從第一記憶胞讀取資料(以下亦稱為第一資料)。例如,第一讀取指令序列包含對應於第一讀取電壓準位的讀取電壓控制指令序列。根據第一讀取指令序列,可複寫式非揮發性記憶體模組406會使用對應於第一讀取電壓準位的讀取電壓V
default來讀取此些第一記憶胞並且將對應的位元資料傳送給記憶體管理電路602。例如,若某一個記憶胞的臨界電壓低於讀取電壓V
default(例如,屬於分布710的記憶胞),則記憶體管理電路602會讀到位元“1”;反之,若某一個記憶胞的臨界電壓高於讀取電壓V
default(例如,屬於分布720的記憶胞),則記憶體管理電路602會讀到位元“0”。
然而,隨著可複寫式非揮發性記憶體模組406的使用時間增加及/或操作環境改變,此些第一記憶胞會發生性能衰退(degradation)。第一記憶胞發生性能衰退後,狀態710與720可能會逐漸相互靠近甚至相互重疊。例如,狀態711與721分別用來表示性能衰退後的第一記憶胞的臨界電壓分布。在發生性能衰退後,若持續使用讀取電壓V
default來讀取此些第一記憶胞,許多實際上儲存位元“0”的記憶胞(即屬於狀態721但其臨界電壓小於讀取電壓V
default的記憶胞)會被誤判為儲存位元“1”。換言之,對應於狀態711與721,若持續基於第一讀取電壓準位來讀取第一記憶胞,所獲得的第一資料會包含許多錯誤位元。
在獲得第一資料之後,錯誤檢查與校正電路608會對第一資料執行一解碼操作(以下亦稱為第一解碼操作)。若第一解碼操作成功(例如,第一資料中的錯誤皆被更正),記憶體管理電路602會輸出成功解碼的資料。若第一解碼操作失敗(例如,第一資料中的錯誤無法完全被更正),記憶體管理電路602會評估可複寫式非揮發性記憶體模組406的通道狀態並根據所評估的通道狀態獲得另一讀取電壓準位(以下亦稱為第二讀取電壓準位),其中第二讀取電壓準位不同於第一讀取電壓準位,且第二讀取電壓準位不同於最佳讀取電壓準位。
請再次參照圖7A,若第一解碼操作失敗,記憶體管理電路602會概略地評估第一記憶胞的通道狀態,其中此通道狀態概略地反映出狀態711與721。藉由所評估的通道狀態,對應於讀取電壓V
shift-1的第二讀取電壓準位會被決定,其中讀取電壓V
shift-1不同於讀取電壓V
default。例如,讀取電壓V
shift-1可能會位於狀態711與721之間的重疊區域730內。然而,在另一範例實施例中,讀取電壓V
shift-1也可能不位於重疊區域730內,本發明不加以限制。
在獲得第二讀取電壓準位之後,記憶體管理電路602會發送一讀取指令序列(以下亦稱為第二讀取指令序列)至可複寫式非揮發性記憶體模組406,其中第二讀取指令序列指示可複寫式非揮發性記憶體模組406基於第二讀取電壓準位從第一記憶胞讀取資料(以下亦稱為第二資料)。例如,第二讀取指令序列包含對應於第二讀取電壓準位的讀取電壓控制指令序列。例如,根據第二讀取指令序列,可複寫式非揮發性記憶體模組406會使用讀取電壓V
shift-1來讀取此些第一記憶胞並且將對應的位元資料傳送給記憶體管理電路602。在獲得第二資料之後,錯誤檢查與校正電路608會對第二資料執行一解碼操作(以下亦稱為第二解碼操作)。
需注意的是,第二讀取電壓準位是根據概略評估的通道狀態所決定的,因此第二讀取電壓準位會接近但不等於對應於第一記憶胞之當前臨界電壓分布的最佳讀取電壓準位。以圖7A為例,假設讀取電壓V
shift-2是對應於狀態711與721的最佳讀取電壓準位(例如,讀取電壓V
shift-2可藉由執行最佳讀取電壓準位追蹤操作而獲得),則讀取電壓V
shift-1會接近但不等於讀取電壓V
shift-2。此外,使用讀取電壓V
shift-1所讀取到的第二資料中所包含的錯誤位元之總數有很高的機率會大幅少於使用讀取電壓V
default所讀取到的第一資料中所包含的錯誤位元之總數。因此,即便第一解碼操作失敗,第二解碼操作也有很高的機率會成功。
在一範例實施例中,上述概略地評估可複寫式非揮發性記憶體模組406的通道狀態並根據所評估的通道狀態獲得第二讀取電壓準位(例如,讀取電壓V
shift-1)的操作亦可視為一讀取電壓準位粗調操作。反之,用來尋找最佳讀取電壓準位(例如,讀取電壓V
shift-2)的最佳讀取電壓準位追蹤操作亦可視為一讀取電壓準位細調操作。
在本範例實施例中,錯誤檢查與校正電路608支援硬位元模式解碼與軟位元模式解碼中的至少一種解碼模式。以圖7A為例,若欲執行屬於硬位元模式解碼的解碼操作,讀取電壓V
default與V
shift-1可分別視為是一個硬決策讀取電壓,並且使用讀取電壓V
default或V
shift-1從第一記憶胞讀取的位元資料屬於硬位元。以使用讀取電壓V
shift-1來讀取第一記憶胞為例,若某一個記憶胞的臨界電壓低於讀取電壓V
shift-1,記憶體管理電路602會讀到硬位元“1”;反之,若某一個記憶胞的臨界電壓高於讀取電壓V
shift-1,則記憶體管理電路602會讀到硬位元“0”。在屬於硬位元模式解碼的解碼操作中,錯誤檢查與校正電路608是基於從記憶胞讀取的硬位元來執行解碼操作。
圖7B是根據本發明的一範例實施例所繪示的讀取軟位元的示意圖。
請參照圖7B,假設第一記憶胞的臨界電壓分布具有狀態712與722,其中狀態712對應於位元“1”,而狀態722對應於位元“0”。若欲執行屬於軟位元模式解碼的解碼操作,讀取電壓V
1至V
5中的每一者可視為是一個軟決策讀取電壓,並且讀取電壓V
1~V
5會逐一被用來讀取第一記憶胞,其中使用讀取電壓V
1~V
5從第一記憶胞讀取的位元資料統稱為軟位元。例如,若某一個記憶胞的臨界電壓低於讀取電壓V
1(即屬於電壓區間741),記憶體管理電路602會讀到軟位元“11111”;若某一個記憶胞的臨界電壓介於讀取電壓V
1與V
2之間(即屬於電壓區間742),記憶體管理電路602會讀到軟位元“01111”;若某一個記憶胞的臨界電壓介於讀取電壓V
2與V
3之間(即屬於電壓區間743),記憶體管理電路602會讀到軟位元“00111”;若某一個記憶胞的臨界電壓介於讀取電壓V
3與V
4之間(即屬於電壓區間744),記憶體管理電路602會讀到軟位元“00011”;若某一個記憶胞的臨界電壓介於讀取電壓V
4與V
5之間(即屬於電壓區間745),記憶體管理電路602會讀到軟位元“00001”;或者若某一個記憶胞的臨界電壓大於讀取電壓V
5(即屬於電壓區間746),記憶體管理電路602會讀到軟位元“00000”。在屬於軟位元模式解碼的解碼操作中,錯誤檢查與校正電路608是基於從記憶胞讀取的軟位元來執行解碼操作。
一般來說,軟位元所代表的通道資訊多於硬位元所代表的通道資訊,因此軟位元模式解碼的成功率會高於硬位元模式解碼的成功率。但是,硬位元模式解碼的執行速度則快於軟位元模式解碼的執行速度。此外,在軟位元模式解碼中,通道可靠度資訊也會被使用。例如,此通道可靠度資訊包括對數相似度比值(Log-Likelihood Ratio, LLR)。關於如何使用對數相似度比值等通道可靠度資訊來執行軟位元模式解碼屬於本領域的通常知識,在此便不贅述。
在本範例實施例中,第一解碼操作屬於硬位元模式解碼,而第二解碼操作屬於軟位元模式解碼。以圖7為例,在接收到第一讀取指令序列之後,可複寫式非揮發性記憶體模組406會使用讀取電壓V
default來讀取第一記憶胞以獲得第一資料,其中第一資料包含會在第一解碼操作中使用的硬位元。而在接收到第二讀取指令序列之後,可複寫式非揮發性記憶體模組406會使用包含讀取電壓V
shift-1的多個讀取電壓來讀取第一記憶胞以獲得第二資料,其中第二資料包含會在第二解碼操作中使用的軟位元。進一步,假設可複寫式非揮發性記憶體模組406是使用如圖7B所示的讀取電壓V
1~V
5來讀取第一記憶胞以獲得第二資料,則讀取電壓V
1~V
5之中心位置的讀取電壓V
3可能會被設定為讀取電壓V
shift-1,並且讀取電壓V
1、V
2、V
4及V
5是根據讀取電壓V
shift-1而設定。
在另一範例實施例中,第一解碼操作與第二解碼操作皆屬於硬位元模式解碼。以圖7A為例,在接收到第二讀取指令序列之後,可複寫式非揮發性記憶體模組406可使用讀取電壓V
shift-1來讀取第一記憶胞以獲得第二資料,其中第二資料包含會在第二解碼操作中使用的硬位元。然而,關於讀取第一資料之操作與第一解碼操作之細節已詳述於上,在此便不贅述。此外,在另一範例實施例中,第一解碼操作及/或第二解碼操作亦可以是屬於BCH碼或方塊渦輪碼等演算法之解碼操作。
在一範例實施例的讀取電壓準位粗調操作中,記憶體管理電路602會根據第一資料獲得第一記憶胞中符合一預設條件之記憶胞的總數(以下亦稱為第一數目)並根據第一數目來決定第二讀取電壓準位。例如,記憶體管理電路602可根據第一資料中的第一類資料來獲得符合預設條件之記憶胞的第一數目。根據第一數目,記憶體管理電路602可以概略地獲得第一記憶胞的損耗程度及/或臨界電壓分布狀態並且據以獲得相應的第二讀取電壓準位。
圖8是根據本發明的一範例實施例所繪示的評估通道狀態的示意圖。
請參照圖8,在可複寫式非揮發性記憶體模組406使用讀取電壓V
default來讀取第一記憶胞並獲得第一資料之後,記憶體管理電路602可計算第一資料中位元“1”的總數,其中此總數會等於第一記憶胞中臨界電壓低於讀取電壓V
default的記憶胞之總數(即第一數目)。然後,記憶體管理電路602可將此第一數目輸入至一查找表或一演算法並根據此查找表或演算法的輸出來決定第二讀取電壓準位。此外,在第一記憶胞發生性能衰退之後,狀態711與721會變平坦並且狀態721的左端點會向左延伸。因此,對應於讀取電壓V
default之使用而獲得的第一數目的值也會增加。同時,由於狀態721的左端點向左延伸,讀取電壓V
shift-1也會對應地左移。換言之,在一範例實施例中,第一數目的值會正相關於第一讀取電壓準位與第二讀取電壓準位之間的電壓差值。
在一範例實施例中,記憶體管理電路602還可以獲得第一數目與第一記憶胞之總數的比值並根據此比值而獲得相應的第二讀取電壓準位。例如,記憶體管理電路602也可將第一數目與第一記憶胞之總數的比值輸入至一查找表或一演算法並根據此查找表或演算法的輸出來決定第二讀取電壓準位。此外,以圖8為例,若第一記憶胞的通道狀態更加惡化,則第一數目會增加並且第一數目與第一記憶胞之總數的比值會變大,所獲得的讀取電壓V
shift-1也會對應地左移。例如,下表1為一範例實施例中第一數目與第一記憶胞之總數的比值與讀取電壓準位之偏移值的對應關係。
<TABLE border="1" borderColor="#000000" width="85%"><TBODY><tr><td> 第一數目與第一記憶胞之總數的比值 </td><td> 讀取電壓準位之偏移值(mV) </td></tr><tr><td> 0.55 </td><td> -12 </td></tr><tr><td> 0.60 </td><td> -37 </td></tr><tr><td> 0.65 </td><td> -54 </td></tr><tr><td> 0.70 </td><td> -63 </td></tr><tr><td> 0.75 </td><td> -77 </td></tr></TBODY></TABLE>表1
根據表1,若第一數目與第一記憶胞之總數的比值為0.55(即符合預設條件之記憶胞佔第一記憶胞的55%),則記憶體管理電路602可將第一讀取電壓準位減去12毫伏(mV)而獲得第二讀取電壓準位;若第一數目與第一記憶胞之總數的比值為0.60(即符合預設條件之記憶胞佔第一記憶胞的60%),則記憶體管理電路602可將第一讀取電壓準位減去37毫伏而獲得第二讀取電壓準位,以此類推。然而,表1僅為一個範例,其中具體的數值皆可以依據實務上的需求而調整。此外,表1中的第一數目與第一記憶胞之總數的比值還可以替換為第一數目或第一資料中錯誤位元的總數等,並據以配置相應的偏移值,本發明不加以限制。
在一範例實施例中,記憶體管理電路602還可以根據第一記憶胞的臨界電壓分布的一部分資訊(非全部資訊)來決定此第二讀取電壓準位。以圖7A或圖8為例,記憶體管理電路602可以概略地獲得狀態711與721各別的峰(peak)的位置(例如,狀態711與721各別的峰所對應的電壓)。根據狀態711與721的峰的位置及/或狀態711與721的峰之間的距離,記憶體管理電路602也可以概略地評估當前第一記憶胞的通道狀態並藉由查表等方式獲得相應的第二讀取電壓準位。
在一範例實施例中,若第二解碼操作成功(例如,第二資料中的錯誤皆被更正),記憶體管理電路602會輸出成功解碼的資料。若第二解碼操作失敗(例如,第二資料中的錯誤未完全被更正),記憶體管理電路602會執行一最佳讀取電壓準位追蹤操作以獲得一最佳讀取電壓準位。例如,相對於第二讀取電壓準位是根據概略評估的通道狀態而決定的,此最佳讀取電壓準位是根據可複寫式非揮發性記憶體模組406(或第一記憶胞)實際的通道狀態而決定的。以圖7A為例,在最佳讀取電壓準位追蹤操作中,可複寫式非揮發性記憶體模組406(或第一記憶胞)實際的通道狀態可能會被進一步分析,並且讀取電壓V
shift-2可被精確地獲得。此外,相對於讀取電壓V
shift-1,讀取電壓V
shift-2是更加地左移。例如,相對於讀取電壓V
shift-1,讀取電壓V
shift-2可能會更接近重疊區域730的中心位置。須注意的是,雖然上述範例實施例皆以讀取電壓準位左移(即讀取電壓V
shift-1小於V
default)作為範例,然而,在其他未提及的範例實施例中,讀取電壓準位也可以右移(即讀取電壓V
shift-1大於V
default)。此外,讀取電壓V
shift-2也可以大於或小於讀取電壓V
shift-1,本發明不加以限制。
在獲得最佳讀取電壓準位之後,記憶體管理電路602會發送一讀取指令序列(以下亦稱為第三讀取指令序列)至可複寫式非揮發性記憶體模組406,其中第三讀取指令序列指示可複寫式非揮發性記憶體模組406基於最佳讀取電壓準位從第一記憶胞讀取資料(以下亦稱為第三資料)。例如,根據第三讀取指令序列,可複寫式非揮發性記憶體模組406會使用讀取電壓V
shift-2來讀取此些第一記憶胞並且將對應的位元資料傳送給記憶體管理電路602。在獲得第三資料之後,錯誤檢查與校正電路608會對第三資料執行一解碼操作(以下亦稱為第三解碼操作)。
需注意的是,第三資料是基於最佳讀取電壓準位而獲得的,因此第三資料中的錯誤位元之總數會少於第二資料中的錯誤位元之總數,並且第三解碼操作的成功率也會更加地高於第二解碼操作的成功率。另一方面,在執行最佳讀取電壓準位追蹤操作之前,所使用的讀取電壓準位已經被設定在最佳讀取電壓準位附近。例如,在圖7A的一範例實施例中,讀取電壓V
shift-2與讀取電壓V
shift-1之間的電壓差值可能趨近於一或兩個偏移值。因此,基於第二讀取電壓準位來追蹤最佳讀取電壓準位也可以縮短最佳讀取電壓準位追蹤操作的執行時間。
在本範例實施例中,第三解碼操作是屬於軟位元模式解碼。例如,在第三解碼操作中,通道可靠度資訊可以被使用並且可被更新。此外,第三解碼操作可以被重複執行直到第三解碼操作成功或第三解碼操作的執行次數達到一預設次數為止。然而,在另一範例實施例中,第三解碼操作也可以是屬於硬位元模式解碼、BCH碼或方塊渦輪碼等演算法,本發明不加以限制。
圖9是根據本發明的另一範例實施例所繪示的記憶胞的臨界電壓分布的示意圖。
請參照圖9,假設第一記憶胞的初始臨界電壓分布具有狀態910與920,其中狀態910例如是對應於位元“1”,狀態920例如是對應於位元“0”,並且讀取電壓V
default用於表示對應於此初始臨界電壓分布的預設讀取電壓準位。在發生嚴重的性能衰退後,第一記憶胞的臨界電壓分布具有狀態911與921,其中狀態911例如是對應於位元“1”,狀態921例如是對應於位元“0”,並且讀取電壓V
shift-n用於表示對應於狀態911與921的最佳讀取電壓準位。例如,對應於狀態911與921,所執行的最佳讀取電壓準位追蹤操作可找到讀取電壓V
shift-n。
在一範例實施例中,若使用讀取電壓V
shift-n從第一記憶胞讀取資料,並且所讀取的資料中所包含的錯誤位元之總數趨近於錯誤檢查與校正電路608的最大錯誤更正能力所對應的錯誤位元數目,則讀取電壓V
shift-n可視為是對應於第一記憶胞及/或錯誤檢查與校正電路608的一個臨界讀取電壓準位。例如,假設錯誤檢查與校正電路608的最大錯誤更正能力所對應的錯誤位元數目為N,表示在從第一記憶胞讀取出來的資料中,錯誤檢查與校正電路608最多只能更正N個錯誤位元。換言之,在記憶體儲存裝置10的運作中,當讀取電壓V
shift-n被使用時,表示第一記憶胞即將無法使用(因為所讀取的資料很可能包含無法被更正的錯誤)。
在一範例實施例中,藉由分析可複寫式非揮發性記憶體模組406的臨界電壓分布狀態與錯誤檢查與校正電路608的最大錯誤更正能力,讀取電壓V
shift-n可以在記憶體儲存裝置10出廠前被決定。同時,讀取電壓V
default與讀取電壓V
shift-n之間的一電壓差值(亦稱為第一電壓差值)ΔV
1可被量測,並且對應於狀態920的一上端點(亦稱為臨界電壓上端點)901與一下端點(亦稱為臨界電壓下端點)902之間的一電壓差值(亦稱為第二電壓差值)ΔV
2也可被量測。根據量測結果,第一電壓差值ΔV
1會大於或等於第二電壓差值ΔV
2的一半(即ΔV
1≧0.5×ΔV
2)。在一範例實施例中,第一電壓差值ΔV
1大於或等於第二電壓差值ΔV
2的一半這個特性(只)會出現在具有三維記憶胞陣列(例如,圖5B的記憶胞陣列520)的可複寫式非揮發性記憶體模組406中。
圖10是根據本發明的一範例實施例所繪示的解碼方法的示意圖。
請參照圖10,在步驟S1001中,基於第一讀取電壓準位來從可複寫式非揮發性記憶體模組的多個第一記憶胞讀取第一資料。在步驟S1002中,對第一資料執行第一解碼操作。在步驟S1003中,判斷第一解碼操作是否失敗。若第一解碼操作未失敗(即成功),在步驟S1004中,輸出成功解碼的資料。若第一解碼操作失敗,在步驟S1005中,評估可複寫式非揮發性記憶體模組的通道狀態並根據所評估的通道狀態獲得第二讀取電壓準位,其中第二讀取電壓準位不同於第一讀取電壓準位,且第二讀取電壓準位不同於最佳讀取電壓準位。在步驟S1006中,基於第二讀取電壓準位從所述第一記憶胞讀取第二資料。在步驟S1007中,對第二資料執行第二解碼操作。
圖11A與圖11B是根據本發明的另一範例實施例所繪示的解碼方法的示意圖。
請參照圖11A,在步驟S1101中,基於第一讀取電壓準位來從可複寫式非揮發性記憶體模組的多個第一記憶胞讀取第一資料。在步驟S1102中,對第一資料執行第一解碼操作。在步驟S1103中,判斷第一解碼操作是否失敗。若第一解碼操作未失敗(即成功),在步驟S1104中,輸出成功解碼的資料。若第一解碼操作失敗,在步驟S1105中,評估可複寫式非揮發性記憶體模組的通道狀態。在步驟S1106中,根據所評估的通道狀態執行一讀取電壓準位粗調操作以獲得第二讀取電壓準位,其中第二讀取電壓準位不同於第一讀取電壓準位,且第二讀取電壓準位不同於最佳讀取電壓準位。在步驟S1107中,基於第二讀取電壓準位從所述第一記憶胞讀取第二資料。在步驟S1108中,對第二資料執行第二解碼操作。例如,可根據一預設通道可靠度資訊執行第二解碼操作。例如,此預設通道可靠度資訊可能是記載於第0個對數相似度比值表格(亦稱為預設對數相似度比值表格)。在步驟S1109中,判斷第二解碼操作是否失敗。若第二解碼操作未失敗(即成功),在步驟S1104中,輸出成功解碼的資料。若第二解碼操作失敗,進入步驟S1110。
請參照圖11B,在步驟S1110中,執行一最佳讀取電壓準位追蹤操作以獲得最佳讀取電壓準位。在步驟S1111中,基於最佳讀取電壓準位從所述第一記憶胞讀取第三資料。在步驟S1112中,根據通道可靠度資訊對第三資料執行第三解碼操作。例如,可從第i個對數相似度比值表格中獲得此通道可靠度資訊,其中i為正整數。在步驟S1113中,判斷第三解碼操作是否失敗。若第三解碼操作未失敗(即成功),在步驟S1104中,輸出成功解碼的資料。若第三解碼操作失敗,在步驟S1114中,判斷第三解碼操作的執行次數是否達到一預設次數。若第三解碼操作的執行次數尚未達到此預設次數,在步驟S1115中,調整(或更新)通道可靠度資訊。例如,可改為從第i+1個對數相似度比值表格中獲得更新後的通道可靠度資訊。在步驟S1115之後,步驟S1112可被重複執行,以根據調整後的通道可靠度資訊再次對第三資料執行第三解碼操作。此外,若在步驟S1114中判斷為「是」(例如,所有的對數相似度比值表格皆已用完),則進入步驟S1116,判定解碼失敗。
然而,圖10、圖11A及圖11B中各步驟已詳細說明如上,在此便不再贅述。值得注意的是,圖10、圖11A及圖11B中各步驟可以實作為多個程式碼或是電路,本發明不加以限制。此外,圖10、圖11A及圖11B的方法可以搭配以上範例實施例使用,也可以單獨使用,本發明不加以限制。
綜上所述,在基於第一讀取電壓準位來讀取第一資料且對第一資料的第一解碼操作失敗時,可根據所評估的可複寫式非揮發性記憶體模組之通道狀態來獲得與第一讀取電壓準位不同的第二讀取電壓準位,且此第二讀取電壓準位不同於最佳讀取電壓準位。然後,再基於此第二讀取電壓準位來讀取第二資料並執行第二解碼操作。相對於一般的解碼機制在解碼失敗之後只能藉由查表來盲目地測試不同的讀取電壓或直接執行最佳讀取電壓追蹤程序,本發明可以在不過度延長耗費在尋找第二讀取電壓準位之時間的前提下,大幅增加第二解碼操作之成功率,從而增加整體解碼效率。特別是,在可複寫式非揮發性記憶體模組具有三維記憶胞結構的範例實施例中,記憶體儲存裝置的解碼效率更可顯著提升。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10、30:記憶體儲存裝置 11、31:主機系統 110:系統匯流排 111:處理器 112:隨機存取記憶體 113:唯讀記憶體 114:資料傳輸介面 12:輸入/輸出(I/O)裝置 20:主機板 201:隨身碟 202:記憶卡 203:固態硬碟 204:無線記憶體儲存裝置 205:全球定位系統模組 206:網路介面卡 207:無線傳輸裝置 208:鍵盤 209:螢幕 210:喇叭 32:SD卡 33:CF卡 34:嵌入式儲存裝置 341:嵌入式多媒體卡 342:嵌入式多晶片封裝儲存裝置 402:連接介面單元 404:記憶體控制電路單元 406:可複寫式非揮發性記憶體模組 502、522:記憶胞 504:位元線 506:字元線 508:共用源極線 510、520:記憶胞陣列 512:選擇閘汲極電晶體 514:選擇閘源極電晶體 524:位元線 524(1)~524(4):位元線組 526(1)~526(8):字元線層 602:記憶體管理電路 604:主機介面 606:記憶體介面 608:錯誤檢查與校正電路 610:緩衝記憶體 612:電源管理電路 710、720、711、721、712、722、910、920、911、921:狀態 741、742、743、744、745、746:電壓區間 901:上端點 902:下端點 S1001:步驟(基於第一讀取電壓準位來從可複寫式非揮發性記憶體模組的多個第一記憶胞讀取第一資料) S1002:步驟(對第一資料執行第一解碼操作) S1003:步驟(第一解碼操作是否失敗) S1004:步驟(輸出成功解碼的資料) S1005:步驟(評估可複寫式非揮發性記憶體模組的通道狀態並根據所評估的通道狀態獲得第二讀取電壓準位) S1006:步驟(基於第二讀取電壓準位從所述第一記憶胞讀取第二資料) S1007:步驟(對第二資料執行第二解碼操作) S1101:步驟(基於第一讀取電壓準位來從可複寫式非揮發性記憶體模組的多個第一記憶胞讀取第一資料) S1102:步驟(對第一資料執行第一解碼操作) S1103:步驟(第一解碼操作是否失敗) S1104:步驟(輸出成功解碼的資料) S1105:步驟(評估可複寫式非揮發性記憶體模組的通道狀態) S1106:步驟(根據所評估的通道狀態執行一讀取電壓準位粗調操作以獲得第二讀取電壓準位) S1107:步驟(基於第二讀取電壓準位從所述第一記憶胞讀取第二資料) S1108:步驟(對第二資料執行第二解碼操作) S1109:步驟(第二解碼操作是否失敗) S1110:步驟(執行最佳讀取電壓準位追蹤操作以獲得最佳讀取電壓準位) S1111:步驟(基於最佳讀取電壓準位從所述第一記憶胞讀取第三資料) S1112:步驟(根據通道可靠度資訊對第三資料執行第三解碼操作) S1113:步驟(第三解碼操作是否失敗) S1114:步驟(第三解碼操作的執行次數是否達到一預設次數) S1115:步驟(調整通道可靠度資訊) S1116:步驟(判定解碼失敗)
圖1是根據本發明的一範例實施例所繪示的主機系統、記憶體儲存裝置及輸入/輸出(I/O)裝置的示意圖。 圖2是根據本發明的另一範例實施例所繪示的主機系統、記憶體儲存裝置及I/O裝置的示意圖。 圖3是根據本發明的另一範例實施例所繪示的主機系統與記憶體儲存裝置的示意圖。 圖4是根據本發明的一範例實施例所繪示的記憶體儲存裝置的概要方塊圖。 圖5A是根據本發明的一範例實施例所繪示的記憶胞陣列的示意圖。 圖5B是根據本發明的另一範例實施例所繪示的記憶胞陣列的示意圖。 圖6是根據本發明的一範例實施例所繪示的記憶體控制電路單元的概要方塊圖。 圖7A是根據本發明的一範例實施例所繪示的記憶胞的臨界電壓分佈的示意圖。 圖7B是根據本發明的一範例實施例所繪示的讀取軟位元的示意圖。 圖8是根據本發明的一範例實施例所繪示的評估通道狀態的示意圖。 圖9是根據本發明的另一範例實施例所繪示的記憶胞的臨界電壓分布的示意圖。 圖10是根據本發明的一範例實施例所繪示的解碼方法的示意圖。 圖11A與圖11B是根據本發明的另一範例實施例所繪示的解碼方法的示意圖。
S1001:步驟(基於第一讀取電壓準位來從可複寫式非揮發性記憶體模組的多個第一記憶胞讀取第一資料) S1002:步驟(對第一資料執行第一解碼操作) S1003:步驟(第一解碼操作是否失敗) S1004:步驟(輸出成功解碼的資料) S1005:步驟(評估可複寫式非揮發性記憶體模組的通道狀態並根據所評估的通道狀態獲得第二讀取電壓準位) S1006:步驟(基於第二讀取電壓準位從所述第一記憶胞讀取第二資料) S1007:步驟(對第二資料執行第二解碼操作)
Claims (25)
- 一種解碼方法,用於包括多個記憶胞的一可複寫式非揮發性記憶體模組,該解碼方法包括:基於一第一讀取電壓準位來從所述多個記憶胞中的多個第一記憶胞讀取一第一資料;對該第一資料執行一第一解碼操作;若該第一解碼操作失敗,評估該可複寫式非揮發性記憶體模組的一通道狀態並根據該通道狀態獲得一第二讀取電壓準位,其中該第二讀取電壓準位不同於該第一讀取電壓準位,且該第二讀取電壓準位不同於一第三讀取電壓準位;基於該第二讀取電壓準位來從所述多個第一記憶胞讀取一第二資料;對該第二資料執行一第二解碼操作;若該第二解碼操作失敗,基於該第三讀取電壓準位來從所述多個第一記憶胞讀取一第三資料,其中該第三資料中的一錯誤位元之一總數少於該第二資料中的一錯誤位元之一總數;以及對該第三資料執行一第三解碼操作。
- 如申請專利範圍第1項所述的解碼方法,其中評估該可複寫式非揮發性記憶體模組的該通道狀態並根據該通道狀態獲得該第二讀取電壓準位的步驟包括:獲得所述多個第一記憶胞中符合一預設條件之記憶胞的一第一數目;以及 根據該第一數目來決定該第二讀取電壓準位。
- 如申請專利範圍第2項所述的解碼方法,其中獲得所述多個第一記憶胞中符合該預設條件之記憶胞的該第一數目的步驟包括:根據該第一資料中的一第一類資料來獲得符合該預設條件之記憶胞的該第一數目。
- 如申請專利範圍第2項所述的解碼方法,其中根據該第一數目來決定該第二讀取電壓準位的步驟包括:獲得該第一數目與所述多個第一記憶胞之一總數的一比值;以及根據該比值來決定該第二讀取電壓準位。
- 如申請專利範圍第2項所述的解碼方法,其中該第一數目的值正相關於該第一讀取電壓準位與該第二讀取電壓準位之間的一電壓差值。
- 如申請專利範圍第1項所述的解碼方法,更包括:若該第二解碼操作失敗,執行一最佳讀取電壓準位追蹤操作以獲得該第三讀取電壓準位。
- 如申請專利範圍第1項所述的解碼方法,其中該解碼方法適用於具有一三維記憶胞陣列的該可複寫式非揮發性記憶體模組。
- 如申請專利範圍第1項所述的解碼方法,其中該可複寫式非揮發性記憶體模組的一臨界讀取電壓準位與該可複寫式非揮 發性記憶體模組的一預設讀取電壓準位之間的一第一電壓差值大於一第二電壓差值的一半,其中該第二電壓差值為所述多個第一記憶胞的一初始臨界電壓分布上的一狀態所對應的一臨界電壓上端點與一臨界電壓下端點之間的一電壓差值,其中基於該臨界讀取電壓準位從所述多個第一記憶胞讀取的資料所包含的錯誤位元之一總數趨近於用於控制該可複寫式非揮發性記憶體模組的一記憶體控制電單元之一最大錯誤更正能力所對應的一錯誤位元數目。
- 一種記憶體儲存裝置,包括:一連接介面單元,用以耦接至一主機系統;一可複寫式非揮發性記憶體模組,包括多個記憶胞;以及一記憶體控制電路單元,耦接至該連接介面單元與該可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元用以發送一第一讀取指令序列以指示基於一第一讀取電壓準位來從所述多個記憶胞中的多個第一記憶胞讀取一第一資料,其中該記憶體控制電路單元更用以對該第一資料執行一第一解碼操作,其中若該第一解碼操作失敗,該記憶體控制電路單元更用以評估該可複寫式非揮發性記憶體模組的一通道狀態並根據該通道狀態獲得一第二讀取電壓準位,其中該第二讀取電壓準位不同於 該第一讀取電壓準位,且該第二讀取電壓準位不同於一第三讀取電壓準位,其中該記憶體控制電路單元更用以發送一第二讀取指令序列以指示基於該第二讀取電壓準位來從所述多個第一記憶胞讀取一第二資料,其中該記憶體控制電路單元更用以對該第二資料執行一第二解碼操作,其中若該第二解碼操作失敗,該記憶體控制電路單元更用以發送一第三讀取指令序列以指示基於該第三讀取電壓準位來從所述多個第一記憶胞讀取一第三資料,其中該第三資料中的一錯誤位元之一總數少於該第二資料中的一錯誤位元之一總數,其中該記憶體控制電路單元更用以對該第三資料執行一第三解碼操作。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該記憶體控制電路單元評估該可複寫式非揮發性記憶體模組的該通道狀態並根據該通道狀態獲得該第二讀取電壓準位的操作包括:獲得所述多個第一記憶胞中符合一預設條件之記憶胞的一第一數目;以及根據該第一數目來決定該第二讀取電壓準位。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元獲得所述多個第一記憶胞中符合該預設條件之記憶胞的該第一數目的操作包括: 根據該第一資料中的一第一類資料來獲得符合該預設條件之記憶胞的該第一數目。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該記憶體控制電路單元根據該第一數目來決定該第二讀取電壓準位的操作包括:獲得該第一數目與所述多個第一記憶胞之一總數的一比值;以及根據該比值來決定該第二讀取電壓準位。
- 如申請專利範圍第10項所述的記憶體儲存裝置,其中該第一數目的值正相關於該第一讀取電壓準位與該第二讀取電壓準位之間的一電壓差值。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中若該第二解碼操作失敗,該記憶體控制電路單元更用以執行一最佳讀取電壓準位追蹤操作以獲得該第三讀取電壓準位。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組具有一三維記憶胞陣列。
- 如申請專利範圍第9項所述的記憶體儲存裝置,其中該可複寫式非揮發性記憶體模組的一臨界讀取電壓準位與該可複寫式非揮發性記憶體模組的一預設讀取電壓準位之間的一第一電壓差值大於一第二電壓差值的一半,其中該第二電壓差值為所述多個第一記憶胞的一初始臨界電壓分布上的一狀態所對應的一臨界電壓上端點與一臨界電壓下端 點之間的一電壓差值,其中基於該臨界讀取電壓準位從所述多個第一記憶胞讀取的資料所包含的錯誤位元之一總數趨近於該記憶體控制電路單元之一最大錯誤更正能力所對應的一錯誤位元數目。
- 一種記憶體控制電路單元,用於控制包括多個記憶胞的一可複寫式非揮發性記憶體模組,其中該記憶體控制電路單元包括:一主機介面,用以耦接至一主機系統;一記憶體介面,用以耦接至該可複寫式非揮發性記憶體模組;一錯誤檢查與校正電路;以及一記憶體管理電路,耦接至該主機介面、該記憶體介面及該錯誤檢查與校正電路,其中該記憶體管理電路用以發送一第一讀取指令序列以指示基於一第一讀取電壓準位從所述多個記憶胞中的多個第一記憶胞讀取一第一資料,其中該錯誤檢查與校正電路用以對該第一資料執行一第一解碼操作,其中若該第一解碼操作失敗,該記憶體管理電路更用以評估該可複寫式非揮發性記憶體模組的一通道狀態並根據該通道狀態獲得一第二讀取電壓準位,其中該第二讀取電壓準位不同於該第一讀取電壓準位,且該第二讀取電壓準位不同於一第三讀取電壓準位, 其中該記憶體管理電路更用以發送一第二讀取指令序列以指示基於該第二讀取電壓準位來從所述多個第一記憶胞讀取一第二資料,其中該錯誤檢查與校正電路更用以對該第二資料執行一第二解碼操作,其中若該第二解碼操作失敗,該記憶體管理電路更用以發送一第三讀取指令序列以指示基於該第三讀取電壓準位來從所述多個第一記憶胞讀取一第三資料,其中該第三資料中的一錯誤位元之一總數少於該第二資料中的一錯誤位元之一總數,其中該錯誤檢查與校正電路更用以對該第三資料執行一第三解碼操作。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該記憶體管理電路評估該可複寫式非揮發性記憶體模組的該通道狀態並根據該通道狀態獲得該第二讀取電壓準位的操作包括:獲得所述多個第一記憶胞中符合一預設條件之記憶胞的一第一數目;以及根據該第一數目來決定該第二讀取電壓準位。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該記憶體管理電路獲得所述多個第一記憶胞中符合該預設條件之記憶胞的該第一數目的操作包括:根據該第一資料中的一第一類資料來獲得符合該預設條件之 記憶胞的該第一數目。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該記憶體管理電路根據該第一數目來決定該第二讀取電壓準位的操作包括:獲得該第一數目與所述多個第一記憶胞之一總數的一比值;以及根據該比值來決定該第二讀取電壓準位。
- 如申請專利範圍第18項所述的記憶體控制電路單元,其中該第一數目的值正相關於該第一讀取電壓準位與該第二讀取電壓準位之間的一電壓差值。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中若該第二解碼操作失敗,該記憶體管理電路更用以執行一最佳讀取電壓準位追蹤操作以獲得該第三讀取電壓準位。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該可複寫式非揮發性記憶體模組具有一三維記憶胞陣列。
- 如申請專利範圍第17項所述的記憶體控制電路單元,其中該可複寫式非揮發性記憶體模組的一臨界讀取電壓準位與該可複寫式非揮發性記憶體模組的一預設讀取電壓準位之間的一第一電壓差值大於一第二電壓差值的一半,其中該第二電壓差值為所述多個第一記憶胞的一初始臨界電壓分布上的一狀態所對應的一臨界電壓上端點與一臨界電壓下端點之間的一電壓差值, 其中基於該臨界讀取電壓準位從所述多個第一記憶胞讀取的資料所包含的錯誤位元之一總數趨近於該錯誤檢查與校正電路的一最大錯誤更正能力所對應的一錯誤位元數目。
- 一種解碼方法,用於包括多個記憶胞的一可複寫式非揮發性記憶體模組,該解碼方法包括:基於一第一讀取電壓準位來從所述多個記憶胞中的多個第一記憶胞讀取一第一資料;對該第一資料執行一第一解碼操作;若該第一解碼操作失敗,執行一讀取電壓準位粗調操作以根據該可複寫式非揮發性記憶體模組的一概略通道狀態決定一第二讀取電壓準位;基於該第二讀取電壓準位來從所述多個第一記憶胞讀取一第二資料;對該第二資料執行一第二解碼操作;若該第二解碼操作失敗,執行一讀取電壓準位細調操作以根據該可複寫式非揮發性記憶體模組的一實際通道狀態決定一第三讀取電壓準位;基於該第三讀取電壓準位來從所述多個第一記憶胞讀取一第三資料,其中該第三資料中的一錯誤位元之一總數少於該第二資料中的一錯誤位元之一總數;以及對該第三資料執行一第三解碼操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105121544A TWI612525B (zh) | 2016-07-07 | 2016-07-07 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
US15/249,487 US9715429B1 (en) | 2016-07-07 | 2016-08-29 | Decoding method, memory storage device and memory control circuit unit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW105121544A TWI612525B (zh) | 2016-07-07 | 2016-07-07 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201802818A TW201802818A (zh) | 2018-01-16 |
TWI612525B true TWI612525B (zh) | 2018-01-21 |
Family
ID=59350424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105121544A TWI612525B (zh) | 2016-07-07 | 2016-07-07 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9715429B1 (zh) |
TW (1) | TWI612525B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI822299B (zh) * | 2022-03-18 | 2023-11-11 | 日商鎧俠股份有限公司 | 判定半導體記憶體的最佳讀取電壓之記憶體系統及方法 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102609130B1 (ko) * | 2016-02-17 | 2023-12-05 | 삼성전자주식회사 | 읽기 전압 서치 유닛을 포함하는 데이터 저장 장치 |
TWI640008B (zh) * | 2017-09-26 | 2018-11-01 | 大陸商深圳大心電子科技有限公司 | 資料讀取方法以及儲存控制器 |
US10558522B2 (en) | 2017-10-20 | 2020-02-11 | Western Digital Technologies, Inc. | Dynamic multi-stage decoding |
CN108040258B (zh) * | 2017-11-21 | 2020-05-15 | 北京臻迪科技股份有限公司 | 一种编码、解码方法、装置及系统 |
US10637511B2 (en) | 2017-12-18 | 2020-04-28 | Western Digital Technologies, Inc | Dynamic multi-stage decoding |
KR102648618B1 (ko) * | 2018-03-28 | 2024-03-19 | 에스케이하이닉스 주식회사 | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 |
KR102567314B1 (ko) * | 2018-04-27 | 2023-08-17 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
TWI675374B (zh) * | 2018-07-24 | 2019-10-21 | 群聯電子股份有限公司 | 位元判斷方法、記憶體控制電路單元以及記憶體儲存裝置 |
CN110795268B (zh) * | 2018-08-01 | 2023-03-14 | 群联电子股份有限公司 | 比特判断方法、存储器控制电路单元以及存储器存储装置 |
KR20200021736A (ko) | 2018-08-21 | 2020-03-02 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
KR102634809B1 (ko) * | 2018-11-23 | 2024-02-08 | 에스케이하이닉스 주식회사 | 전자 장치 및 그것의 동작 방법 |
CN111326186B (zh) * | 2018-12-13 | 2022-05-31 | 群联电子股份有限公司 | 存储器控制方法、存储器存储装置及存储器控制电路单元 |
US10790031B1 (en) * | 2019-06-05 | 2020-09-29 | Western Digital Technologies, Inc. | System handling for first read read disturb |
TWI722867B (zh) * | 2020-04-14 | 2021-03-21 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI768496B (zh) * | 2020-10-07 | 2022-06-21 | 群聯電子股份有限公司 | 讀取電壓控制方法、記憶體儲存裝置及記憶體控制電路單元 |
TWI764602B (zh) * | 2021-03-03 | 2022-05-11 | 群聯電子股份有限公司 | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140211540A1 (en) * | 2013-01-30 | 2014-07-31 | International Business Machines Corporation | Method and apparatus for read measurement of a plurality of resistive memory cells |
US20150085573A1 (en) * | 2013-05-31 | 2015-03-26 | Sandisk Technologies Inc. | Updating read voltages |
TW201532044A (zh) * | 2014-02-07 | 2015-08-16 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 |
US20150332777A1 (en) * | 2014-05-13 | 2015-11-19 | Sangyong Yoon | Storage device including nonvolatile memory device and read method thereof |
US20160179617A1 (en) * | 2014-12-17 | 2016-06-23 | SK Hynix Inc. | Semiconductor memory device and operating method thereof |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102131802B1 (ko) * | 2013-03-15 | 2020-07-08 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법 |
US20150085571A1 (en) * | 2013-09-24 | 2015-03-26 | Sandisk Technologies Inc. | Updating read voltages |
KR102110767B1 (ko) * | 2013-12-24 | 2020-06-09 | 삼성전자 주식회사 | 메모리 컨트롤러 구동방법 및 메모리 컨트롤러 |
-
2016
- 2016-07-07 TW TW105121544A patent/TWI612525B/zh active
- 2016-08-29 US US15/249,487 patent/US9715429B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140211540A1 (en) * | 2013-01-30 | 2014-07-31 | International Business Machines Corporation | Method and apparatus for read measurement of a plurality of resistive memory cells |
US20150085573A1 (en) * | 2013-05-31 | 2015-03-26 | Sandisk Technologies Inc. | Updating read voltages |
TW201532044A (zh) * | 2014-02-07 | 2015-08-16 | Phison Electronics Corp | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 |
US20150332777A1 (en) * | 2014-05-13 | 2015-11-19 | Sangyong Yoon | Storage device including nonvolatile memory device and read method thereof |
US20160179617A1 (en) * | 2014-12-17 | 2016-06-23 | SK Hynix Inc. | Semiconductor memory device and operating method thereof |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI822299B (zh) * | 2022-03-18 | 2023-11-11 | 日商鎧俠股份有限公司 | 判定半導體記憶體的最佳讀取電壓之記憶體系統及方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201802818A (zh) | 2018-01-16 |
US9715429B1 (en) | 2017-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI612525B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107622783B (zh) | 译码方法、存储器存储装置及存储器控制电路单元 | |
TWI588834B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107092536B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TWI592869B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI615852B (zh) | 記憶體重讀方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI614755B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI670715B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI588833B (zh) | 資料程式化方法與記憶體儲存裝置 | |
TW201642266A (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN105869675B (zh) | 半导体器件及其操作方法 | |
TW201637019A (zh) | 讀取電壓準位估測方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN107146638B (zh) | 译码方法、存储器储存装置及存储器控制电路单元 | |
TW202025162A (zh) | 解碼方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN111580741B (zh) | 数据写入方法、存储器控制电路单元与存储器存储装置 | |
TWI691962B (zh) | 解碼方法、記憶體控制電路單元與記憶體儲存裝置 | |
TWI613665B (zh) | 資料程式化方法與記憶體儲存裝置 | |
TWI751620B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI691961B (zh) | 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元 | |
TW201802820A (zh) | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN108428464B (zh) | 解码方法、存储器储存装置及存储器控制电路单元 | |
US11817172B2 (en) | Table management method, memory storage device and memory control circuit unit | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 | |
TWI738390B (zh) | 資料保護方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20240201857A1 (en) | Decoding method, memory storage device and memory control circuit unit |