CN108447523A - 用来控制一记忆装置的方法以及记忆装置与控制器 - Google Patents
用来控制一记忆装置的方法以及记忆装置与控制器 Download PDFInfo
- Publication number
- CN108447523A CN108447523A CN201810313064.5A CN201810313064A CN108447523A CN 108447523 A CN108447523 A CN 108447523A CN 201810313064 A CN201810313064 A CN 201810313064A CN 108447523 A CN108447523 A CN 108447523A
- Authority
- CN
- China
- Prior art keywords
- low
- density checksum
- eigenmatrix
- error correction
- group
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000012937 correction Methods 0.000 claims abstract description 160
- 239000011159 matrix material Substances 0.000 claims abstract description 138
- 230000005055 memory storage Effects 0.000 claims description 80
- 125000004122 cyclic group Chemical group 0.000 claims description 32
- 238000012545 processing Methods 0.000 claims description 27
- 239000013598 vector Substances 0.000 claims description 21
- 230000009183 running Effects 0.000 claims description 19
- 238000003860 storage Methods 0.000 claims description 14
- 230000003694 hair properties Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 5
- 241000208340 Araliaceae Species 0.000 claims description 4
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 claims description 4
- 235000003140 Panax quinquefolius Nutrition 0.000 claims description 4
- 235000008434 ginseng Nutrition 0.000 claims description 4
- 230000009897 systematic effect Effects 0.000 abstract 1
- 230000008859 change Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 239000007787 solid Substances 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008439 repair process 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
-
- 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/1072—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 multilevel memories
-
- 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/1148—Structural properties of the code parity-check or generator matrix
- H03M13/116—Quasi-cyclic LDPC [QC-LDPC] codes, i.e. the parity-check matrix being composed of permutation or circulant sub-matrices
-
- 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
-
- 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6516—Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
Abstract
本发明公开了一种用来控制一记忆装置的方法及其相关的记忆装置与控制器,包括:从一系统区块读取一第二组错误更正组态参数的编码数据,并利用一低密度奇偶校验引擎對所述编码数据进行译码以取得所述第二组错误更正组态参数,而所述低密度奇偶校验引擎储存一第一组错误更正组态参数,且于對所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于一第一低密度奇偶校验特征矩阵的译码;以及控制所述低密度奇偶校验引擎基于所述第二组错误更正组态参数进行对应于一第二低密度奇偶校验特征矩阵的运作。本发明的方法、记忆装置、与控制器可于不同的产品共享相同的控制器芯片,故可省下设计多个版本的控制器芯片所需的成本。
Description
本申请要求2014年10月23日提交的名为“用来控制一记忆装置的方法以及记忆装置与控制器”的专利申请第201410580094.4号的优先权,并在此完全引述作为参考。
技术领域
本发明是有涉及闪存(Flash Memory)装置的错误更正能力的控制,尤指一种用来控制一记忆装置的方法以及其相关的记忆装置与控制器。
背景技术
近年来由于闪存的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的闪存的访问控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(Single Level Cell,SLC)与多阶细胞(Multiple Level Cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(Memory Cell;亦可称为「记忆单元」)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆细胞的晶体管的储存能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录多个位的信息(例如:00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的两倍以上,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。依据现有技术,由于某些类型的多阶细胞闪存的运作复杂,故现有的存储器控制器需要配置强大的错误更正机制,以确保用户数据的正确性。然而,某些问题就产生了。例如:因应不同的错误更正能力需求,不同产品的存储器控制器需要不同的设计,使得相关成本(例如:时间成本与材料成本)对应地增加。又例如:相较于市场上既有的产品,后续推出的产品中的存储器控制器需要变更设计,使得相关成本(例如:时间成本与材料成本)对应地增加。因此,需要一种新颖的方法来加强控管闪存的数据存取,以在不产生副作用(例如:储存数据错误)的状况下提升整体效能。
发明内容
因此,本发明的一目的在于公开一种用来控制一记忆装置的方法以及其相关的记忆装置与控制器,以解决上述问题。
本发明的另一目的在于公开一种用来控制一记忆装置的方法以及其相关的记忆装置与控制器,以于不同的产品共享相同的控制器芯片。
本发明的另一目的在于公开一种用来控制一记忆装置的方法以及其相关的记忆装置与控制器,以在不更换控制器芯片的状况下提升记忆装置的运作效能。
本发明的至少一较佳实施例中公开一种用来控制一记忆装置的方法,所述记忆装置包括至少一非挥发性(Non-volatile,NV)存储器组件,每一非挥发性存储器组件包括多个区块(Block),所述方法是应用于所述记忆装置中的一控制器,所述控制器是用来控制所述至少一非挥发性存储器组件,所述方法包括下列步骤:根据所述控制器的错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容;从所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块读取一第二组错误更正组态参数(Error Correction Configuring Parameter)的编码数据,并利用所述控制器中的一低密度奇偶校验(Low-Density Parity-Check,LDPC)引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存一第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵;以及将通过译码所述编码数据而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵。尤其是,所述第一低密度奇偶校验特征矩阵包括多个子矩阵(Submatrix),而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵(Square Matrix)。另外,所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵。此外,所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小。再者,所述预定集合包括一零矩阵(Zero Matrix)、一单位矩阵(IdentityMatrix)、以及所述单位矩阵的至少一循环位移(Cyclic-Shifted)矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
本发明于公开上述方法的同时,亦对应地公开一种记忆装置,包括:至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器根据其错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。另外,所述控制器从所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块读取一第二组错误更正组态参数的编码数据,并利用所述控制器中的一低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存一第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵。并且,所述控制器将通过译码所述编码数据而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器于所述至少一非挥发性存储器组件存取数据之用。尤其是,所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵。另外,所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵。此外,所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小。再者,所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
本发明于公开上述方法和记忆装置的同时,亦对应地公开一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述控制器根据其错误更正能力来决定第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容,并且包括:一低密度奇偶校验引擎,用来为所述控制器进行错误更正,其中所述低密度奇偶校验引擎包括硬件电路;以及一处理单元,耦接至所述低密度奇偶校验引擎,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置。所述控制器从所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块读取一第二组错误更正组态参数的编码数据,并利用所述控制器中的一低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存一第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵。并且,所述控制器将通过译码所述编码数据而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵。尤其是,所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵。另外,所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵。此外,所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小。再者,所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
本发明于公开上述方法、记忆装置和记忆装置的控制器的同时,亦对应地公开一种用来控制一记忆装置的方法,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述方法是应用于一初始化(Initialization)装置以通过利用所述记忆装置中的一控制器来对所述记忆装置进行初始化,所述控制器是用来控制所述至少一非挥发性存储器组件。所述方法包括下列步骤:根据所述控制器的错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容;将一第二组错误更正组态参数的编码数据写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块,其中所述编码数据是通过对所述第二组错误更正组态参数进行基于一第一组错误更正组态参数的编码而预先产生;利用所述控制器从所述特定非挥发性存储器组件的所述系统区块读取所述第二组错误更正组态参数的所述编码数据,并利用所述控制器中的一低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存所述第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵;以及利用所述控制器将通过译码所述编码数据而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器在初始化期间于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵。尤其是,所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵。另外,所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵。此外,所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小。再者,所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
本发明的好处之一是,相较于现有技术,本发明的方法、记忆装置、与控制器可于不同的产品共享相同的控制器芯片。因此,本发明可省下设计多个版本的控制器芯片所需的相关成本(例如:时间成本与材料成本)。
本发明的另一好处是,相较于现有技术,本发明的方法、记忆装置、与控制器可在不更换控制器芯片的状况下提升记忆装置的运作效能。因此,本发明公开较现有技术更佳的基本架构。
附图说明
图1为依据本发明一实施例的一种记忆装置的示意图。
图2为依据本发明一实施例的一种用来控制一记忆装置的方法。
图3绘示图2所示的方法于一实施例中所涉及的控制方案。
图4为依据本发明另一实施例的一种用来控制一记忆装置的方法。
图5绘示图2所示的方法于一实施例中所涉及的第一低密度奇偶校验特征矩阵。
图6绘示图2所示的方法于一实施例中所涉及的第二低密度奇偶校验特征矩阵。
图7绘示图2所示的方法于一实施例中所涉及的预定集合。
其中,附图标记说明如下:
100 记忆装置
100CON 控制器
105 初始化装置
110 处理单元
120 挥发性存储器
130 传输接口
140 非挥发性存储器模块
140SB 系统区块
140_0,140_1,…,140_N 非挥发性存储器组件
150 总线
180 低密度奇偶校验引擎
200,300 方法
210,220,305,310,320,330 步骤
A1,1,A1,2,...,A1,P,
A2,1,A2,2,...,A2,P,...,
AQ,1,AQ,2,...,AQ,P,
子矩阵
B1,1,B1,2,...,B1,R,
B2,1,B2,2,...,B2,R,...,
BS,1,BS,2,...,BS,R,
HA,HB 低密度奇偶校验特征矩阵
I 单位矩阵
MP,MQ,MR,MS 元素数量
O 零矩阵
具体实施方式
请参考图1,其绘示依据本发明一实施例的一种记忆装置100的示意图。记忆装置100包括:一处理单元110,一挥发性(Volatile)存储器120,一传输接口130,多个非挥发性(Non-volatile,NV)存储器组件140_0、140_1、…、与140_N(符号「N」代表一正整数)诸如(N+1)个快闪芯片,以及一总线150。于典型状况下,于传输接口130耦接至一主装置(未显示于图1)之后,所述主装置可通过传输接口130来存取(Access)记忆装置100。举例来说,所述主装置可代表一个人计算机,例如一膝上型计算机或一桌面计算机。
处理单元110可依据内嵌于处理单元110中或接收自处理单元110之外的程序代码(未显示)来管理记忆装置100。例如:所述程序代码可为内嵌于处理单元110的硬件码,尤其是一只读存储器码(ROM code)。又例如:所述程序代码可为接收自处理单元110之外的韧体码。尤其是,处理单元110是用来控制挥发性存储器120、传输接口130、非挥发性存储器组件140_0、140_1、…、与140_N、以及总线150。本实施例的处理单元110可为一高级缩减指令集计算机机器(Advanced Reduced Instruction Set Computer Machine,Advanced RISCMachine,ARM)处理器或一亚哥缩减指令集计算机核心(Argonaut RISC Core,ARC)处理器。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,处理单元110可为其它种处理器。依据本实施例的某些的变化例,处理单元110可从记忆装置100之外的一个外部电子装置(诸如个人计算机)接收某些指令,并且依据这些指令进行记忆装置100于出厂前的初始化(Initialization;于某些状况下亦可称为「开卡」),其中上述的初始化通常于记忆装置100刚制造完成时进行,而这个外部电子装置亦可称为初始化装置。此状况下,执行于所述外部电子装置中涉及对应的初始化流程的程序亦可视为上述的接收自处理单元110之外的程序代码的例子。
另外,挥发性存储器120可用来储存一全局页地址链结表(Global Page AddressLinking Table)、所述主装置所存取的数据、以及用来存取记忆装置100的其它所需信息。本实施例的挥发性存储器120可为一动态随机存取存储器(Dynamic Random AccessMemory,DRAM)或一静态随机存取存储器(Static Random Access Memory,SRAM)。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,挥发性存储器120可为其它种挥发性存储器。例如:挥发性存储器120可包括一静态随机存取存储器(Static Random Access Memory,SRAM)。
依据本实施例,图1所示的传输接口130是用来传输数据以及所述主装置与记忆装置100之间的指令,其中传输接口130符合一特定通信标准诸如串行高级技术附件(SerialAdvanced Technology Attachment,SATA)标准、并列高级技术附件(Parallel AdvancedTechnology Attachment,PATA)标准、或通用串行总线(Universal Serial Bus,USB)标准。例如:记忆装置100是一设置于所述主装置中的固态硬盘(Solid State Drive,SSD),且所述特定通信标准可为用来实施所述主装置的内部通信的一些典型通信标准,诸如串行高级技术附件标准或并列高级技术附件标准。又例如:记忆装置100是一固态硬盘且位于所述主装置之外,并且所述特定通信标准可为用来实施所述主装置的外部通信的一些典型通信标准,诸如通用串行总线标准。这只是为了说明的目的而已,并非对本发明的限制。依据本实施例的不同的变化例,记忆装置100可为一可携式记忆装置诸如一记忆卡,且所述特定通信标准可为用来实施一记忆卡的输入/输出接口的一些典型通信标准,诸如安全数码(SecureDigital,SD)标准或小型快闪(Compact Flash,CF)标准。
另外,非挥发性存储器组件140_0、140_1、…、与140_N是用来储存数据,其中非挥发性存储器组件140_0、140_1、…、与140_N可为(但不限于)NAND型快闪芯片。总线150是用来耦接处理单元110、挥发性存储器120、传输接口130、和非挥发性存储器组件140_0、140_1、…、与140_N,以及用来进行其通信。于本实施例中,图1所示架构中除了非挥发性存储器组件140_0、140_1、…、与140_N之外的部分可整合成一控制器100CON(未显示于图1),尤其是一集成电路(Integrated Circuit,IC)诸如一控制器芯片,其中控制器100CON是用来控制记忆装置100中的至少一非挥发性存储器组件诸如非挥发性存储器组件140_0、140_1、…、与140_N,故可视为记忆装置100的控制器。
于本实施例中,图1所示的非挥发性存储器组件140_0、140_1、…、与140_N中的每一非挥发性存储器组件,诸如非挥发性存储器组件140_n,可包括多个区块(Block),其中非挥发性存储器组件140_n于本实施例中可称为一快闪芯片,而索引n可代表落入区间[0,N]的范围内的任一整数。尤其是,每一区块可包括多页,而每一页可包括多个区段。例如,一区段可为最小读取单位。换言之,在一读取运作期间,处理单元110可读取一个区段或多个区段。这只是为了说明的目的而已,并非对本发明的限制。
图2为依据本发明一实施例的一种用来控制一记忆装置的方法200。所述方法可应用于图1所示的记忆装置100,尤其是上述的控制器100CON(例如:通过处理单元110执行上述程序代码的存储器控制器),其中执行上述程序代码的控制器100CON是用来控制上述的至少一非挥发性存储器组件诸如图1所示的非挥发性存储器组件140_0、140_1、…、与140_N。例如:当记忆装置100开机时,控制器100CON可以执行图2所示的工作流程。这只是为了说明的目的而已,并非对本发明的限制。所述方法说明如下:
于步骤210中,控制器100CON从上述的至少一非挥发性存储器组件中的一特定非挥发性存储器组件(例如:非挥发性存储器组件140_n,尤其是非挥发性存储器组件140_0)的一系统区块140SB读取一第二组错误更正组态参数(Error Correction ConfiguringParameter)的编码数据,并利用控制器100CON中的一低密度奇偶校验(Low-DensityParity-Check,以下简称为「LDPC」)引擎180(未显示于图2)对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述LDPC引擎180储存一第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述LDPC引擎180基于所述第一组错误更正组态参数进行对应于一第一LDPC特征矩阵的译码。
于步骤220中,控制器100CON将通过译码所述编码数据而取得的所述第二组错误更正组态参数储存于所述LDPC引擎180中的一随机存取存储器(Random Access Memory,以下简称为「RAM」;未显示),并控制所述LDPC引擎180基于所述RAM中的所述第二组错误更正组态参数进行对应于一第二LDPC特征矩阵的运作,使得所述LDPC引擎180具备对应于所述第二LDPC特征矩阵的编码与译码能力,以供控制器100CON于上述的至少一非挥发性存储器组件存取数据之用。
例如:当记忆装置100开机时,控制器100CON从所述系统区块读取所述编码数据并利用所述LDPC引擎180对所述编码数据进行译码以取得所述第二组错误更正组态参数,以容许所述LDPC引擎180基于所述RAM中的所述第二组错误更正组态参数进行对应于所述第二LDPC特征矩阵的运作。当记忆装置100关机时,所述RAM中的所述第二组错误更正组态参数消失,造成所述LDPC引擎180暂时地丧失对应于所述第二LDPC特征矩阵的编码与译码能力,直到记忆装置100再度开机。尤其是,当记忆装置100再度开机时,图2所示的工作流程可以再度执行。
实作上,步骤210中所述的所述编码数据可通过对所述第二组错误更正组态参数进行基于所述第一组错误更正组态参数的编码而预先产生,而所述编码数据是预先写入所述系统区块。这只是为了说明的目的而已,并非对本发明的限制。请注意,于本实施例中,通过利用不同组错误更正组态参数,所述LDPC引擎180可分别被组态成具备不同强度的错误更正能力,故所述LDPC引擎180的错误更正能力可通过重新组态而被改变,其中所述LDPC引擎180可视为可组态(Configurable)LDPC引擎。例如:在所述LDPC引擎180基于所述第一组错误更正组态参数进行运作的状况下,所述LDPC引擎180的错误更正能力对应于所述第一LDPC特征矩阵。又例如:在所述LDPC引擎180基于所述第二组错误更正组态参数进行运作的状况下,所述LDPC引擎180的错误更正能力对应于所述第二LDPC特征矩阵。
依据本实施例,所述第一LDPC特征矩阵包括多个子矩阵(Submatrix),而所述第一LDPC特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵(SquareMatrix)。另外,所述第二LDPC特征矩阵包括多个子矩阵,而所述第二LDPC特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵。此外,所述第二LDPC特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一LDPC特征矩阵的所述多个子矩阵中的任一子矩阵的大小。于本实施例中,所述预定集合包括一零矩阵(Zero Matrix)、一单位矩阵(Identity Matrix)、以及所述单位矩阵的至少一循环位移(Cyclic-Shifted)矩阵(例如:一个循环位移矩阵、或多个循环位移矩阵),其中上述的至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。例如:所述零矩阵、所述单位矩阵、以及上述的至少一循环位移矩阵均为(Z*Z)大小的方块矩阵,其中方块矩阵大小参数Z可为大于一的正整数。
尤其是,于所述第二LDPC特征矩阵当中沿着行方向的子矩阵的数量小于所述第一LDPC特征矩阵当中沿着行方向的子矩阵的数量,并且于所述第二LDPC特征矩阵当中沿着列方向的子矩阵的数量小于所述第一LDPC特征矩阵当中沿着列方向的子矩阵的数量。例如:于所述第二LDPC特征矩阵当中沿着行方向的子矩阵的数量等于所述第一LDPC特征矩阵当中沿着行方向的子矩阵的数量减一,并且于所述第二LDPC特征矩阵当中沿着列方向的子矩阵的数量等于所述第一LDPC特征矩阵当中沿着列方向的子矩阵的数量减一。
另外,所述第一组错误更正组态参数包括所述第一LDPC特征矩阵的总行数与总列数,并且所述第二组错误更正组态参数包括所述第二LDPC特征矩阵的总行数与总列数。请注意,因应所述LDPC引擎180的编码与译码算法的设计,这些组错误更正组态参数的内容可能有所变化。例如:在所述LDPC引擎180的迭代(Iterative)编码与译码是基于所述第一LDPC特征矩阵与所述第二LDPC特征矩阵中的任一者的列方向的状况下,所述第一组错误更正组态参数包括所述第一LDPC特征矩阵中的每一列子矩阵的非零子矩阵的数量,并且所述第二组错误更正组态参数包括所述第二LDPC特征矩阵中的每一列子矩阵的非零子矩阵的数量。又例如:在所述LDPC引擎180的迭代编码与译码是基于所述第一LDPC特征矩阵与所述第二LDPC特征矩阵中的任一者的行方向的状况下,所述第一组错误更正组态参数包括所述第一LDPC特征矩阵中的每一行子矩阵的非零子矩阵的数量,并且所述第二组错误更正组态参数包括所述第二LDPC特征矩阵中的每一行子矩阵的非零子矩阵的数量。
请注意,涉及所述第一LDPC特征矩阵与所述第二LDPC特征矩阵以及对应的所述第一组错误更正组态参数与所述第二组错误更正组态参数的实施细节,请进一步参考后续实施例的说明。
图3绘示图2所示的方法200于一实施例中所涉及的控制方案。图3所示的非挥发性存储器模块140包括图1所示的非挥发性存储器组件140_0、140_1、…、与140_N,其中系统区块140SB可为上述的系统区块的一例,而初始化装置105可为上述的初始化装置的一例。
依据本实施例,在对记忆装置100进行初始化的期间,通过利用控制器100CON,初始化装置105可将步骤210中所述的所述编码数据写入系统区块140SB。于全部的初始化运作已完成之后,操作员可将记忆装置100和初始化装置105断开。于是,当记忆装置100的用户开始使用记忆装置100时,记忆装置100开机,并且控制器100CON可以执行图2所示的工作流程。本实施例与前述实施例/变化例相仿之处不再重复赘述。
图4为依据本发明另一实施例的一种用来控制一记忆装置的方法300。所述方法可应用于图3所示架构中的至少一部分(例如:一部分或全部),尤其是初始化装置105以及上述的控制器100CON(例如:通过处理单元110执行上述程序代码的存储器控制器)。
于步骤305中,初始化装置105对记忆装置100进行初始化运作。依据本实施例,初始化装置105中涉及对应的初始化流程的程序可依控制器100CON的规格以及某些需求来修改。
于步骤310中,初始化装置105将所述第二组错误更正组态参数的所述编码数据写入上述的至少一非挥发性存储器组件中的所述特定非挥发性存储器组件的系统区块140SB,其中所述编码数据是通过对所述第二组错误更正组态参数进行基于所述第一组错误更正组态参数的编码而预先产生。通过编码的保护,所述第二组错误更正组态参数的正确性得以确保,故所述LDPC引擎180于重新组态后的错误更正能力亦得以确保。
于步骤320中,初始化装置105利用控制器100CON从所述特定非挥发性存储器组件的系统区块140SB读取所述第二组错误更正组态参数的所述编码数据,并利用控制器100CON中的所述LDPC引擎180对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述LDPC引擎180储存所述第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述LDPC引擎180基于所述第一组错误更正组态参数进行对应于所述第一LDPC特征矩阵的译码。例如:所述LDPC引擎180可包括只读存储器,以储存所述第一组错误更正组态参数。这只是为了说明的目的而已,并非对本发明的限制。在其它例子中,所述LDPC引擎180可包括其它类型的储存单元,以储存所述第一组错误更正组态参数。
于步骤330中,初始化装置105利用控制器100CON将通过对所述编码数据进行译码而取得的所述第二组错误更正组态参数储存于所述LDPC引擎180中的所述RAM,并控制所述LDPC引擎180基于所述RAM中的所述第二组错误更正组态参数进行对应于所述第二LDPC特征矩阵的运作,使得所述LDPC引擎180具备对应于所述第二LDPC特征矩阵的编码与译码能力,以供控制器100CON在初始化期间于上述的至少一非挥发性存储器组件存取数据之用。
请注意,图4所示的工作流程聚焦于初始化流程当中和本发明的方法相关的运作,诸如步骤310、步骤320、与步骤330的运作,其中初始化流程中的其它运作可依据现有技术中已知的内容来实施。本实施例与前述实施例/变化例相仿之处不再重复赘述。
图5绘示图2所示的方法200于一实施例中所涉及的第一LDPC特征矩阵HA,其中第一LDPC特征矩阵HA可为上述所述第一LDPC特征矩阵的一例。如图5所示,第一LDPC特征矩阵HA包括子矩阵{{A1,1,A1,2,...,A1,P},{A2,1,A2,2,...,A2,P},...,{AQ,1,AQ,2,...,AQ,P}},而第一LDPC特征矩阵HA中的每一列元素的元素数量与每一行元素的元素数量分别为MP与MQ,其中MP=(Z*P)且MQ=(Z*Q)。另外,第一LDPC特征矩阵HA中的每一列元素的元素数量MP与每一行元素的元素数量MQ可为上述所述第一LDPC特征矩阵的总行数与总列数的例子。此外,参数P代表上述所述第一LDPC特征矩阵中的每一列子矩阵的子矩阵数量,而参数Q代表上述所述第一LDPC特征矩阵中的每一行子矩阵的子矩阵数量。本实施例与前述实施例/变化例相仿之处不再重复赘述。
图6绘示图2所示的方法200于一实施例中所涉及的第二LDPC特征矩阵HB,其中第二LDPC特征矩阵HB可为上述所述第二LDPC特征矩阵的一例。如图6所示,第二LDPC特征矩阵HB包括子矩阵{{B1,1,B1,2,...,B1,R},{B2,1,B2,2,...,B2,R},...,{BS,1,BS,2,...,BS,R}},而第二LDPC特征矩阵HB中的每一列元素的元素数量与每一行元素的元素数量分别为MR与MS,其中MR=(Z*R)且MS=(Z*S)。另外,第二LDPC特征矩阵HB中的每一列元素的元素数量MR与每一行元素的元素数量MS可为上述所述第二LDPC特征矩阵的总行数与总列数的例子。此外,参数R代表上述所述第二LDPC特征矩阵中的每一列子矩阵的子矩阵数量,而参数S代表上述所述第二LDPC特征矩阵中的每一行子矩阵的子矩阵数量。本实施例与前述实施例/变化例相仿之处不再重复赘述。
图7绘示图2所示的方法200于一实施例中所涉及的预定集合,其中零矩阵O可为上述所述零矩阵的一例,而单位矩阵I可为上述所述单位矩阵的一例,并且绘示于单位矩阵I右侧的所述循环位移矩阵可为上述的至少一循环位移矩阵的例子。例如:上述的至少一循环位移矩阵诸如上述多个循环位移矩阵可取自循环地向右移位单位矩阵I中的全部的行向量或循环地向上移位单位矩阵I中的全部的列向量。这只是为了说明的目的而已,并非对本发明的限制。又例如:上述的至少一循环位移矩阵诸如上述多个循环位移矩阵可取自循环地向左移位单位矩阵I中的全部的行向量或循环地向下移位单位矩阵I中的全部的列向量。本实施例与前述实施例/变化例相仿之处不再重复赘述。
基于上列实施例,控制器100CON的制造商可以依照错误更正能力的强度的需求来决定所述第一LDPC特征矩阵与所述第二LDPC特征矩阵的内容。典型状况下,所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的LDPC特征矩阵(或不同的LDPC码)。当所述预定集合中的各个可选择的方块矩阵的大小(Z*Z)被选定时,所述预定集合当中全部的可选择的方块矩阵即可决定。由于所述第一LDPC特征矩阵中的各个子矩阵以及所述第二LDPC特征矩阵中的各个子矩阵均可选自所述预定集合,故所述LDPC引擎180可设计成自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数产生所述第一LDPC特征矩阵与所述第二LDPC特征矩阵。于是,在方块矩阵大小参数Z已被选定的状况下,通过利用不同组错误更正组态参数,所述LDPC引擎180可分别被组态成具备不同强度的错误更正能力。尤其是,在图2所示实施例中所述涉及所述第一LDPC特征矩阵与所述第二LDPC特征矩阵以及对应的所述第一组错误更正组态参数与所述第二组错误更正组态参数的各种限制施加于图3所示的控制方案的状况下,于不同的产品共享相同的控制器芯片的目标可以轻易地实现,并且在不更换控制器芯片的状况下提升记忆装置的运作效能的目标也可以轻易地实现。因此,本发明公开较现有技术更佳的基本架构,并且可省下设计多个版本的控制器芯片所需的相关成本(例如:时间成本与材料成本)。
以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (20)
1.一种用来控制一记忆装置的方法,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述方法是应用于所述记忆装置中的一控制器,所述控制器是用来控制所述至少一非挥发性存储器组件,所述方法的特征在于包括下列步骤:
根据所述控制器的错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容;
读取所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块以取得一第二组错误更正组态参数的编码数据,并利用所述控制器中的一低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存一第一组错误更正组态参数;以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵;以及
将通过对所述编码数据进行译码而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中储存的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵;
其中所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小;以及
所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
2.如权利要求1所述的方法,其特征在于所述第二低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量小于所述第一低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量;以及于所述第二低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量小于所述第一低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量。
3.如权利要求2所述的方法,其特征在于所述第二低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量等于所述第一低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量减一;以及于所述第二低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量等于所述第一低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量减一。
4.如权利要求1所述的方法,其特征在于在所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行运作的状况下,所述低密度奇偶校验引擎的错误更正能力对应于所述第一低密度奇偶校验特征矩阵;以及在所述低密度奇偶校验引擎基于所述第二组错误更正组态参数进行运作的状况下,所述低密度奇偶校验引擎的错误更正能力对应于所述第二低密度奇偶校验特征矩阵。
5.如权利要求1所述的方法,其特征在于所述编码数据是通过对所述第二组错误更正组态参数进行基于所述第一组错误更正组态参数的编码而预先产生;以及所述编码数据是预先写入所述系统区块。
6.如权利要求1所述的方法,其特征在于还包括:
当所述记忆装置开机时,从所述系统区块读取所述编码数据并利用所述低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,以容许所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作。
7.如权利要求6所述的方法,其特征在于当所述记忆装置关机时,所述随机存取存储器中的所述第二组错误更正组态参数消失,造成所述低密度奇偶校验引擎暂时地丧失对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,直到所述记忆装置再度开机。
8.如权利要求1所述的方法,其特征在于所述第一组错误更正组态参数包括所述第一低密度奇偶校验特征矩阵的总行数与总列数;以及所述第二组错误更正组态参数包括所述第二低密度奇偶校验特征矩阵的总行数与总列数。
9.如权利要求1所述的方法,其特征在于在所述低密度奇偶校验引擎的迭代编码与译码是基于所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵中的任一者的列方向的状况下,所述第一组错误更正组态参数包括所述第一低密度奇偶校验特征矩阵中的每一列子矩阵的非零子矩阵的数量,并且所述第二组错误更正组态参数包括所述第二低密度奇偶校验特征矩阵中的每一列子矩阵的非零子矩阵的数量。
10.如权利要求1所述的方法,其特征在于在所述低密度奇偶校验引擎的迭代编码与译码是基于所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵中的任一者的行方向的状况下,所述第一组错误更正组态参数包括所述第一低密度奇偶校验特征矩阵中的每一行子矩阵的非零子矩阵的数量,并且所述第二组错误更正组态参数包括所述第二低密度奇偶校验特征矩阵中的每一行子矩阵的非零子矩阵的数量。
11.一种记忆装置,其特征在于包括:
至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块;以及
一控制器,用来控制所述至少一非挥发性存储器组件,所述控制器包括一处理单元,以依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置,其中所述控制器根据其错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容;所述控制器从所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块读取一第二组错误更正组态参数的编码数据,并利用所述控制器中的一低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存一第一组错误更正组态参数;以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵;所述控制器将通过对所述编码数据进行译码而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵;
其中所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小;以及
所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
12.如权利要求11所述的记忆装置,其特征在于所述第二低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量小于所述第一低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量;以及于所述第二低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量小于所述第一低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量。
13.如权利要求11所述的记忆装置,其特征在于所述编码数据是通过对所述第二组错误更正组态参数进行基于所述第一组错误更正组态参数的编码而预先产生;以及所述编码数据是预先写入所述系统区块。
14.如权利要求11所述的记忆装置,其特征在于当所述记忆装置开机时,所述控制器从所述系统区块读取所述编码数据并利用所述低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,以容许所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作。
15.如权利要求14所述的记忆装置,其特征在于当所述记忆装置关机时,所述随机存取存储器中的所述第二组错误更正组态参数消失,造成所述低密度奇偶校验引擎暂时地丧失对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,直到所述记忆装置再度开机。
16.一种记忆装置的控制器,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述控制器的特征在于,所述控制器根据其错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容,且所述控制器包括:
一低密度奇偶校验引擎,用来为所述控制器进行错误更正,其中所述低密度奇偶校验引擎包括硬件电路;以及
一处理单元,耦接至所述低密度奇偶校验引擎,用来依据内嵌于所述处理单元或接收自所述处理单元之外的一程序代码来管理所述记忆装置,其中所述控制器从所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块读取一第二组错误更正组态参数的编码数据,并利用所述低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存一第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵;所述控制器将通过对所述编码数据进行译码而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵;
其中所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小;以及
所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
17.如权利要求16所述的控制器,其特征在于所述第二低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量小于所述第一低密度奇偶校验特征矩阵当中沿着行方向的子矩阵的数量;以及于所述第二低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量小于所述第一低密度奇偶校验特征矩阵当中沿着列方向的子矩阵的数量。
18.如权利要求16所述的控制器,其特征在于所述编码数据是通过对所述第二组错误更正组态参数进行基于所述第一组错误更正组态参数的编码而预先产生;以及所述编码数据是预先写入所述系统区块。
19.如权利要求16所述的控制器,其特征在于当所述记忆装置开机时,所述控制器从所述系统区块读取所述编码数据并利用所述低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,以容许所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作。
20.一种用来控制一记忆装置的方法,所述记忆装置包括至少一非挥发性存储器组件,每一非挥发性存储器组件包括多个区块,所述方法是应用于一初始化装置以通过利用所述记忆装置中的一控制器来对所述记忆装置进行初始化,所述控制器是用来控制所述至少一非挥发性存储器组件,所述方法的特征在于包括下列步骤:
根据所述控制器的错误更正能力来决定一第一低密度奇偶校验特征矩阵和一第二低密度奇偶校验特征矩阵的内容;
将一第二组错误更正组态参数的编码数据写入所述至少一非挥发性存储器组件中的一特定非挥发性存储器组件的一系统区块,其中所述编码数据是通过对所述第二组错误更正组态参数进行基于一第一组错误更正组态参数的编码而预先产生;
利用所述控制器从所述特定非挥发性存储器组件的所述系统区块读取所述第二组错误更正组态参数的所述编码数据,并利用所述控制器中的一低密度奇偶校验引擎对所述编码数据进行译码以取得所述第二组错误更正组态参数,其中所述低密度奇偶校验引擎储存所述第一组错误更正组态参数,以及于对所述编码数据进行译码时,所述低密度奇偶校验引擎基于所述第一组错误更正组态参数进行对应于所述第一低密度奇偶校验特征矩阵的译码,其中所述第一组错误更正组态参数与所述第二组错误更正组态参数分别对应不同的低密度奇偶校验特征矩阵;以及
利用所述控制器将通过对所述编码数据进行译码而取得的所述第二组错误更正组态参数储存于所述低密度奇偶校验引擎中的一随机存取存储器,并控制所述低密度奇偶校验引擎基于所述随机存取存储器中的所述第二组错误更正组态参数进行对应于所述第二低密度奇偶校验特征矩阵的运作,使得所述低密度奇偶校验引擎具备对应于所述第二低密度奇偶校验特征矩阵的编码与译码能力,以供所述控制器在初始化期间于所述至少一非挥发性存储器组件存取数据之用,其中所述低密度奇偶校验引擎自动地依据所述第一组错误更正组态参数与所述第二组错误更正组态参数来产生所述第一低密度奇偶校验特征矩阵与所述第二低密度奇偶校验特征矩阵;
其中所述第一低密度奇偶校验特征矩阵包括多个子矩阵,而所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自一预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵包括多个子矩阵,而所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的每一子矩阵是选自所述预定集合的一方块矩阵;
所述第二低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小等于所述第一低密度奇偶校验特征矩阵的所述多个子矩阵中的任一子矩阵的大小;以及
所述预定集合包括一零矩阵、一单位矩阵、以及所述单位矩阵的至少一循环位移矩阵,其中所述至少一循环位移矩阵中的任一循环位移矩阵是取自循环地移位所述单位矩阵中的全部的行向量或循环地移位所述单位矩阵中的全部的列向量。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW103120894 | 2014-06-17 | ||
TW103120894A TWI530959B (zh) | 2014-06-17 | 2014-06-17 | 用來控制一記憶裝置之方法以及記憶裝置與控制器 |
CN201410580094.4A CN105280238B (zh) | 2014-06-17 | 2014-10-23 | 用来控制一记忆装置的方法以及记忆装置与控制器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410580094.4A Division CN105280238B (zh) | 2014-06-17 | 2014-10-23 | 用来控制一记忆装置的方法以及记忆装置与控制器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108447523A true CN108447523A (zh) | 2018-08-24 |
CN108447523B CN108447523B (zh) | 2021-01-22 |
Family
ID=54836236
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410580094.4A Active CN105280238B (zh) | 2014-06-17 | 2014-10-23 | 用来控制一记忆装置的方法以及记忆装置与控制器 |
CN201810313064.5A Active CN108447523B (zh) | 2014-06-17 | 2014-10-23 | 用来控制一记忆装置的方法以及记忆装置与控制器 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410580094.4A Active CN105280238B (zh) | 2014-06-17 | 2014-10-23 | 用来控制一记忆装置的方法以及记忆装置与控制器 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9454430B2 (zh) |
CN (2) | CN105280238B (zh) |
TW (1) | TWI530959B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379087A (zh) * | 2018-10-24 | 2019-02-22 | 江苏华存电子科技有限公司 | Ldpc根据闪存组件错误率调变核编译码速率的方法 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9369151B2 (en) * | 2014-09-25 | 2016-06-14 | Ali Misfer ALKATHAMI | Apparatus and method for resource allocation |
CN107110637B (zh) * | 2014-12-22 | 2019-11-01 | 赛博光学公司 | 对三维测量系统的校准进行更新 |
US9910772B2 (en) * | 2016-04-27 | 2018-03-06 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
CN111679787B (zh) | 2016-04-27 | 2023-07-18 | 慧荣科技股份有限公司 | 闪存装置、闪存控制器及闪存存储管理方法 |
CN107391296B (zh) | 2016-04-27 | 2020-11-06 | 慧荣科技股份有限公司 | 存取闪存模块的方法及相关的闪存控制器与记忆装置 |
US10019314B2 (en) | 2016-04-27 | 2018-07-10 | Silicon Motion Inc. | Flash memory apparatus and storage management method for flash memory |
CN107391026B (zh) | 2016-04-27 | 2020-06-02 | 慧荣科技股份有限公司 | 闪存装置及闪存存储管理方法 |
US10289487B2 (en) | 2016-04-27 | 2019-05-14 | Silicon Motion Inc. | Method for accessing flash memory module and associated flash memory controller and memory device |
TWI602188B (zh) * | 2017-01-03 | 2017-10-11 | 慧榮科技股份有限公司 | 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器 |
TWI643201B (zh) * | 2017-11-27 | 2018-12-01 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
US10523239B2 (en) * | 2018-04-12 | 2019-12-31 | National Chiao Tung University | Method for generating encoded data that is encoded based on low-density parity-check codes, and method for decoding the encoded data |
US20190319638A1 (en) * | 2018-04-12 | 2019-10-17 | National Chiao Tung University | Method for generating encoded data that is encoded based on low-density parity-check codes, and method for decoding the encoded data |
CN110554928A (zh) * | 2018-05-30 | 2019-12-10 | 北京兆易创新科技股份有限公司 | 一种非易失性半导体存储器参数上电读取方法及装置 |
US10838811B1 (en) * | 2019-08-14 | 2020-11-17 | Silicon Motion, Inc. | Non-volatile memory write method using data protection with aid of pre-calculation information rotation, and associated apparatus |
US11704027B2 (en) * | 2021-11-12 | 2023-07-18 | Western Digital Technologies, Inc. | Optimizing recovery of recurrent blocks using bloom filter |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060156169A1 (en) * | 2005-01-10 | 2006-07-13 | Ba-Zhong Shen | LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems |
US20070003480A1 (en) * | 2002-11-03 | 2007-01-04 | Hapto Biotech, Inc. | Liposomal composition comprising haptotactic peptides |
TW200711327A (en) * | 2005-04-22 | 2007-03-16 | Broadcom Corp | Algebraic construction of LDPC (low density parity check) codes with corresponding parity check matrix having CSI (cyclic shifted identity) submatrices |
CN101931497A (zh) * | 2009-06-26 | 2010-12-29 | 芯光飞株式会社 | 低密度奇偶校验(ldpc)码的译码装置及方法 |
TW201106368A (en) * | 2009-08-15 | 2011-02-16 | Skymedi Corp | Error correction method for a memory device |
CN103390431A (zh) * | 2012-05-08 | 2013-11-13 | 英飞凌科技股份有限公司 | 用于校正三进制存储的二进制数据的方法和装置 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7526717B2 (en) * | 2004-06-16 | 2009-04-28 | Samsung Electronics Co., Ltd. | Apparatus and method for coding and decoding semi-systematic block low density parity check codes |
US7617441B2 (en) * | 2005-07-18 | 2009-11-10 | Broadcom Corporation | Efficient construction of LDPC (Low Density Parity Check) codes with corresponding parity check matrix having CSI (Cyclic Shifted Identity) sub-matrices |
US7900127B2 (en) | 2005-01-10 | 2011-03-01 | Broadcom Corporation | LDPC (Low Density Parity Check) codes with corresponding parity check matrices selectively constructed with CSI (Cyclic Shifted Identity) and null sub-matrices |
US7844879B2 (en) | 2006-01-20 | 2010-11-30 | Marvell World Trade Ltd. | Method and system for error correction in flash memory |
US7904783B2 (en) | 2006-09-28 | 2011-03-08 | Sandisk Corporation | Soft-input soft-output decoder for nonvolatile memory |
US8266495B2 (en) * | 2008-02-20 | 2012-09-11 | Marvell World Trade Ltd. | Systems and methods for performing concatenated error correction |
US8392814B2 (en) * | 2008-10-07 | 2013-03-05 | Qualcomm Incorporated | Method and apparatus for high speed structured multi rate low density parity check codes |
JP5112468B2 (ja) | 2010-03-26 | 2013-01-09 | 株式会社東芝 | 誤り検出訂正回路、メモリコントローラ、および半導体メモリ装置 |
US9093154B2 (en) | 2012-01-16 | 2015-07-28 | Silicon Motion, Inc. | Method, memory controller and system for reading data stored in flash memory |
US9141467B2 (en) | 2012-03-23 | 2015-09-22 | Samsung Electronics Co., Ltd. | Semiconductor memory system including Reed-Solomon low density parity check decoder and read method thereof |
KR102068030B1 (ko) * | 2012-12-11 | 2020-01-20 | 삼성전자 주식회사 | 메모리 컨트롤러 및 그 동작방법 |
-
2014
- 2014-06-17 TW TW103120894A patent/TWI530959B/zh active
- 2014-10-23 CN CN201410580094.4A patent/CN105280238B/zh active Active
- 2014-10-23 CN CN201810313064.5A patent/CN108447523B/zh active Active
-
2015
- 2015-03-10 US US14/642,760 patent/US9454430B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070003480A1 (en) * | 2002-11-03 | 2007-01-04 | Hapto Biotech, Inc. | Liposomal composition comprising haptotactic peptides |
US20060156169A1 (en) * | 2005-01-10 | 2006-07-13 | Ba-Zhong Shen | LDPC (Low Density Parity Check) coding and interleaving implemented in MIMO communication systems |
TW200711327A (en) * | 2005-04-22 | 2007-03-16 | Broadcom Corp | Algebraic construction of LDPC (low density parity check) codes with corresponding parity check matrix having CSI (cyclic shifted identity) submatrices |
CN101931497A (zh) * | 2009-06-26 | 2010-12-29 | 芯光飞株式会社 | 低密度奇偶校验(ldpc)码的译码装置及方法 |
TW201106368A (en) * | 2009-08-15 | 2011-02-16 | Skymedi Corp | Error correction method for a memory device |
CN103390431A (zh) * | 2012-05-08 | 2013-11-13 | 英飞凌科技股份有限公司 | 用于校正三进制存储的二进制数据的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109379087A (zh) * | 2018-10-24 | 2019-02-22 | 江苏华存电子科技有限公司 | Ldpc根据闪存组件错误率调变核编译码速率的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105280238A (zh) | 2016-01-27 |
TW201601163A (zh) | 2016-01-01 |
CN105280238B (zh) | 2018-05-08 |
US9454430B2 (en) | 2016-09-27 |
TWI530959B (zh) | 2016-04-21 |
US20150363265A1 (en) | 2015-12-17 |
CN108447523B (zh) | 2021-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108447523A (zh) | 用来控制一记忆装置的方法以及记忆装置与控制器 | |
US9268531B1 (en) | Nonvolatile memory system, storage device and method for operating nonvolatile memory device | |
KR101811298B1 (ko) | 랜덤마이져로 씨드를 제공하는 씨드 컨트롤러 및 그것을 포함한 메모리 컨트롤러 | |
US8799593B2 (en) | Flash memory devices, data randomizing methods of the same, memory systems including the same | |
TWI602188B (zh) | 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器 | |
CN108268212A (zh) | 控制器及操作方法 | |
US10621035B2 (en) | Techniques for correcting data errors in memory devices | |
CN107037982A (zh) | Raid‑6数据存储装置以及包括其的数据处理系统 | |
US9672149B2 (en) | Partial page programming of nonvolatile memory device | |
CN109935251A (zh) | 存储器系统、其操作方法以及包括其的数据处理系统 | |
CN108932203A (zh) | 数据处理系统和数据处理方法 | |
CN108536622A (zh) | 存储装置、数据处理系统以及操作存储装置的方法 | |
CN109857584A (zh) | 于记忆装置进行访问控制的方法、记忆装置和其控制器 | |
CN108628755A (zh) | 存储器系统 | |
US9268629B2 (en) | Dual mapping between program states and data patterns | |
US10693498B2 (en) | Parity check matrix generator, operating method thereof and error correction circuit using parity check matrix generated by the same | |
TW201926043A (zh) | 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器 | |
CN108665940B (zh) | Ecc编码电路、解码电路以及存储器控制器 | |
TWI651730B (zh) | 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器 | |
CN108877869A (zh) | 控制器及其操作方法 | |
KR101679495B1 (ko) | 프로그램 상태들과 데이터 패턴들 사이의 매핑 | |
US20230070503A1 (en) | Data protection method for memories and memory device thereof | |
TWI684856B (zh) | 解碼方法及相關的快閃記憶體控制器與電子裝置 | |
CN108874681A (zh) | 存储器系统及其操作方法 | |
US20160364292A1 (en) | Efficient encoder based on modified ru algorithm |
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 |