CN106997777A - 具有改进的硬解码吞吐量的vss ldpc解码器 - Google Patents

具有改进的硬解码吞吐量的vss ldpc解码器 Download PDF

Info

Publication number
CN106997777A
CN106997777A CN201610833446.1A CN201610833446A CN106997777A CN 106997777 A CN106997777 A CN 106997777A CN 201610833446 A CN201610833446 A CN 201610833446A CN 106997777 A CN106997777 A CN 106997777A
Authority
CN
China
Prior art keywords
values
ldpc decoder
lch
checksum
iteration
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
Application number
CN201610833446.1A
Other languages
English (en)
Other versions
CN106997777B (zh
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.)
SK Hynix Inc
Original Assignee
Hynix Semiconductor 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 Hynix Semiconductor Inc filed Critical Hynix Semiconductor Inc
Publication of CN106997777A publication Critical patent/CN106997777A/zh
Application granted granted Critical
Publication of CN106997777B publication Critical patent/CN106997777B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • 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/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • H03M13/1122Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule storing only the first and second minimum values per check node
    • 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/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • 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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3723Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using means or methods for the initialisation of the decoder
    • 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/09Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Error Detection And Correction (AREA)

Abstract

存储器系统可包括存储器存储装置、预处理检查和单元,其适于在第一次解码迭代期间,接收包括信道输入(Lch)符号值的硬读取数据以及将Lch符号值的检查和计算为checksum_pre值、以及包括Lch存储器和检查和更新单元的低密度奇偶检查(LDPC)解码器,LDPC解码器适于在第一次解码迭代期间,将Lch符号值存储在LDPC解码器的Lch存储器中,利用检查和更新单元接收checksum_pre值并至少部分地基于计算和接收的checksum_pre值在至少第二次解码迭代中解码码字,checksum_pre值是对在第一次解码迭代中执行的硬读取的奇偶检查。

Description

