TW202036570A - 資料讀取方法、儲存控制器與儲存裝置 - Google Patents
資料讀取方法、儲存控制器與儲存裝置 Download PDFInfo
- Publication number
- TW202036570A TW202036570A TW108110631A TW108110631A TW202036570A TW 202036570 A TW202036570 A TW 202036570A TW 108110631 A TW108110631 A TW 108110631A TW 108110631 A TW108110631 A TW 108110631A TW 202036570 A TW202036570 A TW 202036570A
- Authority
- TW
- Taiwan
- Prior art keywords
- target
- soft information
- preset
- memory cells
- hard bit
- Prior art date
Links
Images
Classifications
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/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
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—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/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C2029/0411—Online error correction
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 Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供一種資料讀取方法。所述方法包括:對目標字元線執行讀取操作;讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字;根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊;根據多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度;以及根據所述多個信心度與所述多個軟資訊執行已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,並且完成所述讀取操作。
Description
本發明是有關於一種資料讀取方法,且特別是有關於一種適用於配置有可複寫式非揮發性記憶體模組的儲存裝置及其儲存控制器的資料讀取方法。
一般來說,當對從可複寫式非揮發性記憶體模組的實體面所讀取的碼字所執行迭代解碼操作(如,低密度奇偶檢查碼解碼操作)失敗時,儲存裝置的儲存控制器會根據驗證資料(如,預先存入至可複寫式非揮發性記憶體模組的已知資料)來嘗試校正對應所述迭代解碼操作的對數似然比表,以利用校正後的對數似然比表來重新對所讀取的碼字執行迭代解碼操作。
然而,由於傳統方法需要額外準備已知的驗證資料(即,將所述已知的驗證資料儲存至可複寫式非揮發性記憶體模組的多個字元線中),傳統方法會使用可複寫式非揮發性記憶體模組的閒置空間來儲存所述驗證資料,而減少了可複寫式非揮發性記憶體模組的剩餘可用空間,進而導致了儲存裝置的運作效率會因減少的剩餘可用空間而降低(因為儲存裝置的許多管理運作會需要使用剩餘可用空間)。
因此,如何在不需要準備驗證資料的情況下,有效率地使用其他方式來取代傳統的對應所述迭代解碼操作的對數似然比表,以改善傳統作法的缺陷,提昇解碼操作的性能且增進可複寫式非揮發性記憶體模組的資料讀取效率,是本領域人員研究的課題之一。
本發明提供一種資料讀取方法、儲存控制器及儲存裝置,可在不需要準備已驗證資料的情況下,利用讀取目標字元線的多個目標實體頁面以獲得多個硬位元碼字,並且利用所述多個硬位元碼字來產生所述目標字元線的多個目標記憶胞各自的軟資訊且查找出多個目標記憶胞的對應多個目標實體頁面的多個信心度,進而根據所述多個信心度來執行調整後的迭代解碼操作,以強化解碼能力且改善讀取操作的效率。
本發明的一實施例提供適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置的一種資料讀取方法。所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。所述方法包括:選擇目標字元線,以對所述目標字元線執行讀取操作;使用預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字;根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊;根據分別對應所述多個目標實體頁面的多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度,其中所述多個信心表各自具有分別對應多個臨界電壓分佈區域的多個預設信心度,其中所述多個臨界電壓分佈區域對應多個葛雷碼態樣;以及將所述多個目標記憶胞的所述多個信心度替代所述預設解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,並且完成所述讀取操作。
本發明的一實施例提供用於控制配置有可複寫式非揮發性記憶體模組的儲存裝置的一種儲存控制器。所述儲存控制器包括:連接介面電路、記憶體介面控制電路、讀取輔助電路單元、錯誤檢查與校正電路以及處理器。連接介面電路用以耦接至主機系統。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。處理器耦接至所述連接介面電路、所述記憶體介面控制電路、所述讀取輔助電路單元及所述錯誤檢查與校正電路。所述處理器用以選擇所述可複寫式非揮發性記憶體模組的所述多個字元線中的一目標字元線,以對所述目標字元線執行讀取操作。所述讀取輔助電路單元用以使用所述預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字,其中所述讀取輔助電路單元更用以根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊,其中所述讀取輔助電路單元更用以根據分別對應所述多個目標實體頁面的多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度,其中所述多個信心表各自具有分別對應多個臨界電壓分佈區域的多個預設信心度,其中所述多個臨界電壓分佈區域對應多個葛雷碼態樣,其中所述錯誤檢查與校正電路用以將所述多個目標記憶胞的所述多個信心度替代所述預設解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,進而完成所述讀取操作。
本發明的一實施例提供一種儲存裝置。所述儲存裝置包括可複寫式非揮發性記憶體模組、記憶體介面控制電路及處理器。可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值。記憶體介面控制電路用以耦接至該可複寫式非揮發性記憶體模組。處理器耦接至該記憶體介面控制電路,其中該處理器載入且執行讀取輔助程式碼模組,以實現資料讀取方法。所述資料讀取方法包括:選擇目標字元線,以對所述目標字元線執行讀取操作;使用所述預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字;根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊;根據分別對應所述多個目標實體頁面的多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度,其中所述多個信心表各自具有分別對應多個臨界電壓分佈區域的多個預設信心度,其中所述多個臨界電壓分佈區域對應多個葛雷碼態樣;以及將所述多個目標記憶胞的所述多個信心度替代所述預設解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,並且完成所述讀取操作。
基於上述,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,可在不需要準備已驗證資料的情況下,利用讀取目標字元線的多個目標實體頁面以獲得多個硬位元碼字,並且利用所述多個硬位元碼字來產生所述目標字元線的多個目標記憶胞各自的軟資訊。接著,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,更可使用多個軟資訊經由查找對應所述多個目標實體頁面的多個信心表來獲得多個目標記憶胞的對應多個目標實體頁面的多個信心度,進而根據多個目標記憶胞的對應多個目標實體頁面的多個信心度來執行調整後的迭代解碼操作,以強化解碼能力且改善讀取操作的效率。如此一來,可增進從所述目標字元線所讀取資料的正確性與可靠度,以降低對所讀取資料所執行的解碼操作的負荷,進而增進了資料讀取操作整體的效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本實施例中,儲存裝置包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與儲存裝置控制器(亦稱,儲存控制器或儲存控制電路)。此外,儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至儲存裝置或從儲存裝置中讀取資料。
圖1A是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
請參照圖1A,主機系統(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的指示,配合資料管理電路212來進行對於可複寫式非揮發性記憶體模組220的寫入(亦稱,程式化,Programming)操作、讀取操作或抹除操作。
舉例來說,處理器211可執行寫入指令序列,以指示記憶體介面控制電路213將資料寫入至可複寫式非揮發性記憶體模組220中;處理器211可執行讀取指令序列,以指示記憶體介面控制電路213從可複寫式非揮發性記憶體模組220的對應讀取指令的一或多個實體單元(亦稱,目標實體單元)中讀取資料;處理器211可執行抹除指令序列,以指示記憶體介面控制電路213對可複寫式非揮發性記憶體模組220進行抹除操作。寫入指令序列、讀取指令序列及抹除指令序列可各別包括一或多個程式碼或指令碼並且用以指示對可複寫式非揮發性記憶體模組220執行相對應的寫入、讀取及抹除等操作。在一實施例中,處理器211還可以下達其他類型的指令序列給記憶體介面控制電路213,以對可複寫式非揮發性記憶體模組220執行相對應的操作。
此外,欲寫入至可複寫式非揮發性記憶體模組220的資料會經由記憶體介面控制電路213轉換為可複寫式非揮發性記憶體模組220所能接受的格式。具體來說,若處理器211要存取可複寫式非揮發性記憶體模組220,處理器211會傳送對應的指令序列給記憶體介面控制電路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具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞。同一條字元線上的多個記憶胞會組成一或多個實體程式化單元。此外,多個實體程式化單元可組成一個實體單元(實體區塊或實體抹除單元)。在本實施例中,以三階記憶胞(Triple Level Cell,TLC)NAND型快閃記憶體模組做例子來說明,即,在下述的實施例中,會將一個可儲存3個位元值的記憶胞作為一個實體程式化單元(即,在每次程式化操作中,會對一個實體程式化單元接著一個實體程式化單元來施加程式化電壓以程式化資料),其中每一個記憶胞可區分為各自可儲存一個位元值的下實體頁面(Lower Physical Page)、中實體頁面(Middle Physical Page)與上實體頁面(Upper Physical Page)。
在本實施例中,是以記憶胞作為寫入(程式化)資料的最小單位。實體單元為抹除之最小單位,即,每一實體單元含有最小數目之一併被抹除之記憶胞。
以下的實施例是以三階記憶胞型快閃記憶體模組為例,來進行的讀取輔助操作(對特定字元線所具有的多個記憶胞來執行讀取輔助操作)。所述讀取輔助操作所使用的資料讀取方法亦會說明如下。然,本發明的實施例所提供的讀取輔助操作與資料讀取方法亦可應用至其他類型的快閃記憶體模組。
儲存控制器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。
在本實施例中,錯誤檢查與校正電路214所執行的是使用低密度奇偶檢查碼(low density parity code,LDPC)演算法的迭代解碼操作(亦稱,LDPC迭代解碼操作)。具體來說,在接收到欲解碼之所述碼字(亦稱,目標碼字或原始碼字)之後,錯誤檢查與校正電路214會開始對所接收的所述碼字進行迭代解碼操作,辨識所接收碼字的多個資料位元,根據所述多個資料位元來查詢對應的對數似然比(Log Likelihood Ratio,LLR)表(亦稱,LLR表)以獲得對應多個資料位元的多個對數似然比值,並且經由所述對數似然比值及對應所述碼字的軟資訊來對所述碼字執行一輪的迭代解碼操作。所述經由所述對數似然比值及對應所述碼字的軟資訊來對所述碼字所執行的迭代解碼操作亦可稱為軟解碼操作。
在本實施例中,每當錯誤檢查與校正電路214完成對一筆所述碼字所執行的一輪迭代解碼操作,錯誤檢查與校正電路214可獲得對應所述碼字的已解碼碼字與對應所述已解碼碼字的校驗子。錯誤檢查與校正電路214可根據校驗子來判斷當下所執行的所述迭代解碼操作是解碼成功或解碼失敗。
若解碼失敗,錯誤檢查與校正電路214可根據所統計的對所述碼字所執行的迭代解碼操作的總次數與預設迭代次數門檻值來判斷是否需再次執行後續的一或多次的迭代操作。若所述總次數大於所述迭代次數門檻值,錯誤檢查與校正電路214會判定所述碼字的預設解碼操作(預設解碼操作可包括一或多個迭代解碼操作)是失敗的,並且輸出最後所獲得之已解碼碼字與對應的校驗子;若所述總次數不大於所述預設迭代次數門檻值,錯誤檢查與校正電路214會利用所獲得之已解碼碼字與對應的校驗子來再次執行新一輪的迭代解碼操作。廠商可根據需求自行設定迭代次數門檻值,本發明不限於此。
在每一次(每一輪)的迭代解碼操作的最後,錯誤檢查與校正電路214會計算對應當前最新獲得之已解碼碼字的校驗子,以判斷此次的迭代解碼操作是否成功。若解碼成功(解碼後所產生的碼字為正確,即,有效碼字),則結束本次的迭代操作並且也結束對此碼字的預設解碼操作;若解碼失敗(解碼後所產生的碼字為錯誤,即,無效碼字),則在所述總次數不大於所述預設迭代次數門檻值的情況下,結束本次的迭代操作並且重新開始新的一次(下一輪)的迭代操作。
更詳細來說,於每次迭代解碼操作中,錯誤檢查與校正電路214會判斷對應所述已解碼碼字的校驗子的多個位元值是否皆為零。若所述校驗子的多個位元值皆為零(即,“0”),錯誤檢查與校正電路214判定所述已解碼碼字為正確的,完成本次的迭代解碼操作,完成對應所述碼字的預設解碼操作,並且輸出為有效碼字的所述已解碼碼字,進而完成對應所述原始碼字的讀取操作。
反之,若所述校驗子的所述多個位元值不皆為零(即,具有一或多個“1”),錯誤檢查與校正電路214判定所述已解碼碼字為錯誤的,並且結束本次的迭代解碼操作及所述碼字的預設解碼操作。在本實施例中,錯誤檢查與校正電路214更會判斷對應所述已解碼碼字的校驗子的位元值“1”的總數目是否小於之前所執行過的迭代解碼操作所獲得之校驗子的位元值“1”的總數目。若是,錯誤檢查與校正電路214會辨識所述已解碼碼字為最小校驗子碼字,辨識對應的校驗子為最小校驗子,並且輸出所述最小校驗子碼字與所述最小校驗子。所述最小校驗子碼字與所述最小校驗子可被儲存至緩衝記憶體的對應的緩衝區。
應注意的是,上述的說明僅用於解釋原始碼字、已解碼碼字與對應的校驗子的對應關係,其他關於低密度奇偶檢查碼演算法的迭代解碼操作、原始碼字、校驗子、已解碼碼字的細節並非本發明的技術方案,不贅述於此。
在一實施例中,儲存控制器210還包括緩衝記憶體218與電源管理電路219。緩衝記憶體是耦接至處理器211並且用以暫存來自於主機系統10的資料與指令、來自於可複寫式非揮發性記憶體模組220的資料或其他用以管理儲存裝置20的系統資料(如,對數似然比表、信心表),以讓處理器211可快速地從緩衝記憶體218中存取所述資料、指令或系統資料。電源管理電路219是耦接至處理器211並且用以控制儲存裝置20的電源。
在本實施例中,讀取輔助電路單元215包括軟資訊管理電路2151與信心表管理電路2152。所述讀取輔助電路單元215用以對多個字元線的特定實體頁面來執行讀取輔助操作。更具體來說,處理器211可在特定的時間點來選擇可複寫式非揮發性記憶體模組220的屬於多個實體單元的多個字元線的其中之一個字元線(亦稱,目標字元線),並且指示讀取輔助電路單元215來對此目標字元線進行讀取輔助操作。
舉例來說,所述特定的時間點包括但不限於:(1)解碼操作失敗時;(2)對物理狀態較差的字元線(例如,抹除次數較多、讀取次數較多、久存時間(retention time)較長或錯誤位元數較多的字元線)進行讀取操作時;或(3)從一字元線所讀取的資料的錯誤位元數超過一錯誤位元數門檻值時。
具體來說,當從對應至一字元線的一實體頁面所讀取的資料的錯誤位元數超過一錯誤位元數門檻值時,其中所述字元線被選擇為所述目標字元線。應注意的是,被選擇之目標字元線已儲存資料,即,已被程式化資料。在本實施例中,所述已儲存資料並非廠商或是系統預先設定的已知資料或驗證資料,例如,所述已儲存資料為使用者資料。
在本實施例中,軟資訊管理電路2151可對所述目標字元線執行軟資訊操作,以獲得所述目標字元線的多個目標記憶胞各自的軟資訊。在說明軟資訊操作之前,需先說明儲存狀態的概念。在本實施例中,如上所述,目標字元線的儲存有資料。具體來說,每個字元線的多個記憶胞可具有一或多個實體頁面(每個實體頁面儲存一個位元值),並且每個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Gray Code)態樣的其中之一的位元值,並且所述葛雷碼態樣的總數為P,其中每一個葛雷碼態樣所儲存的位元值的總數目會等於每一個記憶胞所具有的實體頁面的總數目。P為大於2的一第一預定正整數,並且P的數值會依據所述可複寫式非揮發性記憶體模組220的類型而被預先設定。例如,若可複寫式非揮發性記憶體模組220為MLC,則P=4,並且每一個葛雷碼態樣所儲存的位元值的總數目會等於2;若可複寫式非揮發性記憶體模組220為SLC,則P=2,並且每一個葛雷碼態樣所儲存的位元值的總數目會等於1;若可複寫式非揮發性記憶體模組220為QLC,則P=16,並且每一個葛雷碼態樣所儲存的位元值的總數目會等於4。
為了統一說明,本實施例是以三階記憶胞型快閃記憶體模組為例,並且目標字元線的多個記憶胞可儲存有分別對應8個葛雷碼態樣(P=8)的位元值,並且每一個葛雷碼態樣所儲存的位元值的總數目會等於3。以下先配合圖3A來說明所述多個葛雷碼態樣的細節。
圖3A為根據本發明的一實施例所繪示的第一讀取電壓態樣(1/2/4)的臨界電壓分佈及對應的葛雷碼態樣的示意圖。由於本實施例是以為三階記憶胞NAND型快閃記憶體模組的可複寫式非揮發性記憶體模組220做例子來說明,其中P等於8(即,23
)。三階記憶胞NAND型快閃記憶體模組的每一記憶胞具有三個實體頁面來分別儲存位元資料,所述每一記憶胞包括各自可儲存一個位元值的下實體頁面(Lower Physical Page,L)、中實體頁面(Middle Physical Page,M)與上實體頁面(Upper Physical Page,U)。假設處理器211經由預設讀取電壓組V(i)的多個轉換讀取電壓V(i)1
~V(i)7
讀取三階記憶胞NAND型快閃記憶體模組的目標字元線的多個記憶胞(多個目標記憶胞),並且藉此辨識出所述多個記憶胞所儲存的不同位元值(分別對應不同葛雷碼態樣的位元值)。每一記憶胞中的閘極電壓可依據預設讀取電壓組V(i)中的轉換讀取電壓V(i)1
~V(i)7
而區分為8種葛雷碼態樣,如“L:1 M:1 U:1”、“L:1 M:1 U:0”、“L:1 M:0 U:0”、“L:1 M:0 U:1”、“L:0 M:0 U:1”、“L:0 M:0 U:0”、“L:0 M:1 U:0”與“L:0 M:1 U:1”的8種葛雷碼態樣(“L:”表示下實體頁面的位元值;“M:”表示中實體頁面的位元值;“U:”表示上實體頁面的位元值)。所述8種葛雷碼態樣亦可表示為“111”、“110”、“100”、“101”、“001”、“000”、“010”與“011”,8種位元值組合,其中每個位元值組合中的位元值的先後排序是依據下、中、上實體頁面的順序。也就是說,經由分別施加讀取電壓組V(i)的不同電壓值的讀取電壓V(i)1
~V(i)7
至目標字元線的一個記憶胞上,處理器211可根據判斷所述記憶胞之通道是否導通而分別判定出所述記憶胞所儲存之位元值(亦稱,位元資料或讀取位元值)對應不同的多個葛雷碼態樣(“111”、“110”、“100”、“101”、“001”、“000”、“010”與“011”)的其中之一(即,經由使用預設讀取電壓組V(i)來從目標字元線的一個記憶胞讀取出讀取位元值)。
在本實施例中,字元線的臨界電壓分佈可依據對應的轉換讀取電壓來被劃分為多個臨界電壓分佈區域。所述多個臨界電壓分佈區域與所述多個葛雷碼態樣為一對一的映射關係。請參照圖3A,臨界電壓分佈區域G1對應葛雷碼態樣“111”;臨界電壓分佈區域G2對應葛雷碼態樣“110”;臨界電壓分佈區域G3對應葛雷碼態樣“100”;臨界電壓分佈區域G4對應葛雷碼態樣“101”;臨界電壓分佈區域G5對應葛雷碼態樣“001”;臨界電壓分佈區域G6對應葛雷碼態樣“000”;臨界電壓分佈區域G7對應葛雷碼態樣“010”;臨界電壓分佈區域G8對應葛雷碼態樣“011”。此外,在本實施例中,若一個記憶胞的儲存狀態所對應的葛雷碼態樣為“011”,此記憶胞可被視為屬於臨界電壓分佈區域G8,或此記憶胞的臨界電壓分佈可被視為屬於臨界電壓分佈區域G8。
應注意的是,根據可複寫式非揮發性記憶體模組220的記憶胞可具有的多個葛雷碼態樣的總數目(在此例子中,為8),處理器211可決定預設讀取電壓組的所述多個轉換讀取電壓的總數目,其中預設讀取電壓組的所述多個轉換讀取電壓的總數目為所述多個葛雷碼態樣的總數目減一(在此例子,為7,即,P-1=8-1=7)。此外,所述多個臨界電壓分佈區域的總數目也等於所述多個葛雷碼態樣的總數目。
更詳細來說,一個記憶胞所儲存的對應一種葛雷碼態樣的儲存狀態(亦稱,葛雷碼)可經由所述記憶胞的下實體頁面的儲存狀態(SL)、下實體頁面的儲存狀態(SM)與上實體頁面的儲存狀態(SU)來依序組合而成(如,圖3A的多個箭頭所示)。
在本實施例中,轉換讀取電壓V(i)4
用以區分下實體頁面的儲存狀態SL1(“1”)與SL2(“0”); 轉換讀取電壓V(i)2
與V(i)6
用以區分中實體頁面的儲存狀態SM1(“1”)、SM2(“0”)與SM3(“1”); 轉換讀取電壓V(i)1
、V(i)3
、V(i)5
、V(i)7
用以區分上實體頁面的儲存狀態SU1(“1”)、SU2(“0”)、SU3(“1”)、SU4(“0”)與SU5(“1”)。
在本實施例中,字元線的臨界電壓分佈可依據對應的轉換讀取電壓來被劃分為多個臨界電壓分佈區域。所述多個臨界電壓分佈區域與所述多個葛雷碼態樣為一對一的映射關係。請參照圖3A,臨界電壓分佈區域G1對應葛雷碼態樣“111”;臨界電壓分佈區域G2對應葛雷碼態樣“110”;臨界電壓分佈區域G3對應葛雷碼態樣“100”;臨界電壓分佈區域G4對應葛雷碼態樣“101”;臨界電壓分佈區域G5對應葛雷碼態樣“001”;臨界電壓分佈區域G6對應葛雷碼態樣“000”;臨界電壓分佈區域G7對應葛雷碼態樣“010”;臨界電壓分佈區域G8對應葛雷碼態樣“011”。此外,在本實施例中,若一個記憶胞的儲存狀態所對應的葛雷碼態樣為“011”,此記憶胞可被視為屬於臨界電壓分佈區域G8,或此記憶胞的臨界電壓分佈可被視為屬於臨界電壓分佈區域G8。
處理器211(或讀取輔助電路單元215)可使用預設讀取電壓組中對應下實體頁面、中實體頁面與上實體頁面的轉換讀取電壓來依序讀取字元線,以獲得所述字元線的多個記憶胞的下實體頁面、中實體頁面與上實體頁面的儲存狀態,進而獲得所述多個記憶胞的葛雷碼。舉例來說,假設處理器211(或讀取輔助電路單元215)使用預設讀取電壓組V(i)來讀取字元線以獲得所述字元線的多個記憶胞的多個葛雷碼。處理器211(或讀取輔助電路單元215)先經由使用轉換讀取電壓V(i)4
來辨識出所有記憶胞的下實體頁面的儲存狀態是儲存狀態SL1或儲存狀態SL2;接著,處理器211(或讀取輔助電路單元215)再經由使用轉換讀取電壓V(i)2
、V(i)6
來辨識出此些記憶胞的中實體頁面的儲存狀態是儲存狀態SM1、儲存狀態SM3或儲存狀態SM3;接著,處理器211(或讀取輔助電路單元215)再經由使用轉換讀取電壓V(i)1
、V(i)3
、V(i)5
、V(i)7
來辨識出此些記憶胞的上實體頁面的儲存狀態是儲存狀態SU1、儲存狀態SU2、儲存狀態SU3、儲存狀態SU4或儲存狀態SM5。如此一來,處理器211(或讀取輔助電路單元215)可辨識出所有記憶胞的下實體頁面、中實體頁面及上實體頁面的儲存狀態,進而辨識出所有記憶胞所儲存的葛雷碼。
應注意的是,所辨識出的所述字元線的所有記憶胞的上實體頁面的儲存狀態的位元值可一同組合為對應所述字元線的上實體頁面的一個硬位元碼字;所辨識出的所述字元線的所有記憶胞的中實體頁面的儲存狀態的位元值可一同組合為對應所述字元線的中實體頁面的一個硬位元碼字;所辨識出的所述字元線的所有記憶胞的下實體頁面的儲存狀態的位元值可一同組合為對應所述字元線的下實體頁面的一個硬位元碼字。分別對應所述多個實體頁面的所述多個硬位元碼字尚未經過預設解碼操作,並且所述多個硬位元碼字亦可稱為分別對應所述多個實體頁面的多個原始碼字。
此外,具有上述多個實體頁面與對應的轉換讀取電壓數目的特性的可複寫式非揮發性記憶體模組220亦可被視為具有第一讀取電壓態樣(1/2/4)的可複寫式非揮發性記憶體模組220(三階記憶胞NAND型快閃記憶體模組)。所述“1/2/4”分別對應至“下實體頁面/中實體頁面/上實體頁面”所具有的轉換讀取電壓的總數目。本發明並不限定於第一讀取電壓態樣的可複寫式非揮發性記憶體模組220,本發明所提供的資料讀取方法、儲存控制器與儲存裝置亦可適用於其他讀取電壓態樣的可複寫式非揮發性記憶體模組220。以下利用圖3B來說明。
圖3B為根據本發明的一實施例所繪示的第二讀取電壓態樣(2/3/2)的臨界電壓分佈及對應的葛雷碼態樣的示意圖。請參照圖3B,針對為第二讀取電壓態樣(2/3/2)的可複寫式非揮發性記憶體模組220(三階記憶胞NAND型快閃記憶體模組),讀取電壓V(i)1
與V(i)5
用以區分下實體頁面的儲存狀態SL1(“1”)、SL2(“0”)與SL3(“1”);讀取電壓V(i)2
、V(i)4
與V(i)6
用以區分中實體頁面的儲存狀態SM1(“1”)、SM2(“0”)、SM3(“1”)與SM4(“0”);讀取電壓V(i)3
與V(i)7
用以區分上實體頁面的儲存狀態SU1(“1”)、SU2(“0”)與SU3(“1”)。所述“2/3/2”分別對應至“下實體頁面/中實體頁面/上實體頁面”所具有的轉換讀取電壓的總數目。
第二讀取電壓態樣(2/3/2)的可複寫式非揮發性記憶體模組220的每一記憶胞中的閘極電壓可依據預設讀取電壓組V(i)中的轉換讀取電壓V(i)1
~V(i)7
而區分為8種葛雷碼態樣,如“L:1 M:1 U:1”、“L:0 M:1 U:1”、“L:0 M:0 U:1”、“L:0 M:0 U:0”、“L:0 M:1 U:0”、“L:1 M:1 U:0”、“L:1 M:0 U:0”與“L:1 M:0 U:1”的8種葛雷碼態樣。所述8種葛雷碼態樣亦可表示為“111”、“110”、“100”、“101”、“001”、“000”、“010”與“011”,8種位元值組合,其中每個位元值組合中的位元值的先後排序是依據記憶胞的下、中、上實體頁面的儲存狀態的順序。
此外,請參照圖3B,臨界電壓分佈區域G1對應葛雷碼態樣“111”;臨界電壓分佈區域G2對應葛雷碼態樣“011”;臨界電壓分佈區域G3對應葛雷碼態樣“001”;臨界電壓分佈區域G4對應葛雷碼態樣“000”;臨界電壓分佈區域G5對應葛雷碼態樣“010”;臨界電壓分佈區域G6對應葛雷碼態樣“110”;臨界電壓分佈區域G7對應葛雷碼態樣“100”;臨界電壓分佈區域G8對應葛雷碼態樣“101”。此外,在本實施例中,若一個記憶胞的儲存狀態所對應的葛雷碼態樣為“011”,此記憶胞可被視為屬於臨界電壓分佈區域G8,或此記憶胞的臨界電壓分佈可被視為屬於臨界電壓分佈區域G2。
在本實施例中,字元線的多個記憶胞的實體頁面的臨界電壓分佈相較於預設的臨界電壓分佈可能會發生偏移的現象。由於臨界電壓分佈的偏移,原本對應於多個實體頁面的預設的臨界電壓的預設的轉換讀取電壓已經不再適合用以區分對應的實體頁面的儲存狀態。換言之,在此情況下,原本所讀取且辨識的實體頁面的多個記憶胞所儲存的讀取位元值會失真。此時,便需要執行軟資訊操作來獲得對應所述多個記憶胞的軟資訊,以輔助處理器211或錯誤檢查與校正電路214來進一步藉由多個記憶胞各自的軟資訊與對應的多個信心表來辨識多個記憶胞各自的多個實體頁面所儲存的讀取位元值或相應的信心度。如此一來,錯誤檢查與校正電路214可藉由所每個記憶胞的多個信心度與軟資訊來進行預設解碼操作(低密度奇偶檢查碼解碼操作)。以下利用圖2來說明。
圖2是根據本發明的一實施例所繪示的資料讀取方法的流程圖。請參照圖2,在步驟S21中,處理器211選擇目標字元線,以對所述目標字元線執行讀取操作。具體來說,目標字元線的選方式與時機點已經詳述於上,不贅述於此。然而,在另一實施例中,所述目標字元線亦可指對應讀取指令所指示的讀取資料的字元線。
接著,在步驟S22中,讀取輔助電路單元215(或軟資訊管理電路2151)使用所述預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字。
具體來說,經由使用所述預設讀取電壓組中的對應的轉換讀取電壓對屬於同一個目標實體頁面中的多個目標記憶胞所讀取到的多個讀取位元值會構成對應所述一個目標實體頁面的硬位元碼字。舉例來說,在圖3A的例子中,目標字元線會具有三個目標實體頁面(上、中、下實體頁面)。使用轉換讀取電壓V(i)4來讀取目標字元線的所有目標記憶胞的下實體頁面,會獲得此目標字元線的對應下實體頁面的硬位元碼字。
接著,在步驟S22中,讀取輔助電路單元215(或軟資訊管理電路2151)根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊。
具體來說,在本實施例中,軟資訊可包括三個態樣:第一態樣軟資訊、第二態樣軟資訊與第三態樣軟資訊。處理器211可預先設定所述軟資訊的態樣為上述三者的其中之一。
更詳細來說,反應於所述軟資訊被預設為所述第一態樣軟資訊,所述根據所述多個硬位元碼字產生所述目標字元線的所述多個目標記憶胞各自的所述軟資訊的步驟包括:經由錯誤檢查與校正電路214對所述多個硬位元碼字分別執行預設解碼操作,以獲得分別對應所述多個硬位元碼字的所述多個最小校驗子碼字;以及經由軟資訊管理電路2151根據所述多個目標記憶胞的分別對應所述多個目標實體頁面的所述多個最小校驗子碼字來組成所述多個目標記憶胞的多個軟資訊。所述最小校驗子碼字所對應的校驗子所具有的為“1”的位元值的總數目可大於或等於0。有效碼字亦可被視為一種最小校驗子碼字。
也就是說,針對對所述多個硬位元碼字中的第一硬位元碼字所執行的第一預設解碼操作(所述第一預設解碼操作包括多個迭代解碼操作),每當完成所述多個迭代解碼操作的其中一個迭代解碼操作時,所述錯誤檢查與校正電路獲得已解碼硬位元碼字與對應所述已解碼硬位元碼字的硬位元校驗子。所述錯誤檢查與校正電路214選擇從所完成的多個迭代解碼操作所獲得之多個硬位元校驗子中的最小者作為最小硬位元校驗子,並且從多個已解碼硬位元碼字中辨識對應所述最小硬位元校驗子的已解碼硬位元碼字為最小校驗子碼字,其中所述多個迭代解碼操作的總數目小於或等於迭代次數門檻值。
換句話說,完成對下實體頁面的硬位元碼字所進行之預設解碼操作後,所述錯誤檢查與校正電路214可獲得對應下實體頁面的最小校驗子碼字;完成對中實體頁面的硬位元碼字所進行之預設解碼操作後,所述錯誤檢查與校正電路214可獲得對應中實體頁面的最小校驗子碼字;完成對上實體頁面的硬位元碼字所進行之預設解碼操作後,所述錯誤檢查與校正電路214可獲得對應上實體頁面的最小校驗子碼字。
接著,針對某一個記憶胞,軟資訊管理電路2151可於對應下實體頁面的最小校驗子碼字中辨識到此記憶胞的下實體頁面的讀取位元值,並且將此讀取位元值辨識為此記憶胞的軟資訊的對應下實體頁面的軟位元;於對應中實體頁面的最小校驗子碼字中辨識到此記憶胞的中實體頁面的讀取位元值,並且將此讀取位元值辨識為此記憶胞的軟資訊的對應中實體頁面的軟位元;於對應上實體頁面的最小校驗子碼字中辨識到此記憶胞的上實體頁面的讀取位元值,並且將此讀取位元值辨識為此記憶胞的軟資訊的對應上實體頁面的軟位元。
值得一提的是,在本實施例中,一個目標記憶胞的每一個目標實體頁面對應至所述一個目標記憶胞的軟資訊的一個軟位元,並且所述一個目標記憶胞的所述軟資訊的所有的軟位元的總數目等於所述一個目標記憶胞的所有目標實體頁面的總數目。舉例來說,對於三階記憶胞NAND型快閃記憶體模組的一個記憶胞,所述記憶胞具有上、中、下實體頁面,並且所述上、中、下實體頁面的總數目為3。基此,三階記憶胞NAND型快閃記憶體模組的一個記憶胞的軟資訊會具有3個位元值,並且所述記憶胞的每一個位元值分別對應至所述上、中、下實體頁面。
另一方面,反應於所述軟資訊被預設為所述第二態樣軟資訊,所述根據所述多個硬位元碼字產生所述目標字元線的所述多個目標記憶胞各自的所述軟資訊的步驟包括:直接將分別對應所述目標實體頁面的所述多個硬位元碼字組成所述多個目標記憶胞的所述多個軟資訊。具體來說,若軟資訊為第二態樣軟資訊,針對某一個記憶胞,軟資訊管理電路2151可於對應下實體頁面的硬位元碼字中辨識到此記憶胞的下實體頁面的讀取位元值(亦稱,硬位元值),並且將此讀取位元值辨識為此記憶胞的軟資訊的對應下實體頁面的軟位元;於對應中實體頁面的硬位元碼字中辨識到此記憶胞的中實體頁面的讀取位元值,並且將此讀取位元值辨識為此記憶胞的軟資訊的對應中實體頁面的軟位元;於對應上實體頁面的硬位元碼字辨識到此記憶胞的上實體頁面的讀取位元值,並且將此讀取位元值辨識為此記憶胞的軟資訊的對應上實體頁面的軟位元。接著,軟資訊管理電路2151可將所述多個軟位元組合成所述記憶胞的軟資訊。
另一方面,反應於所述軟資訊被預設為所述第三態樣軟資訊,所述根據所述多個硬位元碼字產生所述目標字元線的所述多個目標記憶胞各自的所述軟資訊的步驟包括:軟資訊管理電路2151選擇所述多個硬位元碼字的其中之一,指示所述錯誤檢查與校正電路214對所選擇之硬位元碼字執行所述預設解碼操作,以獲得對應所選擇的硬位元碼字的最小校驗子碼字;以及根據所選擇的硬位元碼字的所述最小校驗子碼字與所述多個硬位元碼字中所有未被選擇的其他硬位元碼字來組成所述多個目標記憶胞的多個軟資訊。換句話說,對於此第三態樣軟資訊,一個目標記憶胞的軟資訊至少包括一個來自最小校驗子碼字的位元值與一個來自硬位元碼字的位元值。在一實施例中,所選擇之最小校驗子碼字可為有效碼字。在一實施例中,所選擇之最小校驗子碼字的錯誤位元數目可大於一錯誤位元數目門檻值。在一實施例中,所選擇之最小校驗子碼字的總數目可大於一。
在獲得所述多個目標記憶胞各自的軟資訊後,在步驟S24中,讀取輔助電路單元215(或信心表管理電路2152)可根據分別對應所述多個目標實體頁面的多個信心表與所述多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度。
以下先利用圖4A、5A來說明信心表的設定規則。
在本實施例中,一個目標實體頁面的信心表包括分別對應多個臨界電壓分佈區域的多個信心度。在一個目標實體頁面(如,第一目標實體頁面)的信心表(如,第一信心表)中的對應多個臨界電壓分佈區域的多個預設信心度的絕對值大小是經由所述讀取輔助電路單元215(或信心表管理電路2152)根據所述預設讀取電壓組中對應所述第一目標實體頁面的轉換讀取電壓(亦稱,第一轉換讀取電壓)與所述多個臨界電壓分佈區域之間的多個電壓相對關係所設定的,其中所述多個臨界電壓分佈區域中越接近所述第一轉換讀取電壓的一或多個臨界電壓分佈所對應的一或多個預設信心度的所述絕對值大小會越小。
所述多個預設信心度的正負是經由所述讀取輔助電路單元根據所述多個臨界電壓分佈區域所對應的葛雷碼態樣的多個位元值中對應所述第一目標實體頁面的位元值所設定的,其中反應於一個臨界電壓分佈區域(如,第一臨界電壓分佈區域)所對應的葛雷碼態樣的多個位元值中對應所述第一目標實體頁面的位元值為“1”,對應所述第一臨界電壓分佈區域的所述第一預設信心度會被所述讀取輔助電路單元設定為負值,其中反應於第一臨界電壓分佈區域所對應的所述葛雷碼態樣的所述多個位元值中對應所述第一目標實體頁面的所述位元值為“0”,對應所述第一臨界電壓分佈區域的所述第一預設信心度會被所述讀取輔助電路單元設定為正值。
圖4A為根據本發明的一實施例所繪示的設定第一讀取電壓態樣(1/2/4)的信心表的示意圖。
請參照圖4A,舉例來說,假設信心表管理電路2152設定下實體頁面的信心表410。信心表410包括了分別對應臨界電壓分佈區域G1~G8的預設信心度410(1)~410(8)。首先,信心表管理電路2152會先辨識下實體頁面的轉換讀取電壓V(i)4
的電壓值大小,並且根據臨界電壓分佈區域G1~G8與轉換讀取電壓V(i)4
的電壓值的電壓差,由小至大來排序臨界電壓分佈區域G1~G8(臨界電壓分佈區域與轉換讀取電壓之間的電壓差越小,表示臨界電壓分佈區域越接近所述轉換讀取電壓)。接著,信心表管理電路2152將信心表410中對應最接近轉換讀取電壓V(i)4
的臨界電壓分佈區域G4、G5的預設信心度410(4)、410(5)的絕對值大小設定為“A”;將臨界電壓分佈區域G3、G6的預設信心度410(3)、410(6)的絕對值大小設定為“B”;將臨界電壓分佈區域G2、G7的預設信心度410(2)、410(7)的絕對值大小設定為“C”;將臨界電壓分佈區域G1、G8的預設信心度410(1)、410(8)的絕對值大小設定為“D”。所述“A”、“B”、“C”、“D”用以表示四個不同的數值,其中|A|<|B|<|C|<|D|。也就是說,由於越接近轉換讀取電壓的記憶胞所儲存的讀取位元值具有較高的誤判機率,最接近轉換讀取電壓的臨界電壓分佈區域的信心度會最小,並且最遠離轉換讀取電壓的臨界電壓分佈區域的信心度會最大。
接著,信心表管理電路2152辨識臨界電壓分佈區域G1、G2、G3、G4所對應的葛雷碼態樣的下實體頁面的位元值為“1”,並且對應地將臨界電壓分佈區域G1、G2、G3、G4所對應的預設信心度410(1)、410(2)、410(3)、410(4)設定為負值。即,對應臨界電壓分佈區域G1、G2、G3、G4的預設信心度410(1)、410(2)、410(3)、410(4)最終被設定為“-D”、“-C”、“-B”、“-A”。
相反地,信心表管理電路2152辨識臨界電壓分佈區域G5、G6、G7、G8所對應的葛雷碼態樣的下實體頁面的位元值為“0”,並且對應地將臨界電壓分佈區域G5、G6、G7、G8所對應的預設信心度410(5)、410(6)、410(7)、410(8)設定為正值。即,對應臨界電壓分佈區域G5、G6、G7、G8的預設信心度410(5)、410(6)、410(7)、410(8)最終被設定為“+A”、“+B”、“+C”、“+D”。
以此類推,第一讀取電壓態樣的對應中實體頁面的信心表420的對應臨界電壓分佈區域G1~G8的預設信心度420(1)~420(8)被設定為“-B”、“-A”、“+A”、“+B”、“+B”、“+A”、“-A”、“-B”; 第一讀取電壓態樣的對應上實體頁面的信心表430的對應臨界電壓分佈區域G1~G8的預設信心度430(1)~430(8)被設定為“-A”、“+A”、“+A”、“-A”、“-A”、“+A”、“+A”、“-A”。
圖5A為根據本發明的一實施例所繪示的設定第二讀取電壓態樣(2/3/2)的信心表的示意圖。請參照圖5A,相似地,第二讀取電壓態樣的對應下實體頁面的信心表510的對應臨界電壓分佈區域G1~G8的預設信心度510(1)~510(8)被設定為“-A”、“+A”、“+B”、“+B”、“+A”、“-A”、“-B”、“-C”;第二讀取電壓態樣的對應中實體頁面的信心表520的對應臨界電壓分佈區域G1~G8的預設信心度520(1)~520(8)被設定為“-B”、“-A”、“+A”、“+A”、“-A”、“-A”、“+A”、“+B”;第二讀取電壓態樣的對應上實體頁面的信心表530的對應臨界電壓分佈區域G1~G8的預設信心度530(1)~530(8)被設定為“-C”、“-B”、“-A”、“+A”、“+B”、“+B”、“+A”、“-A”。信心表管理電路2152可儲存所設定之多個信心表。
圖4B為根據本發明的一實施例所繪示的對應第一讀取電壓態樣(1/2/4)的信心表的示意圖。圖5B為根據本發明的一實施例所繪示的對應第二讀取電壓態樣(2/3/2)的信心表的示意圖。
詳細來說,步驟S24可包括下列步驟:針對對應所述多個目標實體頁面中的第一目標實體頁面的第一信心表與所述多個目標記憶胞中的第一目標記憶胞的第一軟資訊,根據所述第一軟資訊辨識在所述多個臨界電壓分佈區域中的所述第一目標記憶胞所屬的第一臨界電壓分佈區域;根據所述第一臨界電壓分佈區域從所述第一信心表中查找對應所述第一臨界電壓分佈區域的一第一預設信心度;辨識所述第一預設信心度作為所述第一目標記憶胞的所述多個信心度中對應所述第一目標實體頁面的第一信心度。
請參照圖4B,舉例來說,假設A=2;B=4;C=6;D=8。設定完的第一讀取電壓態樣的多個信心表410~430如圖4B所示。若第一目標記憶胞的軟資訊為“111”, 信心表管理電路2152可辨識所述第一目標記憶胞屬於臨界電壓分佈區域G1,並且從對應下實體頁面的信心表410中查找出第一目標記憶胞的對應下實體頁面的信心度為“-8”;從對應中實體頁面的信心表420中查找出第一目標記憶胞的對應中實體頁面的信心度為“-4”;從對應上實體頁面的信心表430中查找出第一目標記憶胞的對應上實體頁面的信心度為“-2”。
又例如,請參照圖5B,假設A=2;B=4;C=6。設定完的第二讀取電壓態樣的多個信心表510~530如圖5B所示。若第一目標記憶胞的軟資訊為“010”,信心表管理電路2152可辨識所述第一目標記憶胞屬於臨界電壓分佈區域G5,並且從對應下實體頁面的信心表510中查找出第一目標記憶胞的對應下實體頁面的信心度為“+2”;從對應中實體頁面的信心表520中查找出第一目標記憶胞的對應中實體頁面的信心度為“-2”;從對應上實體頁面的信心表530中查找出第一目標記憶胞的對應上實體頁面的信心度為“+4”。
請再回到圖2,在辨識完所述多個目標記憶胞各自的對應所述多個目標實體頁面的所述多個信心度後,在步驟S25中,經由錯誤檢查與校正電路214將所述多個目標記憶胞的所述多個信心度替代所述預設迭代解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設迭代解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,進而完成所述讀取操作。
具體來說,原本對應目標字元線的預設解碼操作是根據對應所述多個目標記憶胞的多個對數似然比值與對應所述多個目標記憶胞的原始軟資訊來執行多個迭代解碼操作。所述原始軟資訊並不相同於步驟S23所產生的軟資訊。所述原始軟資訊是經由對應多個轉換讀取電壓的多個輔助讀取電壓組而獲得的,其中對應一個轉換讀取電壓的一個輔助讀取電壓組具有成對的兩個輔助讀取電壓,其中一個輔助讀取電壓小於所述轉換讀取電壓一個電壓偏差值,並且另一個輔助讀取電壓大於所述轉換讀取電壓一個電壓偏差值。
但,在步驟S25中,錯誤檢查與校正電路214會將所述多個目標記憶胞的多個對數似然比值由所述多個目標記憶胞的多個信心度來替代,將經由步驟S23所產生的所述多個目標記憶胞的多個軟資訊取代原始軟資訊,並且重新執行對於所述多個目標記憶胞的所述多個軟資訊的預設解碼操作(亦稱,已調整的預設解碼操作)。在完成所述已調整的預設解碼操作後,錯誤檢查與校正電路214可獲得最終已解碼碼字(有效碼字),並且完成對應所述目標字元線的所述讀取操作。
值得一提的是,在上述的多個實施例中,上述讀取輔助電路單元215是以硬體電路的方式來實施,但本發明不限於此。例如,在一實施例中,讀取輔助電路單元215可以軟體的方式實施為具有讀取輔助電路單元215的功能的讀取輔助程式碼模組。讀取輔助程式碼模組可包括軟資訊管理程式碼模組與信心表管理程式碼模組。所述軟資訊管理程式碼模組為具有軟資訊管理電路2151的功能的程式碼模組;所述信心表管理程式碼模組為具有信心表管理電路2152的功能的程式碼模組。所述處理器211可存取且執行讀取輔助程式碼模組(或軟資訊管理程式碼模組與信心表管理程式碼模組)來實施本發明所提供的資料讀取方法(或讀取輔助方法)。
綜上所述,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,可在不需要準備已驗證資料的情況下,利用讀取目標字元線的多個目標實體頁面以獲得多個硬位元碼字,並且利用所述多個硬位元碼字來產生所述目標字元線的多個目標記憶胞各自的軟資訊。接著,本發明實施例所提供的資料讀取方法、儲存控制器及儲存裝置,更可使用多個軟資訊經由查找對應所述多個目標實體頁面的多個信心表來獲得多個目標記憶胞的對應多個目標實體頁面的多個信心度,進而根據多個目標記憶胞的對應多個目標實體頁面的多個信心度來執行調整後的迭代解碼操作,以強化解碼能力且改善讀取操作的效率。如此一來,可增進從所述目標字元線所讀取資料的正確性與可靠度,以降低對所讀取資料所執行的解碼操作的負荷,進而增進了資料讀取操作整體的效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:主機系統
20:儲存裝置
110、211:處理器
120:主機記憶體
130:資料傳輸介面電路
210:儲存控制器
212:資料傳輸管理電路
213:記憶體介面控制電路
214:錯誤檢查與校正電路
215:讀取電壓管理電路單元
2151:軟資訊管理電路
2152:信心表管理電路
218:緩衝記憶體
219:電源管理電路
220:可複寫式非揮發性記憶體模組
230:連接介面電路
S21、S22、S23、S24、S25:資料讀取方法的流程步驟
V(1)1
~V(i)7
:讀取電壓
L:下實體頁面的位元值
M:中實體頁面的位元值
U:上實體頁面的位元值
G1~G8:臨界電壓分佈區域
SL1、SL2:下實體頁面的儲存狀態
SM1、SM2、SM3:中實體頁面的儲存狀態
SU1、SU2、SU3、SU4、SU5:上實體頁面的儲存狀態
400、500:軟資訊
410、420、430、510、520、530:信心表
410(1)~410(8)、420(1)~420(8)、430(1)~430(8)、510(1)~510(8)、520(1)~520(8)、530(1)~530(8):預設信心度
圖1是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
圖2是根據本發明的一實施例所繪示的資料讀取方法的流程圖。
圖3A為根據本發明的一實施例所繪示的第一讀取電壓態樣(1/2/4)的臨界電壓分佈及對應的葛雷碼態樣的示意圖。
圖3B為根據本發明的一實施例所繪示的第二讀取電壓態樣(2/3/2)的臨界電壓分佈及對應的葛雷碼態樣的示意圖。
圖4A為根據本發明的一實施例所繪示的設定第一讀取電壓態樣(1/2/4)的信心表的示意圖。
圖4B為根據本發明的一實施例所繪示的對應第一讀取電壓態樣(1/2/4)的信心表的示意圖。
圖5A為根據本發明的一實施例所繪示的設定第二讀取電壓態樣(2/3/2)的信心表的示意圖。
圖5B為根據本發明的一實施例所繪示的對應第二讀取電壓態樣(2/3/2)的信心表的示意圖。
S21、S22、S23、S24、S25:資料讀取方法的流程步驟
Claims (15)
- 一種資料讀取方法,適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值,所述方法包括: 選擇目標字元線,以對所述目標字元線執行讀取操作; 使用所述預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字; 根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊; 根據分別對應所述多個目標實體頁面的多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度,其中所述多個信心表各自具有分別對應多個臨界電壓分佈區域的多個預設信心度,其中所述多個臨界電壓分佈區域對應多個葛雷碼態樣;以及 將所述多個目標記憶胞的所述多個信心度替代所述預設解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,並且完成所述讀取操作。
- 如申請專利範圍第1項所述的資料讀取方法,其中所述預設解碼操作包括應用低密度奇偶檢查演算法的多個迭代解碼操作。
- 如申請專利範圍第1項所述的資料讀取方法,其中所述軟資訊被預設為第一態樣軟資訊、第二態樣軟資訊或第三態樣軟資訊,其中 反應於所述軟資訊被預設為所述第一態樣軟資訊,所述根據所述多個硬位元碼字產生所述目標字元線的所述多個目標記憶胞各自的所述軟資訊的步驟包括: 對所述多個硬位元碼字分別執行預設解碼操作,以獲得分別對應所述多個硬位元碼字的所述多個最小校驗子碼字;以及 根據所述多個目標記憶胞的分別對應所述多個目標實體頁面的所述多個最小校驗子碼字來組成所述多個目標記憶胞的多個軟資訊, 其中反應於所述軟資訊被預設為所述第二態樣軟資訊,所述根據所述多個硬位元碼字產生所述目標字元線的所述多個目標記憶胞各自的所述軟資訊的步驟包括: 直接將分別對應所述目標實體頁面的所述多個硬位元碼字組成所述多個目標記憶胞的所述多個軟資訊; 其中反應於所述軟資訊被預設為所述第三態樣軟資訊,所述根據所述多個硬位元碼字產生所述目標字元線的所述多個目標記憶胞各自的所述軟資訊的步驟包括: 選擇所述多個硬位元碼字的其中之一執行所述預設解碼操作,以獲得對應所選擇的硬位元碼字的最小校驗子碼字;以及 根據所選擇的硬位元碼字的所述最小校驗子碼字與所述多個硬位元碼字中所有未被選擇的其他硬位元碼字來組成所述多個目標記憶胞的多個軟資訊。
- 如申請專利範圍第3項所述的資料讀取方法,其中所述對所述多個硬位元碼字分別執行所述預設解碼操作,以獲得分別對應所述多個硬位元碼字的所述多個最小校驗子碼字的步驟包括: 針對對所述多個硬位元碼字中的第一硬位元碼字所執行的第一預設解碼操作,所述第一預設解碼操作包括多個迭代解碼操作, 每當完成所述多個迭代解碼操作的其中一個迭代解碼操作時,獲得已解碼硬位元碼字與對應所述已解碼硬位元碼字的硬位元校驗子;以及 選擇多個硬位元校驗子中的最小者作為最小硬位元校驗子,並且從多個已解碼硬位元碼字中辨識對應所述最小硬位元校驗子的已解碼硬位元碼字為最小校驗子碼字,其中所述多個迭代解碼操作的總數目小於或等於迭代次數門檻值。
- 如申請專利範圍第4項所述的資料讀取方法,其中一個目標記憶胞的每一個目標實體頁面對應至所述一個目標記憶胞的軟資訊的一個軟位元,並且所述一個目標記憶胞的所述軟資訊的所有的軟位元的總數目等於所述一個目標記憶胞的所有目標實體頁面的總數目。
- 如申請專利範圍第1項所述的資料讀取方法,其中所述根據分別對應所述多個目標實體頁面的所述多個信心表與所述多個目標記憶胞的所述多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的所述多個信心度的步驟包括: 針對對應所述多個目標實體頁面中的第一目標實體頁面的第一信心表與所述多個目標記憶胞中的第一目標記憶胞的第一軟資訊, 根據所述第一軟資訊辨識在所述多個臨界電壓分佈區域中的所述第一目標記憶胞所屬的第一臨界電壓分佈區域; 根據所述第一臨界電壓分佈區域從所述第一信心表中查找對應所述第一臨界電壓分佈區域的一第一預設信心度; 辨識所述第一預設信心度作為所述第一目標記憶胞的所述多個信心度中對應所述第一目標實體頁面的第一信心度。
- 如申請專利範圍第6項所述的資料讀取方法,其中在所述第一目標實體頁面的所述第一信心表中的對應所述多個臨界電壓分佈區域的多個預設信心度的絕對值大小是根據所述預設讀取電壓組中對應所述第一目標實體頁面的第一轉換讀取電壓與所述多個臨界電壓分佈區域之間的多個電壓相對關係所設定的, 其中所述多個臨界電壓分佈區域中越接近所述第一轉換讀取電壓的一或多個臨界電壓分佈所對應的一或多個預設信心度的所述絕對值大小會越小, 其中所述多個預設信心度的正負是根據所述多個臨界電壓分佈區域所對應的葛雷碼態樣的多個位元值中對應所述第一目標實體頁面的位元值所設定的, 其中反應於第一臨界電壓分佈區域所對應的葛雷碼態樣的多個位元值中對應所述第一目標實體頁面的位元值為“1”,對應所述第一臨界電壓分佈區域的所述第一預設信心度會被設定為負值, 其中反應於第一臨界電壓分佈區域所對應的所述葛雷碼態樣的所述多個位元值中對應所述第一目標實體頁面的所述位元值為“0”,對應所述第一臨界電壓分佈區域的所述第一預設信心度會被設定為正值。
- 一種儲存控制器,用於控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置,所述儲存控制器包括: 一連接介面電路,用以耦接至一主機系統; 一記憶體介面控制電路,用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值; 一讀取輔助電路單元; 一錯誤檢查與校正電路;以及 一處理器,耦接至所述連接介面電路、所述記憶體介面控制電路、所述讀取輔助電路單元及所述錯誤檢查與校正電路, 其中所述處理器用以選擇所述可複寫式非揮發性記憶體模組的所述多個字元線中的一目標字元線,以對所述目標字元線執行讀取操作, 其中所述讀取輔助電路單元用以使用所述預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字, 其中所述讀取輔助電路單元更用以根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊, 其中所述讀取輔助電路單元更用以根據分別對應所述多個目標實體頁面的多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度,其中所述多個信心表各自具有分別對應多個臨界電壓分佈區域的多個預設信心度,其中所述多個臨界電壓分佈區域對應多個葛雷碼態樣, 其中所述錯誤檢查與校正電路用以將所述多個目標記憶胞的所述多個信心度替代所述預設解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,進而完成所述讀取操作。
- 如申請專利範圍第8項所述的儲存控制器,其中所述預設解碼操作包括應用低密度奇偶檢查演算法的多個迭代解碼操作。
- 如申請專利範圍第8項所述的儲存控制器,其中所述軟資訊被預設為第一態樣軟資訊、第二態樣軟資訊或第三態樣軟資訊,其中 反應於所述軟資訊被預設為所述第一態樣軟資訊, 所述錯誤檢查與校正電路對所述多個硬位元碼字分別執行預設解碼操作,以獲得分別對應所述多個硬位元碼字的所述多個最小校驗子碼字, 其中所述讀取輔助電路單元根據所述多個目標記憶胞的分別對應所述多個目標實體頁面的所述多個最小校驗子碼字來組成所述多個目標記憶胞的多個軟資訊, 其中反應於所述軟資訊被預設為所述第二態樣軟資訊, 所述讀取輔助電路單元直接將分別對應所述目標實體頁面的所述多個硬位元碼字組成所述多個目標記憶胞的所述多個軟資訊, 其中反應於所述軟資訊被預設為所述第三態樣軟資訊, 所述錯誤檢查與校正電路選擇所述多個硬位元碼字的其中之一執行所述預設解碼操作,以獲得對應所選擇的硬位元碼字的最小校驗子碼字, 其中讀取輔助電路單元根據所選擇的硬位元碼字的所述最小校驗子碼字與所述多個硬位元碼字中所有未被選擇的其他硬位元碼字來組成所述多個目標記憶胞的多個軟資訊。
- 如申請專利範圍第10項所述的儲存控制器,其中在所述所述錯誤檢查與校正電路對所述多個硬位元碼字分別執行所述預設解碼操作,以獲得分別對應所述多個硬位元碼字的所述多個最小校驗子碼字的運作中, 針對對所述多個硬位元碼字中的第一硬位元碼字所執行的第一預設解碼操作,其中所述第一預設解碼操作包括多個迭代解碼操作, 每當完成所述多個迭代解碼操作的其中一個迭代解碼操作時,所述錯誤檢查與校正電路獲得已解碼硬位元碼字與對應所述已解碼硬位元碼字的硬位元校驗子, 其中所述錯誤檢查與校正電路選擇多個硬位元校驗子中的最小者作為最小硬位元校驗子,並且從多個已解碼硬位元碼字中辨識對應所述最小硬位元校驗子的已解碼硬位元碼字為最小校驗子碼字,其中所述多個迭代解碼操作的總數目小於或等於迭代次數門檻值。
- 如申請專利範圍第11項所述的儲存控制器,其中一個目標記憶胞的每一個目標實體頁面對應至所述一個目標記憶胞的軟資訊的一個軟位元,並且所述一個目標記憶胞的所述軟資訊的所有的軟位元的總數目等於所述一個目標記憶胞的所有目標實體頁面的總數目。
- 如申請專利範圍第8項所述的儲存控制器,其中在所述所述讀取輔助電路單元根據分別對應所述多個目標實體頁面的所述多個信心表與所述多個目標記憶胞的所述多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的所述多個信心度的運作中, 針對對應所述多個目標實體頁面中的第一目標實體頁面的第一信心表與所述多個目標記憶胞中的第一目標記憶胞的第一軟資訊, 所述讀取輔助電路單元根據所述第一軟資訊辨識在所述多個臨界電壓分佈區域中的所述第一目標記憶胞所屬的第一臨界電壓分佈區域, 其中所述讀取輔助電路單元根據所述第一臨界電壓分佈區域從所述第一信心表中查找對應所述第一臨界電壓分佈區域的一第一預設信心度, 其中所述讀取輔助電路單元辨識所述第一預設信心度作為所述第一目標記憶胞的所述多個信心度中對應所述第一目標實體頁面的第一信心度。
- 如申請專利範圍第13項所述的儲存控制器,其中在所述第一目標實體頁面的所述第一信心表中的對應所述多個臨界電壓分佈區域的多個預設信心度的絕對值大小是經由所述讀取輔助電路單元根據所述預設讀取電壓組中對應所述第一目標實體頁面的第一轉換讀取電壓與所述多個臨界電壓分佈區域之間的多個電壓相對關係所設定的, 其中所述多個臨界電壓分佈區域中越接近所述第一轉換讀取電壓的一或多個臨界電壓分佈所對應的一或多個預設信心度的所述絕對值大小會越小, 其中所述多個預設信心度的正負是經由所述讀取輔助電路單元根據所述多個臨界電壓分佈區域所對應的葛雷碼態樣的多個位元值中對應所述第一目標實體頁面的位元值所設定的, 其中反應於第一臨界電壓分佈區域所對應的葛雷碼態樣的多個位元值中對應所述第一目標實體頁面的位元值為“1”,對應所述第一臨界電壓分佈區域的所述第一預設信心度會被所述讀取輔助電路單元設定為負值, 其中反應於第一臨界電壓分佈區域所對應的所述葛雷碼態樣的所述多個位元值中對應所述第一目標實體頁面的所述位元值為“0”,對應所述第一臨界電壓分佈區域的所述第一預設信心度會被所述讀取輔助電路單元設定為正值。
- 一種儲存裝置,所述儲存裝置包括: 一可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個字元線,其中每一該些字元線耦接至多個記憶胞,其中所述多個記憶胞中的每一個記憶胞包括多個實體頁面,並且所述多個實體頁面中的每一個實體頁面用以被程式化為一位元值; 一記憶體介面控制電路,用以耦接至該可複寫式非揮發性記憶體模組;以及 一處理器,耦接至該記憶體介面控制電路,其中該處理器載入且執行一讀取輔助程式碼模組,以實現一資料讀取方法,該資料讀取方法包括下列步驟: 選擇目標字元線,以對所述目標字元線執行讀取操作; 使用所述預設讀取電壓組來讀取所述目標字元線的多個目標實體頁面,以獲得分別對應所述多個目標實體頁面的多個硬位元碼字; 根據所述多個硬位元碼字產生所述目標字元線的多個目標記憶胞各自的軟資訊; 根據分別對應所述多個目標實體頁面的多個信心表與多個目標記憶胞的多個軟資訊來辨識所述多個目標記憶胞各自對應所述多個目標實體頁面的多個信心度,其中所述多個信心表各自具有分別對應多個臨界電壓分佈區域的多個預設信心度,其中所述多個臨界電壓分佈區域對應多個葛雷碼態樣;以及 將所述多個目標記憶胞的所述多個信心度替代所述預設解碼操作中對應所述多個目標記憶胞的多個對數似然比值,並且對所述多個軟資訊執行具有所述已替代的多個對數似然比值的已調整的預設解碼操作,以獲得分別對應所述多個目標實體頁面的多個最終已解碼碼字,並且完成所述讀取操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108110631A TW202036570A (zh) | 2019-03-27 | 2019-03-27 | 資料讀取方法、儲存控制器與儲存裝置 |
US16/423,032 US10768855B1 (en) | 2019-03-27 | 2019-05-26 | Data reading method, storage controller and storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108110631A TW202036570A (zh) | 2019-03-27 | 2019-03-27 | 資料讀取方法、儲存控制器與儲存裝置 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202036570A true TW202036570A (zh) | 2020-10-01 |
Family
ID=72290052
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108110631A TW202036570A (zh) | 2019-03-27 | 2019-03-27 | 資料讀取方法、儲存控制器與儲存裝置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10768855B1 (zh) |
TW (1) | TW202036570A (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11971826B2 (en) | 2021-09-16 | 2024-04-30 | Sandisk Technologies Llc | Architecture and data path options for compression of soft bit data in non-volatile memories |
US11971829B2 (en) | 2021-09-16 | 2024-04-30 | Sandisk Technologies Llc | On-the-fly compression scheme for soft bit data in non-volatile memory |
US11907545B2 (en) | 2021-09-16 | 2024-02-20 | Sandisk Technologies Llc | On-the-fly multiplexing scheme for compressed soft bit data in non-volatile memories |
US11894068B2 (en) | 2021-09-16 | 2024-02-06 | Sandisk Technologies Llc | Efficient sensing of soft bit data for non-volatile memory |
US11776589B2 (en) | 2021-09-16 | 2023-10-03 | Sandisk Technologies Llc | Vertical compression scheme for compressed soft bit data in non-volatile memories with data latch groups |
US11901019B2 (en) | 2021-09-16 | 2024-02-13 | Sandisk Technologies Llc | Use of data latches for compression of soft bit data in non-volatile memories |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9454414B2 (en) * | 2013-03-15 | 2016-09-27 | Microsemi Storage Solutions (Us), Inc. | System and method for accumulating soft information in LDPC decoding |
US9009576B1 (en) * | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US10290358B2 (en) * | 2016-07-08 | 2019-05-14 | Seagate Technology Llc | Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights |
US11099781B2 (en) * | 2018-07-19 | 2021-08-24 | Silicon Motion, Inc. | Flash memory controller, flash memory module and associated electronic device |
-
2019
- 2019-03-27 TW TW108110631A patent/TW202036570A/zh unknown
- 2019-05-26 US US16/423,032 patent/US10768855B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20200310680A1 (en) | 2020-10-01 |
US10768855B1 (en) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107092536B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
TW202036570A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TWI686804B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TWI670715B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US9934087B2 (en) | Decoding method, memory storage device and memory control circuit unit | |
TW201944738A (zh) | 解碼方法及儲存控制器 | |
US10803973B2 (en) | Memory management method and storage controller | |
TW202029188A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TW202042242A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TWI691963B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TWI717171B (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
TW202244732A (zh) | 資料存取方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN111913829B (zh) | 数据读取方法、存储控制器与存储装置 | |
CN111798889A (zh) | 数据读取方法、存储控制器与存储装置 | |
CN110874281B (zh) | 存储器管理方法以及存储控制器 | |
US11817172B2 (en) | Table management method, memory storage device and memory control circuit unit | |
CN111796961A (zh) | 数据读取方法、存储控制器与存储装置 | |
CN111459704B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
US11145372B2 (en) | Decoding method, memory controlling circuit unit, and memory storage device | |
TWI836877B (zh) | 讀取電壓校正方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN111863099B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI705449B (zh) | 電壓識別方法、記憶體控制電路單元以及記憶體儲存裝置 | |
CN112634972B (zh) | 电压识别方法、存储器控制电路单元以及存储器储存装置 | |
CN110391815B (zh) | 解码方法及储存控制器 | |
TWI675374B (zh) | 位元判斷方法、記憶體控制電路單元以及記憶體儲存裝置 |