CN113485867A - 于记忆装置中进行数据管理的方法、记忆装置及其控制器 - Google Patents

于记忆装置中进行数据管理的方法、记忆装置及其控制器 Download PDF

Info

Publication number
CN113485867A
CN113485867A CN202110757783.8A CN202110757783A CN113485867A CN 113485867 A CN113485867 A CN 113485867A CN 202110757783 A CN202110757783 A CN 202110757783A CN 113485867 A CN113485867 A CN 113485867A
Authority
CN
China
Prior art keywords
matrix
data
predetermined
group
parity check
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.)
Pending
Application number
CN202110757783.8A
Other languages
English (en)
Inventor
汪宇伦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Silicon Motion Inc
Original Assignee
Silicon Motion Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Silicon Motion Inc filed Critical Silicon Motion Inc
Publication of CN113485867A publication Critical patent/CN113485867A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1068Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • G06F11/1016Error in accessing a memory location, i.e. addressing error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • G06F11/1024Identification of the type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/615Use of computational or mathematical techniques
    • H03M13/616Matrix operations, especially for generator matrices or check matrices, e.g. column or row permutations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Mathematical Physics (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Algebra (AREA)
  • Computing Systems (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种用来于一记忆装置中进行数据管理的方法以及相关的记忆装置及其控制器。所述方法包括:从所述记忆装置以外的一主装置接收一组数据;依据一预定奇偶校验矩阵的一第一子矩阵,对所述组数据进行编码,以产生部分奇偶校验码;依据一预定后处理矩阵,对所述部分奇偶校验码进行后处理,以产生所述组数据的奇偶校验码,其中所述预定后处理矩阵不等于所述预定奇偶校验矩阵的一第二子矩阵的转置矩阵的任何反矩阵;以及将所述组数据的一码字写入所述记忆装置的一非挥发性存储器,以容许所述记忆装置于从所述非挥发性存储器读取所述组数据时进行错误更正。本发明能针对所述控制器所存取的数据来进行妥善的存储器存取管理以减少错误的发生。

Description

于记忆装置中进行数据管理的方法、记忆装置及其控制器
申请日:2017/06/12;
申请号:201710440209.3;以及
发明创造名称:于记忆装置中进行数据管理的方法、记忆装置及其控制器
技术领域
本发明是涉及闪存(Flash memory)的存取(access),尤其是涉及一种用来于记忆装置中进行数据管理的方法以及相关的记忆装置及其控制器。
背景技术
近年来由于存储器的技术不断地发展,各种可携式记忆装置(例如:符合SD/MMC、CF、MS、或XD标准的记忆卡)被广泛地实施于诸多应用中。因此,这些可携式记忆装置中的存储器的访问控制遂成为相当热门的议题。
以常用的NAND型闪存而言,其主要可区分为单阶细胞(single level cell,SLC)与多阶细胞(multiple level cell,MLC)两大类的闪存。单阶细胞闪存中的每个被当作记忆细胞(memory cell)的晶体管只有两种电荷值,分别用来表示逻辑值0与逻辑值1。另外,多阶细胞闪存中的每个被当作记忆单元的晶体管的储存能力则被充分利用,是采用较高的电压来驱动,以通过不同级别的电压在一个晶体管中记录至少两组位信息(诸如00、01、11、10);理论上,多阶细胞闪存的记录密度可以达到单阶细胞闪存的记录密度的至少两倍,这对于曾经在发展过程中遇到瓶颈的NAND型闪存的相关产业而言,是非常好的消息。
相较于单阶细胞闪存,由于多阶细胞闪存的价格较便宜,并且在有限的空间里可提供较大的容量,故多阶细胞闪存很快地成为市面上的可携式记忆装置竞相采用的主流。然而,多阶细胞闪存的不稳定性所导致的问题也一一浮现。为了确保可携式记忆装置对闪存的访问控制能符合相关规范,闪存的控制器通常备有某些管理机制以妥善地管理数据的存取。
依据现有技术,有了这些管理机制的记忆装置还是有不足之处。举例来说,多阶细胞闪存的错误率在某些情况下会上升至令人难以置信的地步,而传统的错误更正机制却不足以应付这些状况下的丛发错误(burst error)。因此,需要一种同时具备错误更正机制与数据存取机制的新颖的存储器存取架构。
发明内容
本发明的一目的在于公开一种用来于一记忆装置中进行数据管理的方法以及相关的记忆装置及其控制器,以解决上述问题。
本发明的另一目的在于公开一种用来于一记忆装置中进行数据管理的方法以及相关的记忆装置及其控制器,以提升记忆装置的效能。
本发明的较佳实施例公开一种用来于一记忆装置中进行数据管理的方法,其中所述记忆装置包括一非挥发性存储器,而所述非挥发性存储器包括至少一非挥发性存储器芯片。所述方法可包括:从所述记忆装置以外的一主装置(host device)接收一组数据;依据所述组数据进行一非典型编码而产生所述组数据的奇偶校验码,继而决定所述组数据对应的一码字,其中所述码字实质上等于所述组数据与一预定编码转换矩阵的相乘结果,而所述非典型编码包含:将所述组数据相乘与一第一矩阵相乘,得到一运算结果;以及将该运算结果结果与一第二矩阵相乘得到所述组数据的奇偶校验码,其中所述第一与所述第二矩阵与所述预定编码转换矩阵无关,所述第一矩阵也与所述第二矩阵无关。所述方法还包含将所述组数据的所述码字写入所述非挥发性存储器,以容许所述记忆装置从所述非挥发性存储器读取所述组数据时进行错误更正,其中所述码字包括所述组数据与所述奇偶校验码。
本发明于公开上述方法的同时,也对应地公开一种记忆装置,其包括有:一非挥发性存储器,用来储存信息,其中所述非挥发性存储器包括至少一非挥发性存储器芯片;以及一控制器,耦接至所述非挥发性存储器,用来于所述记忆装置中进行数据管理。所述控制器从所述记忆装置以外的一主装置接收一组数据。所述控制器依据所述组数据进行一非典型编码而产生所述组数据的奇偶校验码,继而决定所述组数据对应的一码字,其中所述码字实质上等于所述组数据与一预定编码转换矩阵的相乘结果。所述控制器将所述组数据相乘与一第一矩阵相乘,得到一运算结果。所述控制器将该运算结果结果与一第二矩阵相乘得到所述组数据的奇偶校验码,其中所述第一与所述第二矩阵与所述预定编码转换矩阵无关,所述第一矩阵也与所述第二矩阵无关;以及所述控制器将所述组数据的所述码字写入所述非挥发性存储器,以容许所述记忆装置从所述非挥发性存储器读取所述组数据时进行错误更正,其中所述码字包括所述组数据与所述奇偶校验码。
本发明于公开上述方法的同时,也对应地公开一种记忆装置的控制器,其中所述记忆装置包括所述控制器与一非挥发性存储器,而所述非挥发性存储器包括至少一非挥发性存储器芯片,所述控制器包括有:一处理电路,用来控制所述控制器从所述记忆装置以外的一主装置接收一组数据;以及一数据保护电路,耦接至所述处理电路,用来进行错误更正。其中:所述数据保护电路依据所述组数据进行一非典型编码而产生所述组数据的奇偶校验码,继而决定所述组数据对应的一码字,其中所述码字实质上等于所述组数据与一预定编码转换矩阵的相乘结果;所述数据保护电路将所述组数据相乘与一第一矩阵相乘,得到一运算结果;以及所述数据保护电路将该运算结果结果与一第二矩阵相乘得到所述组数据的奇偶校验码,其中所述第一与所述第二矩阵与所述预定编码转换矩阵无关,所述第一矩阵也与所述第二矩阵无关。其中所述处理电路控制所述控制器将所述组数据的一码字写入所述非挥发性存储器,以容许所述记忆装置从所述非挥发性存储器读取所述组数据时进行错误更正,其中所述码字包括所述组数据与所述奇偶校验码。
本发明的好处之一是,通过适当地进行数据管理,本发明能针对所述控制器所存取的数据来进行妥善的存储器存取管理,以减少错误的发生。另外,依据相关实施例来实施并不会增加许多额外的成本,甚至比现有技术更能节省成本。因此,现有技术的问题可被解决,且整体成本不会增加太多。
附图说明
图1为依据本发明一第一实施例的一种记忆装置与一主装置(host device)的示意图。
图2A绘示一闪存芯片(Flash chip)的一区块当中的一局部页地址链结表(localpage address linking table)。
图2B比较图2A所示的局部页地址链结表的一维数组示例与二维数组示例。
图3为依据本发明一实施例的一种用来于一记忆装置中进行数据管理的方法的流程图。
图4绘示一实施例中的相关矩阵的大小。
图5为依据本发明一实施例的一编码电路。
其中,附图标记说明如下:
100 记忆装置
110 存储器控制器
112 微处理器
112C 程序代码
112M 只读存储器
114 控制逻辑电路
114DP 数据保护电路
116 缓冲存储器
118 传输接口电路
120 闪存
200 主装置
300 用来于记忆装置中进行数据管理的方法
310 从主装置接收数据的步骤
320 进行编码以产生部分奇偶校验码的步骤
330 进行后处理以产生奇偶校验码的步骤
340 将码字写入非挥发性存储器的步骤
500 编码电路
510 第一子矩阵产生器
512 乘法电路
520 后处理电路
c 码字
G 预定编码转换矩阵
H 预定奇偶校验矩阵
m 一组数据
p 奇偶校验码
ppc 部分奇偶校验码
(c)1xn,(m)1xk,(p)1x(n-k) 一维矩阵
(G)kxn,(H)(n-k)xn 二维矩阵
具体实施方式
I.存储器系统
请参考图1,图1为依据本发明一第一实施例的一种记忆装置100与一主装置(hostdevice)200的示意图。例如:记忆装置100可为一可携式记忆装置(例如:符合SD/MMC、CF、MS、或XD标准的记忆卡)或固态硬盘(solid state drive,SSD)。另外,主装置200的例子可包括(但不限于):多功能移动电话(multifunctional mobile phone)、平板计算机(tablet)、可穿戴装置(wearable device)、以及个人计算机(personal computer)诸如桌面计算机与膝上型计算机。依据本实施例,记忆装置100可包括一控制器以及一非挥发性存储器,其中所述非挥发性存储器是用来储存信息,所述控制器是用来存取(access)所述非挥发性存储器,且所述非挥发性存储器可包括至少一非挥发性存储器芯片(诸如一或多个非挥发性存储器芯片)。例如:所述控制器与所述非挥发性存储器可分别为一存储器控制器110与一闪存(Flash memory)120,闪存120可包括至少一闪存芯片(诸如一或多个闪存芯片),且存储器控制器110可用来存取闪存120。如图1所示,存储器控制器110可包括一处理电路诸如一微处理器112、一储存器诸如一只读存储器(read only memory,ROM)112M、一控制逻辑电路114、一缓冲存储器116、与一传输接口电路118,其中这些组件可通过一总线彼此耦接。缓冲存储器116是以一随机存取存储器(random access memory,RAM)来实施。另外,本实施例的只读存储器112M是用来储存一程序代码112C,而微处理器112则用来执行程序代码112C以控制对闪存120的存取。请注意,程序代码112C也可储存在缓冲存储器116或任何形式的存储器内。此外,控制逻辑电路114中的一数据保护电路114DP可保护数据、及/或进行错误更正,而传输接口电路118可符合一特定通信标准(诸如串行高级技术附件(Serial Advanced Technology Attachment,SATA)标准、或通用串行总线(UniversalSerial Bus,USB)标准)且可依据所述特定通信标准进行通信。
于本实施例中,主装置200可通过传送指令与对应的逻辑地址予存储器控制器110来存取记忆装置100。存储器控制器110接收所述指令与所述逻辑地址,并控制闪存120读取、写入(write/program)、或抹除(erase)闪存120当中具有实体地址的记忆单位(memoryunit),其中所述实体地址对应于所述逻辑地址。
II.页地址链结表(page address linking table)
图2A绘示一闪存芯片0的一区块当中的一局部(local)页地址链结表,其中闪存芯片0可作为上述至少一闪存芯片(诸如一或多个闪存芯片)的一例。如图2A所示,闪存芯片0包括多个区块0、1、2、…、与M。请注意,一区块是一抹除单位。换言之,当需要抹除数据时,微处理器112同时抹除储存于所述区块的全部数据。另外,一区块,诸如图2A所示的区块0,包括多个页。例如:闪存芯片0的区块0包括128页。在所述区块诸如区块0中,这些页被区分为两个分区,即用来储存数据的一数据分区以及用来储存一局部页地址链结表0的一表格分区。所述区块的数据分区内的诸页可称为所述区块的数据页,其中所述数据页中的任一者可包括一数据字节区(data byte region)DBR与一备用字节区(spare byte region)SBR。
依据本实施例,所述数据分区内的页数以及所述表格分区内的页数可依需要来订定。例如:页0、1、2、…、126可用来储存数据,且所述区块中剩下的页是用来储存局部页地址链结表0。依据某些实施例,所述数据分区可包括少于127页,且所述表格分区可包括两页或更多页。又例如:所述区块内的总页数、所述数据分区内的页数以及所述表格分区内的页数可分别予以变化。请注意,一页是一写入单位。换句话说,当需要写入数据时,微处理器112一次将相当于一页的数据写入一页。依据本实施例,图1所示的闪存120中的每一闪存芯片的多个区块中的每一区块可具有一局部页地址链结表。为了简明起见,只有闪存芯片0的区块0的局部页地址链结表0是绘示于图2A,是因为每一局部页地址链结表的功能与运作都彼此相似。
于本实施例中,局部页地址链结表0被建立的时间点是当区块0中的全部数据页已被写入,也就是被完全写入(fully programmed)的时候。然而,于区块0中的数据页被完全写入之前,微处理器112会暂时地在所述随机存取存储器中储存一暂时局部页地址链结表0;当区块0中一实体页地址与一逻辑页地址之间的任何链结关系改变时,微处理器112就更新暂时局部页地址链结表0。
依据本实施例,所述暂时/非暂时局部页地址链结表(例如:所述暂时局部页地址链结表0或局部页地址链结表0)的一字段(项目)的排列顺位代表一实体页地址,而此字段中的内容代表一相关的逻辑页地址。例如:假设iP与jP分别为图2A所示的暂时/非暂时局部页地址链结表的示例表格位置(iP,jP)当中的列数与行数,并且iP=0、1、…等且jP=0、1、…等。在图2A所示的暂时/非暂时局部页地址链结表的这个二维数组示例中,对应于第(iP*4+jP)个字段的示例表格位置(iP,jP)代表一实体页地址PPN,其可描述如下:PPN=(PBN*DPC+iP*4+jP);
其中参数PBN表示讨论中的实体区块的实体区块编号(例如:PBN=0、1、2、…等,分别对应于区块0、1、2、…等),而参数DPC则表示每一区块的数据页数量(例如:于本实施例中可为127)。这只是为了说明的目的而已,并非对本发明的限制。为了便于理解,所述暂时/非暂时局部页地址链结表可绘示为单一行,如图2B右半部所示。给定iP仍为列数且iP=0、1、…等,则在图2B右半部所示的这个一维数组示例当中,针对区块PBN的暂时/非暂时局部页地址链结表而言,对应于第iP个字段的示例表格位置iP代表一实体页地址(PBN*DPC+iP)。也就是说,针对这个一维数组示例,上式可被重新改写如下:PPN=(PBN*DPC+iP)。
例如:当主装置200传送一指令予微处理器112以在一逻辑页地址0x0002写入某些数据时,微处理器112可将这些数据与逻辑页地址0x0002分别写入闪存芯片0的区块0的页0的数据字节区DBR与备用字节区SBR,且将逻辑页地址0x0002写入所述暂时局部页地址链结表0的第一个字段,以藉此指出逻辑页地址0x0002链结/映像至闪存芯片0的区块0的页0,其实体页地址是0x0000。依此类推。当区块0中的全部数据页已被写入时,微处理器112可复制所述暂时局部页地址链结表0的最新版本,以建立局部页地址链结表0。请注意,逻辑页地址{0x0002,0x0001,0x0002,0x0005,0x0003,0x0007,0x0010,0x0008,…,0x0000,0x0009,0x0004}可作为所述逻辑地址的例子。依据某些实施例,所述逻辑地址可予以变化。
依据某些实施例,一局部页地址链结表诸如局部页地址链结表0中的逻辑页地址的范围可大于一区块诸如区块0中的页数。
依据某些实施例,微处理器112可依据分别对应于多个区块的多个局部页地址链结表,于所述随机存取存储器中建立一全局(global)页地址链结表,来记录/更新所述实体地址与所述逻辑地址之间的关系。
III.错误更正
存储器控制器110可于记忆装置100中进行数据管理,以在较少或没有副作用的状况下解决现有技术的问题。例如:存储器控制器110可提供一或多类型的错误更正机制予记忆装置100。依据某些实施例,存储器控制器110可采用低密度奇偶校验码(low-densityparity-check(LDPC)code)来保护数据、及/或进行错误更正。
图3为依据本发明一实施例的一种用来于一记忆装置中进行数据管理的方法300的流程图,其中方法300可应用于记忆装置100,且可应用于所述控制器诸如存储器控制器110。
于步骤310中,在所述处理电路诸如微处理器112的控制下,存储器控制器110可从记忆装置100以外的主装置200接收一组数据m。例如:主装置200可传送一写入指令予记忆装置100,以要求记忆装置100储存写入数据。依据所述写入指令,微处理器112可控制存储器控制器110从主装置200接收所述写入数据,其中所述写入数据包括至少一组数据(例如一或多组数据{m}),而上述至少一组数据包括所述组数据m。
于步骤320中,存储器控制器110(例如数据保护电路114DP)可依据一预定奇偶校验矩阵(parity-check matrix)H的一第一子矩阵H1对所述组数据m进行编码,以产生部分奇偶校验码(partial parity-check code)ppc。例如:数据保护电路114DP可依据第一子矩阵H1对所述至少一组数据进行编码,以产生至少一个部分奇偶校验码(例如一或多个部分奇偶校验码{ppc}),其中上述至少一个部分奇偶校验码包括部分奇偶校验码ppc。
于步骤330中,存储器控制器110(例如数据保护电路114DP)可依据一预定后处理矩阵J对部分奇偶校验码ppc进行后处理,以产生所述组数据m的奇偶校验码(parity-checkcode)p,其中预定后处理矩阵J不等于预定奇偶校验矩阵H的一第二子矩阵H2的转置矩阵(transpose matrix)(H2)T的任何反矩阵(inverse matrix)((H2)T)-1(若上述任何反矩阵((H2)T)-1存在)。例如:当反矩阵((H2)T)-1存在时,则预定后处理矩阵J不等于((H2)T)-1;或者,当反矩阵((H2)T)-1不存在时,则预定后处理矩阵J也不会是转置矩阵(H2)T的任何衍生物。例如:数据保护电路114DP可依据预定后处理矩阵J对所述至少一个部分奇偶校验码进行所述后处理,以产生所述至少一组数据的至少一个奇偶校验码(例如一或多个奇偶校验码{p}),其中上述至少一个奇偶校验码包括奇偶校验码p。
于步骤340中,在所述处理电路诸如微处理器112的控制下,存储器控制器110可将所述组数据m的一码字(codeword)c写入所述非挥发性存储器(诸如闪存120),以容许记忆装置100于从所述非挥发性存储器读取所述组数据m时进行错误更正,其中码字c包括所述组数据m与奇偶校验码p。例如:微处理器112可控制存储器控制器110将所述写入数据的至少一码字(例如一或多个码字{c})写入所述非挥发性存储器,以容许记忆装置100于从所述非挥发性存储器读取所述写入数据时进行错误更正,其中上述至少一码字包括上述至少一组数据与上述至少一个奇偶校验码。
依据某些实施例,码字c等于所述组数据与一预定编码转换矩阵G的相乘结果(multiplication result);也就是说,m·G=c。基于一种用来进行数据保护的一第一方法,所述控制器诸如存储器控制器110(例如数据保护电路114DP)可对所述组数据m与预定编码转换矩阵G进行一乘法运算(诸如m·G)以产生码字c,且可对所述组数据m与预定编码转换矩阵G的子矩阵D进行一乘法运算(诸如m·D)以产生所述奇偶校验码p。例如:G=[I|D],其中I是一对应的单位矩阵(identity matrix)。依据某些实施例,基于一种用来进行数据保护的一第二方法,所述控制器诸如存储器控制器110(例如:数据保护电路114DP)可依据下列式子进行计算以产生奇偶校验码p:p=m·(H1)T((H2)T)-1
请注意,步骤320中的预定奇偶校验矩阵H并非预定编码转换矩阵G,且步骤330中的预定后处理矩阵J并非预定编码转换矩阵G。基于图3所示的方法300,数据保护电路114DP于产生部分奇偶校验码ppc的过程中采用了预定奇偶校验矩阵H的第一子矩阵H1(而非预定编码转换矩阵G),且于产生奇偶校验码p的过程中采用了预定后处理矩阵J(而非预定编码转换矩阵G)。于图3所示的实施例中,通过依据预定后处理矩阵J对部分奇偶校验码ppc进行所述后处理,而非通过对所述组数据m与预定编码转换矩阵G进行任一乘法运算,存储器控制器110(例如数据保护电路114DP)产生所述奇偶校验码p。于某些实施例中,预定编码转换矩阵G与预定奇偶校验矩阵H互为零空间(null space)。例如:所述组数据m可包括k个位且可记为一维矩阵(m)1xk,码字c可包括n个位且可记为一维矩阵(c)1xn,且奇偶校验码p可包括(n-k)个位且可记为一维矩阵(p)1x(n-k),其中k与n为正整数且n>k。另外,预定编码转换矩阵G可记为二维矩阵(G)kxn,且预定奇偶校验矩阵H可记为二维矩阵(H)(n-k)xn。此外,预定编码转换矩阵G的任一列(row)与预定奇偶校验矩阵H的任一列(row)的内积(inner product)等于零;为了简明起见,可记为G·HT=0。于某些实施例中,所述组数据m、码字c与奇偶校验码p可分别记为一维矩阵(m)1xk、一维矩阵(c)1xn与一维矩阵(p)1x(n-k),且预定奇偶校验矩阵H可记为二维矩阵(H)(n-k)xn。另外,码字c与预定奇偶校验矩阵H的任一列的内积等于零;为了简明起见,可记为c·HT=0。依据某些实施例,第二子矩阵H2可为一非满秩(non-full rank)矩阵,其中第二子矩阵H2的转置矩阵(H2)T的反矩阵((H2)T)-1不存在。
相较于所述第一方法与所述第二方法,图3所示的方法300可增进数据保护电路114DP的各种效能,诸如编码效能。
图4绘示一实施例中的相关矩阵的大小。当符号“k”与“n”分别代表所述组数据m的位数与码字c的位数时,奇偶校验码p的位数等于码字c的位数n减掉所述组数据m的位数k所得的差值(n-k),且预定奇偶校验矩阵H的大小等于此差值(n-k)与码字c的位数n的乘积((n-k)*n)。另外,第一子矩阵H1的大小等于差值(n-k)与所述组数据m的位数k的乘积((n-k)*k),且第二子矩阵H2的大小等于差值(n-k)的平方值((n-k)*(n-k))。
依据某些实施例,在所述处理电路诸如微处理器112的控制下,存储器控制器110可从所述非挥发性存储器(诸如闪存120)读取码字c,以产生码字c的读出数据。存储器控制器110(例如数据保护电路114DP)可依据预定奇偶校验矩阵H判断所述读出数据是否正确。例如:数据保护电路114DP可包括一只读存储器,以供储存预定奇偶校验矩阵H。又例如:预定奇偶校验矩阵H可储存于只读存储器112M或其它存储器。当判断所述读出数据为正确时,存储器控制器110(例如所述处理电路诸如微处理器112)可控制记忆装置100输出所述读出数据所载(carry)的所述组数据m;否则,数据保护电路114DP可依据所述读出数据进行错误更正,以重获(recover)所述组数据m。例如:因应来自主装置200的一读取指令,微处理器112可控制记忆装置100输出所述组数据m(诸如所述读出数据所载的所述组数据m、或通过错误更正所重获的所述组数据m)。
图5为依据本发明一实施例的一编码电路500,其中编码电路500可设置于图1所示的数据保护电路114DP中。编码电路500可包括一第一子矩阵产生器(可简称为“H1产生器”)510、一乘法电路512与一后处理电路520。例如:第一子矩阵产生器510可包括一只读存储器,而此只读存储器储存有第一子矩阵H1。第一子矩阵产生器510可依照一预定顺序输出第一子矩阵H1的元素(element)至乘法电路512。另外,乘法电路512可接收所述组数据m与第一子矩阵H1,且可进行一乘法运算(诸如m·(H1)T)以产生部分奇偶校验码ppc。例如:ppc=m·(H1)T。此外,后处理电路520可依据预定后处理矩阵J对部分奇偶校验码ppc进行所述后处理以产生奇偶校验码p。例如:所述后处理可包括一乘法运算(诸如ppc·J)以及后续运算;为了简明起见,所述后处理可记为f(ppc·J),其中符号f()可代表所述后续运算。依据某些实施例,图5所示的架构可予以变化。
依据某些实施例,图1所示的架构与图3所示的方法300可予以变化。例如:所述后处理可包括随机化(randomize)运作、类似容错式磁盘阵列(Redundant Array ofIndependent Disks,RAID)的数据保护运作与任何线性转换,其中后处理电路520可包括相关子电路诸如随机化电路(randomizer circuit)…等。另外,解码所需的架构也可对应地变化。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (20)

1.一种用来于一记忆装置中进行数据管理的方法,所述记忆装置包括一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器芯片,其特征在于,所述方法包括有:
从所述记忆装置以外的一主装置接收一组数据,其中所述组数据包括一或多个位;
依据所述组数据进行一非典型编码而产生所述组数据的奇偶校验码,继而决定所述组数据对应的一码字,其中所述码字实质上等于所述组数据与一预定编码转换矩阵的相乘结果,而所述非典型编码包含:
将所述组数据相乘与一第一矩阵相乘,得到一运算结果;以及
将该运算结果结果与一第二矩阵相乘得到所述组数据的奇偶校验码,其中所述第一与所述第二矩阵与所述预定编码转换矩阵无关,所述第一矩阵也与所述第二矩阵无关;以及
将所述组数据的所述码字写入所述非挥发性存储器,以容许所述记忆装置从所述非挥发性存储器读取所述组数据时进行错误更正,其中所述码字包括所述组数据与所述奇偶校验码。
2.如权利要求1所述的方法,其特征在于,所述主装置传送一写入指令至所述记忆装置,以要求所述记忆装置储存写入数据;以及所述方法包括:依据所述写入指令,从所述主装置接收所述写入数据,其中所述写入数据包括至少一组数据,而所述至少一组数据包括所述组数据;
依据所述第一矩阵对所述至少一组数据进行编码,以产生至少一个部分奇偶校验码;
依据所述第二矩阵对所述至少一个部分奇偶校验码进行后处理,以产生所述至少一组数据的至少一个奇偶校验码,其中所述至少一个奇偶校验码包括所述奇偶校验码;以及
将所述写入数据的至少一码字写入所述非挥发性存储器,以容许所述记忆装置从所述非挥发性存储器读取所述写入数据时进行错误更正,其中所述至少一码字包括所述至少一组数据与所述至少一个奇偶校验码。
3.如权利要求1所述的方法,其特征在于,所述第一矩阵为一预定奇偶校验矩阵的一个子矩阵,且所述预定奇偶校验矩阵并非所述预定编码转换矩阵。
4.如权利要求3所述的方法,其特征在于,所述第二矩阵为一预定后处理矩阵的一个子矩阵,以及所述预定后处理矩阵并非所述预定编码转换矩阵。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
通过依据所述预定后处理矩阵对所述运算结果进行后处理,而非通过对所述组数据与所述预定编码转换矩阵进行一乘法运算,产生所述奇偶校验码。
6.如权利要求3所述的方法,其特征在于,所述预定编码转换矩阵的任一列与所述预定奇偶校验矩阵的任一列的内积等于零。
7.如权利要求3所述的方法,其特征在于,所述码字与所述预定奇偶校验矩阵的任一列的内积等于零。
8.如权利要求3所述的方法,其特征在于,所述奇偶校验码的位数等于所述码字的位数减掉所述组数据的位数所得的差值,且所述预定奇偶校验矩阵的大小等于所述差值与所述码字的位数的乘积。
9.如权利要求8所述的方法,其特征在于,当符号k与n分别代表所述组数据的位数与所述码字的位数时,所述奇偶校验码的位数等于(n-k),且所述预定奇偶校验矩阵的大小等于((n-k)*n),其中k与n为正整数且n>k。
10.如权利要求8所述的方法,其特征在于,所述第一矩阵的大小等于所述差值与所述组数据的位数的乘积,且所述第二矩阵的大小等于所述差值的平方值。
11.如权利要求10所述的方法,其特征在于,当符号k与n分别代表所述组数据的位数与所述码字的位数时,所述奇偶校验码的位数等于(n-k),且所述预定奇偶校验矩阵的大小等于((n-k)*n),其中k与n为正整数且n>k;以及所述第一矩阵的大小等于((n-k)*k),且所述第二矩阵的大小等于((n-k)*(n-k))。
12.如权利要求3所述的方法,其特征在于,所述方法还包括:
从所述非挥发性存储器读取所述码字,以产生所述码字的读出数据;
依据所述预定奇偶校验矩阵,判断所述读出数据是否正确;以及
当判断所述读出数据为正确时,控制所述记忆装置输出所述读出数据所载的所述组数据,否则,依据所述读出数据进行错误更正,以重获所述组数据。
13.如权利要求1所述的方法,其特征在于,所述第二矩阵是一非满秩矩阵,且所述第二矩阵的转置矩阵的反矩阵不存在。
14.一种记忆装置,其特征在于,包括有:
一非挥发性存储器,用来储存信息,其中所述非挥发性存储器包括至少一非挥发性存储器芯片;以及
一控制器,耦接至所述非挥发性存储器,用来于所述记忆装置中进行数据管理,其中:
所述控制器从所述记忆装置以外的一主装置接收一组数据,其中所述组数据包括一或多个位;
所述控制器依据所述组数据进行一非典型编码而产生所述组数据的奇偶校验码,继而决定所述组数据对应的一码字,其中所述码字实质上等于所述组数据与一预定编码转换矩阵的相乘结果;
所述控制器将所述组数据相乘与一第一矩阵相乘,得到一运算结果;
所述控制器将该运算结果结果与一第二矩阵相乘得到所述组数据的奇偶校验码,其中所述第一与所述第二矩阵与所述预定编码转换矩阵无关,所述第一矩阵也与所述第二矩阵无关;以及
所述控制器将所述组数据的所述码字写入所述非挥发性存储器,
以容许所述记忆装置从所述非挥发性存储器读取所述组数据时进行错误更正,其中所述码字包括所述组数据与所述奇偶校验码。
15.如权利要求14所述的记忆装置,其特征在于,所述第一矩阵为一预定奇偶校验矩阵的一个子矩阵,且所述预定奇偶校验矩阵并非所述预定编码转换矩阵。
16.如权利要求14所述的记忆装置,其特征在于,所述第二矩阵为一预定后处理矩阵的一个子矩阵,以及所述预定后处理矩阵并非所述预定编码转换矩阵。
17.如权利要求16所述的记忆装置,其特征在于,通过依据所述预定后处理矩阵对所述运算结果进行后处理,而非通过对所述组数据与所述预定编码转换矩阵进行一乘法运算,所述控制器产生所述奇偶校验码。
18.一种记忆装置的控制器,其特征在于,所述记忆装置包括所述控制器与一非挥发性存储器,所述非挥发性存储器包括至少一非挥发性存储器芯片,所述控制器包括有:
一处理电路,用来控制所述控制器从所述记忆装置以外的一主装置接收一组数据,其中所述组数据包括一或多个位;以及
一数据保护电路,耦接至所述处理电路,用来进行错误更正,其中:
所述数据保护电路依据所述组数据进行一非典型编码而产生所述组数据的奇偶校验码,继而决定所述组数据对应的一码字,其中所述码字实质上等于所述组数据与一预定编码转换矩阵的相乘结果;
所述数据保护电路将所述组数据相乘与一第一矩阵相乘,得到一运算结果;以及
所述数据保护电路将该运算结果结果与一第二矩阵相乘得到所述组数据的奇偶校验码,其中所述第一与所述第二矩阵与所述预定编码转换矩阵无关,所述第一矩阵也与所述第二矩阵无关;
其中所述处理电路控制所述控制器将所述组数据的一码字写入所述非挥发性存储器,以容许所述记忆装置从所述非挥发性存储器读取所述组数据时进行错误更正,其中所述码字包括所述组数据与所述奇偶校验码。
19.如权利要求18所述的控制器,其特征在于,所述第一矩阵为一预定奇偶校验矩阵的一个子矩阵,且所述预定奇偶校验矩阵并非所述预定编码转换矩阵。
20.如权利要求18所述的控制器,其特征在于,所述第二矩阵为一预定后处理矩阵的一个子矩阵,以及所述预定后处理矩阵并非所述预定编码转换矩阵。
CN202110757783.8A 2017-01-03 2017-06-12 于记忆装置中进行数据管理的方法、记忆装置及其控制器 Pending CN113485867A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
TW106100011 2017-01-03
TW106100011A TWI602188B (zh) 2017-01-03 2017-01-03 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
CN201710440209.3A CN108268337B (zh) 2017-01-03 2017-06-12 于记忆装置中进行数据管理的方法、记忆装置及其控制器

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201710440209.3A Division CN108268337B (zh) 2017-01-03 2017-06-12 于记忆装置中进行数据管理的方法、记忆装置及其控制器

Publications (1)

Publication Number Publication Date
CN113485867A true CN113485867A (zh) 2021-10-08

Family

ID=61011194

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202110757783.8A Pending CN113485867A (zh) 2017-01-03 2017-06-12 于记忆装置中进行数据管理的方法、记忆装置及其控制器
CN201710440209.3A Active CN108268337B (zh) 2017-01-03 2017-06-12 于记忆装置中进行数据管理的方法、记忆装置及其控制器

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201710440209.3A Active CN108268337B (zh) 2017-01-03 2017-06-12 于记忆装置中进行数据管理的方法、记忆装置及其控制器

Country Status (3)

Country Link
US (2) US20180189136A1 (zh)
CN (2) CN113485867A (zh)
TW (1) TWI602188B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221910B2 (en) 2018-07-24 2022-01-11 Micron Technology, Inc. Media scrubber in memory system
CN110990175B (zh) * 2018-10-03 2023-03-14 慧荣科技股份有限公司 错误处置方法以及数据存储装置及其控制器
US10884642B2 (en) 2019-03-27 2021-01-05 Silicon Motion, Inc. Method and apparatus for performing data-accessing management in a storage server
US11354231B2 (en) * 2019-05-30 2022-06-07 Silicon Motion, Inc. Method for performing access management of memory device with aid of information arrangement, associated memory device and controller thereof, associated electronic device
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
US10944429B1 (en) * 2020-01-02 2021-03-09 Silicon Motion, Inc. Data accessing method using data protection with aid of parity check matrix having partial sequential information, and associated apparatus
JP2022165669A (ja) * 2021-04-20 2022-11-01 株式会社日立製作所 異常検出装置、異常検出方法、および異常検出プログラム
CN117097559B (zh) * 2023-10-17 2023-12-19 天津德科智控股份有限公司 Eps转向角度报文传输验证方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993892A (zh) * 2004-08-10 2007-07-04 三星电子株式会社 用于编码和解码块低密度奇偶校验码的装置和方法
WO2009078180A1 (ja) * 2007-12-19 2009-06-25 Panasonic Corporation 符号器、復号器、符号化方法、及び、復号方法
TW201137891A (en) * 2010-04-19 2011-11-01 Silicon Motion Inc Method for performing memory access management, and associated memory device and controller thereof
US20150161002A1 (en) * 2013-12-09 2015-06-11 Phison Electronics Corp. Decoding method, memory storage device and memory controlling circuit unit
CN105122213A (zh) * 2013-03-15 2015-12-02 思科技术公司 用于数据存储系统中的错误检测和纠正的方法和装置
CN105280238A (zh) * 2014-06-17 2016-01-27 慧荣科技股份有限公司 用来控制一记忆装置的方法以及记忆装置与控制器

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100809619B1 (ko) * 2003-08-26 2008-03-05 삼성전자주식회사 이동 통신 시스템에서 블록 저밀도 패러티 검사 부호부호화/복호 장치 및 방법
US8196025B2 (en) * 2005-08-03 2012-06-05 Qualcomm Incorporated Turbo LDPC decoding
WO2007075106A1 (en) * 2005-12-29 2007-07-05 Intel Corporation Fast low-density parity-check code encoder
WO2008092040A2 (en) * 2007-01-24 2008-07-31 Qualcomm Incorporated Ldpc encoding and decoding of packets of variable sizes
US20100332942A1 (en) * 2008-09-10 2010-12-30 Arm Limited Memory controller for NAND memory using forward error correction
US8301979B2 (en) 2008-10-07 2012-10-30 Sandisk Il Ltd. Low density parity code (LDPC) decoding for memory with multiple log likelihood ratio (LLR) decoders
JP4929342B2 (ja) 2009-12-15 2012-05-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ノイズ分散による入力対数尤度比のスケーリングに基づくsum−product復号法(ビリーフプロパゲーション法)の計算手法
TWI419481B (zh) * 2009-12-31 2013-12-11 Nat Univ Tsing Hua 低密度奇偶檢查碼編解碼器及其方法
CN102236585B (zh) * 2010-04-20 2015-06-03 慧荣科技股份有限公司 提升错误更正能力的方法以及相关的记忆装置及其控制器
US9251058B2 (en) 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
US8788922B2 (en) * 2011-02-28 2014-07-22 Apple Inc Error correction codes for incremental redundancy
JP5269936B2 (ja) * 2011-03-17 2013-08-21 株式会社東芝 符号化器及び記憶装置
US8924814B2 (en) 2012-08-28 2014-12-30 Seagate Technology Llc Write management using partial parity codes
KR102068030B1 (ko) * 2012-12-11 2020-01-20 삼성전자 주식회사 메모리 컨트롤러 및 그 동작방법
US9048874B2 (en) * 2013-03-15 2015-06-02 Lsi Corporation Min-sum based hybrid non-binary low density parity check decoder
KR101750662B1 (ko) * 2013-06-24 2017-06-23 마이크론 테크놀로지, 인크. 데이터 에러 교정용 회로, 장치, 및 방법
US9213599B2 (en) 2013-09-18 2015-12-15 Seagate Technology Llc Method of erase state handling in flash channel tracking
US9213600B2 (en) 2013-11-11 2015-12-15 Seagate Technology Llc Dynamic per-decoder control of log likelihood ratio and decoding parameters
US9262268B2 (en) 2013-12-20 2016-02-16 Seagate Technology Llc Method to distribute user data and error correction data over different page types by leveraging error rate variations
US9553611B2 (en) * 2014-11-27 2017-01-24 Apple Inc. Error correction coding with high-degree overlap among component codes
US10027350B2 (en) * 2015-02-24 2018-07-17 Samsung Electronics Co., Ltd. Transmitter and repetition method thereof
US10382069B2 (en) * 2015-08-11 2019-08-13 Apple Inc. Data encoding by efficient inversion of a parity-check sub-matrix
US9853661B2 (en) * 2015-12-08 2017-12-26 Apple Inc. On-the-fly evaluation of the number of errors corrected in iterative ECC decoding
CN107370488A (zh) * 2016-05-13 2017-11-21 中兴通讯股份有限公司 纠错编码方法及装置
US10289348B2 (en) * 2016-12-30 2019-05-14 Western Digital Technologies, Inc. Tapered variable node memory
KR102631407B1 (ko) * 2018-10-24 2024-01-31 에스케이하이닉스 주식회사 Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1993892A (zh) * 2004-08-10 2007-07-04 三星电子株式会社 用于编码和解码块低密度奇偶校验码的装置和方法
WO2009078180A1 (ja) * 2007-12-19 2009-06-25 Panasonic Corporation 符号器、復号器、符号化方法、及び、復号方法
TW201137891A (en) * 2010-04-19 2011-11-01 Silicon Motion Inc Method for performing memory access management, and associated memory device and controller thereof
CN105122213A (zh) * 2013-03-15 2015-12-02 思科技术公司 用于数据存储系统中的错误检测和纠正的方法和装置
US20150161002A1 (en) * 2013-12-09 2015-06-11 Phison Electronics Corp. Decoding method, memory storage device and memory controlling circuit unit
CN105280238A (zh) * 2014-06-17 2016-01-27 慧荣科技股份有限公司 用来控制一记忆装置的方法以及记忆装置与控制器

Also Published As

Publication number Publication date
TWI602188B (zh) 2017-10-11
TW201826285A (zh) 2018-07-16
CN108268337A (zh) 2018-07-10
US20190286520A1 (en) 2019-09-19
US20180189136A1 (en) 2018-07-05
CN108268337B (zh) 2021-07-27
US10860422B2 (en) 2020-12-08

Similar Documents

Publication Publication Date Title
CN108268337B (zh) 于记忆装置中进行数据管理的方法、记忆装置及其控制器
US9390774B2 (en) Systems and methods of storing data
US10283216B2 (en) Data storage device and data maintenance method thereof
US8175012B2 (en) Decoding/encoding method for booting from a NAND flash and system thereof
US10347349B2 (en) Method and device for fail-safe erase of flash memory
CN107678695B (zh) 基于可用存储器空间选择冗余存储配置
US10489246B2 (en) Data storage device and data maintenance method thereof
CN108022611A (zh) 存储系统及其操作方法
US11294589B2 (en) Method for performing access control in a memory device, associated memory device and controller thereof
US11676679B2 (en) Two-layer code with low parity cost for memory sub-systems
US10985780B2 (en) Error correction circuit, and memory controller having the error correction circuit and memory system having the memory controller
US20160283319A1 (en) Data storage device and encoding method thereof
CN112214347A (zh) 产生用于存储器子系统中的数据修改期间的错误检测的错误校验数据
KR20170012006A (ko) 메모리 컨트롤러와 이를 포함하는 메모리 시스템
CN113628655B (zh) 用以存取闪存模块的方法、闪存控制器与电子装置
TW201926043A (zh) 用來於一記憶裝置中進行存取控制之方法以及記憶裝置及其控制器
TWI651730B (zh) 用來於記憶裝置中進行資料管理之方法以及記憶裝置及其控制器
CN112711377B (zh) 分布式存储系统的存储节点及其操作方法
JP4582078B2 (ja) メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法
CN112017725B (zh) 超前处理的数据保护的非挥发性存储器存取方法和设备
KR102666852B1 (ko) 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법
CN113227979A (zh) 用于存储器子系统的容许故障错误校正布局
KR20180010447A (ko) 컨트롤러, 반도체 메모리 시스템 및 그의 동작 방법

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