具有改进的硬解码吞吐量的VSS LDPC解码器
相关申请的交叉引用
本申请要求于2015年9月18日提交的申请号为62/220,880的美国临时申请的权益,其全部内容通过引用并入本文。
技术领域
本公开的示例性实施例涉及一种存储器系统及其操作方法。
背景技术
计算机环境范式已经转变至可以在任何时间和任何地点被使用的普适计算系统。由于这个事实,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经迅速增长。这些便携式电子装置通常使用具有存储器装置即数据存储装置的存储器系统。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。
由于使用存储器装置的数据存储装置不具有活动部件,因此它们提供出色的稳定性、持久性、高信息存取速度以及低功耗。具有这样的优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
当闪速存储器装置(例如NAND装置)被用于延长的时间时,持久性和保留性变得更大,并且读取数据中的错误的数量增加。因此,存在对于提升的系统的需要以在闪速存储器装置的使用年限增加时维持解码器吞吐量。
发明内容
本发明的方面包括存储器系统。存储器系统可以包括:存储装置(memorystorage);预处理检查和单元,其适用于在第一次解码迭代期间接收包括信道输入(Lch)符号值的硬读取数据并计算Lch符号值的检查和作为checksum_pre值;以及低密度奇偶检查(LDPC)解码器,其包括Lch存储器和检查和更新单元,LDPC解码器适于在第一次解码迭代期间将Lch符号值存储在LDPC解码器的Lch存储器中,利用检查和更新单元接收checksum_pre值,以及至少部分地基于计算和接收的checksum_pre值在至少第二次解码迭代中解码码字,其中checksum_pre值是对在第一次解码迭代中执行的硬读取的奇偶检查。
本发明的进一步的方面包括方法。方法可以包括:利用预处理检查和单元接收包括信道输入Lch符号值的硬读取数据,利用预处理检查和单元计算Lch符号值的检查和作为checksum_pre值,利用低密度奇偶检查解码器在LDPC解码器的Lch存储器中存储Lch符号值,利用LDPC解码器的检查和更新单元接收checksum_pre值,以及利用LDPC解码器,至少部分地基于计算和接收的checksum_pre值在至少第二次解码迭代中解码码字,其中checksum_pre值是对在第一次解码迭代中执行的硬读取的奇偶检查。
本发明的附加方面包括存储器装置。存储器装置可以包括:存储装置;预处理检查和单元,其被配置为在第一解码迭代期间接收包括信道输入(Lch)符号值的硬读取数据并计算Lch符号值的检查和作为checksum_pre值;以及低密度奇偶检查(LDPC)解码器,其包括Lch存储器以及检查和更新单元,LDPC解码器被配置为在第一次解码迭代期间将Lch符号值存储在LDPC解码器的Lch存储器中、利用检查和更新单元接收checksum_pre值以及至少部分地基于计算和接收的checksum_pre值在至少第二次解码迭代中解码码字,其中checksum_pre值是对在第一次解码迭代中执行的硬读取的奇偶检查。
附图说明
图1是示例性示出根据本发明的实施例的存储器系统的框图。
图2是示出根据本发明的实施例的存储器系统的框图。
图3是示出根据本发明的实施例的存储器装置的存储块的电路图。
图4是根据本发明的方面的存储器系统的简图。
图5是根据本发明的方面的存储器处理器的简图。
图6是根据本发明的方面的示例LDPC解码器的简图。
图7是根据本发明的方面的LDPC解码器的示例部件的简图。
图8是根据本发明的方面的描述读取值和位置的简图。
图9是根据本发明的方面的在解码迭代中的过程的简图。
图10是根据本发明的方面的用于解码的过程中的步骤的流程图。
图11是根据本发明的方面的用于解码的过程中的步骤的流程图。
具体实施方式
各个实施例将参照附图在下文中被更详细地描述。然而,本发明可以不同的形式被实现并且不应当被理解为限定于本文所提出的实施例。相反,这些实施例被提供以使本公开将是全面的和完全的,并且将向本领域技术人员充分传达本发明的范围。在本公开全文中,在贯穿本发明的多个图以及实施例中相似的参考数字指相似的部件。
本发明可以多种方式被实施,包括作为过程、设备、系统、物的组合、在计算机可读存储媒介上被实现的计算机程序产品和/或处理器,诸如适于执行存储在被联接至处理器的存储器上和/或由被联接至处理器的存储器提供的指令的处理器。在本说明书中,这些实施例或本发明可以采用的任何其它形式可以被称为技术。一般地,所公开的过程的步骤的顺序可以在本发明的范围内改变。除非另外声明,否则诸如被描述为适于执行任务的处理器或存储器的部件可以被实施为临时适于在给定时间执行任务的通用部件或被制造为执行任务的特定部件。如本文中所使用的,术语“处理器”指一个或多个装置、电路和/或适于处理诸如计算机程序指令的数据的处理核心。
阐明本发明的原理的本发明的一个或多个实施例的详细描述连同附图在下文中被提出。本发明结合这样的实施例被描述,但本发明不限于任何实施例。本发明的范围仅由权利要求限定并且本发明包含大量替代选择、变型以及等同物。为了提供本发明的全面的理解,大量具体细节在下文的描述中被提出。这些细节被提供是为了示例的目的且本发明可以在没有一些或全部这些具体细节的情况下根据权利要求被实现。为了清楚的目的,在本发明相关技术领域内已知的技术材料没有被详细描述以免本发明被不必要地模糊。
图1是示例性示出根据本发明的实施例的存储器系统10的框图。
参照图1,存储器系统10可以包括存储器控制器100和半导体存储器装置200。
存储器控制器100可控制半导体存储器装置200的整体操作。
半导体存储器装置200可以在存储器控制器100的控制下执行一个或多个擦除、编程和读取操作。半导体存储器装置200可以通过输入/输出线接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可以通过电力线接收电力PWR并通过控制线接收控制信号CTRL。控制信号可以包括命令锁存器启用(CLE)信号、地址锁存器启用(ALE)信号、芯片启用(CE)信号、写入启用(WE)信号、读取启用(RE)信号等等。
存储器控制器100和半导体存储器装置200可以被集成在单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被集成在诸如固态驱动器(SSD)的单个半导体装置中。固态驱动器可以包括用于其中存储数据的存储装置。当半导体存储器系统10被用于SSD中时,联接至存储器系统10的主机(未示出)的操作速度可以被显著提升。
存储器控制器100和半导体存储器装置200可以被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可以被集成在单个半导体装置中以配置存储卡,诸如个人计算机存储卡国际协会(PCMCIA)的PC卡、标准闪存(CF)卡、智能媒体(SM)卡、记忆棒、多媒体卡(MMC)、减小尺寸的多媒体卡(RS-MMC)、微型版本的MMC(微型MMC)、安全数字(SD)卡、迷你安全数字(迷你SD)卡、微型安全数字(微型SD)卡、安全数字高容量(SDHC)以及通用闪速存储(UFS)。
对于另一个示例,存储器系统10可以作为包括诸如以下的电子装置的各种元件中的一种被提供:计算机、超移动PC(UMPC)、工作站、上网本计算机、个人数字助手(PDA)、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便捷式多媒体播放器(PMP)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(DMB)播放器、3维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和传递信息的装置、家庭网络的电子装置的一个、计算机网络的电子装置的一个、远程网络的电子装置的一个、射频识别(RFID)装置或计算系统的元件装置。
图2是示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可以描述图1中所示的存储器系统10。
参照图2,存储器系统10可以包括存储器控制器100和半导体存储器装置200。存储器系统10可以响应于来自主机装置的请求操作并且尤其是存储待被主机装置访问的数据。
主机装置可以利用各种类型的电子装置中的任意一种实施。在一些实施例中,主机装置可以包括诸如台式计算机、工作站、三维(3D)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器和数字视频播放器的电子装置。在一些实施例中,主机装置可以包括诸如移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器(PMP)以及便携式游戏机的便携式电子装置。
存储器装置200可以存储待被主机装置访问的数据。
存储器装置200可以利用诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)的易失性存储器装置或诸如只读存储器(ROM)、掩膜ROM(MROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、铁电随机存取存储器(FRAM)、相变RAM(PRAM)、磁阻式RAM(MRAM)以及电阻式RAM(RRAM)的非易失性存储器装置来实施。
控制器100可以控制数据在存储器装置200中的存储。例如,控制器100可以响应于来自主机装置的请求控制存储器装置200。控制器100可以将从存储器装置200中读取的数据提供给主机装置并将从主机装置提供的数据存储到存储器装置200中。
控制器100可以包括通过总线160联接的存储单元110、控制单元120、错误校正码(ECC)单元130、主机接口140以及存储器接口150。
存储单元110可以作为存储器系统10和控制器100的工作存储器并且存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储单元110可以存储被控制器100和存储器装置200用于诸如读取、写入、编程以及擦除操作的操作的数据。
存储单元110可以利用易失性存储器实施。存储单元110可以利用静态随机存取存储器(SRAM)或动态随机存取存储器(DRAM)实现。如上所述,存储单元110可以存储被主机装置用在存储器装置200以用于读取和写入操作的数据。为了存储数据,存储单元110可以包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等等。
控制单元120可以控制存储器系统10的一般操作,以及响应于来自主机装置的写入请求或读取请求控制用于存储器装置200的写入操作或读取操作。控制单元120可以驱动被称为闪存转换层(FTL)的固件以控制存储器系统10的一般操作。例如,FTL可以执行诸如逻辑到物理(L2P)映射、损耗均衡、垃圾收集和坏块处理的操作。L2P映射被称为逻辑块寻址(LBA)。
ECC单元130可以检测并校正在读取操作期间从存储器装置200中读取的数据中的错误。当错误位的数量大于或等于可校正的错误位的阈值数量时,ECC单元130可不校正错误位并且可以输出指示校正错误位失败的错误校正失败信号。
在一些实施例中,ECC单元130可以基于诸如低密度奇偶检查(LDPC)码、博斯-查德胡里-霍昆格姆(Bose-Chaudhuri-Hocquenghem,BCH)码、turbo码turbo乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、格形码调制(TCM)、分组编码调制(BCM)等的编码调制执行错误校正操作。ECC单元130可以包括用于错误校正操作的全部的电路、系统或装置。
主机接口140可以通过诸如通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)和电子集成驱动器(IDE)的各种接口协议中的一个或多个与主机装置通信。
存储器接口150可以提供控制器100和存储器装置200之间的接口以使控制器100响应于来自主机装置的请求控制存储器装置200。存储器接口150可以产生用于存储器装置200的控制信号并在CPU120的控制下处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可以产生用于存储器的控制信号并在CPU 120的控制下处理数据。
存储器装置200可以包括存储器单元阵列210、控制电路220、电压产生电路230、行解码器240、页面缓冲器250、列解码器260以及输入/输出电路270。存储器单元阵列210可以包括多个存储块211并可以在其中存储数据。电压产生电路230、行解码器240、页面缓冲器250、列解码器260以及输入/输出电路270形成存储器单元阵列210的外围电路。外围电路可以执行存储器单元阵列210的编程、读取或擦除操作。控制电路220可以控制外围电路。
电压产生电路230可以产生具有各种电平的操作电压。例如,在擦除操作中,电压产生电路230可以产生诸如擦除电压和通过电压的具有各种电平的操作电压。
行解码器240可以被连接至电压产生电路230和多个存储块211。行解码器240可以响应于由控制电路220产生的行地址RADD选择多个存储器块211中的至少一个存储块并将由电压产生电路230供应的操作电压传输至在多个存储块211中选择的存储块。
页面缓冲器250通过位线BL(未示出)被连接至存储器单元阵列210。页面缓冲器250可以响应于控制电路220所产生的页面缓冲器控制信号利用正电压对位线BL预先充电,在编程和读取操作中将数据传输至选择的存储块/从选择的存储块接收数据,或临时存储传输的数据。
列解码器260可以将数据传输至页面缓冲器250/从页面缓冲器250接收数据或将数据传输至输入/输出电路270/从输入/输出电路270接收数据。
通过输入/输出电路270,输入/输出电路270可以将从外部装置(例如存储器控制器100)传输的命令和地址传输至控制电路220、将来自外部装置的数据传输至列解码器260或将来自列解码器260的数据输出至外部装置。
控制电路220可以响应于命令和地址控制外围电路。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2中所示的存储器单元阵列200的存储块211。
参照图3,存储块211可以包括被分别联接至位线BL0至BLm-1的多个单元串221。每一列的单元串可以包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。多个存储器单元或存储器单元晶体管可以被串联地联接在选择晶体管DST和SST之间。存储器单元MC0至MCn-1中的每一个可以由在每一单元内存储多位数据信息的多层单元(MLC)形成。单元串221可以被分别电联接至对应的位线BL0至BLm-1。
在一些实施例中,存储块211可以包括NAND型闪速存储器单元。然而,存储块211不限于NAND闪速存储器,而是可以包括NOR型闪速存储器、其中结合两种或更多种类型的存储器单元的混合闪速存储器以及其中控制器被嵌入在存储器芯片内部的1-NAND闪速存储器
图4是用于在闪速存储器装置接近寿命的结束时提升并维持解码器吞吐量的示例系统40的简图。系统40可以包括DRAM 400部分(例如易失性部分)和存储器402部分(例如非易失性部分)。DRAM 400部分和存储器402部分可以互相通信,并且可以被装配在单个装置上或通过多个装置和/或接口互相连接。DRAM 400部分可以包括用于映射位和数据的地址的LBA表410、诸如上述控制器的控制器404,以及如本领域技术人员将从本文的公开中理解的其它适合的部件。存储器402部分可以包括多个存储块(和/或多个超级存储块)、用于主机写入的开放块430、用于垃圾收集的开放块440以及如本领域技术人员将从本文的描述中理解的其它适合的块名称。
本文所公开的是系统、装置、方法以及提升低密度奇偶检查(LDPC)解码器(例如VSS解码器和/或其它最小和解码器)的吞吐量的过程。如果在码字中存在更多的错误位,则LDPC解码器延迟可以变得更长。当存储器装置(例如NAND装置)被使用更长时间(例如用于接近寿命的结束的较长时间段-持久性和保留性变得更大)时,从NAND装置中读取的数据中的错误的数量增加。因此,随着NAND装置的使用年限增加,将需要解码器的更多吞吐量。因此,本文中公开的系统、方法、装置和过程在存储器装置接近寿命的结束时维持(在其它的特征中)足够的解码器吞吐量以提供持续的性能。
图5是示出包括LDPC解码器的存储系统的实施例的系统50的简图。系统50可以包括储存器550和读取处理器500。读取处理器500可以额外地包括读取阈值生成器502,似然比(LLR)值生成器504和LDPC解码器506。LDPC解码器506可以被配置为最小和LDPC解码器,诸如,例如VSS最小和LDPC解码器,但本发明不限于仅VSS最小和LDPC解码器或最小和LDPC解码器。
读取阈值生成器502可以被配置为产生可以被用于从储存器550中读取的一个或多个读取阈值510。在多个实施例中,储存器550可以包括固态储存器、硬盘储存器、可移动储存器、NAND闪存、3D NAND等。由读取阈值生成器502输出的读取阈值510可以被用于读取储存器550中的N个单元的组(例如,页面、片段等)。
最初,只有一次储存器550的读取可以被执行(例如包含N个单元的期望的页面或片段被读取)。对应于这N个单元的N个硬读取值可以从储存器550被传递至LLR值生成器504。
当存储的数据被请求或以其它方式被要求(例如被存储了数据的应用或用户)时,LLR值生成器504可以访问储存器550并检索包括一些噪音或错误的读取的数据。LLR值生成器504可以处理读取的数据并针对每一位输出LLR值515。LLR值生成器504可以向LDPC解码器506提供LLR值515用于解码。如果在LDPC解码器506上解码成功,则被解码的码字520可以被输出。
图6是示例系统60且特别是示例LDPC解码器600(例如,诸如最小和LDPC解码器)的简图。在一些实施例中,LDPC解码器600使用诸如现场可编程门阵列(FPGA)和/或专用集成电路(ASIC)的半导体装置实施。在一些实施例中,LDPC解码器600被包括在关于图5所述的LDPC解码器504中。
LDPC解码器600可以包括可变节点更新器602(例如,图7中的BNU)、检查节点更新器604(例如,图7中的CNU)、码字更新器606以及检查子更新器(syndrome updater)608(例如,图7中的检查和更新单元)。
可变节点更新器602可以被配置为产生与被从可变节点n发送至检查节点m(例如,如在申请号为14/444,712、题目为“HIGH SPEED LOW-POWER LDPC DECODER DESIGN”的美国专利申请中所描述的从可变节点至检查节点,其内容通过引用并入本文)关联的消息Qnm652(例如,图7中的Lbc)并将消息652发送至检查节点更新器604。这样的消息652可以被称作“从可变节点n被发送至检查节点m的消息”。
检查节点更新器604可被配置成将消息Rnm 653(图7中的Lcb)(例如从检查节点至可变节点)输出回至可变节点更新器602。与从检查节点m发送至可变节点n相关的消息653可被称为“从检查节点m发送至可变节点n的消息”。
在示出的LDPC解码器600中,N个LLR值的阵列或序列650(例如L=[L1,……,LN])可通过LDPC解码器600被输入至可变节点更新器602。例如,LDPC解码器600可用在存储系统中并且包含N个单元的页面或段可从存储器(例如固态存储器、NAND闪速存储器、硬盘驱动存储器等)读取。LLR值650中的每个可以是符号表示决定(例如负号表示1,正号表示0)的软值,幅度表示与该决定相关的确定性或可能性(例如大的幅度对应于相关决定中的较高确定性)。
除了产生Qnm消息652,可变节点更新器602可被配置成产生解码的LLR Qn,其中1≤n≤N。解码的LLR值654可从可变节点更新器602被传递至码字更新器606。
在示例中,码字更新器602可被配置成使用下式计算 (其中1≤n≤N):
其中表示解码序列656。在一些实施例中,解码的LLR值654的最高有效位(MSB)被发送至伴随式更新器608以决定解码是否成功。但是可选地,在一些实施例中,码字更新器606执行相对简单的处理。
伴随式更新器608可被配置成检查是否所有的错误已经从码字移除。例如,当针对奇偶检查矩阵H,时,则伴随式更新器608确定解码成功并且所有错误已经从码字中移除。如果是,则LDPC解码器600停止解码并输出作为解码器输出的解码序列656
在一些实施例中,如果则解码的码字(例如)不被输出并且另一解码迭代被执行(例如可变节点更新器602可计算新的消息652和新解码的LLR值654,检查节点更新器604可计算新的消息653,以及码字更新器606可计算新的码字并检查新的码字和奇偶检查矩阵的乘积是否为0或直到达到迭代的一些(例如预定)最大数量。
在本发明的示例中,以最小和LDPC解码器为例,LDPC解码器(诸如解码器504和600)被配置成执行解码算法。在一些实施例中,初始化解码算法包括初始化解码迭代计数器。例如,LDPC解码算法可被重复以解码码字的最大次数被选择,跟踪当前迭代数量的计数器被初始化为“1”以指示当前正在执行的是LDPC解码算法的第一次迭代。在一个示例中,变量k是迭代指示器并被初始化为k=1,Kmax被初始化为允许解码一个码字的最多次迭代。Kmax可被预先配置和/或动态地确定。在一些实施例中,当在迭代期间所有可变节点和检查节点已经被至少更新一次时,一个解码迭代被完成。
虽然最小和LDPC解码器可被配置成根据解码算法进行多次解码迭代,但是在最小和解码的第一次迭代期间,LDPC解码器不执行任何错误校正。因此,本发明的实施例在第一次迭代期利用可用资源以提高最小和LDPC解码器的吞吐量。
特别地,在最小和LDPC解码器中的第一次解码迭代可通过使用硬读取数据进行解码检查提高吞吐量。
图7是描述示例性LDPC解码器的组件的系统70的简图。系统70可包括检查节点更新(CNU)单元700、位节点更新(BNU)单元702以及检查和更新(CSU)单元704。
CNU 700可被配置成从BNU 702接收位-检查消息(Lbc)(例如,对于3位解码器,1位可被分配给符号并且两位可被分配给幅度)以及位置基准(idx)。CNU 700也可包括与它相关联的各种值。例如,值all_sgn是对应于Lbx消息的符号的乘积的值。Min1是最小幅度的绝对值,Min1_idx是表示幅度Min1的位置的值。因此,Min2是2与最小幅度的绝对值,Min2_idx是表示幅度Min2的位置的值。
CNU 700也可被配置成基于位置基准idx和sgn_mem内容输出检查-位消息(Lcb)。sgn_mem值可包含/包括位-检查消息(Lbc)的符号。
在解码期间,一些迭代可发散。也存在从先前解码迭代使用的值。例如,基于min1_idx和输入位置基准idx,Lcb的幅度是Min1/Min2。Lcb的符号是all_sgn*sgn_mem。
BNU 702可被配置成接收Lcb和信道输入值(Lch706)。BNU 702可使用缩放因子并计算Lbc值。另外,BNU 702可被配置成更新硬判决(hard_dec)(例如位是否0或1),然后CSU704使用其来检查数据是否已经收敛至码字,解码是否可停止。
CSU 704从BNU 702接收硬判决hard_dec并可被配置成计算针对每个奇偶检查的检查和(例如硬判决的XOR奇偶)。如果所有的奇偶检查都为零,则码字已经收敛。CSU 704也可被配置成输出计算的/用计算机计算的检查和(例如描述的check_sum)。
为了进一步解释软读取和硬读取以及最小幅度和位置之间的差异,下面描述图8的简图。在来自NAND 800的软读取的示例中,返回的值包括幅度和符号两者。在示出的值在3的范围内的示例中,软读取800可返回值3、2、1、0、-1、-2或-3。与此相反,利用来自NAND802的单个硬读取,在硬读取期间读取的幅度将相同并且只有符号可以改变。
参照上述的通用最小和LDPC解码器并利用示出的示例性BNU单元804,在第一次迭代中,例如Lch包括5个位置,1-5。在第一次迭代中,所有的值都是0。然而,在第二次迭代或换言之在硬解码中,每个位置包括相同幅度的值,方差将取决于值的符号。在一些实施例中,每个位置将具有相同的符合(例如,+或-)。
在另一个示例中,CNU单元806被示出。通常情况中,在简图的左侧(例如用于软解码),各个值是在不同的位置被读出。Min1是0,Min1的位置(例如Min1_idx)是3。Min2是1,Min2的位置(例如Min2_idx)是5。
然而,在CNU 806的右侧,在硬解码的示例中,每个位置具有相同的幅度3,并且每个位置具有相同的符号(正号)。因此,Min1是3和Min2是3,Min1和Min2的位置实际上可通过位置1、2、3、4或5中的任何一个来表示。
利用在硬解码期间和在第一次迭代发生的这些属性,以及在第一次最小和解码迭代期间未执行误差校正的事实,最小和解码器的吞吐量可如下所述被增大。
参照图9、图10和图11,利用最小和解码器提高存储器装置的吞吐量的系统、装置、方法以及过程被公开。图9是总体通过第一次最小和解码迭代示出解码过程的流程图/系统90简图。图10是用于提高吞吐量的步骤的流程图1000。图11是在装置中机械地初始化过程的步骤的流程图1100。
在最小和解码(例如VSS最小和解码)中注意的是,第一次最小和解码迭代未执行任何错误校正。针对硬数据输入,在第一次迭代期间仅需要计算检查和。值(min、min2、min1_idx、min2_idx)对于在第一次迭代结束时所有检查是相同的并且可被初始化。针对每个检查节点的all_sgn值与检查和的all_sgn值相同。对于第二次迭代的检查-位消息(Lcb)的符号可仅使用all_sgn以及输入数据的符号来计算。因此,大多数最小和解码器硬件在针对硬数据输入的第一次迭代期间是空闲的。因此,检查和计算逻辑可被复制并且寄存器和存储器可与最小和解码器共享。这可有效地使可仅从涉及实际错误校正的第二次迭代中使用的最小和解码器的第一次迭代管线化(pipe-line),从而增大其有效的吞吐量。
关于估计的区域和吞吐量的增加,在一些实施例中,双解码器的区域可为约850K栅(gate)。用于逻辑的估计区域可为约40K栅。估计区域的增量可以是约5%。本文公开的管线迭代对每一码字节省一次解码迭代。因此,在每码字的3.2次迭代平均值处估计的吞吐量增量为3.2/2.2,或大约45%左右。如本领域技术人员将从本公开中理解的是,对于解码和逻辑的区域,以及其他平均迭代和吞吐量性能将根据使用的各种装置和系统变化。然而,本文公开的方法、系统、装置和过程可在具有变化的区域和平均迭代的各种系统中使用。
返回参照图9和图10,在步骤1002处,在第一次解码迭代期间,硬读取数据被接收。硬读取数据包括信道输入(Lch)软值902。在硬读取中,Lch值仅具有用于符号的1位输入。幅度都是相同的,为一个常数,因此,没有必要存储幅度。与需要3位的软读取相比,对于应读取不使用2位的Lch存储器。
对于位节点更新单元,在第一次迭代期间可从NAND可用的唯一值是Lch值。因此,对于第一次解码迭代的Lcb值是零,并且位-检查值Lbc都是相同的幅度并具有与Lch相同的符号。因此,不发生对输入数据的校正。
这样,检查节点输入(Lbc)都是相同的幅度并且它们的符号与Lch相同。因此,all_sgn值仅依赖于Lch的符号。由于所有的输入幅度相同,因此Min1_idx和Min2_idx可被选择为例如0和1(但如上述讨论的,为了方便起见,可使用有效的位置值)。
为了分出过程,LDPC解码器可被配置成在至少第二次迭代期间处理解码直到最终迭代。第一次解码迭代可通过预处理检查和单元904来处理。
在步骤1004处,Lch符号值的检查和被计算为checksum_pre值。checksum_pre 912可由检查预处理单元通过获取硬数据的XOR并利用奇偶H矩阵900进行奇偶检查来用计算机计算/计算。当LDPC解码器901正在解码码字(诸如码字0或CW0)时,新的码字(码字1或CW1)被输入至系统中。与实际解码器(LDPC解码器901)区域相比,用计算机计算的XOR小。
在步骤1006处,Lch符号值被存储在LDPC解码器的Lch存储器中。LDPC解码器901可利用Lch存储器906来配置。Lch存储器906可被配置成在存储软数据幅度,但是在第一次解码迭代期间,由于使用较少的数据位,所以可使用Lch存储器906以将Lch符号值902存储在空闲存储器中。
在步骤1008处,检查和更新单元可接收checksum_pre值。例如,LDPC解码器901可包括检查和更新单元910,其被配置成接收通过检查和预处理单元904计算出checksum_pre值912。在进一步迭代中,检查和更新单元910可被配置成计算检查和(例如XOR)以确定是否码字已经收敛并且解码可被停止。
在步骤1010处,码字基于是对在第一次解码迭代中执行的硬读取/硬判决的奇偶检查的checksum_pre值在至少第二次解码迭代中被解码。下面将更详细地描述步骤1010。
首先,只要LDPC解码器901可用于开始解码CW1(例如,CW0的解码已经收敛并CW1的第一次解码迭代已经完成),第二解码迭代可开始。首先,因为这些值在第一次解码迭代后相同,所以checksum_pre值可被复制成CNU 914和检查和更新单元910(如在步骤1008处提到的)的all_sgn值。接着,Min1和Min2可被初始化为恒定值(例如可编程的寄存器值)而Min1_idx可被初始化为0且Min2_idx可被初始化为1。
由于在第一次迭代期间没有值被写入CNU 914的sgn_mem值,通过观察sgn_mem的值与Lch相同,所以在第二次解码迭代中,sgn_mem值可用Lch存储器值诸如在Lch存储器906中存储的Lch值的Lch存储值来代替。这使得解码在上述的第一次迭代中进行,同时设置必须存储的值,使得LDPC解码器901可如先前产生和存储过数据一样继续第二次解码迭代。
因此,如果解码器在第二次迭代的中间收敛,则解码器的输出是被处理的位的硬判定和未处理的Lch值(因为这部分中不存在错误)的组合。
如果需要第三次迭代,则所有值在相应的存储器和寄存器的位置并且与正常过程相同。
虽然VSS最小和LDPC解码需要Min1_idx、Min2_idx,但是各种其它最小和解码器可能只需要Min1_idx但可应用相同的替换物,上述公开的过程可被概括。
在图11处,示出用于信号初始化的步骤的流程图1100。LDPC解码器可需要接口变化,因为它可以是用于当前解码器的简易替换。附加信号可用这种集成来帮助。由于上面公开的发明使用LDPC解码器的软数据缓冲器,所以解码器中的现有码字应在软读取码字可被接受之前完成解码。
因此,在步骤1102处,指示解码器准备好接收硬读取码字的idpc_dec_ready_hard信号被接收。在步骤1104处,针对硬读取码字的迭代1可开始。在步骤1106处,针对硬读取码字的解码完成。在步骤1108处,指示解码器准备好接收软读取码字的idpc_dec_ready_soft信号被接收。在步骤1110处,针对软读取码字的迭代2可开始。
虽然为了清楚理解的目的已经详细地描述上述实施例,但是本发明并不限于所提供的细节。存在实施本发明的许多替代方式。公开的实施例是说明性的而不是限制性的。

Claims (18)

1.一种存储器系统,其包括:
存储装置;
预处理检查和单元,其适于在第一次解码迭代期间:
接收包括信道输入符号值即Lch符号值的硬读取数据;以及
计算所述Lch符号值的检查和作为checksum_pre值;以及
低密度奇偶检查解码器,即LDPC解码器,其包括Lch存储器和检查和更新单元,所述LDPC解码器适于在所述第一次解码迭代期间:
将所述Lch符号值存储在所述LDPC解码器的Lch存储器中;
利用所述检查和更新单元接收所述checksum_pre值;以及
至少部分地基于计算和接收的所述checksum_pre值在至少第二次解码迭代中解码码字,所述checksum_pre值是对在所述第一次解码迭代中执行的硬读取的奇偶检查。
2.根据权利要求1所述的存储器系统,其中所述LDPC解码器进一步包括检查节点更新单元,即CNU单元,其适于在所述第二次解码迭代期间将存储在所述Lch存储器中的Lch符号值存储为sgn_mem值。
3.根据权利要求1所述的存储器系统,其中所述LDPC解码器进一步包括检查节点更新单元,即CNU单元,其适于在所述第一次解码迭代期间接收所述checksum_pre值以及将所述checksum_pre值存储为all_sgn值。
4.根据权利要求1所述的存储器系统,其中所述LDPC解码器包括最小和LDPC解码器。
5.根据权利要求1所述的存储器系统,其中所述LDPC解码器进一步包括检查节点更新单元,即CNU单元,其适于在所述第二次解码迭代开始时初始化最小读取值字段和最小读取值位置。
6.根据权利要求1所述的存储器系统,其中所述LDPC解码器可用于从所述第二次解码迭代解码至最终解码迭代。
7.一种方法,其包括:
利用预处理检查和单元接收包括信道输入符号值即Lch符号值的硬读取数据;
利用所述预处理检查和单元计算所述Lch符号值的检查和作为checksum_pre值;
利用低密度奇偶检查解码器即LDPC解码器将所述Lch符号值存储在所述LDPC解码器的Lch存储器中;
利用所述LDPC解码器的检查和更新单元接收所述checksum_pre值;以及
利用所述LDPC解码器,至少部分地基于计算和接收的所述checksum_pre值在至少第二次解码迭代中解码码字,所述checksum_pre值是对在第一次解码迭代中执行的硬读取的奇偶检查。
8.根据权利要求7所述的方法,其进一步包括利用所述LDPC解码器的检查节点更新单元,在所述第二次解码迭代期间将存储在所述Lch存储器中的Lch符号值存储为sgn_mem值。
9.根据权利要求7所述的方法,其进一步包括利用所述LDPC解码器的检查节点更新单元,在所述第一次解码迭代期间接收所述checksum_pre值以及将所述checksum_pre值存储为all_sgn值。
10.根据权利要求7所述的方法,其中所述LDPC解码器包括最小和LDPC解码器。
11.根据权利要求7所述的方法,其进一步包括利用所述LDPC解码器的检查节点更新单元,在所述第二次解码迭代开始时初始化最小读取值字段和最小读取值位置。
12.根据权利要求7所述的方法,其中所述LDPC解码器可用于从所述第二次解码迭代解码至最终解码迭代。
13.一种存储器装置,其包括:
存储装置;
预处理检查和单元,其被配置成在第一次解码迭代期间:
接收包括信道输入符号值即Lch符号值的硬读取数据;以及
将所述Lch符号值的检查和计算为checksum_pre值;以及
低密度奇偶检查解码器,即LDPC解码器,其包括Lch存储器和检查和更新单元,所述LDPC解码器被配置成在所述第一次解码迭代期间:
将所述Lch符号值存储在所述LDPC解码器的Lch存储器中;
利用所述检查和更新单元接收所述checksum_pre值;以及
至少部分地基于计算和接收的所述checksum_pre值在至少第二次解码迭代中解码码字,所述checksum_pre值是对在所述第一次解码迭代中执行的硬读取的奇偶检查。
14.根据权利要求13所述的存储器装置,其中所述LDPC解码器进一步包括检查节点更新单元,即CNU单元,其被配置成在所述第二次解码迭代期间将存储在所述Lch存储器中的Lch符号值存储为sgn_mem值。
15.根据权利要求13所述的存储器装置,其中所述LDPC解码器进一步包括检查节点更新单元,即CNU单元,其被配置成在所述第一次解码迭代期间接收所述checksum_pre值以及将所述checksum_pre值存储为all_sgn值。
16.根据权利要求13所述的存储器装置,其中所述LDPC解码器包括最小和LDPC解码器。
17.根据权利要求13所述的存储器系统,其中所述LDPC解码器进一步包括检查节点更新单元,即CNU单元,其被配置成在所述第二次解码迭代开始时初始化最小读取值字段和最小读取值位置。
18.根据权利要求13所述的存储器装置,其中所述LDPC解码器可用于从所述第二次解码迭代解码至最终解码迭代。
CN201610833446.1A 2015-09-18 2016-09-19 具有改进的硬解码吞吐量的vss ldpc解码器 Active CN106997777B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201562220880P 2015-09-18 2015-09-18
US62/220,880 2015-09-18

Publications (2)

Publication Number Publication Date
CN106997777A true CN106997777A (zh) 2017-08-01
CN106997777B CN106997777B (zh) 2021-01-05

Family

ID=58283424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610833446.1A Active CN106997777B (zh) 2015-09-18 2016-09-19 具有改进的硬解码吞吐量的vss ldpc解码器

Country Status (3)

Country Link
US (1) US10122382B2 (zh)
CN (1) CN106997777B (zh)
TW (1) TWI705446B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109560818A (zh) * 2017-09-25 2019-04-02 爱思开海力士有限公司 用于ldpc码的改进的最小和解码
CN109586732A (zh) * 2018-10-18 2019-04-05 天津大学 中短码ldpc编解码系统和方法
CN110277999A (zh) * 2018-03-16 2019-09-24 爱思开海力士有限公司 Ldpc解码装置、包括其的存储器系统及其方法
CN110928722A (zh) * 2018-09-19 2020-03-27 爱思开海力士有限公司 存储器系统以及存储器系统的操作方法
CN112735498A (zh) * 2021-02-03 2021-04-30 山东大学 一种存储器译码方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671323B2 (en) 2017-08-29 2020-06-02 SK Hynix Inc. Memory system with shared buffer architecture for multiple decoders and method of operating such memory system
US10574274B2 (en) * 2017-09-29 2020-02-25 Nyquist Semiconductor Limited Systems and methods for decoding error correcting codes
US10565051B2 (en) * 2018-02-06 2020-02-18 Alibaba Group Holding Limited Accommodating variable page sizes in solid-state drives using customized error correction
US11115062B2 (en) * 2018-03-16 2021-09-07 SK Hynix Inc. Memory system with adaptive threshold decoding and method of operating such memory system
KR102540772B1 (ko) * 2018-04-30 2023-06-08 에스케이하이닉스 주식회사 에러 정정 회로 및 이의 동작 방법
CN108829358B (zh) * 2018-06-29 2021-06-29 郑州云海信息技术有限公司 固态硬盘的坏块管理方法以及固态硬盘
CN108964669B (zh) * 2018-07-06 2021-07-06 西安电子科技大学 基于度分解和交替乘子法的ldpc码二次规划译码方法
US10824507B2 (en) * 2018-10-24 2020-11-03 Samsung Electronics Co., Ltd. Semiconductor memory device, controller, and memory system
TWI672698B (zh) * 2018-11-23 2019-09-21 群聯電子股份有限公司 記憶體控制方法、記憶體儲存裝置及記憶體控制電路單元
US11309915B1 (en) 2019-07-11 2022-04-19 Arrowhead Center, Inc. Efficient implementation of a threshold modified min-sum algorithm for low-density parity-check decoders
CN117632574A (zh) * 2022-08-18 2024-03-01 慧荣科技股份有限公司 存储器控制器及解码管线的数据控制方法
CN116662063B (zh) * 2023-05-10 2024-02-23 珠海妙存科技有限公司 一种闪存的纠错配置方法、纠错方法、系统、设备及介质

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040034828A1 (en) * 2002-08-15 2004-02-19 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
CN1527499A (zh) * 2002-07-03 2004-09-08 休斯电子公司 用于低密度奇偶校验码解码的方法与系统
CN1578201A (zh) * 2003-07-03 2005-02-09 直视集团公司 通过ldpc解码器对低密度奇偶校验码进行编码
US20060195754A1 (en) * 2005-02-26 2006-08-31 Ba-Zhong Shen AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
WO2008039098A1 (en) * 2006-09-29 2008-04-03 Intel Corporation A modified min-sum kernel for a low density parity check (ldpc) code decoder
CN101232346A (zh) * 2007-01-25 2008-07-30 华为技术有限公司 低密度奇偶校验码译码方法和译码装置
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
US20090282326A1 (en) * 2008-05-12 2009-11-12 Carlos Raul Espinosa-Montalvo Process for obtaining a result between a first numerical value and a second numerical value which are separated by a common character in a spreadsheet
CN101689865A (zh) * 2007-07-04 2010-03-31 Nxp股份有限公司 置乱式ldpc解码
CN101777920A (zh) * 2009-12-24 2010-07-14 北京韦加航通科技有限责任公司 低密度奇偶校验码的编码方法和编码译码装置
CN102158233A (zh) * 2011-05-09 2011-08-17 山东大学 一种ldpc码的线性规划与最小和级联译码方法
CN102291153A (zh) * 2011-06-13 2011-12-21 电子科技大学 Cmmb中ldpc码的译码算法及部分并行译码器
CN104052496A (zh) * 2013-03-15 2014-09-17 Lsi公司 基于最小和的混合非二进制低密度奇偶校验解码器
US9048870B2 (en) * 2012-11-19 2015-06-02 Lsi Corporation Low density parity check decoder with flexible saturation

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092229A (en) * 1996-10-09 2000-07-18 Lsi Logic Corporation Single chip systems using general purpose processors
US8341506B2 (en) 2007-03-30 2012-12-25 HGST Netherlands B.V. Techniques for correcting errors using iterative decoding
US8335977B2 (en) * 2007-12-05 2012-12-18 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated BCH codes and/or designation of “first below” cells
US20090282316A1 (en) * 2008-05-07 2009-11-12 Texas Instruments Incorporated Memory Access in Low-Density Parity Check Decoders
US8341486B2 (en) * 2010-03-31 2012-12-25 Silicon Laboratories Inc. Reducing power consumption in an iterative decoder

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1527499A (zh) * 2002-07-03 2004-09-08 休斯电子公司 用于低密度奇偶校验码解码的方法与系统
US20040034828A1 (en) * 2002-08-15 2004-02-19 Texas Instruments Incorporated Hardware-efficient low density parity check code for digital communications
US7139959B2 (en) * 2003-03-24 2006-11-21 Texas Instruments Incorporated Layered low density parity check decoding for digital communications
CN1578201A (zh) * 2003-07-03 2005-02-09 直视集团公司 通过ldpc解码器对低密度奇偶校验码进行编码
US20060195754A1 (en) * 2005-02-26 2006-08-31 Ba-Zhong Shen AMP (accelerated message passing) decoder adapted for LDPC (low density parity check) codes
WO2008039098A1 (en) * 2006-09-29 2008-04-03 Intel Corporation A modified min-sum kernel for a low density parity check (ldpc) code decoder
CN101232346A (zh) * 2007-01-25 2008-07-30 华为技术有限公司 低密度奇偶校验码译码方法和译码装置
CN101689865A (zh) * 2007-07-04 2010-03-31 Nxp股份有限公司 置乱式ldpc解码
CN101471674A (zh) * 2007-12-28 2009-07-01 三星电子株式会社 低密度奇偶校验码译码方法及装置
US20090282326A1 (en) * 2008-05-12 2009-11-12 Carlos Raul Espinosa-Montalvo Process for obtaining a result between a first numerical value and a second numerical value which are separated by a common character in a spreadsheet
CN101777920A (zh) * 2009-12-24 2010-07-14 北京韦加航通科技有限责任公司 低密度奇偶校验码的编码方法和编码译码装置
CN102158233A (zh) * 2011-05-09 2011-08-17 山东大学 一种ldpc码的线性规划与最小和级联译码方法
CN102291153A (zh) * 2011-06-13 2011-12-21 电子科技大学 Cmmb中ldpc码的译码算法及部分并行译码器
US9048870B2 (en) * 2012-11-19 2015-06-02 Lsi Corporation Low density parity check decoder with flexible saturation
CN104052496A (zh) * 2013-03-15 2014-09-17 Lsi公司 基于最小和的混合非二进制低密度奇偶校验解码器

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109560818A (zh) * 2017-09-25 2019-04-02 爱思开海力士有限公司 用于ldpc码的改进的最小和解码
CN109560818B (zh) * 2017-09-25 2022-08-09 爱思开海力士有限公司 用于ldpc码的改进的最小和解码
CN110277999A (zh) * 2018-03-16 2019-09-24 爱思开海力士有限公司 Ldpc解码装置、包括其的存储器系统及其方法
CN110277999B (zh) * 2018-03-16 2023-03-14 爱思开海力士有限公司 Ldpc解码装置、包括其的存储器系统及其方法
CN110928722A (zh) * 2018-09-19 2020-03-27 爱思开海力士有限公司 存储器系统以及存储器系统的操作方法
CN109586732A (zh) * 2018-10-18 2019-04-05 天津大学 中短码ldpc编解码系统和方法
CN109586732B (zh) * 2018-10-18 2022-02-25 天津大学 中短码ldpc编解码系统和方法
CN112735498A (zh) * 2021-02-03 2021-04-30 山东大学 一种存储器译码方法
CN112735498B (zh) * 2021-02-03 2024-02-20 山东大学 一种存储器译码方法

Also Published As

Publication number Publication date
TWI705446B (zh) 2020-09-21
TW201714179A (zh) 2017-04-16
CN106997777B (zh) 2021-01-05
US10122382B2 (en) 2018-11-06
US20170085276A1 (en) 2017-03-23

Similar Documents

Publication Publication Date Title
CN106997777A (zh) 具有改进的硬解码吞吐量的vss ldpc解码器
TWI705452B (zh) 具有硬通道資訊的位元翻轉ldpc解碼演算法
CN109616148B (zh) 具有解码器的存储器系统、其操作方法和解码器
US10484008B2 (en) Memory system with on-the-fly error detection and termination and operating method thereof
CN106169308A (zh) 存储器控制器及其操作方法
US9543983B2 (en) Decoding method, memory storage device and memory control circuit unit
US10693496B2 (en) Memory system with LDPC decoder and method of operating such memory system and LDPC decoder
US10447302B2 (en) Memory system decoding design and operating method thereof
CN107731259A (zh) 最佳读取参考电压的存储器系统及其操作方法
US20160197624A1 (en) Reliability-assisted bit-flipping decoding algorithm
CN105989890A (zh) 用于快闪存储器的增量llr 产生
US11182243B2 (en) Memory system with adaptive information propagation and method of operating such memory
CN105304142B (zh) 解码方法、存储器存储装置及存储器控制电路单元
US11271589B2 (en) Memory system with error-reduction scheme for decoding and method of operating such memory system
US10884858B2 (en) LDPC decoding device, memory system including the same and method thereof
US11062758B2 (en) Memory system to process multiple word line failures with limited storage and method of operating such memory system
US11074128B2 (en) Memory system with hybrid iterative decoding capability and method of operating such memory system
US20210013905A1 (en) Memory system with low-complexity decoding and method of operating such memory system
US20190288712A1 (en) Memory system with adaptive threshold decoding and method of operating such memory system
US10528496B2 (en) Controller and operating method thereof
US9996412B2 (en) Enhanced chip-kill schemes by using sub-trunk CRC
US11881871B1 (en) On-the-fly scaling factor change for irregular LDPC codes
CN116954984A (zh) Crc终止时的准确ber报告
CN108073469A (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