CN110275796B - 具有混合解码方案的存储器系统及其操作方法 - Google Patents
具有混合解码方案的存储器系统及其操作方法 Download PDFInfo
- Publication number
- CN110275796B CN110275796B CN201910198887.2A CN201910198887A CN110275796B CN 110275796 B CN110275796 B CN 110275796B CN 201910198887 A CN201910198887 A CN 201910198887A CN 110275796 B CN110275796 B CN 110275796B
- Authority
- CN
- China
- Prior art keywords
- decoder
- codeword
- decoding
- information
- memory controller
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
- H03M13/1117—Soft-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/112—Soft-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 with correction functions for the min-sum rule, e.g. using an offset or a scaling factor
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1111—Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/11—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
- H03M13/1105—Decoding
- H03M13/1108—Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
-
- 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/3707—Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
- H03M13/3715—Adaptation to the number of estimated errors or to the channel state
-
- 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/6577—Representation or format of variables, register sizes or word-lengths and quantization
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供一种利用多个解码器之间的信息交换来运行混合解码方案的存储器控制器、解码器和方法。当码字的不满足校验(USC)计数小于阈值时,第一类型的解码器对码字执行初始解码,并且当码字的USC计数大于或等于阈值时,第二类型的解码器对码字执行解码。在由解码器中的一个解码期间,控制器由该解码器的输出生成信息,并且将该信息发送到另一解码器,该另一解码器在解码中使用该信息。基于解码期间发生的条件,码字在解码器之间路由和重新路由,其中解码器可包括q‑位位翻转(q‑BF)解码器和最小和(MS)解码器。
Description
相关申请的交叉引用
本申请要求于2018年3月16日提交的申请号为62/643,989的美国临时申请的优先权,该申请的全部内容通过引用并入本文。
技术领域
本公开的实施例涉及一种能够运行混合解码方案的存储器系统及其组件,以及这种存储器系统的操作方法,该混合解码方案包括在多个解码器之间传递信息。
背景技术
计算机环境范例已经变为可随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。
因其不具有移动部件,使用存储器装置的数据存储装置提供优良的稳定性、耐用性、高信息存取速度以及低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(USB)存储器装置、具有各种接口的存储卡以及固态驱动器(SSD)。
SSD可包括闪速存储器部件和控制器,该控制器包括将闪速存储器部件桥接到SSD输入/输出(I/O)接口的电子器件。SSD控制器可包括可运行诸如固件的功能部件的嵌入式处理器。SSD功能部件通常是装置特定的,并且在大多数情况下可被更新。
两种主要类型的闪速存储器以NAND和NOR逻辑门命名。单独的闪速存储器单元展现出与相应门的内部特性类似的内部特性。NAND型闪速存储器可以块(或页面)的形式写入和读取,这些块(或页面)通常比整个存储空间小很多。NOR型闪存允许将单个机器字(字节)写入擦除位置或进行独立地读取。NAND型闪速存储器主要在存储卡、USB闪存驱动器、固态驱动器(SSD)和类似产品中操作以用于数据的一般存储和传输。
例如NAND型的闪速存储器可应用各种错误校正码中的任何一种来校正数据中的错误。一种这样的错误校正码是低密度奇偶校验码(LDPC),其是用于恢复数据中相对大量的错误的先进错误码。
位翻转(BF)解码器可用于解码LDPC码字。在片上系统(SoC)架构上,BF解码器提供更高的吞吐量并消耗相对低的功率。然而,BF解码器的校正能力有限,并且其性能具有错误平层。相对于BF解码器,最小和(MS)解码器具有高得多的校正能力,并且可用于BF解码器未能解码的码字。然而,在SoC上,MS解码器具有较低的吞吐量并需要更高的功率。
而且,BF解码器在NAND闪速存储器的寿命开始时是有用的,与NAND闪存的寿命的中期到末期以及寿命的末期相比,在NAND闪存的寿命开始时NAND的错误要少得多。
在这种背景下,提出了本发明的实施例。
发明内容
本发明的各方面包括存储器控制器和解码器。在一个方面,存储器控制器包括:第一解码器,被配置成当码字的不满足校验(USC)计数小于阈值时对码字执行解码;第二解码器,被配置成当码字的USC计数大于或等于阈值时对码字执行解码。控制器被配置成由第一解码器的输出生成第一信息并将该第一信息发送到第二解码器,并且被配置成由第二解码器的输出生成第二信息并将该第二信息发送到第一解码器。
在这方面,第一解码器优选地是q-位位翻转(q-BF)解码器,并且第二解码器优选地是最小和(MS)解码器。
在另一方面,存储器控制器包括解码器组件,该解码器组件包括q-位位翻转(q-BF)解码器和最小和(MS)解码器。解码器组件被配置成确定码字是否在q-BF解码器的错误校正能力内,在由q-BF解码器解码期间生成第一信息并将该第一信息发送到MS解码器,并且在由MS解码器解码期间生成第二信息并将该第二信息发送到q-BF解码器。
本发明的其它方面包括解码方法,该解码方法可由存储器控制器及其诸如多个解码器的组件来执行。在这方面,本发明的另一方面需要一种解码码字的方法,该方法包括:基于码字的特性来确定包括第一解码器和第二解码器的多个解码器中的哪一个更适于初始解码;基于确定操作的结果,使用第一解码器对码字执行一次或多次解码迭代;在使用第一解码器解码期间,确定是否满足条件;由第一解码器的输出生成信息并处理该信息以供第二解码器使用;将该信息传输到第二解码器;当确定满足条件时,将码字路由到第二解码器;并且使用第二解码器和该信息对码字执行一次或多次解码迭代。
在这方面,第一和第二解码器中的一个优选的是q-位位翻转(q-BF)解码器,而另一个是最小和(MS)解码器。
从以下描述中,本发明其它方面将变得显而易见。
附图说明
图1是示出根据本发明的实施例的存储器系统的框图。
图2是示出根据本发明的实施例的存储器系统的框图。
图3是示出根据本发明的实施例的存储器系统的存储器装置的存储块的电路图。
图4是根据本发明的实施例的存储器系统的示意图。
图5是示出根据本发明的实施例的通过在多个解码器之间交换信息而运行的混合LDPC解码的结构和流程的示意图。
图6是示出根据本发明的实施例的利用在多个解码器之间的信息交换来进行混合解码的进程中的步骤的流程图。
具体实施方式
以下参照附图更详细地描述各个实施例。然而,本发明可以不同形式实现,因此不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且完整,并且将本发明的范围充分地传达给本领域技术人员。此外,本文中对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。在整个公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。
本发明可以多种方式实施,包括作为进程;设备;系统;物质的组成;体现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如适于运行存储在联接到该处理器的存储器上的指令和/或由联接到该处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可能采取的任何其它形式可被称为技术方案。通常,所公开进程的步骤的顺序可在本发明的范围内改变。除非另有说明,否则被描述为适于执行任务的诸如处理器或者存储器的部件可被实施为暂时配置为在给定时间执行该任务的通用部件或被制造为执行该任务的特定部件。如本文所使用的,术语“处理器”等指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理内核。
下面提供了对本发明的实施例的详细描述以及示出本发明各方面的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限定。本发明涵盖权利要求范围内的许多替换方案、修改方案和等同方案。为了提供对本发明的全面理解,在下面的描述中阐述了许多具体细节。为了示例的目的提供这些细节;可在没有一些或所有这些具体细节的情况下,根据权利要求实施本发明。为了清楚起见,没有详细描述与本发明相关的技术领域中公知的技术内容,以免不必要地模糊本发明。
图1是示意性地示出根据本发明的实施例的存储器系统的框图。
参照图1,存储器系统10可包括存储器控制器100和半导体存储器装置200,该半导体存储器装置200可代表多于一个的这种装置。半导体存储器装置200可以是闪速存储器装置,特别是NAND型的闪速存储器装置。
存储器控制器100可控制半导体存储器装置200的全部操作。
半导体存储器装置200可在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可通过输入/输出(I/O)线接收命令CMD、地址ADDR和数据DATA。半导体存储器装置200可通过电源线接收电力PWR,并且通过控制线接收控制信号CTRL。控制信号CTRL可包括命令锁存使能(CLE)信号、地址锁存使能(ALE)信号、芯片使能(CE)信号、写入使能(WE)信号、读取使能(RE)信号等。
存储器控制器100和半导体存储器装置200可被集成在诸如固态驱动器(SSD)的单个半导体装置中。SSD可包括用于在其中存储数据的存储装置。当在SSD中使用半导体存储器系统10时,联接到存储器系统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)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和发送信息的装置、射频识别(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、可被实施为诸如中央处理单元(CPU)的处理器的控制部件120、错误校正码(ECC)部件130、主机接口(I/F)140和存储器接口(I/F)150。
存储装置110可用作存储器系统10和控制器100的工作存储器,并且存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储装置110可存储由控制器100和存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。
存储装置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-Chaudhri-Hocquenghem,BCH)码、turbo码、turbo乘积码(TPC)、里德-所罗门(Reed-Solomon,RS)码、卷积码、递归系统码(RSC)、网格编码调制(TCM),分组编码调制(BCM)或广义LDPC(GLDPC)码,后者与本发明特别相关。ECC部件130可包括用于根据本发明的实施例的适当的错误校正操作的任何和所有电路、系统或装置。
本发明特别适于使用位翻转(BF)解码器和最小和(MS)解码器来解码LDPC码,对于该BF解码器,针对BF解码器中的每一位存储q个位的信息,这种BF解码器称为q-BF解码器。为此,在本发明的实施例中,ECC部件130包括q-BF解码器135和MS解码器145。如下面更详细说明的,包括q-BF和MS解码器135、145的ECC部件130被配置成利用信息交换来对LDPC码运行混合解码方案。
主机接口140可通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(USB)、多媒体卡(MMC)、高速外围组件互连(PCI-E)、小型计算机系统接口(SCSI)、串列SCSI(SAS)、串行高级技术附件(SATA)、并行高级技术附件(PATA)、增强型小型磁盘接口(ESDI)以及电子集成驱动器(IDE)。
存储器接口150可提供控制器100和存储器装置200之间的接口,以允许控制器100响应于来自主机装置的请求来控制存储器装置200。存储器接口150可在控制部件或CPU120的控制下生成用于存储器装置200的控制信号并处理数据。当存储器装置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供给的操作电压传输到所选择存储块。
页面缓冲器(阵列)250可通过位线BL与存储器单元阵列210电通信(如图3所示)。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器(阵列)250可利用正电压对位线BL进行预充电,在编程操作和读取操作中向所选择存储块传输数据和从所选择存储块接收数据,或者临时存储所传输的数据。
列解码器260可向页面缓冲器(阵列)250传输数据和从页面缓冲器(阵列)250接收数据,并且还可与输入/输出电路270交换数据。
输入/输出电路270可通过输入/输出电路270向控制电路220传输从外部装置(例如,存储器控制器100)接收的命令和地址,将数据从外部装置传输到列解码器260,或将数据从列解码器260输出到外部装置。
控制电路220可响应于命令和地址来控制外围电路。
图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列210的存储块211中的任意一个。
参照图3,示例性存储块211可包括联接到行解码器240的多个字线WL0至WLn-1、漏极选择线DSL和源极选择线SSL。这些线可平行于DSL与SSL之间的多个字线来布置。
示例性存储块211可进一步包括分别联接到位线BL0至BLm-1的多个单元串221。每列的单元串可包括一个或多个漏极选择晶体管DST和一个或多个源极选择晶体管SST。在所示实施例中,每一个单元串具有一个DST和一个SST。在单元串中,多个存储器单元或存储器单元晶体管MC0至MCn-1可串联联接在选择晶体管DST和SST之间。存储器单元中的每一个可被形成为存储多位数据信息的多层单元(MLC)。
每一个单元串中的SST的源极可联接到共源线CSL,并且每一个DST的漏极可联接到对应的位线。单元串中SST的栅极可联接到SSL,并且单元串中的DST的栅极可联接到DSL。跨越单元串的存储器单元的栅极可联接到各个字线。也就是说,存储器单元MC0的栅极联接到对应的字线WL0,存储器单元MC1的栅极联接到对应的字线WL1等。联接到特定字线的存储器单元的组可被称为物理页面。因此,存储块211中物理页面的数量可对应于字线的数量。
如前所述,页面缓冲器250可以是包括联接到位线BL0至BLm-1的多个页面缓冲器251的页面缓冲器阵列的形式。页面缓冲器251可响应于页面缓冲器控制信号进行操作。例如,在读取或验证操作期间,页面缓冲器251可临时存储通过位线BL0至BLm-1接收的数据,或者感测位线的电压或电流。
在一些实施例中,存储块211可包括NAND型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可包括NOR型闪速存储器单元。存储器单元阵列210可被实施为混合闪速存储器或1-NAND闪速存储器,其中混合闪速存储器中组合了两种或更多种类型的存储器单元,1-NAND闪速存储器中控制器嵌入在存储器芯片内部。
参照图4,示意性地示出了存储器系统40的一般示例。存储器系统40可包括易失性存储器400(例如,DRAM)、非易失性存储器(NVM)402(例如,NAND)、诸如本文所述的控制部件或控制逻辑404、诸如本文所述的错误校正码(ECC)模块406以及总线408,其中存储器系统40的这些部件通过总线408通信。易失性存储器400可包括用于对位进行物理到逻辑地址映射的逻辑位地址(LBA)表410。NVM 402可包括多个存储块,以及用于主机写入的开放块430和用于垃圾收集(GC)的开放块440。出于某些功能目的,多个存储块可被分组在一起作为超级块。
ECC模块406可包括q-BF解码器406A和MS解码器406B,其可分别对应于图2中的q-BF解码器135和MS解码器145。包括q-BF解码器406A和MS解码器406B的ECC模块406可用于实施本发明的各方面。根据本公开,本领域技术人员将理解,存储器系统可利用另外的/可选的部件来实现本发明。
相对于MS解码器,BF解码器在SoC架构上提供更高的吞吐量和更低的功率,但MS解码器具有更高的错误校正能力。为了进一步提高对BF和MS解码器的使用,考虑到权衡,发明人设计了一种框架以在BF和MS解码器之间传递或交换信息。该框架通常涉及由BF解码器生成软信息并由MS软解码信息生成q位的量化信息。根据本发明的实施例,提供了一种创造性的方案以横跨BF和MS解码器或在BF和MS解码器之间传播信息。这种方案提供了可观的功率和吞吐量增益。
在本发明的实施例中,采用q-位BF解码器,例如q-位BF解码器135。这表示q-BF解码器135中存储有针对每一个位的q位的信息。优选地,q-BF解码器135在码字中的每一个位处或针对码字中的每一个位使用2位的信息。虽然可使用更多位的信息,例如更高的q值,但这种更高的值需要SoC上的更大区域和功率,这在某些较高水平时往往会违背使用BF解码器的目的。
如上所述,BF解码器校正能力远低于MS解码器的校正能力。考虑到这一点,发明人设计了一种方案,用于针对高可靠度翻转的位,将从q-位BF解码器135的输出获得的软信息传递到MS解码器,例如MS解码器145。而且,软信息可从MS解码器145传递到q-BF解码器135,但这种信息应当被量化为q位。可采用量化器来最大化从量化值到MS解码器145的输出的互信息。类似地,映射方案将从BF解码器135输出的q-位映射到MS解码器145的对数似然比(LLR)。可迭代地进行这种解码,直到数据被成功解码。
因此,在调度在特定时间应当使用哪个解码器以及交换信息方面,本发明的实施例智能地使用q-BF解码器135和MS解码器145,以进一步帮助处于接收中的解码器解码码字。这种框架和方案有利地增加了在SoC架构上实施的解码架构的吞吐量并降低了功耗。通过从MS解码器145接收信息,q-BF解码器135变得更为鲁棒(robust),因此设计框架和方案,以使对q-BF解码器135的使用最大化,特别是当q-BF解码器135利用从MS解码器145接收的信息时。
图5示出了根据本发明的实施例的通过在q-BF和MS解码器之间传递信息来对LDPC码字进行混合解码的结构和流程。解码可分别由ECC部件130或ECC模块406内的q-BF解码器135/406A和MS解码器145/406B来执行,并且可与存储器控制器100的其它部件结合进行操作。q-BF解码器135/406A和MS解码器145/406B可利用适当的硬件、软件、固件或其组合来实施。
从读取存储器装置200,例如NAND闪速存储器来获得码字。在判定框501中,计算码字的不满足校验(USC)信息,例如,计算码字的USC计数,以确定码字的初始解码是由q-BF解码器135还是由MS解码器145来执行,并且将USC计数与阈值T进行比较,这可以被启发式地优化。注意的是,q-BF解码器135和MS解码器145中的每一个具有针对位错误率(BER)的最佳设置,其提供最大校正能力。解码器135、145的设置可被离线优化,使得它们在解码时已知。因此,更一般地,框501中的判定明确了码字是否在q-BF解码器135的错误校正能力内。
如果501中的确定指示USC计数太高,即大于或等于阈值T(501中为否),则开始利用MS解码器145解码。利用MS解码器145的这种解码继续进行,直到码字中的错误数量处于q-BF解码器135的校正能力内。因此,在MS解码期间在判定框502中再次进行USC计数检查。可在MS解码的每次迭代之后或在其它适当的间隔处进行该检查。该检查可包括使用所获得的USC信息来预测BER。只要USC计数保持大于或等于阈值T(502中为否),就继续利用MS解码器145进行解码。
如在判定框502中所确定的,当USC计数变得小于阈值T时,由MS解码器145的输出生成量化软信息并将量化软信息传递到q-BF解码器135。使用例如量化器147对来自MS解码器145的输出的软信息进行量化,该量化器147可以是存储器控制器100的部件。优选地,以使MS解码器145的输出与量化器147的输出之间的互信息最大化的方式来执行量化。设计对数似然比(LLR)映射表以生成量化信息。然后,通过从量化输出中减去q-BF解码器135的外部信息来计算外部信息。
然后,将由量化器147计算的外部信息传递到q-BF解码器135,在q-BF解码器135中执行对码字的附加解码。利用q-BF解码器135继续进行解码,直到码字被成功解码或者确定这种解码没有收敛或者否则这种解码不大可能成功。在后一种情况下,将码字路由回MS解码器145以进行进一步解码。
返回到判定框501,如果这种判定指示USC计数足够小,即小于阈值T(501中为是),则开始利用q-BF解码器135解码。利用q-BF解码器135继续进行解码,直到码字被成功解码或者确定这种解码没有收敛或者否则这种解码不大可能成功。在后一种情况下,将码字路由到MS解码器145以进行进一步解码。
因此,如框503所示,无论码字是第一次被路由到MS解码器145还是在利用q-BF解码器135进行解码之后被路由回MS解码器145,都由q-BF解码器135的输出生成软信息。如此,启发式地制定了另一个映射表,例如LLR映射表,其将q-BF解码器135的q位输出映射到MS解码器145所需的位宽度信息。可使用以下方法:由从NAND闪速存储器获得的硬读取信息生成用于LDPC解码器的LLR映射表。这种方法将LLR映射到更高的精度。注意的是,在每次解码迭代时将外部信息馈入反馈。
本发明的另一个创造性的方面是,用于横跨q-BF解码器135和MS解码器145以及在q-BF解码器135和MS解码器145之间传递信息的映射表考虑了MS解码器145的校正能力远优于q-BF解码器135的事实。首先按比例缩小从q-BF解码器135传递到MS解码器145的外部信息,并且来自MS解码器145的外部信息在被传递到q-BF解码器135之前被按比例放大。基于LDPC码和解码架构正运行的BER方案而启发式地生成这些映射表。对MS解码器145的所有迭代处的USC信息的线性预测器可准确地预测BER,并且可基于该BER信息选择适当的映射。迭代地执行解码,直到数据被成功解码。
图6是描述根据本发明的实施例的利用多个解码器之间的信息交换来进行混合解码的进程中的步骤的流程图。流程图60所示的步骤是示例性的。本领域的技术人员将理解的是,可执行另外的和/或可选的步骤,或者可改变步骤的顺序,以在不脱离本文公开的发明构思的情况下实践本发明的各个方面。
从存储器装置200,例如NAND闪速存储器接收用于解码的码字以进行解码。在步骤601中,确定包括q-BF解码器135和MS解码器145的多个解码器中的哪一个更适于初始解码。在实施例中,如参照图5所说明的,计算码字的USC计数并将其与阈值T进行比较以进行该确定。接下来,在步骤602中,使用解码器对码字执行一次或多次解码迭代,该解码器可以是被确定为更合适的q-BF解码器135或MS解码器145(第一解码器)。在该解码期间,例如在每一次迭代之后,在步骤603中确定是否满足条件。在第一解码器是q-BF解码器135的情况下,该条件可以是测量解码是否收敛或相反成功的度量。在第一解码器是MS解码器145的情况下,该条件可以是测量码字中的错误是否已减少到解码处于q-BF解码器135的错误校正能力内的水平的度量。
在步骤604中,在利用第一解码器解码期间,由第一解码器的输出生成信息并进行处理以供第二解码器使用。当第一解码器是q-BF解码器135时,这种信息可以是如结合图5的框503所说明的被生成和处理的信息,而当第一解码器是MS解码器145时,这种信息可以是由量化器147生成和处理的信息。接下来,在步骤605中,将生成的信息传输或传递到另一(第二)解码器。也就是说,当第一解码器是q-BF解码器135时,将生成的信息传输到MS解码器145,而当第一解码器是MS解码器145时,将生成的信息传输到q-BF解码器135。当确定满足相对于第一解码器施加的条件时,这种信息可在码字传输之前、之后或者在码字传输的同时传输。
因此,流程包括在满足条件时将码字路由到第二解码器以继续进行解码的操作,这由步骤606表示。一旦码字被如此路由,在步骤607中,第二解码器对码字执行一次或多次解码迭代。
因此,可在q-BF解码器135和MS解码器145之间有效地路由和重新路由码字,以改进解码进程。为了进一步改进该进程,将来自一个解码器的有用信息传输到另一解码器以帮助后者解码。
因此,本发明的实施例提供了一种有效的混合解码方案,其利用交换信息的两种不同类型的解码器来运行解码以提高吞吐量并消耗更少的功率。在例如BF解码和MS解码的两种类型的解码之间切换解码,并且每一次都利用来自另一解码器的信息来改进解码并降低功耗。
虽然为了清楚和理解的目的已经相当详细地描述了前述实施例,但是本发明不限于所提供的细节。正如本领域技术人员根据前述公开内容将理解的,存在许多实施本发明的可选方式。因此,所公开的实施例是说明性的,而非限制性的。
Claims (18)
1.一种存储器控制器,包括:
第一解码器,当码字的不满足校验计数,即USC计数小于阈值时对所述码字执行解码;以及
第二解码器,当码字的USC计数大于或等于所述阈值时对所述码字执行解码,利用所述第二解码器执行的解码继续进行,直到所述码字的所述USC计数小于所述阈值,从而指示所述码字在所述第一解码器的错误校正能力内,此时利用所述第一解码器执行对所述码字的继续解码,直到所述码字被成功解码或者确定利用所述第一解码器的解码不可能成功,
其中所述存储器控制器由所述第一解码器的输出生成第一信息,并且将所述第一信息发送到所述第二解码器,并且
其中所述存储器控制器由所述第二解码器的输出生成第二信息,并且仅当确定所述码字的所述USC计数小于所述阈值时才将所述第二信息发送到所述第一解码器。
2.根据权利要求1所述的存储器控制器,其中所述第一解码器是q-位位翻转解码器,即q-BF解码器,并且所述第二解码器是最小和解码器,即MS解码器。
3.根据权利要求2所述的存储器控制器,其中所述存储器控制器通过将q-位软信息映射到所述MS解码器的位宽度来生成所述第一信息。
4.根据权利要求3所述的存储器控制器,其中所述存储器控制器生成映射表,以反映所述q-位软信息到所述MS解码器的位宽度的所述映射。
5.根据权利要求2所述的存储器控制器,进一步包括量化器,所述量化器通过将所述MS解码器输出的软信息量化至q位来生成所述第二信息。
6.根据权利要求5所述的存储器控制器,其中所述量化器执行所述量化以最大化所述MS解码器的输出和所述量化器的输出之间的互信息。
7.根据权利要求1所述的存储器控制器,其中所述码字包括低密度奇偶校验码,即LDPC码。
8.一种存储器控制器,包括:
解码器组件,包括q-位位翻转解码器,即q-BF解码器和最小和解码器,即MS解码器,所述解码器组件:
在利用所述MS解码器对码字解码期间,一次或多次确定码字是否在所述q-BF解码器的错误校正能力内,
当确定所述码字在所述q-BF解码器的错误校正能力内时,向所述q-BF解码器发送所述码字,利用所述q-BF解码器执行的解码继续进行,直到所述码字被成功解码或者确定利用所述q-BF解码器的解码不可能成功,
在由所述q-BF解码器对所述码字进行解码期间生成第一信息,并且将所述第一信息发送到所述MS解码器,并且
在由所述MS解码器对所述码字进行解码期间生成第二信息,并且仅当确定所述码字在所述q-BF解码器的错误校正能力内时才将所述第二信息发送到所述q-BF解码器。
9. 根据权利要求8所述的存储器控制器,其中:
当确定所述码字在所述q-BF解码器的所述错误校正能力内时,所述q-BF解码器对所述码字执行一次或多次解码迭代,使用所述q-BF解码器对所述码字继续进行所述一次或多次解码迭代,直到所述码字被成功解码或者确定所述码字的解码没有收敛,并且
当确定所述码字不在所述q-BF解码器的所述错误校正能力内时,所述MS解码器对所述码字执行一次或多次解码迭代,使用所述MS解码器对所述码字继续进行所述一次或多次解码迭代,直到确定所述码字在所述q-BF解码器的所述错误校正能力内。
10.根据权利要求8所述的存储器控制器,其中所述解码器组件通过将q-位软信息映射到所述MS解码器的位宽度来生成所述第一信息。
11.根据权利要求8所述的存储器控制器,其中所述解码器组件通过将所述MS解码器输出的软信息量化至q位来生成所述第二信息。
12.一种解码码字的方法,所述方法包括:
基于所述码字的特性,确定包括位翻转解码器即BF解码器和最小和解码器即MS解码器的多个解码器中的哪一个更适于初始解码;
基于确定操作的结果,使用所述BF解码器或所述MS解码器对所述码字执行一次或多次解码迭代;
当基于所述确定操作的结果选择所述MS解码器时,在使用所述MS解码器进行解码期间,确定所述码字何时在所述BF解码器的错误校正能力内,此时继续进行由所述BF解码器执行的对所述码字的解码直到所述码字被成功解码或者确定利用所述BF解码器的解码不可能成功;
在由所述MS解码器对所述码字执行至少一次解码迭代并且确定所述码字在所述BF解码器的错误校正能力内之后,生成并处理MS解码器信息以供所述BF解码器使用;
当确定所述码字在所述BF解码器的错误校正能力内时,将所述码字和所述MS解码器信息路由到所述BF解码器;并且
使用所述BF解码器和所述MS解码器信息对所述码字执行一次或多次解码迭代,并生成与由所述BF解码器进行的解码的结果有关的BF解码器信息;以及
在使用所述BF解码器的解码期间,基于使用所述BF解码器进行的解码是否收敛来确定是继续利用所述BF解码器解码还是将由所述MS解码器执行解码。
13.根据权利要求12所述的方法,其中生成所述BF解码器信息包括:
将q-位软信息映射到所述MS解码器的位宽度。
14.根据权利要求13所述的方法,其中所述映射包括生成映射表以将所述q-位软信息映射到所述MS解码器的所述位宽度。
15.根据权利要求14所述的方法,其中所述MS解码器的所述位宽度是所述MS解码器的对数似然比位宽度,即LLR位宽度。
16.根据权利要求13所述的方法,其中生成所述MS解码器信息包括:
使用量化器将软信息量化至q位。
17.根据权利要求16所述的方法,其中执行所述量化以最大化所述MS解码器的输出和所述量化器的输出之间的互信息。
18.根据权利要求12所述的方法,其中所述码字包括低密度奇偶校验码,即LDPC码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201862643989P | 2018-03-16 | 2018-03-16 | |
US62/643,989 | 2018-03-16 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110275796A CN110275796A (zh) | 2019-09-24 |
CN110275796B true CN110275796B (zh) | 2023-08-08 |
Family
ID=67904230
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910198887.2A Active CN110275796B (zh) | 2018-03-16 | 2019-03-15 | 具有混合解码方案的存储器系统及其操作方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11070234B2 (zh) |
CN (1) | CN110275796B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11528038B2 (en) | 2020-11-06 | 2022-12-13 | Western Digital Technologies, Inc. | Content aware decoding using shared data statistics |
US11456757B2 (en) | 2020-12-16 | 2022-09-27 | SK Hynix Inc. | Oscillation detection and mitigation in bit-flipping decoders |
US11556420B2 (en) * | 2021-04-06 | 2023-01-17 | Macronix International Co., Ltd. | Managing error correction coding in memory systems |
US11621727B2 (en) * | 2021-06-04 | 2023-04-04 | SK Hynix Inc. | Decoding systems and methods for local reinforcement |
US11283468B1 (en) * | 2021-06-24 | 2022-03-22 | Beijing Tenafe Electronic Technology Co., Ltd. | Log-likelihood ratio mapping tables in flash storage systems |
TWI769001B (zh) * | 2021-07-06 | 2022-06-21 | 睿寬智能科技有限公司 | 資料儲存系統選擇解碼策略之方法 |
TWI769002B (zh) * | 2021-07-06 | 2022-06-21 | 睿寬智能科技有限公司 | 資料儲存系統選擇解碼策略之裝置 |
CN113595561B (zh) * | 2021-07-14 | 2024-07-23 | 深圳宏芯宇电子股份有限公司 | 一种混合解码方法、存储装置控制器及存储系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1503503A1 (en) * | 2003-07-29 | 2005-02-02 | Broadcom Corporation | LDPC (low density parity check) coded modulation hybrid decoding |
CN102623067A (zh) * | 2011-01-28 | 2012-08-01 | 马维尔国际贸易有限公司 | 用于基于闪存的存储器系统的软解码系统和方法 |
CN103188035A (zh) * | 2011-12-30 | 2013-07-03 | 清华大学 | 迭代解映射解码方法和系统 |
CN104081358A (zh) * | 2011-11-18 | 2014-10-01 | 桑迪士克企业知识产权有限责任公司 | 用于解码具有多个奇偶校验段的码字的系统、方法和设备 |
CN104572334A (zh) * | 2013-10-14 | 2015-04-29 | 群联电子股份有限公司 | 解码方法、存储器存储装置与存储器控制电路单元 |
CN105913879A (zh) * | 2015-02-23 | 2016-08-31 | 爱思开海力士有限公司 | 控制器、半导体存储系统及其操作方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6898204B2 (en) | 2000-04-07 | 2005-05-24 | Broadcom Corporation | Method of determining a collision between a plurality of transmitting stations in a frame-based communications network |
US20040134988A1 (en) | 2003-01-09 | 2004-07-15 | Hand Held Products, Inc. | Analog-to-digital converter with automatic range and sensitivity adjustment |
US20050084032A1 (en) | 2003-08-04 | 2005-04-21 | Lowell Rosen | Wideband holographic communications apparatus and methods |
US7502982B2 (en) | 2005-05-18 | 2009-03-10 | Seagate Technology Llc | Iterative detector with ECC in channel domain |
US8069397B2 (en) | 2006-07-10 | 2011-11-29 | Broadcom Corporation | Use of ECC with iterative decoding for iterative and non-iterative decoding in a read channel for a disk drive |
KR101526317B1 (ko) * | 2008-05-09 | 2015-06-11 | 삼성전자주식회사 | 계층적 디코딩 장치 |
WO2012097046A1 (en) | 2011-01-14 | 2012-07-19 | Marvell World Trade Ltd. | Ldpc multi-decoder architectures |
US8854754B2 (en) * | 2011-08-19 | 2014-10-07 | Lsi Corporation | Systems and methods for local iteration adjustment |
US8656257B1 (en) * | 2012-01-11 | 2014-02-18 | Pmc-Sierra Us, Inc. | Nonvolatile memory controller with concatenated error correction codes |
US9092353B1 (en) * | 2013-01-29 | 2015-07-28 | Pmc-Sierra Us, Inc. | Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system |
JP5794240B2 (ja) * | 2013-02-05 | 2015-10-14 | ソニー株式会社 | 誤り検出訂正装置、誤り検出訂正方法、情報処理装置、および、プログラム |
US20140313610A1 (en) * | 2013-04-22 | 2014-10-23 | Lsi Corporation | Systems and Methods Selective Complexity Data Decoding |
US9614548B1 (en) | 2013-07-08 | 2017-04-04 | Marvell International Ltd. | Systems and methods for hybrid message passing and bit flipping decoding of LDPC codes |
US9342404B2 (en) * | 2013-12-12 | 2016-05-17 | Phison Electronics Corp. | Decoding method, memory storage device, and memory controlling circuit unit |
US10276247B2 (en) | 2013-12-20 | 2019-04-30 | Seagate Technology Llc | Read retry operations with estimation of written data based on syndrome weights |
US10089173B2 (en) | 2014-11-26 | 2018-10-02 | Qualcomm Incorporated | Error detection constants of symbol transition clocking transcoding |
US9565581B2 (en) | 2015-02-22 | 2017-02-07 | The Regents Of The University Of Michigan | Iterative detection-decoding system |
US9977713B2 (en) * | 2015-03-20 | 2018-05-22 | SK Hynix Inc. | LDPC decoder, semiconductor memory system and operating method thereof |
US9785502B2 (en) * | 2015-10-27 | 2017-10-10 | Sandisk Technologies Llc | Pipelined decoder with syndrome feedback path |
KR20170068681A (ko) * | 2015-12-09 | 2017-06-20 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US10164656B2 (en) * | 2016-03-30 | 2018-12-25 | Silicon Motion Inc. | Bit flipping algorithm for providing soft information during hard decision hard decoding |
US10291261B2 (en) | 2016-04-25 | 2019-05-14 | SK Hynix Inc. | Early selection decoding and automatic tuning |
TWI600024B (zh) * | 2016-07-05 | 2017-09-21 | 大心電子(英屬維京群島)股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
KR102559925B1 (ko) * | 2016-07-21 | 2023-07-26 | 에스케이하이닉스 주식회사 | Ldpc 디코더, 반도체 메모리 시스템 및 그것의 동작 방법 |
TWI670715B (zh) * | 2017-04-06 | 2019-09-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置及記憶體控制電路單元 |
US10511326B2 (en) * | 2017-11-14 | 2019-12-17 | Nyquist Semiconductor Limited | Systems and methods for decoding error correcting codes |
-
2019
- 2019-03-15 CN CN201910198887.2A patent/CN110275796B/zh active Active
- 2019-03-15 US US16/355,325 patent/US11070234B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1503503A1 (en) * | 2003-07-29 | 2005-02-02 | Broadcom Corporation | LDPC (low density parity check) coded modulation hybrid decoding |
CN102623067A (zh) * | 2011-01-28 | 2012-08-01 | 马维尔国际贸易有限公司 | 用于基于闪存的存储器系统的软解码系统和方法 |
CN104081358A (zh) * | 2011-11-18 | 2014-10-01 | 桑迪士克企业知识产权有限责任公司 | 用于解码具有多个奇偶校验段的码字的系统、方法和设备 |
CN103188035A (zh) * | 2011-12-30 | 2013-07-03 | 清华大学 | 迭代解映射解码方法和系统 |
CN104572334A (zh) * | 2013-10-14 | 2015-04-29 | 群联电子股份有限公司 | 解码方法、存储器存储装置与存储器控制电路单元 |
CN105913879A (zh) * | 2015-02-23 | 2016-08-31 | 爱思开海力士有限公司 | 控制器、半导体存储系统及其操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110275796A (zh) | 2019-09-24 |
US20190288707A1 (en) | 2019-09-19 |
US11070234B2 (en) | 2021-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110275796B (zh) | 具有混合解码方案的存储器系统及其操作方法 | |
CN109616148B (zh) | 具有解码器的存储器系统、其操作方法和解码器 | |
CN109801669B (zh) | 具有软读取挂起方案的存储器系统及其操作方法 | |
CN109671465B (zh) | 具有自适应读取阈值方案的存储器系统及其操作方法 | |
US10997017B2 (en) | Neighbor assisted correction error recovery for memory system and method thereof | |
US10693496B2 (en) | Memory system with LDPC decoder and method of operating such memory system and LDPC decoder | |
US10956263B2 (en) | Memory system with deep learning based interference correction capability and method of operating such memory system | |
CN107977283B (zh) | 具有ldpc解码器的存储器系统及其操作方法 | |
US11182243B2 (en) | Memory system with adaptive information propagation and method of operating such memory | |
US11036579B2 (en) | Decoder for memory system and method thereof | |
CN110277124B (zh) | 具有混合解码方案的存储器系统及其操作方法 | |
US20160283397A1 (en) | Memory system and operating method thereof | |
US10938419B2 (en) | Encoding method and system for memory device including QLC cells | |
CN112687323B (zh) | 具有用于解码的错误减少方案的存储器系统及其操作方法 | |
US20220011969A1 (en) | Read threshold optimization systems and methods using domain transformation | |
CN110444245B (zh) | 具有混合迭代解码能力的存储器系统及其操作方法 | |
US10671323B2 (en) | Memory system with shared buffer architecture for multiple decoders and method of operating such memory system | |
CN112216328B (zh) | 具有低复杂度解码的存储器系统及其操作方法 | |
US11204839B2 (en) | Memory system with low-latency read recovery and method of operating the memory system | |
US11062758B2 (en) | Memory system to process multiple word line failures with limited storage and method of operating such memory system | |
CN110275844B (zh) | 利用自适应阈值解码的存储器系统及其操作方法 | |
CN110047554B (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 |