TWI651726B - 解碼方法以及儲存控制器 - Google Patents
解碼方法以及儲存控制器 Download PDFInfo
- Publication number
- TWI651726B TWI651726B TW107111392A TW107111392A TWI651726B TW I651726 B TWI651726 B TW I651726B TW 107111392 A TW107111392 A TW 107111392A TW 107111392 A TW107111392 A TW 107111392A TW I651726 B TWI651726 B TW I651726B
- Authority
- TW
- Taiwan
- Prior art keywords
- read
- sum
- group
- read voltage
- groups
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- 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
- 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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/5628—Programming or writing circuits; Data input circuits
-
- 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/5671—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 trapping in an insulator
-
- 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/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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
Abstract
本發明提供適用於可複寫式非揮發性記憶體模組的一種解碼方法以及儲存控制器。所述方法包括選擇所述多個字元線中的目標字元線,其中預設資料已被程式化至所述目標字元線的多個目標記憶胞中;根據所述預設資料來辨識多個預設位元值;分別利用不同的X個讀取電壓組讀取所述多個目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組,並且經由比較所述X個讀取位元值組與所述多個預設位元值來獲得X個偏移數目總和組;以及根據所述X個偏移數目總和組來決定一最佳化讀取電壓組的N-1個最佳化讀取電壓。
Description
本發明是有關於一種解碼方法,且特別是有關於一種適用於配置有可複寫式非揮發性記憶體模組的儲存裝置的解碼方法與儲存控制器。
一般來說,在對可複寫式非揮發性記憶體模組讀取資料時,若頁面讀取失敗的情況沒有發生,系統會使用預設讀取電壓組或之前用過的最佳讀取電壓組來讀取資料。直到讀取失敗的情況發生,系統(儲存系統)才會不使用預設讀取電壓組或已用過的最佳電壓,並且對應地調整讀取電壓組。
換句話說,可複寫式非揮發性記憶體模組的最佳讀取電壓組值並不會是固定的。然而,傳統上調整讀取電壓組以獲得最佳讀取電壓組來讀取資料的作法是耗費資源的。舉例來說,第一種傳統的讀取電壓最佳化的過程會一直調整對應不同臨界電壓分佈的多個不同讀取電壓的大小(調整一個讀取電壓組中的對應一個臨界分佈交界的一個讀取電壓,並且固定該讀取電壓組中其餘的讀取電壓)來讀取上述發生頁面讀取失敗的資料,以嘗試獲得最好的資料讀取結果且將對應最好的資料讀取結果的讀取電壓組作為對應用以儲存所述資料的實體單元的最佳化讀取電壓組。以TLC型快閃記憶體(一個記憶胞儲存3個位元值)為例,一個讀取電壓組內共有七個讀取電壓對應於不同電壓區段。採用傳統方法,需固定六個讀取電壓,並改變一個讀取電壓。若每個讀取電壓需調整X次(且經由讀取來獲得結果,以比較所有結果來找出最佳者),則為了獲得最佳讀取電壓所使用的讀取次數為(2
3-1)*X=7*X次。此外,上述傳統的作法還需要準備已經驗證的資料。換言之,第一種傳統作法會需要耗費大量的計算資源(調整讀取電壓及驗證對應的讀取後資料)與儲存空間(用以儲存預設資料的空間),進而降低了解碼操作的效率。
此外,第二種傳統作法是分別利用記憶體模組硬體規格上所被預先設定的多個調整讀取電壓組來對嘗試讀取所述資料,以找尋最佳的資料讀取結果。其中,每個調整讀取電壓組中的多個讀取電壓並不能被儲存裝置的控制器所設定,並且所述調整讀取電壓組的數量也是有限。換言之,利用第二種傳統作法,或許可以找到其中的一組調整讀取電壓組以讓藉由此讀取電壓組所讀取的資料可以為正確的(解碼成功的)。但是,所述找到的調整讀取電壓組並不能夠如同第一種傳統作法,找到符合當前臨界電壓分佈的最佳讀取電壓組。此外,由於調整讀取電壓組的數量與精度較低,因此,也會出現所有調整讀取電壓組皆不能使所讀取的資料讀取正確的情形。
也就是說,第二種傳統作法雖然可以利用少數量的調整電壓組來較第一種傳統作法來較快速地找到可使所讀取資料正確的讀取電壓組,但是此方法的失敗機率也會相較於第一種傳統作法大,並且所讀取的資料的錯誤位元數也會較高,進而增加了解碼操作的負擔。
因此,如何在不需要準備驗證資料的情況下,快速且有效率地對讀取電壓進行最佳化,以改善傳統作法的缺陷,進而提昇可複寫式非揮發性記憶體模組的讀取及對應的解碼效率,是本領域人員研究的課題之一。
本發明提供一種解碼方法與儲存控制器,可在利用目標字元線所儲存的預設資料,快速且有效率地獲得精確的對應所述目標字元線的最佳化讀取電壓組,進而可經由最佳化讀取電壓組的多個最佳化讀取電壓來從所述目標字元線中正確地讀取資料並且有效率地進行解碼操作。
本發明的一實施例提供適用於配置有可複寫式非揮發性記憶體模組的儲存裝置的一種解碼方法,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線包括多個記憶胞,其中所述多個記憶胞中的每一個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Grey Code)的其中之一的位元值,並且所述多個葛雷碼的總數為N,N為大於2的第一預定正整數。所述方法包括:選擇所述多個字元線中的目標字元線,其中預設資料已被程式化至所述目標字元線的多個目標記憶胞中;根據所述預設資料來辨識所述多個目標記憶胞所儲存的多個預設位元值;分別利用不同的X個讀取電壓組讀取所述多個目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組,並且經由比較所述X個讀取位元值組與所述多個預設位元值來獲得X個偏移數目總和組,其中X為一第二預定正整數,所述X個讀取電壓組以一第一預定順序排列,並且所述X個讀取電壓組中相鄰的兩個讀取電壓組之間的電壓差值為一第一預定電壓差,其中每一個所述X個讀取電壓組具有依據一第二預定順序排列的N-1個讀取電壓,並且每一個所述X個偏移數目總和組具有依據所述第二預定順序排列的N-1個偏移數目總和,其中所述X個讀取位元值組中的第i個讀取位元值組對應所述X個讀取電壓組中的第i個讀取電壓組,所述X個偏移數目總和組中的第i個偏移數目總和組對應所述X個讀取電壓組中的第i個讀取電壓組,並且所述第i個偏移數目總和組中的第j個偏移數目總和對應所述第i個讀取電壓組中的第j個讀取電壓;以及根據所述X個偏移數目總和組來決定一最佳化讀取電壓組的N-1個最佳化讀取電壓。
本發明的一實施例提供用於控制配置有可複寫式非揮發性記憶體模組的儲存裝置的一種儲存控制器。所述儲存控制器包括:連接介面電路、記憶體介面控制電路、讀取電壓管理電路單元以及處理器。連接介面電路用以耦接至主機系統。記憶體介面控制電路用以耦接至所述可複寫式非揮發性記憶體模組,其中所述可複寫式非揮發性記憶體模組具有多個字元線,其中所述多個字元線的每一個字元線包括多個記憶胞,其中所述多個記憶胞中的每一個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Grey Code)的其中之一的位元值,並且所述多個葛雷碼的總數為N,N為大於2的第一預定正整數。所述處理器選擇所述多個字元線中的目標字元線,並且指示所述讀取電壓管理電路單元進行對應所述目標字元線的讀取電壓最佳化操作,其中一預設資料已被程式化至所述目標字元線的多個目標記憶胞中,其中在所述讀取電壓最佳化操作中,所述讀取電壓管理電路單元用以根據所述預設資料來辨識所述多個目標記憶胞所儲存的多個預設位元值;所述讀取電壓管理電路單元更用以分別利用不同的X個讀取電壓組讀取所述多個目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組,並且經由比較所述X個讀取位元值組與所述多個預設位元值來獲得X個偏移數目總和組,其中X為一第二預定正整數,所述X個讀取電壓組以一第一預定順序排列,並且所述X個讀取電壓組中相鄰的兩個讀取電壓組之間的電壓差值為一第一預定電壓差,其中每一個所述X個讀取電壓組具有依據一第二預定順序排列的N-1個讀取電壓,並且每一個所述X個偏移數目總和組具有依據所述第二預定順序排列的N-1個偏移數目總和,其中所述X個讀取位元值組中的第i個讀取位元值組對應所述X個讀取電壓組中的第i個讀取電壓組,所述X個偏移數目總和組中的第i個偏移數目總和組對應所述X個讀取電壓組中的第i個讀取電壓組,並且所述第i個偏移數目總和組中的第j個偏移數目總和對應所述第i個讀取電壓組的N-1個讀取電壓中的第j個讀取電壓;以及所述讀取電壓管理電路單元更用以根據所述X個偏移數目總和組來決定一最佳化讀取電壓組的N-1個最佳化讀取電壓。
基於上述,本發明實施例所提供的解碼方法以及儲存控制器,可利用目標字元線所儲存的預設資料,對逤述目標字元線執行對應所述目標字元線的讀取電壓最佳化操作。在所述讀取電壓最佳化操作中,儲存控制器根據所述預設資料與經由利用多個不同的讀取電壓組讀取所述目標字元線所獲得的多個讀取位元組,來計算出多個偏移數目總和組,以根據所述多個偏移數目總和組決定對應所述目標字元線的最佳化讀取電壓組的多個最佳化讀取電壓。如此一來,可有效率且快速地找尋到用以讀取所述目標字元線的最佳的讀取電壓組,進而增進了從中所讀取資料的正確性且增進了用於讀取之解碼操作整體的效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
在本實施例中,儲存裝置包括可複寫式非揮發性記憶體模組(rewritable non-volatile memory module)與儲存裝置控制器(亦稱,儲存控制器或儲存控制電路)。此外,儲存裝置是與主機系統一起使用,以使主機系統可將資料寫入至儲存裝置或從儲存裝置中讀取資料。
圖1是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。
請參照圖1,主機系統(Host System)10包括處理器(Processor)110、主機記憶體(Host Memory)120及資料傳輸介面電路(Data Transfer Interface Circuit)130。在本實施例中,資料傳輸介面電路130耦接(亦稱,電性連接)至處理器110與主機記憶體120。在另一實施例中,處理器110、主機記憶體120與資料傳輸介面電路130之間利用系統匯流排(System Bus)彼此耦接。
儲存裝置20包括儲存控制器(Storage Controller)210、可複寫式非揮發性記憶體模組(Rewritable Non-Volatile Memory Module)220及連接介面電路(Connection Interface Circuit)230。其中,儲存控制器210包括處理器211、資料管理電路(Data Transfer 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。應注意的是,儲存控制器220各部件所執行的操作亦可視為儲存控制器220所執行的操作。
其中,資料管理電路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)。
在本實施例中,是以記憶胞作為寫入(程式化)資料的最小單位。實體單元為抹除之最小單位,即,每一實體單元含有最小數目之一併被抹除之記憶胞。每一實體單元會具有多個記憶胞。
應注意的是,在本實施例中,用以記錄一實體單元的資訊的系統資料可利用該實體單元中的一或多個記憶胞來記錄,或是利用一個系統區中用以記錄所有系統資料的特定實體單元的一或多個記憶胞來記錄。在本實施例中,所述對應一實體單元的系統資料包括該實體單元的抹除次數值(Program erase cycle,PEC)、資料存放時間戳記(Data Retention Timestamp,DRT)、讀取次數值(Read counter value)等資訊。更詳細來說,每當處理器211對一實體單元進行抹除操作時,在完成所述抹除操作後,處理器211會對當前對應該實體單元的抹除次數值加1(如,抹除次數值會隨著每次的抹除操作而從0開始累加)。即,抹除次數值可反映出其所對應的實體單元的被抹除的次數的總和。所述資料存放時間戳記用以指示儲存於對應的實體單元中的資料的存放時間。時間戳記的大小(數值差異)可用來表示時間的先後順序。本發明並不限定所述時間戳記的詳細格式。每對所述實體單元執行寫入操作時,處理器211會更新所述實體單元的資料存放時間戳記為所述實體單元執行所述寫入操作的時間。即,對應一實體單元之資料存放時間戳記用以表示所述實體單元最後一次被執行寫入操作的時間(如,完成最後一次寫入操作的本地時間)。所述寫入操作例如是程式化資料至所述實體單元的一或多個記憶胞,或例如是程式化資料至所述實體單元的其他型態的實體位址。接著,處理器211可經由資料存放時間戳記來計算實體單元中的資料距離前一次的寫入已存放了多長的時間。所述讀取次數值用以統計對應的實體單元被讀取的次數,並且所述讀取次數值會在對應的實體單元被抹除時而被清空。
在以下實施例中,是以一個實體區塊作為一個實體單元的範例。然而,在另一實施例中,一個實體單元亦可以是指任意數目的記憶胞組成,視實務上的需求而定。此外,必須瞭解的是,當處理器211對可複寫式非揮發性記憶體模組220中的記憶胞(或實體單元)進行分組以執行對應的管理操作時,此些記憶胞(或實體單元)是被邏輯地分組,而其實際位置並未更動。
舉例來說,在本實施例中,處理器211可根據該可複寫式非揮發性記憶體模組220的多個實體單元的統計值劃分所述多個實體單元至多個實體單元組。所述統計值包括前述的抹除次數值、資料存放時間戳記(亦稱,久存值)、讀取次數值等資訊的其中之一或其組合。被劃分至同一實體單元組的多個實體單元會具有較接近的物理特性。處理器211可對劃分至同一個實體單元組的實體單元經由同一組讀取電壓組來進行資料的讀取(如,使用相同的讀取電壓組來下達讀取指令序列,以對屬於相同實體單元組的實體單元來進行讀取操作)。
在其他實施例中,處理器211可根據該可複寫式非揮發性記憶體模組220的多個字元線的統計值劃分所述多個字元線至多個字元線組(處理器211可統計每個字元線的上述統計值),並且被劃分至同一字元線組的多個字元線會具有較接近的物理特性,進而如上述實施例般被同一組讀取電壓(如,對應的最佳化讀取電壓)所讀取。應注意的是,為了可以更精細地針對每個字元線來進行對應每個字元線的讀取電壓最佳化操作(而非針對每個實體單元),以下的實施例是針對每個字元線來說明讀取電壓最佳化操作及其中的讀取電壓最佳化方法。然,針對多個實體單元組的實施例,處理器211可從每個實體單元組中挑選一個實體單元的字元線來進行讀取電壓最佳化操作,或從每個實體單元組中挑選一個實體單元來進行讀取電壓最佳化操作。
儲存控制器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中接收到寫入指令時,錯誤檢查與校正電路508會為對應此寫入指令的資料產生對應的錯誤更正碼(error correcting code,ECC)及/或錯誤檢查碼(error detecting code,EDC),並且處理器211會將對應此寫入指令的資料與對應的錯誤更正碼及/或錯誤檢查碼寫入至可複寫式非揮發性記憶體模組220中。之後,當處理器211從可複寫式非揮發性記憶體模組220中讀取資料時會同時讀取此資料對應的錯誤更正碼及/或錯誤檢查碼,並且錯誤檢查與校正電路214會依據此錯誤更正碼及/或錯誤檢查碼對所讀取的資料執行錯誤檢查與校正程序。此外,在錯誤檢查與校正程序後,若成功解碼所讀取之資料,錯誤檢查與校正電路214可回傳錯誤位元值給處理器211。
在一實施例中,儲存控制器210還包括緩衝記憶體216與電源管理電路217。緩衝記憶體是耦接至處理器211並且用以暫存來自於主機系統10的資料與指令、來自於可複寫式非揮發性記憶體模組220的資料或其他用以管理儲存裝置20的系統資料,以讓處理器211可快速地從緩衝記憶體216中存取所述資料、指令或系統資料。電源管理電路217是耦接至處理器211並且用以控制儲存裝置20的電源。
在本實施例中,讀取電壓管理電路單元215包括偏移數目計算電路2151與讀取電壓最佳化電路2152。所述讀取電壓管理電路單元215用以執行對多個字元線的讀取電壓進行管理。更具體來說,處理器211可在特定的時間點來選擇可複寫式非揮發性記憶體模組220的屬於多個實體單元的多個字元線的其中之一個字元線(亦稱,目標字元線),並且指示讀取電壓管理電路單元215來對此目標字元線進行讀取電壓最佳化操作。舉例來說,處理器211可在(1)儲存裝置20閒暇(即,儲存裝置20閒置超過一預定時間門檻值)時;(2)儲存裝置開電時;或(3)從一字元線所讀取的資料的錯誤位元數超過一錯誤位元數門檻值時,來從所有字元線中選擇一目標字元線進行讀取電壓最佳化操作。其中,處理器211可根據所有字元線組的統計值與錯誤位元數的其中之一或其組合,來挑選物理狀態較差的字元線組(例如,抹除次數較多、讀取次數較多、久存時間較長或錯誤位元數較多的字元線組)中的一字元線來做為目標字元線。此外,處理器211亦可根據錯誤檢查與校正電路214所回傳的錯誤位元數,來選擇目標字元線。具體來說,當從一字元線所讀取的資料的錯誤位元數超過一錯誤位元數門檻值時,其中該字元線被設定為該目標字元線。應注意的是,被選擇之目標字元線儲存有資料,即,已被程式化資料。此外,若針對一目標字元線的讀取電壓最佳化操作已經完成,讀取電壓管理電路單元215可記錄對應該目標字元線的讀取電壓組。
在一實施例中,處理器211亦可隨機挑選目標字元線來進行讀取電壓最佳化操作。在另一實施例中,處理器211亦可直接對每一個字元線進行讀取電壓最佳化操作。此外,藉由讀取電壓最佳化操作,可改善解碼操作的效率。
以下會配合多個圖式來詳細說明讀取電壓管理電路單元215如何進行讀取電壓最佳化操作的細節以及偏移數目計算電路2151與讀取電壓最佳化電路2152的功能。
圖2是根據本發明的一實施例所繪示的解碼方法的流程圖。請同時參照圖1與圖2,在步驟S21中,處理器211選擇選擇所述多個字元線中的目標字元線,其中預設資料已被程式化至所述目標字元線的多個目標記憶胞中。
假設處理器211目前對多個字元線組的其中之一(亦稱,目標字元線組)進行讀取電壓最佳化操作。處理器211會先從中選擇欲進行讀取電壓最佳化操作的目標字元線。目標字元線可從目標字元線組的多個字元線中根據特定選擇條件被選擇。所述特定選擇條件包括(1)目標字元線的一統計值接近其所屬之字元線組中所有字元線的該統計值的平均值;(2)目標字元線的錯誤位元數是其所屬之字元線組中所有字元線的最小者;或(3)隨機選取一字元線作為目標字元線。所述目標字元線儲存有預設資料。
在本實施例中,如上所述,目標字元線的儲存有預設資料。具體來說,每個字元線的多個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Grey Code)的其中之一的位元值,並且所述葛雷碼的總數為N,N為大於2的一第一預定正整數。換言之,目標字元線的多個記憶胞所儲存的預設資料可具有分別對應不同葛雷碼(亦稱,儲存狀態)的位元值。
在步驟S23中,讀取電壓管理電路單元215(或偏移數目計算電路2151)根據所述預設資料來辨識所述多個目標記憶胞所儲存的多個預設位元值。具體來說,所述預設資料具有多個預設位元值。所述多個預設位元值可包括可複寫式非揮發性記憶體模組220的所有記憶胞的每一個記憶胞可具有的不同的多個儲存狀態(亦稱,葛雷碼,Grey Code)。以下先配合圖3來說明所述多個葛雷碼的細節。
圖3為根據本發明的一實施例所繪示的兩個不同的讀取電壓組及其中的電壓差的示意圖。請參照圖3,由於本實施例是以三階記憶胞NAND型快閃記憶體模組做例子來說明,其中N等於8(即,2
3)。三階記憶胞NAND型快閃記憶體模組的每一記憶胞具有三個實體頁面來分別儲存位元資料,所述每一記憶胞包括各自可儲存一個位元值的下實體頁面(Lower Physical Page,L)、中實體頁面(Middle Physical Page,M)與上實體頁面(Upper Physical Page,U)。假設儲存有預設資料的所述多個目標記憶胞的臨界電壓分佈(Threshold Voltage Distribution)如圖3所繪示,並且處理器211可利用預設讀取電壓組V(1)中的預設讀取電壓V(1)
1~V(1)
7來準確地判斷所述多個目標記憶胞所儲存的(位元)狀態(亦稱,位元值,bit value),即,判定該記憶胞所儲存的預設資料的多個預設位元值。所述判定出的所述多個記憶胞所儲存的不同預設位元值被劃分為N種葛雷碼(儲存狀態)。每一目標記憶胞中的閘極電壓可依據預設讀取電壓V(1)
1~V(1)
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(1)的不同電壓值的預設讀取電壓V(1)
1~V(1)
7至目標字元線的一個記憶胞上,處理器211可根據判斷該記憶胞之通道是否導通而分別判定出該記憶胞所儲存之位元值(亦稱,位元資料或讀取位元值)對應不同的多個葛雷碼(“111”、“110”、“100”、“101”、“001”、“000”、“010”或“011”)的其中之一(即,辨識每一個目標記憶胞所儲存的葛雷碼的種類)。例如,讀取電壓V(1)
1可區分葛雷碼“111”與葛雷碼“110”(讀取電壓V(1)
1的左方是對應葛雷碼“111”的記憶胞的臨界電壓分佈;讀取電壓V(1)
1的右方是對應葛雷碼“110”的記憶胞的臨界電壓分佈)。應注意的是,於可複寫式非揮發性記憶體模組220的記憶胞可具有的多個葛雷碼的數目(在此例子中,為8),每個讀取電壓組的所述多個讀取電壓的數目為所述多個葛雷碼的數目減一(在此例子,為7,即,N-1=8-1=7)。
應注意的是,根據可複寫式非揮發性記憶體模組220的種類,N可為大於2的預定正整數(亦稱,第一預定正整數)。例如,若可複寫式非揮發性記憶體模組220為MLC,則N=4;若可複寫式非揮發性記憶體模組220為SLC,則N=2;若可複寫式非揮發性記憶體模組220為QLC,則N=16。
值得一提的是,在本實施例中,目標字元線的多個記憶胞的臨界電壓分佈相較於預設的臨界電壓分佈可能會發生偏移的現象。由於臨界電壓分佈的偏移,原本對應於預設臨界電壓的預設讀取電壓組已經不再適合用以讀取具有已偏移臨界電壓分佈的字元線。處理器211需另外找出更佳的對應目標字元線的多個讀取電壓,以使所述多個讀取電壓可各自接近對應的兩個相鄰的臨界電壓分佈的交界處,進而使找到的所述多個讀取電壓組合成讀取電壓組作為目標字元線的最佳化讀取電壓組。如此一來,經由使用最佳化讀取電壓組讀取儲存於目標記憶體中的預設資料所獲得的所述多個讀取位元值可接近所述預設位元值。
請再回到圖2,在完成步驟S23後,讀取電壓管理電路單元215(或偏移數目計算電路2151)可得知儲存於所述多個目標記憶胞中的所述多個預設位元值所包含的所有儲存狀態。換句話說,所述多個目標記憶胞所儲存的預設資料的所述多個預設位元值可為一或多個“111”、一或多個“110”、一或多個“100”、一或多個“101”、一或多個“001”、一或多個“000”、一或多個“010”與一或多個“011”。所述預設資料的預設位元值可被處理器211預先設定為固定的位元值,並且處理器211在執行讀取電壓最佳化操作之前便已將此預設資料先寫入至目標字元線的多個目標記憶胞中(如,在使用目標字元線所屬的實體單元來儲存使用者資料時,先寫入預設資料至目標字元線)。換言之,處理器211(或讀取電壓管理電路單元215)可不須經由讀取操作,而預先知道儲存(程式化)在所述多個目標記憶胞中的預設資料的所述多個預設位元值,並且也知道可依據所儲存的預設位元值所屬的葛雷碼,而對應地分組所述多個目標記憶胞為對應不同儲存狀態(葛雷碼)的多個目標記憶胞組。例如,廠商可預先設定所使用的預設資料的所述多個預先位元值,並且將之記錄至讀取電壓管理電路單元215中。在一實施例中,所述預設位元值(及對應的目標字元線)可被預設(且記錄)在用以運行處理器211的韌體或是軟體中。在另一實施例中,所述預設資料亦可為儲存在所述多個目標記憶胞中的使用者資料,並且此使用者資料是已經被解碼成功的資料,以讓處理器211(或讀取電壓管理電路單元215)可利用解碼成功後的使用者資料來與讀取時(解碼前)的使用者資料來進行比較,進而找出最佳化讀取電壓組
接著,在步驟S25中,讀取電壓管理電路單元215(或偏移數目計算電路2151)可分別利用不同的X個讀取電壓組讀取所述多個目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組,並且經由比較所述X個讀取位元值組與所述多個預設位元值來獲得X個偏移數目總和組,其中X為第二預定正整數。更具體來說,所述X個讀取電壓組以第一預定順序排列,並且所述X個讀取電壓組中相鄰的兩個讀取電壓組之間的電壓差值為第一預定電壓差,其中每一個所述X個讀取電壓組具有依據一第二預定順序排列的N-1個讀取電壓,並且每一個所述X個偏移數目總和組具有依據該第二預定順序排列的N-1個偏移數目總和。此外,所述X個讀取位元值組中的第i個讀取位元值組對應所述X個讀取電壓組中的第i個讀取電壓組,所述X個偏移數目總和組中的第i個偏移數目總和組對應所述X個讀取電壓組中的第i個讀取電壓組,並且所述第i個偏移數目總和組中的第j個偏移數目總和對應所述第i個讀取電壓組的N-1個讀取電壓中的第j個讀取電壓。以下藉由圖3來說明所述X個讀取電壓組的細節。
請參考圖3,舉例來說,假設N=8,第一讀取電壓組V(1)為所述X個讀取電壓組中依據第一順序排列的第一個讀取電壓組(如,預設讀取電壓組),並且第二讀取電壓組V(2)為所述X個讀取電壓組的第二個讀取電壓組,其中第一讀取電壓組V(1)具有依據第二順序排列的N-1個讀取電壓V(1)
1、V(1)
2、V(1)
3、V(1)
4、V(1)
5、V(1)
6、V(1)
7,並且第二讀取電壓組V(2)具有依據第二順序排列的7(即,N-1=8-1=7)個讀取電壓V(2)
1、V(2)
2、V(2)
3、V(2)
4、V(2)
5、V(2)
6、V(2)
7。此兩個相鄰的讀取電壓組之間的電壓差值為第一預定電壓差(V
offset)。例如,第二讀取電壓組的第一個讀取電壓V(2)
1與對應的第一讀取電壓組的第一個讀取電壓V(1)
1之間的電壓差值為第一預定電壓差(V
offset),即,讀取電壓V(2)
1的電壓值減去讀取電壓V(1)
1的電壓值的差值等於V
offset。換句話說,對於所述X個讀取電壓組中兩個相鄰的讀取電壓組,其中排列順序相同的讀取電壓之間的電壓差皆為固定的第一預定電壓差V
offset。
在本實施例中,在上述分別利用不同的所述X個讀取電壓組讀取該些目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組的運作中,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)可選擇所述X個讀取電壓組中的第i個讀取電壓組,其中i的數值依據所述第一預定順序為1至X。接著,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)分別利用所述第i個讀取電壓組中的N-1個讀取電壓讀取所述多個目標記憶胞,以獲得對應所述第i個讀取電壓組的被區分為所述多個葛雷碼的多個讀取位元值,其中所述多個讀取位元值為所述X個讀取位元值組中的對應所述第i個讀取電壓組的第i個讀取位元值組,其中所述第i個讀取電壓組中的所述N-1個讀取電壓中的第j個讀取電壓用以區分對應所述N個葛雷碼中的第j個葛雷碼的臨界電壓分佈與對應所述N個葛雷碼中的第j+1個葛雷碼的臨界電壓分佈,其中j依據該第二預定順序為1至N-1。在經由使用X個讀取電壓組讀取所述多個目標記憶胞來獲得對應的讀取位元組(與其中的對應所述多個目標記憶胞的多個讀取位元)後,讀取電壓管理電路單元215(或偏移數目計算電路2151)可根據所述X個讀取位元組來辨識對應所述X個讀取電壓組的所述多個目標記憶胞的多個讀取位元值。
圖4是根據本發明的一實施例所繪示的計算偏移數目總和的示意圖。
在本實施例中,在上述經由比較所述X個讀取位元值組與所述多個預設位元值來獲得X個偏移數目總和組的運作中,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)執行下列步驟(1)~(4)。
步驟(1):所述讀取電壓管理電路單元215(或偏移數目計算電路2151)根據所述多個預設位元值將所述多個目標記憶胞劃分至分別對應N個葛雷碼的N個目標記憶胞組(如,G1~G8),其中所述N個葛雷碼依據一第三預定順序(如,1至8)排序。
具體來說,根據所述多個預設位元值,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)可將全部的目標記憶胞劃分為所儲存的預設位元值是對應葛雷碼“111”的目標記憶胞組G1、所儲存的預設位元值是對應葛雷碼“110”的目標記憶胞組G2、所儲存的預設位元值是對應葛雷碼“100”的目標記憶胞組G3、所儲存的預設位元值是對應葛雷碼“101”的目標記憶胞組G4、所儲存的預設位元值是對應葛雷碼“001”的目標記憶胞組G5、對應葛雷碼“000”的目標記憶胞組G6、所儲存的預設位元值是對應葛雷碼“010”的目標記憶胞組G7、及所儲存的預設位元值是對應葛雷碼“011”的目標記憶胞組G8。
步驟(2):所述讀取電壓管理電路單元215(或偏移數目計算電路2151)針對所述X個偏移數目總和組中對應第i個讀取電壓組的第i個偏移數目總和組,選擇所述X個讀取位元值組中的第i個讀取位元值組,其中i的數值依據所述第一預定順序為1至X,其中所述第i個讀取位元值組用以計算所述X個偏移數目總和組中的第i個偏移數目總和組。
具體來說,為了獲得所述X個偏移數目總和組的每一個偏移數目總和組,如,對應第i個讀取電壓組的第i個偏移數目總和組。所述讀取電壓管理電路單元215(或偏移數目計算電路2151)會對應地選擇第i個讀取位元值組,並且根據所述第i個讀取位元值組來辨識所述多個目標記憶胞被第i個讀取電壓組讀取而獲得的多個讀取位元值。
步驟(3):所述讀取電壓管理電路單元215(或偏移數目計算電路2151)針對所述第i個偏移數目總和組中對應所述第i個讀取電壓組的第j個讀取電壓的第j個偏移數目總和,辨識被劃分至所述N個目標記憶胞組中的第j個目標記憶胞組的多個第一目標記憶胞以及被劃分至所述N個目標記憶胞組中的第j+1個目標記憶胞組的多個第二目標記憶胞,其中所述第j個讀取電壓用以區分對應所述N個葛雷碼中的第j個葛雷碼的所述第j個目標記憶胞組的臨界電壓分佈與對應所述N個葛雷碼中的第j+1個葛雷碼的所述第j+1個目標記憶胞組的臨界電壓分佈。
具體來說,為了獲得所述第i個讀取電壓組的第j個讀取電壓中的每一個偏移數目總和的值,即,對應所述第i個讀取電壓組的第j個讀取電壓的第j個偏移數目總和。所述讀取電壓管理電路單元215(或偏移數目計算電路2151)會辨識經由第j個讀取電壓所區分的兩個葛雷碼的兩個目標記憶胞組與其中的目標記憶胞。
舉例來說,假設N=8、i=1、j=2,即,針對第1個偏移數目總和組中對應第1個(i=1)讀取電壓組V(1)的第2個讀取電壓V(1)
2的第2個(j=2)偏移數目總和S(1)
2。所述讀取電壓管理電路單元215(或偏移數目計算電路2151)會先辨識應被讀取電壓V(1)
2所區分的目標記憶胞組G2(即,被劃分至所述8個目標記憶胞組中的第2個目標記憶胞組)中的多個第一目標記憶胞與目標記憶胞組G3(即,被劃分至所述8個目標記憶胞組中的第3個(j+1=3)目標記憶胞組)中的多個第二目標記憶胞。
接著,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)會執行步驟(4):所述讀取電壓管理電路單元215(或偏移數目計算電路2151)根據所述第i個讀取位元值組,辨識所述第j個目標記憶胞組的所述多個第一目標記憶胞的多個第一讀取位元值,並且辨識所述第j+1個目標記憶胞組的所述多個第二目標記憶胞的多個第二讀取位元值。
舉例來說,接續上述的例子,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)會辨識目標記憶胞組G2中的多個第一目標記憶胞的多個讀取位元值(亦稱,第一讀取位元值)與目標記憶胞組G3中的多個第二目標記憶胞的多個讀取位元值(亦稱,第二讀取位元值)。
接著,步驟(5):所述讀取電壓管理電路單元215(或偏移數目計算電路2151)根據所述多個第一讀取位元值來辨識所述多個第一讀取位元值中屬於所述第j+1個葛雷碼的多個第三讀取位元值的數目為一第一偏移數目,並且根據所述多個第二讀取位元值來辨識所述多個第二讀取位元值中屬於所述第j個葛雷碼的多個第四讀取位元值的數目為一第二偏移數目。
具體來說,理想上,目標記憶胞組G2的所述多個第一目標記憶胞的所述多個第一讀取位元值的儲存狀態應該皆屬於所述N個葛雷碼中的第2個葛雷碼“110”(即,所述多個第一目標記憶胞的預設儲存狀態/預設讀取位元值應為“110”)。若所述多個第一讀取位元值中,有多個第三讀取位元值的儲存狀態是屬於所述N個葛雷碼中的第3個葛雷碼“100”,則此些第三讀取位元值的數目(儲存有此些第三讀取位元值的第一目標記憶胞的個數)被辨識為第一偏移數目,其用以表示所述多個第一目標記憶胞中發生第一偏移(即,儲存狀態從預設儲存狀態往“右”偏移)的目標記憶胞的個數。如圖4所繪示,對應第1個讀取電壓組的第2個讀取電壓的第一偏移數目又能以“C(1)
G2G3”表示,其中“(1)”用以表示對應第1個讀取電壓組,“G2G3”用以表示從對應目標記憶胞組G2的預設儲存狀態偏移至對應目標記憶胞組G3的儲存狀態。此外,從“G2G3”又可理解所對應的讀取電壓是在該讀取電壓組中用以區分目標記憶胞組G2所屬之儲存狀態與目標記憶胞組G3所屬之儲存狀態的第2個讀取電壓,並且所述“G2G3”中“G2”與“G3”的順序亦可表示偏移的方向是由G2往G3,即,由左往右的第一偏移的方向。。
相似地,理想上,目標記憶胞組G3的所述多個第二目標記憶胞的所述多個第二讀取位元值的儲存狀態應該皆屬於所述N個葛雷碼中的第3個葛雷碼“100”(即,所述多個第二目標記憶胞的預設儲存狀態/預設讀取位元值應為“100”)。若所述多個第二讀取位元值中,有多個第四讀取位元值的儲存狀態是屬於所述N個葛雷碼中的第2個葛雷碼“110”,則此些第四讀取位元值的數目(儲存有此些第四讀取位元值的第二目標記憶胞的個數)被辨識為第二偏移數目,其用以表示所述多個第二目標記憶胞中發生第二偏移(即,儲存狀態從預設儲存狀態往“左”偏移)的目標記憶胞的個數。如圖4所繪示,對應第1個讀取電壓組的第2個讀取電壓的第二偏移數目又能以“C(1)
G3G2”表示,其中“(1)”用以表示對應第1個讀取電壓組,“G3G2”用以表示從對應目標記憶胞組G3的預設儲存狀態偏移至對應目標記憶胞組G2的儲存狀態。此外,從“G3G2”又可理解所對應的讀取電壓是在該讀取電壓組中用以區分目標記憶胞組G3所屬之儲存狀態與目標記憶胞組G2所屬之儲存狀態的第2個讀取電壓,並且所述“G3G2”中“G3”與“G2”的順序亦可表示偏移的方向是由G3往G2,即,由右往左的第二偏移的方向。
步驟(6):所述讀取電壓管理電路單元215(或偏移數目計算電路2151)計算所述第一偏移數目與所述第二偏移數目的總和,以將所述總和作為所述第i個偏移數目總和組的所述N-1個偏移數目總和中的第j個偏移數目總和。
接續上述的例子,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)加總對應讀取電壓V(1)
2的第一偏移數目C(1)
G2G3與第二偏移數目C(1)
G3G2,將所獲得的和值作為所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第2個偏移數目總和S(1)
2。
依此類推,所述讀取電壓管理電路單元215(或偏移數目計算電路2151)可經由所獲得的對應所述第1個讀取電壓組的第1個讀取電壓V(1)
1的第一偏移數目C(1)
G1G2與第二偏移數目C(1)
G2G1,來計算出所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第1個偏移數目總和S(1)
1;經由所獲得的對應所述第3個讀取電壓組的第3個讀取電壓V(1)
3的第一偏移數目C(1)
G3G4與第二偏移數目C(1)
G4G3,來計算出所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第3個偏移數目總和S(1)
3;經由所獲得的對應所述第1個讀取電壓組的第4個讀取電壓V(1)
4的第一偏移數目C(1)
G4G5與第二偏移數目C(1)
G5G4,來計算出所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第4個偏移數目總和S(1)
4;經由所獲得的對應所述第1個讀取電壓組的第5個讀取電壓V(1)
5的第一偏移數目C(1)
G5G6與第二偏移數目C(1)
G6G5,來計算出所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第5個偏移數目總和S(1)
5;經由所獲得的對應所述第1個讀取電壓組的第6個讀取電壓V(1)
6的第一偏移數目C(1)
G6G7與第二偏移數目C(1)
G7G6,來計算出所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第1個偏移數目總和S(1)
6;經由所獲得的對應所述第1個讀取電壓組的第7個讀取電壓V(1)
7的第一偏移數目C(1)
G7G8與第二偏移數目C(1)
G8G7,來計算出所述第1個偏移數目總和組的所述N-1個偏移數目總和中的第7個偏移數目總和S(1)
7。如此一來,便獲得了所述第1個偏移數目總和組的全部所述N-1個偏移數目總和。接著,所述X個偏移數目總和組亦可依照上述步驟來獲得,不再贅述於此。
所述第一偏移(亦稱,正向偏移)的方向為正電壓方向(如,往右“è”),並且第二偏移(亦稱,負向偏移)的方向為負電壓方向(如,往左“ç”)。
圖5為根據本發明的一實施例所繪示的用以記錄偏移數目總和的統計表的示意圖。請參照圖5,在本實施例中,處理器211可利用如同記錄一統計表510的方式來記錄所述多個目標記憶胞的所述X個偏移數目總和組。其中,依據第二預定順序,所述X個讀取電壓組的第i個讀取電壓組的第1個讀取電壓V(i)
1對應所述X個偏移數目總和組的所有的第1個偏移數目總和S(1)
1~S(X)
1;第2個讀取電壓V(i)
2對應所述X個偏移數目總和組的所有的第2個偏移數目總和S(1)
2~S(X)
2;第3個讀取電壓V(i)
3對應所述X個偏移數目總和組的所有的第3個偏移數目總和S(1)
3~S(X)
3;第4個讀取電壓V(i)
4對應所述X個偏移數目總和組的所有的第4個偏移數目總和S(1)
4~S(X)
4;第5個讀取電壓V(i)
5對應所述X個偏移數目總和組的所有的第5個偏移數目總和S(1)
5~S(X)
5;第6個讀取電壓V(i)
6對應所述X個偏移數目總和組的所有的第6個偏移數目總和S(1)
6~S(X)
6;第7個讀取電壓V(i)
7對應所述X個偏移數目總和組的所有的第7個偏移數目總和S(1)
7~S(X)
7。
請再回到圖2,完成步驟S25後,在步驟S27中,所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)可根據所述X個偏移數目總和組來決定一最佳化讀取電壓組的N-1個最佳化讀取電壓,其中N為大於2的第一預定正整數。
具體來說,根據所獲得的所述X個偏移數目總和組,所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)辨識在所有X個偏移數目總和組中的X個第j個偏移數目總和,將所述X個第j個偏移數目總和中的最小者作為一目標第j個偏移數目總和;以及判定所述目標第j個偏移數目總和所對應的讀取電壓為所述最佳化讀取電壓組的所述N-1個最佳化讀取電壓中的第j個最佳化讀取電壓。
舉例來說,為了找尋所述最佳化讀取電壓組的所述N-1個(N=8)最佳化讀取電壓中的第1個(j=1)最佳化讀取電壓,所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)辨識在所有X個偏移數目總和組中的所有第1個偏移數目總和S(1)
1~S(X)
1,並且將第1個偏移數目總和S(1)
1~S(X)
1其中的最小者作為“目標第1個偏移數目總和”。假設第1個偏移數目總和S(1)
1~S(X)
1中最小者為第3個(i=3)偏移數目總和組的第1個偏移數目總和S(3)
1,則目標第1個偏移數目總和”會被判定為第3個偏移數目總和組的第1個偏移數目總和S(3)
1。此外,所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)會判定此“目標第1個偏移數目總和S(3)
1”所對應的讀取電壓V(3)
1為所述最佳化讀取電壓組的所述N-1個最佳化讀取電壓中的第1個最佳化讀取電壓。依此類推,所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)可根據所述X個偏移數目總和組來找尋到所述最佳化讀取電壓組的所有最佳化讀取電壓(第1個~第7個最佳化讀取電壓)。
在一實施例中,若所述X個第j個偏移數目總和中的所述最小者的數量大於1,上述將所述X個第j個偏移數目總和中的所述最小者作為所述目標第j個偏移數目總和的步驟包括:(1). 從所述X個第j個偏移數目總和中的所有最小者中選擇任意一個第j個偏移數目總和作為所述目標第j個偏移數目總和;或(2). 從所述X個第j個偏移數目總和中的所有最小者中根據所述第一預定順序選擇排列在中間的一個第j個偏移數目總和作為所述目標第j個偏移數目總和。舉例來說,若第1個偏移數目總和S(1)
1~S(X)
1中最小者為S(1)
1、S(2)
1與S(3)
1,則所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)可隨機選擇第1個偏移數目總和S(1)
1、S(2)
1、S(3)
1中的一個作為目標第1個偏移數目總和(上述(1));或是所述讀取電壓管理電路單元215(或讀取電壓最佳化電路2152)可選擇第1個偏移數目總和S(1)
1、S(2)
1、S(3)
1中的中間者,即,第1個偏移數目總和S(2)
1作為目標第1個偏移數目總和(上述(2))。
綜上所述,本發明實施例所提供的解碼方法以及儲存控制器,可利用目標字元線所儲存的預設資料,對所述目標字元線執行對應所述目標字元線的讀取電壓最佳化操作。在所述讀取電壓最佳化操作中,儲存控制器根據所述預設資料與經由利用多個不同的讀取電壓組讀取所述目標字元線所獲得的多個讀取位元組,來計算出多個偏移數目總和組,以根據所述多個偏移數目總和組決定對應所述目標字元線的最佳化讀取電壓組的多個最佳化讀取電壓。如此一來,可有效率且快速地找尋到用以讀取所述目標字元線的最佳的讀取電壓組,進而增進了從中所讀取資料的正確性且增進了用於讀取操作之解碼操作整體的效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10‧‧‧主機系統
20‧‧‧儲存裝置
110、211‧‧‧處理器
120‧‧‧主機記憶體
130‧‧‧資料傳輸介面電路
210‧‧‧儲存控制器
212‧‧‧資料傳輸管理電路
213‧‧‧記憶體介面控制電路
214‧‧‧錯誤檢查與校正電路
215‧‧‧讀取電壓管理電路單元
2151‧‧‧偏離數目計算電路
152‧‧‧讀取電壓最佳化電路
216‧‧‧緩衝記憶體
217‧‧‧電源管理電路
220‧‧‧可複寫式非揮發性記憶體模組
230‧‧‧連接介面電路
S21、S23、S25、S27‧‧‧解碼方法的流程步驟
Voffset‧‧‧預定電壓差
V(1)、V(2)、V(X)‧‧‧讀取電壓組
V(1)1~V(1)7、V(2)1~V(2)7、V(i)1~V(i)7‧‧‧讀取電壓
C(1)G1G2、C(1)G2G3、C(1)G3G4、C(1)G4G5、C(1)G5G6、C(1)G6G7、C(1)G7G8、C(1)G2G1、C(1)G3G2、C(1)G4G3、C(1)G5G4、C(1)G6G5、C(1)G7G6、C(1)G8G7‧‧‧偏移數目
S(1)1~S(1)7、S(2)1~S2)7、S(X)1~S(X)7‧‧‧偏移數目總和
S(1)~S(X)‧‧‧偏移數目總和總
510‧‧‧統計表
G1~G8‧‧‧目標記憶胞組/儲存狀態/葛雷碼
L‧‧‧下實體頁面的位元值
M‧‧‧中實體頁面的位元值
U‧‧‧上實體頁面的位元值
圖1是根據本發明的一實施例所繪示的主機系統及儲存裝置的方塊示意圖。 圖2是根據本發明的一實施例所繪示的解碼方法的流程圖。 圖3為根據本發明的一實施例所繪示的兩個不同的讀取電壓組及其中的電壓差的示意圖。 圖4是根據本發明的一實施例所繪示的計算偏移數目總和的示意圖。 圖5為根據本發明的一實施例所繪示的用以記錄偏移數目總和的統計表的示意圖。
Claims (10)
- 一種解碼方法,適用於配置有一可複寫式非揮發性記憶體模組的一儲存裝置,其中該可複寫式非揮發性記憶體模組具有多個字元線,其中該些字元線的每一個字元線耦接多個記憶胞,其中該些記憶胞中的每一個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Grey Code)的其中之一的位元值,並且該些葛雷碼的總數為N,N為大於2的一第一預定正整數,所述方法包括:選擇該些字元線中的一目標字元線,其中一預設資料已被程式化至該目標字元線的多個目標記憶胞中;根據該預設資料來辨識該些目標記憶胞所儲存的多個預設位元值;分別利用不同的X個讀取電壓組讀取該些目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組,並且經由比較所述X個讀取位元值組與該些預設位元值來獲得X個偏移數目總和組,其中X為一第二預定正整數,所述X個讀取電壓組以一第一預定順序排列,並且所述X個讀取電壓組中相鄰的兩個讀取電壓組之間的電壓差值為一第一預定電壓差,其中每一個所述X個讀取電壓組具有依據一第二預定順序排列的N-1個讀取電壓,並且每一個所述X個偏移數目總和組具有依據該第二預定順序排列的N-1個偏移數目總和,其中所述X個讀取位元值組中的第i個讀取位元值組對應所述X個讀取電壓組中的第i個讀取電壓組,所述X個偏移數目總和組中的第i個偏移數目總和組對應所述X個讀取電壓組中的第i個讀取電壓組,並且所述第i個偏移數目總和組中的第j個偏移數目總和對應所述第i個讀取電壓組的N-1個讀取電壓中的第j個讀取電壓,其中i與j為正整數;以及根據所述X個偏移數目總和組來決定一最佳化讀取電壓組的N-1個最佳化讀取電壓。
- 如申請專利範圍第1項所述的解碼方法,其中上述分別利用不同的所述X個讀取電壓組讀取該些目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組的步驟包括:選擇所述X個讀取電壓組中的第i個讀取電壓組,其中i的數值依據該第一預定順序為1至X;以及分別利用所述第i個讀取電壓組中的N-1個讀取電壓讀取該些目標記憶胞,以獲得對應所述第i個讀取電壓組的被區分為該些葛雷碼的多個讀取位元值,其中該些讀取位元值為所述X個讀取位元值組中的對應所述第i個讀取電壓組的第i個讀取位元值組,其中所述第i個讀取電壓組中的所述N-1個讀取電壓中的第j個讀取電壓用以區分對應所述N個葛雷碼中的第j個葛雷碼的臨界電壓分佈與對應所述N個葛雷碼中的第j+1個葛雷碼的臨界電壓分佈,其中j依據該第二預定順序為1至N-1。
- 如申請專利範圍第2項所述的解碼方法,其中上述經由比較所述X個讀取位元值組與該些預設位元值來獲得X個偏移數目總和組的步驟包括:根據該些預設位元值將該些目標記憶胞劃分至分別對應N個葛雷碼的N個目標記憶胞組,其中所述N個葛雷碼依據一第三預定順序排序;針對所述X個偏移數目總和組中對應第i個讀取電壓組的第i個偏移數目總和組,選擇所述X個讀取位元值組中的第i個讀取位元值組,其中i的數值依據該第一預定順序為1至X,其中所述第i個讀取位元值組用以計算所述X個偏移數目總和組中的第i個偏移數目總和組;針對所述第i個偏移數目總和組中對應所述第i個讀取電壓組的第j個讀取電壓的第j個偏移數目總和,辨識被劃分至所述N個目標記憶胞組中的第j個目標記憶胞組的多個第一目標記憶胞以及被劃分至所述N個目標記憶胞組中的第j+1個目標記憶胞組的多個第二目標記憶胞,其中所述第j個讀取電壓用以區分對應所述N個葛雷碼中的第j個葛雷碼的所述第j個目標記憶胞組的臨界電壓分佈與對應所述N個葛雷碼中的第j+1個葛雷碼的所述第j+1個目標記憶胞組的臨界電壓分佈;根據所述第i個讀取位元值組,辨識所述第j個目標記憶胞組的該些第一目標記憶胞的多個第一讀取位元值,並且辨識所述第j+1個目標記憶胞組的該些第二目標記憶胞的多個第二讀取位元值;根據該些第一讀取位元值來辨識該些第一讀取位元值中屬於所述第j+1個葛雷碼的多個第三讀取位元值的數目為一第一偏移數目,並且根據該些第二讀取位元值來辨識該些第二讀取位元值中屬於所述第j個葛雷碼的多個第四讀取位元值的數目為一第二偏移數目;以及計算該第一偏移數目與該第二偏移數目的總和,以將該總和作為所述第i個偏移數目總和組的所述N-1個偏移數目總和中的第j個偏移數目總和。
- 如申請專利範圍第3項所述的解碼方法,其中上述根據所述X個偏移數目總和組來決定該最佳化讀取電壓組的N-1個最佳化讀取電壓的步驟包括:辨識在所有X個偏移數目總和組中的X個第j個偏移數目總和,將所述X個第j個偏移數目總和中的最小者作為一目標第j個偏移數目總和;以及判定該目標第j個偏移數目總和所對應的一讀取電壓為該最佳化讀取電壓組的所述N-1個最佳化讀取電壓中的第j個最佳化讀取電壓。
- 如申請專利範圍第4項所述的解碼方法,其中若所述X個第j個偏移數目總和中的所述最小者的數量大於1,上述將所述X個第j個偏移數目總和中的所述最小者作為該目標第j個偏移數目總和的步驟包括:從所述X個第j個偏移數目總和中的所有最小者中選擇任意一個第j個偏移數目總和作為該目標第j個偏移數目總和;或從所述X個第j個偏移數目總和中的所有最小者中根據該第一預定順序選擇排列在中間的一個第j個偏移數目總和作為該目標第j個偏移數目總和。
- 一種儲存控制器,用於控制配置有一可複寫式非揮發性記憶體模組的一儲存裝置,該儲存控制器包括:一連接介面電路,用以耦接至一主機系統;一記憶體介面控制電路,用以耦接至該可複寫式非揮發性記憶體模組,其中該可複寫式非揮發性記憶體模組具有多個字元線,其中該些字元線的每一個字元線耦接多個記憶胞,其中該些記憶胞中的每一個記憶胞用以被程式化以儲存對應不同的多個葛雷碼(Grey Code)的其中之一的位元值,並且該些葛雷碼的總數為N,N為大於2的一第一預定正整數;一讀取電壓管理電路單元;以及一處理器,耦接至該連接介面電路、該記憶體介面控制電路及該讀取電壓管理電路單元,其中該處理器選擇該些字元線中的一目標字元線,並且指示該讀取電壓管理電路單元進行對應該目標字元線的一讀取電壓最佳化操作,其中一預設資料已被程式化至該目標字元線的多個目標記憶胞中,其中在所述讀取電壓最佳化操作中,該讀取電壓管理電路單元用以根據該預設資料來辨識該些目標記憶胞所儲存的多個預設位元值;該讀取電壓管理電路單元更用以分別利用不同的X個讀取電壓組讀取該些目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組,並且經由比較所述X個讀取位元值組與該些預設位元值來獲得X個偏移數目總和組,其中X為一第二預定正整數,所述X個讀取電壓組以一第一預定順序排列,並且所述X個讀取電壓組中相鄰的兩個讀取電壓組之間的電壓差值為一第一預定電壓差,其中每一個所述X個讀取電壓組具有依據一第二預定順序排列的N-1個讀取電壓,並且每一個所述X個偏移數目總和組具有依據該第二預定順序排列的N-1個偏移數目總和,其中所述X個讀取位元值組中的第i個讀取位元值組對應所述X個讀取電壓組中的第i個讀取電壓組,所述X個偏移數目總和組中的第i個偏移數目總和組對應所述X個讀取電壓組中的第i個讀取電壓組,並且所述第i個偏移數目總和組中的第j個偏移數目總和對應所述第i個讀取電壓組的N-1個讀取電壓中的第j個讀取電壓,其中i與j為正整數;以及該讀取電壓管理電路單元更用以根據所述X個偏移數目總和組來決定一最佳化讀取電壓組的N-1個最佳化讀取電壓。
- 如申請專利範圍第6項所述的儲存控制器,其中在上述分別利用不同的所述X個讀取電壓組讀取該些目標記憶胞,以獲得分別對應所述X個讀取電壓組的X個讀取位元值組的運作中,該讀取電壓管理電路單元選擇所述X個讀取電壓組中的第i個讀取電壓組,其中i的數值依據該第一預定順序為1至X;以及該讀取電壓管理電路單元分別利用所述第i個讀取電壓組中的N-1個讀取電壓讀取該些目標記憶胞,以獲得對應所述第i個讀取電壓組的被區分為該些葛雷碼的多個讀取位元值,其中該些讀取位元值為所述X個讀取位元值組中的對應所述第i個讀取電壓組的第i個讀取位元值組,其中所述第i個讀取電壓組中的所述N-1個讀取電壓中的第j個讀取電壓用以區分對應所述N個葛雷碼中的第j個葛雷碼的臨界電壓分佈與對應所述N個葛雷碼中的第j+1個葛雷碼的臨界電壓分佈,其中j依據該第二預定順序為1至N-1。
- 如申請專利範圍第7項所述的儲存控制器,其中在上述經由比較所述X個讀取位元值組與該些預設位元值來獲得X個偏移數目總和組的運作中,該讀取電壓管理電路單元根據該些預設位元值將該些目標記憶胞劃分至分別對應N個葛雷碼的N個目標記憶胞組,其中所述N個葛雷碼依據一第三預定順序排序;該讀取電壓管理電路單元針對所述X個偏移數目總和組中對應第i個讀取電壓組的第i個偏移數目總和組,選擇所述X個讀取位元值組中的第i個讀取位元值組,其中i的數值依據該第一預定順序為1至X,其中所述第i個讀取位元值組用以計算所述X個偏移數目總和組中的第i個偏移數目總和組;該讀取電壓管理電路單元針對所述第i個偏移數目總和組中對應所述第i個讀取電壓組的第j個讀取電壓的第j個偏移數目總和,辨識被劃分至所述N個目標記憶胞組中的第j個目標記憶胞組的多個第一目標記憶胞以及被劃分至所述N個目標記憶胞組中的第j+1個目標記憶胞組的多個第二目標記憶胞,其中所述第j個讀取電壓用以區分對應所述N個葛雷碼中的第j個葛雷碼的所述第j個目標記憶胞組的臨界電壓分佈與對應所述N個葛雷碼中的第j+1個葛雷碼的所述第j+1個目標記憶胞組的臨界電壓分佈;該讀取電壓管理電路單元根據所述第i個讀取位元值組,辨識所述第j個目標記憶胞組的該些第一目標記憶胞的多個第一讀取位元值,並且辨識所述第j+1個目標記憶胞組的該些第二目標記憶胞的多個第二讀取位元值;該讀取電壓管理電路單元根據該些第一讀取位元值來辨識該些第一讀取位元值中屬於所述第j+1個葛雷碼的多個第三讀取位元值的數目為一第一偏移數目,並且根據該些第二讀取位元值來辨識該些第二讀取位元值中屬於所述第j個葛雷碼的多個第四讀取位元值的數目為一第二偏移數目;以及該讀取電壓管理電路單元計算該第一偏移數目與該第二偏移數目的總和,以將該總和作為所述第i個偏移數目總和組的所述N-1個偏移數目總和中的第j個偏移數目總和。
- 如申請專利範圍第8項所述的儲存控制器,其中在上述根據所述X個偏移數目總和組來決定該最佳化讀取電壓組的N-1個最佳化讀取電壓的運作中,該讀取電壓管理電路單元辨識在所有X個偏移數目總和組中的X個第j個偏移數目總和,將所述X個第j個偏移數目總和中的最小者作為一目標第j個偏移數目總和;以及該讀取電壓管理電路單元判定該目標第j個偏移數目總和所對應的一讀取電壓為該最佳化讀取電壓組的所述N-1個最佳化讀取電壓中的第j個最佳化讀取電壓。
- 如申請專利範圍第9項所述的儲存控制器,其中若所述X個第j個偏移數目總和中的所述最小者的數量大於1,在上述將所述X個第j個偏移數目總和中的所述最小者作為該目標第j個偏移數目總和的運作中,該讀取電壓管理電路單元從所述X個第j個偏移數目總和中的所有最小者中選擇任意一個第j個偏移數目總和作為該目標第j個偏移數目總和;或該讀取電壓管理電路單元從所述X個第j個偏移數目總和中的所有最小者中根據該第一預定順序選擇排列在中間的一個第j個偏移數目總和作為該目標第j個偏移數目總和。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107111392A TWI651726B (zh) | 2018-03-30 | 2018-03-30 | 解碼方法以及儲存控制器 |
US16/102,749 US10424383B1 (en) | 2018-03-30 | 2018-08-14 | Decoding method and storage controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW107111392A TWI651726B (zh) | 2018-03-30 | 2018-03-30 | 解碼方法以及儲存控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI651726B true TWI651726B (zh) | 2019-02-21 |
TW201942906A TW201942906A (zh) | 2019-11-01 |
Family
ID=66214077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW107111392A TWI651726B (zh) | 2018-03-30 | 2018-03-30 | 解碼方法以及儲存控制器 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10424383B1 (zh) |
TW (1) | TWI651726B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102535110B1 (ko) * | 2018-10-01 | 2023-05-23 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11244729B1 (en) * | 2020-08-07 | 2022-02-08 | Micron Technology, Inc. | Search for an optimized read voltage |
JP2022051179A (ja) * | 2020-09-18 | 2022-03-31 | キオクシア株式会社 | 記憶装置及びリード方法 |
TWI768901B (zh) * | 2021-05-17 | 2022-06-21 | 旺宏電子股份有限公司 | 記憶體裝置及其操作方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8159881B2 (en) * | 2009-06-03 | 2012-04-17 | Marvell World Trade Ltd. | Reference voltage optimization for flash memory |
US20130003459A1 (en) * | 2011-06-28 | 2013-01-03 | Seagate Technology Llc | Read Error Recovery for Solid-State Memory Based on Cumulative Background Charges |
US8498152B2 (en) * | 2010-12-23 | 2013-07-30 | Sandisk Il Ltd. | Non-volatile memory and methods with soft-bit reads while reading hard bits with compensation for coupling |
TW201501124A (zh) * | 2013-06-28 | 2015-01-01 | Phison Electronics Corp | 讀取電壓設定方法、控制電路與記憶體儲存裝置 |
US9025393B2 (en) * | 2013-03-25 | 2015-05-05 | Seagate Technology Llc | Method of optimizing solid state drive soft retry voltages |
CN104616695A (zh) * | 2013-11-05 | 2015-05-13 | 光宝科技股份有限公司 | 固态存储装置及其读取电压设定方法 |
CN107527644A (zh) * | 2017-08-28 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种固态硬盘读参考电压的优化方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6049498A (en) * | 1998-06-19 | 2000-04-11 | Lucent Technologies, Inc. | Double transistor switch for supplying multiple voltages to flash memory wordlines |
JP2004086991A (ja) * | 2002-08-27 | 2004-03-18 | Renesas Technology Corp | 不揮発性記憶装置 |
-
2018
- 2018-03-30 TW TW107111392A patent/TWI651726B/zh active
- 2018-08-14 US US16/102,749 patent/US10424383B1/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8159881B2 (en) * | 2009-06-03 | 2012-04-17 | Marvell World Trade Ltd. | Reference voltage optimization for flash memory |
US8498152B2 (en) * | 2010-12-23 | 2013-07-30 | Sandisk Il Ltd. | Non-volatile memory and methods with soft-bit reads while reading hard bits with compensation for coupling |
US20130003459A1 (en) * | 2011-06-28 | 2013-01-03 | Seagate Technology Llc | Read Error Recovery for Solid-State Memory Based on Cumulative Background Charges |
US9025393B2 (en) * | 2013-03-25 | 2015-05-05 | Seagate Technology Llc | Method of optimizing solid state drive soft retry voltages |
TW201501124A (zh) * | 2013-06-28 | 2015-01-01 | Phison Electronics Corp | 讀取電壓設定方法、控制電路與記憶體儲存裝置 |
CN104616695A (zh) * | 2013-11-05 | 2015-05-13 | 光宝科技股份有限公司 | 固态存储装置及其读取电压设定方法 |
CN107527644A (zh) * | 2017-08-28 | 2017-12-29 | 郑州云海信息技术有限公司 | 一种固态硬盘读参考电压的优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10424383B1 (en) | 2019-09-24 |
TW201942906A (zh) | 2019-11-01 |
US20190304547A1 (en) | 2019-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI623878B (zh) | 資料讀取方法以及儲存控制器 | |
TWI650757B (zh) | 解碼方法以及儲存控制器 | |
TWI661427B (zh) | 記憶體管理方法以及儲存控制器 | |
US10579518B2 (en) | Memory management method and storage controller | |
TWI651726B (zh) | 解碼方法以及儲存控制器 | |
TWI651721B (zh) | 解碼方法以及儲存控制器 | |
US10628082B2 (en) | Data reading method and storage controller | |
US10748599B1 (en) | Data reading method, storage controller and storage device background of the disclosure | |
TW201947402A (zh) | 記憶體管理方法以及儲存控制器 | |
TW202025165A (zh) | 資料讀取方法、儲存控制器與儲存裝置 | |
CN111258505B (zh) | 快闪存储器的数据合并方法、控制电路单元与存储装置 | |
CN111078146B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
TWI616807B (zh) | 資料寫入方法以及儲存控制器 | |
TW202008166A (zh) | 記憶體管理方法以及儲存控制器 | |
US10614892B1 (en) | Data reading method, storage controller and storage device | |
CN110377538B (zh) | 存储器管理方法以及存储控制器 | |
CN108108118B (zh) | 数据写入方法以及存储控制器 | |
TW202344970A (zh) | 基於資料優先級的風險評估方法、記憶體儲存裝置及記憶體控制電路單元 | |
CN110364207B (zh) | 解码方法以及储存控制器 | |
CN110364197B (zh) | 解码方法以及存储控制器 | |
CN109273037B (zh) | 数据读取方法以及存储控制器 | |
CN114115737B (zh) | 数据存储分配方法、存储器存储装置及控制电路单元 | |
CN117636967B (zh) | 存储器控制方法、存储器存储装置及存储器控制电路单元 | |
TWI810865B (zh) | 表格排序方法、記憶體儲存裝置及記憶體控制電路單元 | |
TWI834149B (zh) | 表格管理方法、記憶體儲存裝置及記憶體控制電路單元 |