CN112306382B - 快闪存储器控制器、储存装置及其读取方法 - Google Patents
快闪存储器控制器、储存装置及其读取方法 Download PDFInfo
- Publication number
- CN112306382B CN112306382B CN201911071633.0A CN201911071633A CN112306382B CN 112306382 B CN112306382 B CN 112306382B CN 201911071633 A CN201911071633 A CN 201911071633A CN 112306382 B CN112306382 B CN 112306382B
- Authority
- CN
- China
- Prior art keywords
- density parity
- parity check
- low density
- check code
- flash memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 206010010356 Congenital anomaly Diseases 0.000 claims abstract description 31
- 238000012937 correction Methods 0.000 claims abstract description 29
- 230000002950 deficient Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 12
- 238000012805 post-processing Methods 0.000 claims description 6
- 238000004378 air conditioning Methods 0.000 claims 13
- 230000005540 biological transmission Effects 0.000 description 18
- 230000000875 corresponding effect Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 208000032170 Congenital Abnormalities Diseases 0.000 description 4
- 238000013500 data storage Methods 0.000 description 4
- 230000002596 correlated effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
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
-
- 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
- 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
-
- 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型快闪存储器来说,具有较高的储存密度以及较低的每一储存位元的成本。
一般而言,因制造生产时的缺陷,快闪存储器于开卡前便可能存在有损坏行(badcolumn)(此种可称为先天损坏行)。此外,快闪存储器于使用过程中也可能因为使用磨损导致较为脆弱的某些行因变得易于出错而成为损坏行(此种可称为运行损坏行)。并且,此些损坏行所导致的高可靠度错误会影响到低密度奇偶校验码(low-density parity-checkcode,LDPC code)的更正力与可靠度。
传统的快闪存储器控制器于碰到先天损坏行时,若其状况不严重则直接使用。而若快闪存储器控制器具有跳过损坏行功能时,则直接跳过损坏行,以藉由缩减页的大小来避免。然而,此种跳过作法会增加快闪存储器控制器处理的复杂度,且缩减页的大小也会降低低密度奇偶校验码的更正力。此外,对于使用过程中出现的运行损坏行,传统的快闪存储器控制器通常都无法特别处理。
发明内容
在一实施例中,一种用以存取快闪存储器的快闪存储器控制器,包含只读存储器、处理器与错误更正码单元。只读存储器用以储存程序码。处理器用以执行程序码以控制对快闪存储器的存取。错误更正码单元包含控制模块与解码器。控制模块用以分别计算多个预设低密度奇偶校验码的多个陷阱集和先天损坏行位置资讯之间的第一相关性,并以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码。并且,解码器用以根据选定低密度奇偶校验码对自快闪存储器取得的读取资讯进行解码。
在一实施例中,一种储存装置包含快闪存储器与快闪存储器控制器。快闪存储器控制器用以存取快闪存储器。快闪存储器控制器包含只读存储器、处理器与错误更正码单元。只读存储器用以储存程序码。处理器用以执行程序码以控制对快闪存储器的存取。错误更正码单元包含控制模块与解码器。控制模块用以分别计算多个预设低密度奇偶校验码的多个陷阱集和先天损坏行位置资讯之间的第一相关性,并以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码。并且,解码器用以根据选定低密度奇偶校验码对自快闪存储器取得的读取资讯进行解码。
在一实施例中,一种快闪存储器的读取方法包含:分别计算多个预设低密度奇偶校验码的多个陷阱集和于先天损坏行位置资讯之间的第一相关性;以具有最低的第一相关性的预设低密度奇偶校验码作为选定低密度奇偶校验码;根据读取指令自快闪存储器取得读取资讯;及利用选定低密度奇偶校验码对此读取资讯进行解码。
附图说明
图1为耦接至主装置的储存装置的一实施例的方块示意图。
图2为快闪存储器的数据储存空间的一实施例的概要示意图。
图3为图1中错误更正码单元的一实施例的方块示意图。
图4为读取方法的一实施例的流程图。
图5为图4中于步骤S40的执行后一实施例的流程图。
符号说明
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为耦接至主装置的储存装置的一实施例的方块示意图。请参阅图1,储存装置100可耦接至主装置(Host Device)200。在一些实施态样中,储存装置100可为记忆卡,且主装置200可为但不限于配置有读卡机的各式装置,例如电脑、手机、相机等。在另一些实施态样中,储存装置100亦可为固态硬碟(SSD),且主装置200可为但不限于电脑、主机等。
在一实施例中,储存装置100包含快闪存储器(Flash Memory)110和快闪存储器控制器120,且快闪存储器控制器120耦接于快闪存储器110。快闪存储器110用以储存各式数据,例如多媒体档案,且快闪存储器控制器120可用以存取快闪存储器110。
图2为快闪存储器的数据储存空间的一实施例的概要示意图。请参阅图1与图2,一般而言,快闪存储器110的数据储存空间可被划分成多个区块(或称为物理区块(physicalblock))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 badcolumn)位置资讯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所具有的陷阱集的位置与种类因已为本技术领域中具有通常知识者所熟知,例如透过高可靠度错误(HighReliability 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可以各式制程的集成电路制程方式整合于晶片中,但本发明并非以此为限。
综上所述,本发明任一实施例的快闪存储器控制器、储存装置及读取方法,其以和快闪存储器的先天损坏行的位置相关性最低的预设低密度奇偶校验码作为提供给解码器使用的选定低密度奇偶校验码,使得快闪存储器的先天损坏行对选定低密度奇偶校验码的更正力和可靠度的影响可降低。此外,本发明任一实施例的快闪存储器控制器、储存装置及读取方法还透过于使用过程中侦测高可靠度错误的位置来得到运行损坏行位置资讯,以避免于使用过程中才出现的运行损坏行会减损到选定低密度奇偶校验码的更正力和可靠度。
本发明的实施例揭示如上,然其并非用以限定本发明的范围,任何所属技术领域中具有通常知识者,在不脱离本发明实施例的精神和范围内,当可做些许的更动与润饰,因此本发明的保护范围当由权利要求书界定为准。
Claims (23)
1.一种快闪存储器控制器,该快闪存储器控制器用以存取一快闪存储器,该快闪存储器控制器包含:
一只读存储器,用以储存一程序码;
一处理器,用以执行该程序码以控制对该快闪存储器的存取;及
一错误更正码单元,包含:
一控制模块,根据多个预设低密度奇偶校验码的多个陷阱集和一先天损坏行位置资讯去分别计算出各预设低密度奇偶校验码的陷阱集和该先天损坏行位置资讯之间的第一相关性,并以具有最低的该第一相关性的该预设低密度奇偶校验码作为一选定低密度奇偶校验码;该先天损坏行位置资讯记录了制造只读存储器之后被损坏的先天损坏行的位置;及
一解码器,根据该选定低密度奇偶校验码对自该快闪存储器取得的读取资讯进行解码。
2.如权利要求1所述的快闪存储器控制器,其特征在于,该控制模块还计算作为该选定低密度奇偶校验码的该预设低密度奇偶校验码的该陷阱集和一损坏行数据之间的一第二相关性,并判断该第二相关性是否大于一第一阈值,其中该损坏行数据包含一运行损坏行位置资讯与该先天损坏行位置资讯,且于该第二相关性大于该第一阈值时,该控制模块从该些预设低密度奇偶校验码中选出与该损坏行数据之间的一第三相关性小于或等于该第一阈值的一该预设低密度奇偶校验码,其中,该第三相关性是根据该预设低密度奇偶校验码的该陷阱集和该损坏行数据而计算,且该控制模块改为以选出的该预设低密度奇偶校验码作为该选定低密度奇偶校验码。
3.如权利要求2所述的快闪存储器控制器,其特征在于,该错误更正码单元还包含:
一高可靠度错误判断模块,用以根据该解码器对该读取资讯的多个通道值进行解码后所产生的一解码结果分别判断各该通道值是否为一高可靠度错误,并于判断为该高可靠度错误时,产生相应的高可靠度错误位置资讯;及
一运行损坏行判断模块,用以根据各该高可靠度错误位置资讯判断该快闪存储器是否出现一运行损坏行,并于判断出现该运行损坏行时将该运行损坏行的行位置记录至该运行损坏行位置资讯中。
4.如权利要求2所述的快闪存储器控制器,其特征在于,于该第二相关性小于该第一阈值时,该控制模块还判断该第二相关性是否大于一第二阈值,于判断该第二相关性大于该第二阈值时,该控制模块致使该解码器对该选定低密度奇偶校验码的该陷阱集执行一降低该选定低密度奇偶校验码的错误基数现象的后处理,且于该第二相关性小于或等于该第二阈值时,该控制模块维持该选定低密度奇偶校验码。
5.如权利要求2所述的快闪存储器控制器,其特征在于,该控制模块在该些预设低密度奇偶校验码中找不到该第三相关性小于或等于该第一阈值的该预设低密度奇偶校验码作为该选定低密度奇偶校验码时,该控制模块将相应于该损坏行数据的一区块的编号存入至损坏区块列表中,以禁用该区块。
6.如权利要求3所述的快闪存储器控制器,其特征在于,该运行损坏行判断模块是在位置完全相同的该些高可靠度错误位置资讯的数量超过一第一预设数量时判断出现该运行损坏行,或者该运行损坏行判断模在差异仅在于页栏位但其余位置完全相同的该些高可靠度错误位置资讯的数量超过一第二预设数量时判断出现该运行损坏行。
7.如权利要求3所述的快闪存储器控制器,其特征在于,该错误更正码单元还包含:
一数位信号处理模块,用以将自该快闪存储器读取进来的一读取数据转换成该些通道值;
一通道值存储器,用以储存该些通道值;
一解码结果存储器,用以储存该解码结果;
一高可靠度错误存储器,用以储存该高可靠度错误判断模块所产生的各该高可靠度错误位置资讯;及
一损坏行存储器,用以储存该损坏行数据。
8.如权利要求1所述的快闪存储器控制器,其特征在于,该些预设低密度奇偶校验码储存于该只读存储器中。
9.一种储存装置,包含:
一快闪存储器;及
一快闪存储器控制器,用以存取该快闪存储器,该快闪存储器控制器包含:
一只读存储器,用以储存一程序码;
一处理器,用以执行该程序码以控制对该快闪存储器的存取;及
一错误更正码单元,包含:
一控制模块,根据多个预设低密度奇偶校验码的多个陷阱集和一先天损坏行位置资讯去分别计算出各预设低密度奇偶校验码的陷阱集和该先天损坏行位置资讯之间的第一相关性,并以具有最低的该第一相关性的该预设低密度奇偶校验码作为一选定低密度奇偶校验码;该先天损坏行位置资讯记录了制造只读存储器之后被损坏的先天损坏行的位置;及
一解码器,根据该选定低密度奇偶校验码对自该快闪存储器取得的一读取资讯进行解码。
10.如权利要求9所述的储存装置,其特征在于,该控制模块还计算作为该选定低密度奇偶校验码的该预设低密度奇偶校验码的该陷阱集和一损坏行数据之间的一第二相关性,并判断该第二相关性是否大于一第一阈值,其中该损坏行数据包含一运行损坏行位置资讯与该先天损坏行位置资讯,且于该第二相关性大于该第一阈值时,该控制模块从该些预设低密度奇偶校验码中选出与该损坏行数据之间的一第三相关性小于或等于该第一阈值的一预设低密度奇偶校验码,其中,该第三相关性是根据该预设低密度奇偶校验码的该陷阱集和该损坏行数据而计算,且该控制模块改为以选出的该预设低密度奇偶校验码作为该选定低密度奇偶校验码。
11.如权利要求10所述的储存装置,其特征在于,该错误更正码单元还包含:
一高可靠度错误判断模块,用以根据该解码器对该读取资讯的多个通道值进行解码后所产生的一解码结果分别判断各该通道值是否为一高可靠度错误,并于判断为该高可靠度错误时,产生相应的高可靠度错误位置资讯;及
一运行损坏行判断模块,用以根据各该高可靠度错误位置资讯判断该快闪存储器是否出现一运行损坏行,并于判断出现该运行损坏行时将该运行损坏行的行位置记录至该运行损坏行位置资讯中。
12.如权利要求10所述的储存装置,其特征在于,于该第二相关性小于该第一阈值时,该控制模块还判断该第二相关性否大于一第二阈值,于判断该第二相关性大于该第二阈值时,该控制模块致使该解码器对该选定低密度奇偶校验码的该陷阱集执行一降低该选定低密度奇偶校验码的错误基数现象的后处理,且于该第二相关性小于或等于该第二阈值时,该控制模块维持该选定低密度奇偶校验码。
13.如权利要求10所述的储存装置,其特征在于,该控制模块在该些预设低密度奇偶校验码中找不到该第三相关性小于或等于该第一阈值的该预设低密度奇偶校验码作为该选定低密度奇偶校验码时,该控制模块将相应于该损坏行数据的一区块的编号存入至损坏区块列表中,以禁用该区块。
14.如权利要求11所述的储存装置,其特征在于,该运行损坏行判断模块是于位置完全相同的该些高可靠度错误位置资讯的数量超过一第一预设数量时判断出现该运行损坏行,或者该运行损坏行判断模块是在差异仅在于页栏位但其余位置完全相同的该些高可靠度错误位置资讯的数量超过一第二预设数量时判断出现该运行损坏行。
15.如权利要求11所述的储存装置,其特征在于,该错误更正码单元还包含:
一数位信号处理模块,用以将自该快闪存储器读取进来的一读取资讯转换成该些通道值;
一通道值存储器,用以储存该些通道值;
一解码结果存储器,用以储存该解码结果;
一高可靠度错误存储器,用以储存该高可靠度错误判断模块所产生的各该高可靠度错误位置资讯;及
一损坏行存储器,用以储存该损坏行数据。
16.如权利要求9所述的储存装置,其特征在于,该些预设低密度奇偶校验码储存于该只读存储器中。
17.一种快闪存储器的读取方法,包含:
根据多个预设低密度奇偶校验码的多个陷阱集和一先天损坏行位置资讯去分别计算出各预设低密度奇偶校验码的陷阱集和该先天损坏行位置资讯之间的第一相关性;
以具有最低的该第一相关性的该预设低密度奇偶校验码作为一选定低密度奇偶校验码;该先天损坏行位置资讯记录了制造只读存储器之后被损坏的先天损坏行的位置;
根据一读取指令自一快闪存储器取得一读取资讯;及
利用该选定低密度奇偶校验码对该读取资讯进行解码。
18.如权利要求17所述的读取方法,其特征在于,还包含:
计算作为该选定低密度奇偶校验码的该预设低密度奇偶校验码的该陷阱集和一损坏行数据之间的一第二相关性,其中该损坏行数据包含一运行损坏行位置资讯与该先天损坏行位置资讯;
判断该第二相关性是否大于一第一阈值;
于该第二相关性大于该第一阈值时,从该些预设低密度奇偶校验码中选出与该损坏行数据之间的一第三相关性小于或等于该第一阈值的一预设低密度奇偶校验码,其中,该第三相关性是根据该预设低密度奇偶校验码的该陷阱集和该损坏行数据而计算,且控制模块改为以选出的该预设低密度奇偶校验码作为该选定低密度奇偶校验码。
19.如权利要求18所述的读取方法,其特征在于,还包含:
根据对该读取资讯的多个通道值进行解码后所产生的一解码结果分别判断各该通道值是否为一高可靠度错误;
于判断为该高可靠度错误时,产生相应的高可靠度错误位置资讯;
根据各该高可靠度错误位置资讯判断该快闪存储器是否出现一运行损坏行;及
于判断出现该运行损坏行时将该运行损坏行的行位置记录至该运行损坏行位置资讯中。
20.如权利要求18所述的读取方法,其特征在于,还包含:
于该第二相关性小于该第一阈值时,判断该第二相关性否大于一第二阈值;
于判断该第二相关性大于该第二阈值时,对该选定低密度奇偶校验码的该陷阱集执行一降低该选定低密度奇偶校验码的错误基数现象的后处理;及
于判断该第二相关性小于或等于该第二阈值时,维持该选定低密度奇偶校验码。
21.如权利要求18所述的读取方法,其特征在于,还包含:
于该些预设低密度奇偶校验码中找不到该第三相关性小于或等于该第一阈值的该预设低密度奇偶校验码作为该选定低密度奇偶校验码时,将相应于该损坏行数据的一区块的编号存入至损坏区块列表中,以禁用该区块。
22.如权利要求19项所述的读取方法其中,根据各该高可靠度错误位置资讯判断该快闪存储器是否出现该运行损坏行的步骤根据位置完全相同的该些高可靠度错误位置资讯的数量是否超过一第一预设数量来判断,或根据差异仅在于页栏位但其余位置完全相同的该些高可靠度错误位置资讯的数量是否超过一第二预设数量来判断。
23.如权利要求19所述的读取方法,其特征在于,根据该读取指令自该快闪存储器取得该读取资讯的步骤包含:
根据该读取指令自该快闪存储器的多个区块中的一读取一读取资讯;及
转换该读取资讯成该些通道值。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108126704A TWI748214B (zh) | 2019-07-29 | 2019-07-29 | 快閃記憶體控制器、儲存裝置及其讀取方法 |
TW108126704 | 2019-07-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112306382A CN112306382A (zh) | 2021-02-02 |
CN112306382B true CN112306382B (zh) | 2023-12-26 |
Family
ID=74258424
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911071633.0A Active CN112306382B (zh) | 2019-07-29 | 2019-11-05 | 快闪存储器控制器、储存装置及其读取方法 |
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 | 慧榮科技股份有限公司 | 資料儲存媒體之損壞資料行的篩選方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873197A (zh) * | 2010-06-12 | 2010-10-27 | 电子科技大学 | Ldpc码固定比特位的编译码设备 |
CN106971759A (zh) * | 2016-12-14 | 2017-07-21 | 威盛电子股份有限公司 | 低密度奇偶校验装置与脱离矩阵陷阱集合方法 |
Family Cites Families (11)
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 |
US8484535B2 (en) * | 2009-04-21 | 2013-07-09 | Agere Systems Llc | Error-floor mitigation of codes using write verification |
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 |
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
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101873197A (zh) * | 2010-06-12 | 2010-10-27 | 电子科技大学 | Ldpc码固定比特位的编译码设备 |
CN106971759A (zh) * | 2016-12-14 | 2017-07-21 | 威盛电子股份有限公司 | 低密度奇偶校验装置与脱离矩阵陷阱集合方法 |
Also Published As
Publication number | Publication date |
---|---|
US11106531B2 (en) | 2021-08-31 |
TWI748214B (zh) | 2021-12-01 |
US20210034456A1 (en) | 2021-02-04 |
TW202105922A (zh) | 2021-02-01 |
CN112306382A (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11714709B2 (en) | Enhanced block management for a memory subsystem | |
CN107506257B (zh) | 错误检查纠正解码方法与装置 | |
US9043678B2 (en) | Detecting effect of corrupting event on preloaded data in non-volatile memory | |
US8327230B2 (en) | Data structure for flash memory and data reading/writing method thereof | |
CN105788648B (zh) | 基于异构混合内存的nvm坏块识别处理及纠错方法和系统 | |
US9639419B2 (en) | Read voltage level estimating method, memory storage device and memory control circuit unit | |
US9130597B2 (en) | Non-volatile memory error correction | |
US10592333B2 (en) | Dual-mode error-correction code/write-once memory codec | |
US10514980B2 (en) | Encoding method and memory storage apparatus using the same | |
CN105489242B (zh) | 数据储存器件及其操作方法 | |
KR101497545B1 (ko) | 프리 페이지 검출 방법 및 장치와 이를 이용한 에러 정정 코드 디코딩 방법 및 장치 | |
CN112306382B (zh) | 快闪存储器控制器、储存装置及其读取方法 | |
CN106847342B (zh) | 非易失性存储器装置及其空页检测方法 | |
TWI594253B (zh) | 非依電性記憶體裝置及其空頁偵測方法 | |
US11115063B2 (en) | Flash memory controller, storage device and reading method | |
US9954556B2 (en) | Scheme to avoid miscorrection for turbo product codes | |
JP2014137833A (ja) | 半導体メモリ及び誤り訂正ビット数の出力方法 | |
US20200264953A1 (en) | Error correction in data storage devices | |
US11609813B2 (en) | Memory system for selecting counter-error operation through error analysis and data process system including the same | |
US20240194282A1 (en) | Flash memory module testing method and associated memory controller and memory device | |
CN117636999A (zh) | 数据恢复方法、存储器存储装置及存储器控制器 | |
CN117409845A (zh) | 分组管理方法、存储器存储装置及存储器控制器 | |
CN112395127A (zh) | 存储设备的可靠性测试方法及其存储设备 | |
CN117409844A (zh) | 数据恢复方法、存储器存储装置及存储器控制器 | |
CN117636982A (zh) | 读取电压管理方法、存储器存储装置及存储器控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |