TW202105922A - 快閃記憶體控制器、儲存裝置及其讀取方法 - Google Patents
快閃記憶體控制器、儲存裝置及其讀取方法 Download PDFInfo
- Publication number
- TW202105922A TW202105922A TW108126704A TW108126704A TW202105922A TW 202105922 A TW202105922 A TW 202105922A TW 108126704 A TW108126704 A TW 108126704A TW 108126704 A TW108126704 A TW 108126704A TW 202105922 A TW202105922 A TW 202105922A
- Authority
- TW
- Taiwan
- Prior art keywords
- density parity
- flash memory
- correlation
- check code
- damaged
- Prior art date
Links
Images
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
- 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
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1142—Decoding using trapping sets
-
- 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/1012—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 codes or arrangements adapted for a specific type of error
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- 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/0653—Monitoring storage devices or systems
-
- 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]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/35—Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
- H03M13/353—Adaptation to the channel
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Probability & Statistics with Applications (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
一種用以存取快閃記憶體的快閃記憶體控制器包含唯讀記憶體、處理器與錯誤更正碼單元。唯讀記憶體用以儲存程式碼。處理器執行程式碼以控制對快閃記憶體的存取。錯誤更正碼單元包含控制模組與解碼器。控制模組分別計算複數預設低密度奇偶校驗碼的複數陷阱集和先天損壞行位置資訊之間的第一相關性,並以具有最低的第一相關性的預設低密度奇偶校驗碼作為選定低密度奇偶校驗碼。解碼器根據選定低密度奇偶校驗碼對自快閃記憶體取得的讀取資訊進行解碼。
Description
本發明係關於低密度奇偶校驗(low-density parity-check,LDPC)技術,特別是一種可避免低密度奇偶校驗碼(LDPC code)的弱點和快閃記憶體的弱點重合而減損更正力與可靠度的快閃記憶體控制器、儲存裝置及其讀取方法。
快閃記憶體可透過電子式的抹除與寫入/程式化以進行資料儲存,而廣泛地應用於記憶卡、固態硬碟與可攜式多媒體播放器等等。並且,快閃記憶體可區分為NOR型快閃記憶體和NAND型快閃記憶體。其中,NAND型快閃記憶體相較於NOR型快閃記憶體來說,具有較高的儲存密度以及較低的每一儲存位元的成本。
一般而言,因製造生產時的缺陷,快閃記憶體於開卡前便可能存在有損壞行(bad column)(此種可稱為先天損壞行)。此外,快閃記憶體於使用過程中也可能因為使用磨損導致較為脆弱的某些行因變得易於出錯而成為損壞行(此種可稱為運行損壞行)。並且,此些損壞行所導致的高可靠度錯誤會影響到低密度奇偶校驗碼(low-density parity-check code,LDPC code)的更正力與可靠度。
傳統的快閃記憶體控制器於碰到先天損壞行時,若其狀況不嚴重則直接使用。而若快閃記憶體控制器具有跳過損壞行功能時,則直接跳過損壞行,以藉由縮減頁的大小來避免。然而,此種跳過作法會增加快閃記憶體控制器處理的複雜度,且縮減頁的大小也會降低低密度奇偶校驗碼的更正力。此外,對於使用過程中出現的運行損壞行,傳統的快閃記憶體控制器通常都無法特別處理。
在一實施例中,一種用以存取快閃記憶體的快閃記憶體控制器,包含唯讀記憶體、處理器與錯誤更正碼單元。唯讀記憶體用以儲存程式碼。處理器用以執行程式碼以控制對快閃記憶體的存取。錯誤更正碼單元包含控制模組與解碼器。控制模組用以分別計算複數預設低密度奇偶校驗碼之複數陷阱集和先天損壞行位置資訊之間的第一相關性,並以具有最低的第一相關性的預設低密度奇偶校驗碼作為選定低密度奇偶校驗碼。並且,解碼器用以根據選定低密度奇偶校驗碼對自快閃記憶體取得的讀取資訊進行解碼。
在一實施例中,一種儲存裝置包含快閃記憶體與快閃記憶體控制器。快閃記憶體控制器用以存取快閃記憶體。快閃記憶體控制器包含唯讀記憶體、處理器與錯誤更正碼單元。唯讀記憶體用以儲存程式碼。處理器用以執行程式碼以控制對快閃記憶體的存取。錯誤更正碼單元包含控制模組與解碼器。控制模組用以分別計算複數預設低密度奇偶校驗碼之複數陷阱集和先天損壞行位置資訊之間的第一相關性,並以具有最低的第一相關性的預設低密度奇偶校驗碼作為選定低密度奇偶校驗碼。並且,解碼器用以根據選定低密度奇偶校驗碼對自快閃記憶體取得的讀取資訊進行解碼。
在一實施例中,一種快閃記憶體之讀取方法包含:分別計算複數預設低密度奇偶校驗碼之複數陷阱集和於先天損壞行位置資訊之間的第一相關性;以具有最低的第一相關性的預設低密度奇偶校驗碼作為選定低密度奇偶校驗碼;根據讀取指令自快閃記憶體取得讀取資訊;及利用選定低密度奇偶校驗碼對此讀取資訊進行解碼。
為使本發明之實施例之上述目的、特徵和優點能更明顯易懂,下文配合所附圖式,作詳細說明如下。
第1圖為耦接至主裝置之儲存裝置之一實施例的方塊示意圖。請參閱第1圖,儲存裝置100可耦接至主裝置(Host Device)200。在一些實施態樣中,儲存裝置100可為記憶卡,且主裝置200可為但不限於配置有讀卡機的各式裝置,例如電腦、手機、相機等。在另一些實施態樣中,儲存裝置100亦可為固態硬碟(SSD),且主裝置200可為但不限於電腦、主機等。
在一實施例中,儲存裝置100包含快閃記憶體(Flash Memory)110和快閃記憶體控制器120,且快閃記憶體控制器120耦接於快閃記憶體110。快閃記憶體110用以儲存各式資料,例如多媒體檔案,且快閃記憶體控制器120可用以存取快閃記憶體110。
第2圖為快閃記憶體之資料儲存空間之一實施例的概要示意圖。請參閱第1圖與第2圖,一般而言,快閃記憶體110的資料儲存空間可被劃分成複數個區塊(或稱為物理區塊(physical block))BLK1-BLKz,其中z為大於1的正整數。各區塊BLK1-BLKz包含複數頁(或稱為物理頁(physical page))PG1-PGy,其中y為大於1的正整數。此外,每一頁PG1-PGy包含複數區段。在一些實施態樣中,y可為256,每一頁PG1-PGy的資料區域之大小可為16千位元組(KB),且每一頁PG1-PGy包含4個區段CHK1-CHK4(此時每一區段CHK1-CHK4的資料區域之大小為4KB),但本發明並非以此為限。
在一實施例中,快閃記憶體控制器120可包含唯讀記憶體121、處理器122以及錯誤更正碼(Error Correcting Codes)單元123。此外,快閃記憶體控制器120可更包含至少二傳輸介面(以下分別稱之為第一傳輸介面124與第二傳輸介面125)與至少一緩衝記憶體126。於此,處理器122耦接於唯讀記憶體121、錯誤更正碼單元123、第一傳輸介面124、第二傳輸介面125與緩衝記憶體126。
在一些實施態樣中,處理器122可透過匯流排耦接至唯讀記憶體121、錯誤更正碼單元123、第一傳輸介面124、第二傳輸介面125與緩衝記憶體126。第一傳輸介面124與第二傳輸介面125可為通用序列匯流排(USB)、先進技術附著(ATA)、序列先進技術附著(SATA)、快速周邊元件互聯(PCI-E)等。此外,處理器122可為中央控制單元(CPU)、微處理器(micro-processor)、數位訊號處理器(DSP)、可程式化控制器、特殊應用積體電路(ASIC)、可程式化邏輯裝置(PLD)或其他類似電路元件,但本發明並非以此為限。
唯讀記憶體121可用以儲存一程式碼121C,但本發明並非以此為限,程式碼121C亦得儲存在緩衝記憶體126或任何形式之記憶體內。處理器122可透過執行程式碼121C來控制唯讀記憶體121、錯誤更正碼單元123、第一傳輸介面124、第二傳輸介面125與緩衝記憶體126進行諸多協同運作。例如,透過第一傳輸介面124存取快閃記憶體110(尤其是對至少一區塊BLK1-BLKz或至少一頁PG1-PGy的存取運作)、利用緩衝記憶體126進行所需之緩衝處理、透過第二傳輸介面125與耦接於儲存裝置100的主裝置200溝通、利用錯誤更正碼單元123進行編碼與解碼等。
第3圖為第1圖中錯誤更正碼單元之一實施例的方塊示意圖。請參閱第1圖至第3圖,錯誤更正碼單元123可利用低密度奇偶校驗碼(LDPC code)對自快閃記憶體110中讀出的資訊進行解碼並對寫入至快閃記憶體110中的資訊進行編碼。在一實施例中,錯誤更正碼單元123可包含控制模組1231與解碼器1232,且控制模組1231耦接於解碼器1232。
一般而言,儲存裝置100於製造階段時,製造商可對儲存裝置100進行開卡動作。開卡動作主要包含系統初始化與低階格式化。其中,於系統初始化後可產生佔用了快閃記憶體110之部分儲存容量的資訊區塊。並且,此資訊區塊中可包含一先天損壞行(innate bad column)位置資訊I11。於此,先天損壞行位置資訊I11記載了儲存裝置100於產出後便已損壞的先天損壞行之位置。
為了避免錯誤更正碼單元123因所使用之低密度奇偶校驗碼的弱點位置(即,陷阱集的位置)重合於快閃記憶體110的弱點位置(即,損壞行的位置)而減損到低密度奇偶校驗碼的更正力與可靠度,本發明任一實施例之快閃記憶體控制器120可根據任一實施例之讀取方法來讀取快閃記憶體110中所儲存的資訊。
第4圖為讀取方法之一實施例的流程圖。請參閱第1圖至第4圖,在讀取方法之一實施例中,快閃記憶體控制器120可先利用處理器122透過第一傳輸介面124取得儲存於快閃記憶體110中的先天損壞行位置資訊I11。接續,快閃記憶體控制器120再利用錯誤更正碼單元123的控制模組1231根據複數預設低密度奇偶校驗碼LDPC1-LDPCm的複數陷阱集和先天損壞行位置資訊I11去分別計算出各預設低密度奇偶校驗碼的陷阱集和先天損壞行位置資訊I11之間的第一相關性(步驟S10),並且控制模組1231選擇以具有最低之第一相關性的預設低密度奇偶校驗碼作為選定低密度奇偶校驗碼SC1來提供給解碼器1232(步驟S20)。於此,第一相關性是指預設低密度奇偶校驗碼之陷阱集的位置和先天損壞行位置資訊I11中損壞行的位置有多相關,並且第一相關性越大時表示預設低密度奇偶校驗碼之陷阱集的位置和先天損壞行位置資訊I11中損壞行的位置之間的重合度越高。
之後,當快閃記憶體控制器120透過第二傳輸介面125接收到來自主裝置200的讀取指令時,快閃記憶體控制器120可利用處理器122根據讀取指令中所載的邏輯位址對位於快閃記憶體110中的複數區塊BLK1-BLKz中之一區塊中的特定實體位址進行讀取動作,以取得讀取資訊D1(步驟S30)。接續,快閃記憶體控制器120便可利用解碼器1232透過選定低密度奇偶校驗碼SC1對讀取資訊D1進行解碼,並產生相應的解碼結果R1(步驟S40)。此外,快閃記憶體控制器120更可利用處理器122將步驟S40所得的解碼結果R1透過第二傳輸介面125傳送至主裝置200,以完成讀取指令所指示的讀取動作。
於此,由於解碼器1232是使用和先天損壞行位置資訊I11之間的第一相關性最低的選定低密度奇偶校驗碼SC1來進行解碼,因此,可有效降低先天損壞行對選定低密度奇偶校驗碼SC1之更正力和可靠度的影響。
在步驟S10之一實施例中,各預設低密度奇偶校驗碼LDPC1-LDPCm所具有的陷阱集之位置與種類互不相同。於此,各預設低密度奇偶校驗碼LDPC1-LDPCm的陷阱集之位置與種類可預先被找出,並且此些預設低密度奇偶校驗碼LDPC1-LDPCm和其對應的陷阱集之位置與種類等資訊可儲存於唯讀記憶體121中,但本發明並非以此為限,此些預設低密度奇偶校驗碼LDPC1-LDPCm和其對應的陷阱集之位置與種類等資訊亦可儲存在快閃記憶體110中,且快閃記憶體控制器120可透過存取快閃記憶體110來取得。因此,控制模組1231在取得先天損壞行位置資訊I11後,便可依序將各預設低密度奇偶校驗碼LDPC1-LDPCm的陷阱集之位置和先天損壞行位置資訊I11中所記載的損壞行之位置進行比較,以計算出第一相關性。
於此,由於如何找出各預設低密度奇偶校驗碼LDPC1-LDPCm所具有的陷阱集之位置與種類因已為本技術領域中具有通常知識者所熟知,例如透過高可靠度錯誤(High Reliability Error,HRE)檢驗、重要性取樣(Importance Sampling,IS)檢驗等方式來找出,故不贅述。
在步驟S30之一實施例中,錯誤更正碼單元123可更包含數位訊號處理模組1233,且數位訊號處理模組1233耦接於解碼器1232。於此,快閃記憶體控制器120可利用處理器122根據讀取指令讀取位於某一區塊中之特定實體位址上的讀取資訊D1,並利用錯誤更正碼單元123的數位訊號處理模組1233計算出特定實體位址中各位址上合適的可靠度訊息,以轉換出相應於讀取資訊D1的複數通道值CV1-CVn。其中,各通道值CV1-CVn包含一個符號位元(sign bit)和至少一個可靠度位元(reliability bit(s))。此外,錯誤更正碼單元123可更包含通道值記憶體1234。通道值記憶體1234耦接於數位訊號處理模組1233與解碼器1232,且通道值記憶體1234可用以儲存數位訊號處理模組1233所轉換出的此些通道值CV1-CVn。
在步驟S40之一實施例中,錯誤更正碼單元123可更包含解碼結果記憶體1235。解碼結果記憶體1235耦接於解碼器1232,且解碼結果記憶體1235可用以儲存解碼器1232所產生的解碼結果R1,以供後續使用。於此,由於如何利用選定低密度奇偶校驗碼SC1遞迴地對複數通道值CV1-CVn進行解碼以產生解碼結果R1,已為本技術領域中具有通常知識者所熟知,例如,利用訊息傳遞演算法(belief propagation algorithm,BPA)、和積演算法(sum-product algorithm)等,故不贅述。
一般而言,儲存裝置100於使用過程中,亦會因為製程缺陷或製程不均勻之影響,使得快閃記憶體110的某些行會磨耗的特別快,進而導致此些行上的位元特別容易出錯。而此些容易出錯的行即為運行損壞行(run-time bad column)。
第5圖為第4圖中於步驟S40之執行後一實施例的流程圖。請參閱第1圖至第5圖,由於此些在使用過程中才產生的運行損壞行亦會影響到選定低密度奇偶校驗碼SC1的更正力與可靠度,因此,在讀取方法之一實施例中,快閃記憶體控制器120更可於取得一運行損壞行位置資訊I12後,將先天損壞行位置資訊I11與運行損壞行位置資訊I12統合成一損壞行資料I1。接續,快閃記憶體控制器120再利用錯誤更正碼單元123的控制模組1231去計算出目前作為選定低密度奇偶校驗碼SC1的預設低密度奇偶校驗碼之陷阱集和損壞行資料I1之間的第二相關性(步驟S50)。其中,第二相關性是指選定低密度奇偶校驗碼SC1之陷阱集的位置和損壞行資料I1中損壞行的位置有多相關,並且第二相關性越大時表示選定低密度奇偶校驗碼SC1之陷阱集的位置和損壞行資料I1中損壞行的位置之間的重合度越高。之後,控制模組1231可將步驟S50所得的第二相關性和預設的一第一閥值進行比較,以判斷第二相關性是否大於第一閥值(步驟S60)。
在步驟S50之一實施例中,錯誤更正碼單元123更包含高可靠度錯誤判斷模組1236與運行損壞行判斷模組1237。高可靠度錯誤判斷模組1236耦接於通道值記憶體1234與解碼結果記憶體1235,且運行損壞行判斷模組1237耦接於高可靠度錯誤判斷模組1236。
於此,高可靠度錯誤判斷模組1236用以將解碼結果記憶體1235中所儲存的解碼結果R1和通道值記憶體1234中所儲存的通道值CV1-CVn依序進行比較,以分別判斷各通道值CV1-CVn是否為一高可度錯誤。於各通道值CV1-CVn的判斷過程中,倘若此通道值被判斷為高可靠度錯誤時,高可靠度錯誤判斷模組1236會根據此通道值的對應位址產生相應的高可靠度錯誤位置資訊,以記錄下快閃記憶體110中各個出現被判斷為高可靠度錯誤的位置。
舉例而言,假設通道值CV1為表示相應的位元資料應為高可靠度的“0”,但解碼器1231所產生的解碼結果R1卻表示此位元資料應為“1”時,高可靠度錯誤判斷模組1236便可判定此為高可靠度錯誤,並產生相應的高可靠度錯誤位置資訊。在一些實施例中,高可靠度錯誤位置資訊可包含出現高可靠度錯誤的區塊編號、頁編號、區段編號與位址等。
在一些實施例中,錯誤更正碼單元123可更包含高可靠度錯誤記憶體1238,且高可靠度錯誤記憶體1238耦接於高可靠度錯誤判斷模組1236與運行損壞行判斷模組1237。於此,高可靠度錯誤判斷模組1236可將所產生的各個高可靠度錯誤位置資訊儲存至高可靠度錯誤記憶體1238中。在一實施態樣中,高可靠度錯誤判斷模組1236可以建表方式儲存所產生的各個高可靠度錯誤位置資訊。舉例而言,高可靠度錯誤判斷模組1236所建立的損壞行表格之一實施態樣可如下方表一所示,其中損壞行表格的欄位可包含區塊編號、頁編號、區段編號、位址與次數。
表一
區塊編號 | 頁編號 | 區段編號 | 位址 | 次數 |
17 | 22 | 0 | 0x056 | 3 |
17 | 22 | 0 | 0x075 | 2 |
17 | 22 | 0 | 0x1A2 | 3 |
17 | 22 | 0 | 0x2D3 | 0 |
於此,高可靠度錯誤判斷模組1236可於每次產生高可靠度錯誤位置資訊時,先判斷此高可靠度錯誤位置資訊的位置是否和先前產生的某一高可靠度錯誤位置資訊的位置完全相同(即,此高可靠度錯誤位置資訊中的區塊編號、頁編號、區段編號、位址是否和損壞行表格中的某一列中所載的區塊編號、頁編號、區段編號、位址完全相同)。倘若完全相同,高可靠度錯誤判斷模組1236可將損壞行表格中和高可靠度錯誤位置資訊之位置完全相同的那一列之次數欄位中的數值加1。反之,若位置不完全相同或不曾出現,高可靠度錯誤判斷模組1236則將此高可靠度錯誤位置資訊的位置記錄至損壞行表格中的新的一列中。
運行損壞行判斷模組1237用以根據高可靠度錯誤記憶體1238中所儲的各個高可靠度錯誤位置資訊(即,高可靠度錯誤判斷模組1236所建立的表格)判斷快閃記憶體110中是否出現了運行損壞行。並且,於判斷出現了運行損壞行時,運行損壞行判斷模組1237可將此運行損壞行的位置記錄至損壞行資料I1的運行損壞行位置資訊I12中。
在一些實施例中,運行損壞行判斷模組1237可根據位置完全相同之高可靠度錯誤位置資訊的數量是否超過第一預設數量來判斷快閃記憶體110中是否出現了運行損壞行。舉例而言,運行損壞行判斷模組1237可根據損壞行表格中各列於次數欄位之數值是否超過第一預設數量來判斷。此時,若有某一列於次數欄位之數值超過第一預設數量時,運行損壞行判斷模組1237便可判定出現了運行損壞行,並且將此列於位址欄位的數值記錄至損壞行位置資訊I12中。其中,第一預設數量之數值端視設計而定。
在另一些實施例中,運行損壞行判斷模組1237亦可根據雖為跨頁但其餘位置完全相同之高可靠度錯誤位置資訊的數量是否超過第二預設數量來判斷。舉例而言,假設於損壞行表格中有多列的內容之差異僅在於頁欄位時,運行損壞行判斷模組1237可計算此些列之數量,並且於此數量超過第二預設數量時判定出現了運行損壞行,而將此些列於位址欄位的數值記錄至損壞行位置資訊I12中。其中,第二預設數量之數值端視設計而定。
在又一些實施例中,運行損壞行判斷模組1237更可同時根據位置完全相同之高可靠度錯誤位置資訊的數量是否超過第一預設數量以及雖為跨頁但其餘位置完全相同之高可靠度錯誤位置資訊的數量是否超過第二預設數量來判斷。
在一些實施例中,錯誤更正碼單元123可更包含損壞行記憶體1239,且損壞行記憶體1239耦接於運行損壞行判斷模組1237與控制模組1231。損壞行記憶體1239用以儲存損壞行資料I1。其中,損壞行資料I1包含先天損壞行位置資訊I11與運行損壞行位置資訊I12,且運行損壞行位置資訊I12的內容可持續由運行損壞行判斷模組1237進行新增。
在讀取方法之一實施例中,當控制模組1231於步驟S60中判斷第二相關性是小於或等於第一閥值時,表示此時選定低密度奇偶校驗碼SC1之陷阱集的位置和損壞行資料I1中損壞行的位置之間的重合度未超標,控制模組1231可維持住當前使用的選定低密度奇偶校驗碼SC1,並返回至步驟S50以持續監控選定低密度奇偶校驗碼SC1與損壞行資料I1之間的第二相關性,但本發明並非僅限於此。在另一實施例中,控制模組1231更可再將第二相關性和小於第一閥值的一第二閥值進行比較,以判斷第二相關性是否大於第二閥值(步驟S70)。
當步驟S70之判斷結果為第二相關性小於或等於第二閥值時,表示此時選定低密度奇偶校驗碼SC1之陷阱集的位置和損壞行資料I1中損壞行的位置之間的重合度夠低,因此,控制模組1231可維持住當前使用的選定低密度奇偶校驗碼SC1(步驟S80)。反之,當步驟S70之判斷結果為第二相關性大於第二閥值時,表示此時選定低密度奇偶校驗碼SC1之陷阱集的位置和損壞行資料I1中損壞行的位置之間的重合度雖不足以嚴重減損到低密度奇偶校驗碼的更正力與可靠度,但仍會對低密度奇偶校驗碼的更正力與可靠度造成些許減損,此時控制模組1231可致使解碼器1232對選定低密度奇偶校驗碼SC1之陷阱集執行一後處理(post processing),以試圖降低低密度奇偶校驗碼SC1的錯誤基數(error floor)現象(步驟S90)。並且,於執行完後處理後再返回步驟S80,以維持經過後處理後的低密度奇偶校驗碼SC1。
於此,第一閥值與第二閥值之選定可視所需設計而定。在一些實施態樣中,第一閥值可為0.5且第二閥值為0.3。
在讀取方法之一實施例中,當控制模組1231於步驟S60中判斷第二相關性大於第一閥值時,表示損壞行資料I1中所記載的損壞行之位置和預設低密度奇偶校驗碼之陷阱集的位置重合度過高,此時控制模組1231可改以此些預設低密度奇偶校驗碼LDPC1-LDPCm中與損壞行資料I1之間的第三相關性是小於或等於第一閥值的某一個預設低密度奇偶校驗碼來作為選定低密度奇偶校驗碼SC1,並將更新後的選定低密度奇偶校驗碼SC1提供給解碼器1232(步驟S100),以致使解碼器1232可根據更新後的選定低密度奇偶校驗碼SC1進行解碼。其中,第三相關性是指預設低密度奇偶校驗碼之陷阱集的位置和損壞行資料I1中損壞行的位置有多相關,並且第三相關性越大時表示此預設低密度奇偶校驗碼之陷阱集的位置和損壞行資料I1中損壞行的位置之間的重合度越高。
在步驟S100之一實施例中,控制模組1231可先從複數預設低密度奇偶校驗碼LDPC1-LDPCm中取得一預設低密度奇偶校驗碼,並計算出預設低密度奇偶校驗碼之陷阱集和損壞行資料I1之間的第三相關性。當所得的第三相關性小於或等於第一閥值時,控制模組1231便可以此作為新的選定低密度奇偶校驗碼SC1,並返回至步驟S50以持續監控。而當所得的第三相關性是大於第一閥值時,控制模組1231再從複數預設低密度奇偶校驗碼LDPC1-LDPCm中取得另一個預設低密度奇偶校驗碼並進行計算。依此順序直至檢測過所有預設低密度奇偶校驗碼LDPC1-LDPCm。
在讀取方法之一實施例中,倘若控制模組1231從此些預設低密度奇偶校驗碼LDPC1-LDPCm中皆無法找到第三相關性是小於或等於第一閥值的預設低密度奇偶校驗碼時,表示此區塊(即相應於損壞行資料I1的區塊)已不適用,此時控制模組1231可將此區塊的編號存入至一損壞區塊列表中,以禁止使用此區塊(步驟S110)。在一些實施例中,此損壞區塊列表可儲存於快閃記憶體110中。
在一些實施例中,錯誤更正碼單元123可更包含編碼器123A,且編碼器123A耦接於控制模組1231。於此,編碼器123A可根據控制模組1231所指示的選定低密度奇偶校驗碼SC1對寫入至快閃記憶體110的寫入資料進行編碼。
在一些實施例中,控制模組1231可根據損壞行資料I1中每一個區塊的損壞行之情況來選用對應的選定低密度奇偶校驗碼SC1。如此一來,解碼器1232便可根據當前通道值CV1-CVn的來源區塊為何而使用相應的選定低密度奇偶校驗碼SC1去進行解碼(編碼器123A亦同)。
在一些實施例中,本發明中的「模組」、「單元」,例如錯誤更正碼單元123、控制模組1231、數位訊號處理模組1233、高可靠度錯誤判斷模組1236、運行損壞行判斷模組1237等,可透過特殊應用積體電路(ASIC)來實現。此外,處理器122可為中央控制單元(CPU)、微處理器(micro-processor)、數位訊號處理器(DSP)、可程式化控制器、特殊應用積體電路(ASIC)、可程式化邏輯裝置(PLD)或其他類似電路元件,但本發明並非以此為限。
在一些實施例中,本發明任一實施例之快閃記憶體控制器120可以各式製程的積體電路製程方式整合於晶片中,但本發明並非以此為限。
綜上所述,本發明任一實施例之快閃記憶體控制器、儲存裝置及讀取方法,其以和快閃記憶體之先天損壞行的位置相關性最低的預設低密度奇偶校驗碼作為提供給解碼器使用的選定低密度奇偶校驗碼,使得快閃記憶體之先天損壞行對選定低密度奇偶校驗碼之更正力和可靠度的影響可降低。此外,本發明任一實施例之快閃記憶體控制器、儲存裝置及讀取方法更透過於使用過程中偵測高可靠度錯誤之位置來得到運行損壞行位置資訊,以避免於使用過程中才出現的運行損壞行會減損到選定低密度奇偶校驗碼之更正力和可靠度。
本發明之實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明實施例之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:儲存裝置
110:快閃記憶體
120:快閃記憶體控制器
121:唯讀記憶體
121C:程式碼
122:處理器
123:錯誤更正碼單元
1231:控制模組
1232:解碼器
1233:數位訊號處理模組
1234:通道值記憶體
1235:解碼結果記憶體
1236:高可靠度錯誤判斷模組
1237:運行損壞行判斷模組
1238:高可靠度錯誤記憶體
1239:損壞行記憶體
123A:編碼器
124:第一傳輸介面
125:第二傳輸介面
126:緩衝記憶體
200:主裝置
BLK1-BLKz:區塊
CHK1-CHK4:區段
CV1-CVn:通道值
D1:讀取資訊
LDPC1-LDPCm:預設低密度奇偶校驗碼
I1:損壞行資料
I11:先天損壞行位置資訊
I12:運行損壞行位置資訊
PG1-PGy:頁
R1:解碼結果
SC1:選定低密度奇偶校驗碼
S10-S110:步驟
第1圖為耦接至主裝置之儲存裝置之一實施例的方塊示意圖。
第2圖為快閃記憶體之資料儲存空間之一實施例的概要示意圖。
第3圖為第1圖中錯誤更正碼單元之一實施例的方塊示意圖。
第4圖為讀取方法之一實施例的流程圖。
第5圖為第4圖中於步驟S40之執行後一實施例的流程圖。
S10-S40:步驟
Claims (23)
- 一種快閃記憶體控制器,該快閃記憶體控制器用以存取一快閃記憶體,該快閃記憶體控制器包含: 一唯讀記憶體,用以儲存一程式碼; 一處理器,用以執行該程式碼以控制對該快閃記憶體之存取;及 一錯誤更正碼單元,包含: 一控制模組,分別計算複數預設低密度奇偶校驗碼之複數陷阱集和一先天損壞行位置資訊之間的一第一相關性,並以具有最低的該第一相關性的該預設低密度奇偶校驗碼作為一選定低密度奇偶校驗碼;及 一解碼器,根據該選定低密度奇偶校驗碼對自該快閃記憶體取得的讀取資訊進行解碼。
- 如申請專利範圍第1項所述的快閃記憶體控制器,其中該控制模組更計算作為該選定低密度奇偶校驗碼的該預設低密度奇偶校驗碼的該陷阱集和一損壞行資料之間的一第二相關性,並判斷該第二相關性是否大於一第一閥值,其中該損壞行資料包含一運行損壞行位置資訊與該先天損壞行位置資訊,且於該第二相關性大於該第一閥值時,該控制模組改以該些預設低密度奇偶校驗碼中與該損壞行資料之間的一第三相關性小於或等於該第一閥值的該預設低密度奇偶校驗碼作為該選定低密度奇偶校驗碼。
- 如申請專利範圍第2項所述的快閃記憶體控制器,其中該錯誤更正碼單元更包含: 一高可靠度錯誤判斷模組,用以根據該解碼器對該讀取資訊的複數通道值進行解碼後所產生的一解碼結果分別判斷各該通道值是否為一高可靠度錯誤,並於判斷為該高可靠度錯誤時,產生相應的高可靠度錯誤位置資訊;及 一運行損壞行判斷模組,用以根據各該高可靠度錯誤位置資訊判斷該快閃記憶體是否出現一運行損壞行,並於判斷出現該運行損壞行時將該運行損壞行的行位置記錄至該運行損壞行位置資訊中。
- 如申請專利範圍第2項所述的快閃記憶體控制器,其中於該第二相關性小於該第一閥值時,該控制模組更判斷該第二相關性是否大於一第二閥值,於判斷該第二相關性大於該第二閥值時,該控制模組致使該解碼器對該選定低密度奇偶校驗碼的該陷阱集執行一後處理(post processing),且於該第二相關性小於或等於該第二閥值時,該控制模組維持該選定低密度奇偶校驗碼。
- 如申請專利範圍第2項所述的快閃記憶體控制器,其中該控制模組在該些預設低密度奇偶校驗碼中找不到該第三相關性小於或等於該第一閥值的該預設低密度奇偶校驗碼作為該選定低密度奇偶校驗碼時,該控制模組將相應於該損壞行資料的一區塊之編號存入至損壞區塊列表中,以禁用該區塊。
- 如申請專利範圍第3項所述的快閃記憶體控制器,其中該運行損壞行判斷模組係於位置完全相同的該些高可靠度錯誤位置資訊之數量超過一第一預設數量時判斷出現該運行損壞行,或者該運行損壞行判斷模組係於跨頁但其餘位置完全相同的該些高可靠度錯誤位置資訊之數量超過一第二預設數量時判斷出現該運行損壞行。
- 如申請專利範圍第3項所述的快閃記憶體控制器,其中該錯誤更正碼單元更包含: 一數位訊號處理模組,用以將自該快閃記憶體讀取進來的該讀取資料轉換成該些通道值; 一通道值記憶體,用以儲存該些通道值; 一解碼結果記憶體,用以儲存該解碼結果; 一高可靠度錯誤記憶體,用以儲存該高可靠度錯誤判斷模組所產生的各該高可靠度錯誤位置資訊;及 一損壞行記憶體,用以儲存該損壞行資料。
- 如申請專利範圍第1項所述的快閃記憶體控制器,其中該些預設低密度奇偶校驗碼儲存於該唯讀記憶體中。
- 一種儲存裝置,包含: 一快閃記憶體;及 一快閃記憶體控制器,用以存取該快閃記憶體,該快閃記憶體控制器包含: 一唯讀記憶體,用以儲存一程式碼; 一處理器,用以執行該程式碼以控制對該快閃記憶體之存取;及 一錯誤更正碼單元,包含: 一控制模組,分別計算複數預設低密度奇偶校驗碼之複數陷阱集和一先天損壞行位置資訊之間的一第一相關性,並以具有最低的該第一相關性的該預設低密度奇偶校驗碼作為一選定低密度奇偶校驗碼;及 一解碼器,根據該選定低密度奇偶校驗碼對自該快閃記憶體取得的一讀取資訊進行解碼。
- 如申請專利範圍第9項所述的儲存裝置,其中該控制模組更計算作為該選定低密度奇偶校驗碼的該預設低密度奇偶校驗碼的該陷阱集和一損壞行資料之間的一第二相關性,並判斷該第二相關性是否大於一第一閥值,其中該損壞行資料包含一運行損壞行位置資訊與該先天損壞行位置資訊,且於該第二相關性大於該第一閥值時,該控制模組改以該些預設低密度奇偶校驗碼中與該損壞行資料之間的一第三相關性小於或等於該第一閥值的該預設低密度奇偶校驗碼作為該選定低密度奇偶校驗碼。
- 如申請專利範圍第10項所述的儲存裝置,其中該錯誤更正碼單元更包含: 一高可靠度錯誤判斷模組,用以根據該解碼器對該讀取資訊的複數通道值進行解碼後所產生的一解碼結果分別判斷各該通道值是否為一高可靠度錯誤,並於判斷為該高可靠度錯誤時,產生相應的高可靠度錯誤位置資訊;及 一運行損壞行判斷模組,用以根據各該高可靠度錯誤位置資訊判斷該快閃記憶體是否出現一運行損壞行,並於判斷出現該運行損壞行時將該運行損壞行的行位置記錄至該運行損壞行位置資訊中。
- 如申請專利範圍第10項所述的儲存裝置,其中於該第二相關性小於該第一閥值時,該控制模組更判斷該第二相關性否大於一第二閥值,於判斷該第二相關性大於該第二閥值時,該控制模組致使該解碼器對該選定低密度奇偶校驗碼的該陷阱集執行一後處理,且於該第二相關性小於或等於該第二閥值時,該控制模組維持該選定低密度奇偶校驗碼。
- 如申請專利範圍第10項所述的儲存裝置,其中該控制模組在該些預設低密度奇偶校驗碼中找不到該第三相關性小於或等於該第一閥值的該預設低密度奇偶校驗碼作為該選定低密度奇偶校驗碼時,該控制模組將相應於該損壞行資料的一區塊之編號存入至損壞區塊列表中,以禁用該區塊。
- 如申請專利範圍第11項所述的儲存裝置,該運行損壞行判斷模組係於位置完全相同的該些高可靠度錯誤位置資訊之數量超過一第一預設數量時判斷出現該運行損壞行,或者該運行損壞行判斷模組係於跨頁但其餘位置完全相同的該些高可靠度錯誤位置資訊之數量超過一第二預設數量時判斷出現該運行損壞行。
- 如申請專利範圍第11項所述的儲存裝置,其中該錯誤更正碼單元更包含: 一數位訊號處理模組,用以將自該快閃記憶體讀取進來的一讀取資訊轉換成該些通道值; 一通道值記憶體,用以儲存該些通道值; 一解碼結果記憶體,用以儲存該解碼結果; 一高可靠度錯誤記憶體,用以儲存該高可靠度錯誤判斷模組所產生的各該高可靠度錯誤位置資訊;及 一損壞行記憶體,用以儲存該損壞行資料。
- 如申請專利範圍第9項所述的儲存裝置,其中該些預設低密度奇偶校驗碼儲存於該唯讀記憶體中。
- 一種快閃記憶體之讀取方法,包含: 分別計算複數預設低密度奇偶校驗碼之複數陷阱集和一先天損壞行位置資訊之間的一第一相關性; 以具有最低的該第一相關性的該預設低密度奇偶校驗碼作為一選定低密度奇偶校驗碼; 根據一讀取指令自一快閃記憶體取得一讀取資訊;及 利用該選定低密度奇偶校驗碼對該讀取資訊進行解碼。
- 如申請專利範圍第17項所述的讀取方法,更包含: 計算作為該選定低密度奇偶校驗碼的該預設低密度奇偶校驗碼的該陷阱集和一損壞行資料之間的一第二相關性,其中該損壞行資料包含一運行損壞行位置資訊與該先天損壞行位置資訊; 判斷該第二相關性是否大於一第一閥值; 於該第二相關性大於該第一閥值時,改以該些預設低密度奇偶校驗碼中與該損壞行資料之間的一第三相關性小於或等於該第一閥值的該預設低密度奇偶校驗碼作為該選定低密度奇偶校驗碼。
- 如申請專利範圍第18項所述的讀取方法,更包含: 根據對該讀取資訊之複數通道值進行解碼後所產生的一解碼結果分別判斷各該通道值是否為一高可靠度錯誤; 於判斷為該高可靠度錯誤時,產生相應的高可靠度錯誤位置資訊; 根據各該高可靠度錯誤位置資訊判斷該快閃記憶體是否出現一運行損壞行;及 於判斷出現該運行損壞行時將該運行損壞行的行位置記錄至該運行損壞行位置資訊中。
- 如申請專利範圍第18項所述的讀取方法,更包含: 於該第二相關性小於該第一閥值時,判斷該第二相關性否大於一第二閥值; 於判斷該第二相關性大於該第二閥值時,對該選定低密度奇偶校驗碼的該陷阱集執行一後處理;及 於判斷該第二相關性小於或等於該第二閥值時,維持該選定低密度奇偶校驗碼。
- 如申請專利範圍第18項所述的讀取方法,更包含: 於該些預設低密度奇偶校驗碼中找不到該第三相關性小於或等於該第一閥值的該預設低密度奇偶校驗碼作為該選定低密度奇偶校驗碼時,將相應於該損壞行資料的一區塊之編號存入至損壞區塊列表中,以禁用該區塊。
- 如申請專利範圍第19項所述的讀取方法其中,根據各該高可靠度錯誤位置資訊判斷該快閃記憶體是否出現該運行損壞行之步驟係根據位置完全相同的該些高可靠度錯誤位置資訊之數量是否超過一第一預設數量來判斷,或根據跨頁但其餘位置完全相同的該些高可靠度錯誤位置資訊之數量是否超過一第二預設數量來判斷。
- 如申請專利範圍第17項所述的讀取方法,其中根據該讀取指令自該快閃記憶體取得該讀取資訊之步驟包含: 根據該讀取指令自該快閃記憶體之複數區塊中之一讀取一讀取資訊;及 轉換該讀取資訊成該些通道值。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126704A TWI748214B (zh) | 2019-07-29 | 2019-07-29 | 快閃記憶體控制器、儲存裝置及其讀取方法 |
CN201911071633.0A CN112306382B (zh) | 2019-07-29 | 2019-11-05 | 快闪存储器控制器、储存装置及其读取方法 |
US16/741,190 US11106531B2 (en) | 2019-07-29 | 2020-01-13 | Flash memory controller, storage device and reading method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126704A TWI748214B (zh) | 2019-07-29 | 2019-07-29 | 快閃記憶體控制器、儲存裝置及其讀取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202105922A true TW202105922A (zh) | 2021-02-01 |
TWI748214B TWI748214B (zh) | 2021-12-01 |
Family
ID=74258424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108126704A TWI748214B (zh) | 2019-07-29 | 2019-07-29 | 快閃記憶體控制器、儲存裝置及其讀取方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11106531B2 (zh) |
CN (1) | CN112306382B (zh) |
TW (1) | TWI748214B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI778326B (zh) * | 2020-02-12 | 2022-09-21 | 慧榮科技股份有限公司 | 資料儲存媒體之損壞資料行的篩選方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799742B1 (en) * | 2007-07-30 | 2014-08-05 | Marvell International Ltd. | QC-LDPC decoder with list-syndrome decoding |
US20090319860A1 (en) * | 2008-06-23 | 2009-12-24 | Ramot At Tel Aviv University Ltd. | Overcoming ldpc trapping sets by decoder reset |
JP5432367B2 (ja) * | 2009-04-21 | 2014-03-05 | アギア システムズ インコーポレーテッド | 書込み検証を使用した符号のエラーフロア軽減 |
CN101873197A (zh) * | 2010-06-12 | 2010-10-27 | 电子科技大学 | Ldpc码固定比特位的编译码设备 |
US8443250B2 (en) * | 2010-10-11 | 2013-05-14 | Lsi Corporation | Systems and methods for error correction using irregular low density parity check codes |
US8566665B2 (en) * | 2011-06-24 | 2013-10-22 | Lsi Corporation | Systems and methods for error correction using low density parity check codes using multiple layer check equations |
US8595589B2 (en) * | 2011-09-30 | 2013-11-26 | Mitsubishi Electric Research Laboratories, Inc. | Quasi-cyclic low-density parity-check codes |
US8996971B2 (en) * | 2012-09-04 | 2015-03-31 | Lsi Corporation | LDPC decoder trapping set identification |
US20150222291A1 (en) * | 2014-02-05 | 2015-08-06 | Kabushiki Kaisha Toshiba | Memory controller, storage device and memory control method |
US10089177B2 (en) * | 2014-06-30 | 2018-10-02 | Sandisk Technologies Llc | Multi-stage decoder |
US10141953B2 (en) * | 2016-12-14 | 2018-11-27 | Via Technologies, Inc. | Low-density parity-check apparatus and matrix trapping set breaking method |
US20180189140A1 (en) * | 2016-12-31 | 2018-07-05 | Intel Corporation | Enhanced error correcting mechanism to provide recovery from multiple arbitrary partition failure |
TWI652677B (zh) * | 2017-11-29 | 2019-03-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
-
2019
- 2019-07-29 TW TW108126704A patent/TWI748214B/zh active
- 2019-11-05 CN CN201911071633.0A patent/CN112306382B/zh active Active
-
2020
- 2020-01-13 US US16/741,190 patent/US11106531B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11106531B2 (en) | 2021-08-31 |
CN112306382A (zh) | 2021-02-02 |
CN112306382B (zh) | 2023-12-26 |
US20210034456A1 (en) | 2021-02-04 |
TWI748214B (zh) | 2021-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714709B2 (en) | Enhanced block management for a memory subsystem | |
KR101369444B1 (ko) | 정정 불가능한 에러를 해결하는 하이브리드 에러 정정 코딩 | |
US9817749B2 (en) | Apparatus and method of offloading processing from a data storage device to a host device | |
US10818371B2 (en) | Data storage devices and data processing methods | |
TWI674767B (zh) | 用於nand快閃記憶體的渦輪乘積碼 | |
TWI625735B (zh) | 記憶體管理方法以及儲存控制器 | |
US20170177259A1 (en) | Techniques to Use Open Bit Line Information for a Memory System | |
US10763897B2 (en) | Memory system | |
KR20190022987A (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US10824523B2 (en) | Data storage device and operating method thereof | |
US8331151B2 (en) | Semiconductor memory including control unit responsive to erase command to determine selection of redundant memory block | |
WO2014164134A2 (en) | Detecting effect of corrupting event on preloaded data in non-volatile memory | |
CN109390027B (zh) | 解码方法及相关的闪存控制器与电子装置 | |
TWI640865B (zh) | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 | |
US20070294588A1 (en) | Performing a diagnostic on a block of memory associated with a correctable read error | |
US20230297464A1 (en) | Abnormal power loss recovery method, memory control circuit unit, and memory storage device | |
JP2019096281A (ja) | データ記憶装置および関連する操作方法 | |
US20170286219A1 (en) | Data storage device and operating method thereof | |
KR101497545B1 (ko) | 프리 페이지 검출 방법 및 장치와 이를 이용한 에러 정정 코드 디코딩 방법 및 장치 | |
TWI748214B (zh) | 快閃記憶體控制器、儲存裝置及其讀取方法 | |
CN106847342B (zh) | 非易失性存储器装置及其空页检测方法 | |
TWI594253B (zh) | 非依電性記憶體裝置及其空頁偵測方法 | |
US11115063B2 (en) | Flash memory controller, storage device and reading method | |
US20210374294A1 (en) | Data storage device and data processing method | |
US20200264953A1 (en) | Error correction in data storage devices |