CN102543149B - 使用混合解码器执行有效解码的系统和方法 - Google Patents

使用混合解码器执行有效解码的系统和方法 Download PDF

Info

Publication number
CN102543149B
CN102543149B CN201110368928.1A CN201110368928A CN102543149B CN 102543149 B CN102543149 B CN 102543149B CN 201110368928 A CN201110368928 A CN 201110368928A CN 102543149 B CN102543149 B CN 102543149B
Authority
CN
China
Prior art keywords
demoder
signal
code word
data
circuit
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
Application number
CN201110368928.1A
Other languages
English (en)
Other versions
CN102543149A (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.)
Kaiwei International Co
Marvell International Ltd
Marvell Asia Pte Ltd
Original Assignee
Mawier International Trade Co Ltd
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 Mawier International Trade Co Ltd filed Critical Mawier International Trade Co Ltd
Publication of CN102543149A publication Critical patent/CN102543149A/zh
Application granted granted Critical
Publication of CN102543149B publication Critical patent/CN102543149B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • 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/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding

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

提供了使用混合解码器来解码数据的系统和方法。接收包括码字的数据信号。计算该数据信号的信号质量指示。基于所计算的信号质量指示,选择多个解码器中的一个解码器。该多个解码器中的每一个被配置为基于不同的解码技术来解码信息。使用该多个解码器中的所选择的一个解码器来解码该数据信号中所包括的码字。

Description

使用混合解码器执行有效解码的系统和方法
相关申请的交叉引用
本公开要求2010年11月12日递交的美国临时专利申请No.61/413,246的权益,通过参考的方式将该申请整体并入本文。
背景技术
此处所提供的背景技术说明是为了对本公开的背景进行一般性说明。发明人的某些工作(在此背景技术部分中作出描述的工作)以及说明书中未以其他方式描述为申请时的现有技术的内容,无论是以明确还是隐含的方式均不被视为相对于本公开的现有技术。
传统的闪存设备中的数据差错率取决于数据在该存储器中所保留的持续时间和该数据所位于的页的编程/擦写(PE)循环的数量以及许多其他因素。传统的系统使用纠错码电路(ECC)和解码引擎来检测/纠正在从闪存设备读取数据时所遇到的数据差错。另外,因为在从存储器读取的不同的数据集合之间数据差错的量(即误比特率或信噪比)可能变化很大,所以当读取给定的数据集合时,解码该数据所需要的解码引擎的类型是未知的。
为了解决这些不确定性,传统系统首先尝试用最不复杂解码技术(即基于硬判决的技术)来对数据进行解码。如果该最不复杂解码技术无法成功解码该数据,那么这些系统然后尝试用更复杂的解码技术(即,使用比最不复杂解码技术更多的迭代)来解码同一数据。虽然在这些系统中数据最终被成功解码,但是该解码过程通常需要多次解码尝试来解码一个数据集合并且因此缺乏效率(即由于花费更多时间进行解码而浪费资源、消耗大量功率并且增加解码延时)。
发明内容
提供了一种使用混合解码器来执行有效解码的系统和方法。具体而言,在尝试对接收的码字进行解码之前分析该码字,并且基于该码字分析选择最佳解码器。
在一些实施方式中,接收包括码字的数据信号。计算该数据信号的特征群。基于所计算的特征群,选择多个解码器中的一个解码器。该多个解码器中的每一个被配置为基于不同的解码技术来解码信息。使用该多个解码器中的所选择的一个解码器来解码该数据信号中所包括的码字。在一些实现中,从电子存储设备取回该数据信号。在一些实现中,该多个解码器中的第一解码器被配置为使用比该多个解码器中的第二解码器更多数量的迭代来解码信息。在一些实现中,该多个解码器中的第一解码器与该多个解码器中的第二解码器共享解码电路。
在一些实施方式中,该计算的特征群以该数据信号的信噪比(SNR)或误比特率的形式来表示该数据信号的信号质量。在一些实现中,基于与该码字相对应的导频信号中的差错的数量来测量该信号质量。在一些实现中,基于在用于存储该码字的电子存储设备中所执行的擦写的次数或者基于从编写该数据开始所经过的时间来测量该信号质量。
在一些实现中,确定该特征群的值是否超过预定阈值。当确定该值超过该预定阈值时,该多个解码器中的所选择的一个解码器是该多个解码器中的第一解码器。当确定该值等于或小于该预定阈值时,该多个解码器中的所选择的一个解码器是该多个解码器中的第二解码器。
在一些实施方式中,确定用该多个解码器中的所选择的一个解码器是否成功解码了该码字。当确定用该多个解码器中的所选择的一个解码器没有成功解码该码字时,选择该多个解码器中的、与该多个解码器中的所选择的一个解码器不同的第二解码器。用该多个解码器中的所选择的第二解码器来解码该数据信号中所包括的该码字。
在一些实施方式中,用复用器接收包括该码字的该数据信号以及控制信号。该复用器包括多个输出,每个输出耦合到该多个解码器中的各自的一个解码器。基于该控制信号将该数据信号耦合到该复用器的多个输出中的、被耦合到该多个解码器中的所选择的一个解码器的一个输出。
附图说明
在结合附图来考虑下文的详细描述之后,本公开的以上以及其他目标和优点将变得显而易见,其中在附图中,类似的附图标记始终指代类似的部件,其中:
图1显示了根据本公开的一些实施方式的示例性的混合解码器系统;
图2显示了根据本公开的一些实施方式的示例性的选择性解码器电路;
图3显示了用根据本公开的一些实施方式的示例性的混合解码器来对数据进行解码的过程的示例性流程图。
具体实施方式
本公开一般而言涉及使用混合解码器来执行有效解码。为了说明的目的,在所使用的存储装置是闪存设备的电子存储系统的环境中描述本公开。但是应该理解,本公开的教导可以等效地应用于其中写入到该存储系统的数据易于出现读取差错的任意其他电子存储系统(例如,随机访问存储器设备、可编程逻辑器件、非易失性存储器、易失性存储器、FeRAM、CBRAM、PRAM、SONOS、RRAM、Racetrack存储器、NRAM以及Millipede存储设备)。
图1显示了根据本公开的一些实施方式的示例性的混合解码器系统100。混合解码器系统100包括存储设备110、输入缓冲器120、信号质量计算电路130、选择性解码电路140以及输出缓冲器150。存储设备110可以包括电子存储设备(例如闪存设备、随机访问存储器设备、可编程逻辑器件、非易失性存储器、易失性存储器、FeRAM、CBRAM、PRAM、SONOS、RRAM、Racetrack存储器和/或NRAM以及Millipede存储设备)。
在存储设备110中存储的数据可以被编码并且因此可能包括码字。可以将编码的信息组成被称为“码字”的单元。码字可以包括“符号”,符号是一个或多个比特的归组。用编码形式来存储数据提高了存储在电子存储器中的数据的可靠性。在从该存储器取回码字之后,需要解码该码字以输出该码字所代表的信息集合。
在一些实施方式中,控制电路(未显示)可以指示存储设备110输出存储在给定地址位置处的数据。例如,控制电路可以指示存储设备110取回一页数据。在该给定地址(或多个地址)处所存储的码字(例如该页编码数据)被存储设备110输出并且存储在输入缓冲器120中。输入缓冲器120可以是从存储器取回的给定编码信息(例如码字)集合在被解码之前被存储于的临时存储位置。
信号质量计算电路130可以读取输入缓冲器120中所存储的码字。信号质量计算电路130可以处理该码字,以确定从存储设备110读取的数据的信号质量水平。例如,信号质量计算电路130可以计算输入缓冲器120中所存储的码字的信噪比(SNR)以作为信号质量水平。在一些实现中,信号质量计算电路130可以计算输入缓冲器120中所存储的码字的原始(raw)误比特率(BER)以作为信号质量水平。在一些实现中,信号质量计算电路130可以计算在输入缓冲器120中所存储的码字的导频数据中存在多少个差错以作为信号质量水平。在2008年3月20日递交的共同拥有的美国专利申请No.12/052,350(如今的美国专利No.7,827,450)中更详细地描述了用于计算导频数据中存在的差错的数量的系统和方法,因此通过参考的方式将该申请整体并入本文。信号质量计算电路130可以执行这些技术中的任意一种或者可以对这些技术进行组合以确定输入缓冲器120中所存储的码字的信号质量水平。
在一些实现中,信号质量计算电路130可以计算在存储设备110的、用来读取输入缓冲器120中所存储的码字的存储位置中已经执行了多少次擦写(或PE循环)以作为信号质量水平。例如,输入缓冲器120可以包括用于存储与读取的数据相关联的附加信息的独立字段。该附加信息可以包括该码字的页或存储位置被擦写的次数或者用于指示或者可用于确定信号质量水平的任意其他信息,如上文所讨论的。在一些实现中,基于包含在输入缓冲器120的该字段中的数据,信号质量计算电路130可以确定存储该码字的存储位置或页被擦写了多少次,并且使用该信息作为输入缓冲器120中的码字的信号质量水平。信号质量计算电路130可以向选择性解码电路140输出用于表示所计算的信号质量水平的信号132。
选择性解码电路140可以接收输入缓冲器120中所存储的码字122和信号132中的所计算的信号质量水平。选择性解码电路140基于所计算的该码字的信号质量水平,选择多个解码器中的一个解码器。具体而言,选择性解码电路140可以包括多个解码器,每个解码器被配置为使用不同的解码技术来解码数据。选择性解码电路140确定哪个解码器最适合于以最有效的方式(例如用最少的迭代次数、使用最少量的功率,等等)成功解码该码字。例如,所计算的信号质量水平比第二码字差的第一码字可能需要比解码第二码字所需的解码器(例如基于硬输入进行解码的解码器)更强的、更复杂的、更费时的并且功耗更高的解码器(例如基于软输入来进行解码并且使用多次迭代的解码器)来成功解码。在一些实现中,选择性解码电路140可以耦合到存储设备110并且可以被配置为当选择特定解码器(例如使用软输入而非硬输入来进行操作的解码器)来解码输入缓冲器120中所存储的码字时取回与该码字相关联的附加软输入。
选择性解码电路140可以确定输入缓冲器120中所存储的码字是否被所选择的解码器成功解码。当选择性解码电路140使用所选择的解码器成功解码该码字时,选择性解码电路140可以向输出缓冲器150输出已解码数据142。输出缓冲器150可以是这样一种临时存储位置,在该临时存储位置中存储已解码数据集合以供利用电路(例如处理器或控制电路)使用。在一些实现中,当选择性解码电路140使用所选择的解码器未成功解码该码字时,选择性解码电路140可以选择更强大和/或更复杂的解码器来解码同一码字。当新选择的解码器成功解码该码字时,可以输出已解码数据142并且将其存储在输出缓冲器150中。
图2显示了根据本公开的一些实施方式的示例性的选择性解码器电路140。选择性解码器电路140可以包括第一选择电路210、第二选择电路240、解码器电路230、232和234以及解码器选择电路220。虽然结合图2只显示并且描述了3个解码器电路230、232和234,但是选择性解码器电路140可以包括任意个附加解码器电路或更少个解码器电路。
解码器电路230、232和234中的每一个可以被配置为使用不同的解码技术来解码数据。在一些实现中,解码器电路230被配置为使用不如其他解码器电路232和234那么强大的解码技术来解码数据。具体而言,解码器电路230可以是基于硬输入来解码数据的解码器。解码器电路232可以比解码器电路230更复杂但是不如解码器电路234那么复杂。解码器电路232和234中的每一个可以基于软输入来解码数据。更具体而言,解码器电路230可以包括硬检测器,而解码器电路232和234可以包括软检测器。硬检测器可以从输入缓冲器120接收比特序列并且输出硬判决数据。这些硬判决由与存储设备110中所存储的原始编码数据符号相对应的数据组成。解码器电路230的硬判决解码器电路然后可以接收该硬判决数据作为输入,并且输出已解码的数据符号。另一方面,软检测器可以从输入缓冲器120接收比特序列并且输出软数据。这些软数据由用于指示接收的编码数据是特定的数据符号(例如二进制系统中的“0”或“1”)的概率的数据组成。解码器电路232和234的软判决解码器然后可以接收该软数据作为输入,并且输出已解码的数据符号。解码器电路232和234之间的差可以是为解码该数据所执行的迭代的次数。可以认为用更多次的迭代来解码码字的解码器电路比其他解码器电路更复杂更强大。
在一些实施方式中,解码器电路230可以实现线性解码过程以解码码字,解码器电路232可以实现迭代解码过程以解码码字并且解码器电路234可以实现turbo解码过程以解码码字。应该理解,选择性解码器电路140的解码器230、232和234可以实现互不相同的任意合适的解码过程或技术。例如当使用低密度奇偶校验(LDPC)码时,解码器230可以是硬判决解码器(例如Gallager解码器),解码器231可以是具有两次迭代的最小和解码器,解码器234可以是具有20次迭代的和积解码器。
在一些实施方式中,解码器电路230、232和234中的每一个可以包括或者被耦合到对应的纠错电路,该纠错电路向对应的解码器输出纠错数据。
在一些实施方式中,解码器选择电路220可以基于从信号132接收的、针对输入缓冲器120中所存储的码字计算或确定的信号质量水平(例如PE循环的数量、BER、SNR等等),计算特征群或特征群权重。特征群或特征群权重可以是用于选择解码输入缓冲器120中所存储的码字的解码器类型的值、符号或数量。在一些实现中,特征群可以是与码字长度和/或误比特率成正比(或反比)的整数。可以按照类型来指定特征群范围(例如类型A表示0和100之间的特征群权重、类型B表示100和400之间的特征群权重、类型C表示400及以上的特征群权重)。因此,特征群的类型(或大小)可以对应于混合解码系统100中可用于解码输入缓冲器120中所存储的码字的解码器的数量。例如,当混合解码系统100包括三个解码器电路230、232和234时,由解码器选择电路220所产生的特征群的类型(或大小)可以是3(例如该特征群的类型可以是2比特宽)在一些实现中,可以根据向上取整(log2N)来确定特征群的类型(或大小),其中N是混合解码系统100中可用的解码器电路230、232和234的数量。
在一些实施方式中,由特征群所表示的更高的值或数量可以使得使用更强的或更复杂的解码器电路来解码接收的码字122。在一些实施方式中,由特征群所表示的更小的值或数量可以使得使用更弱的或较不复杂的解码器电路来解码接收的码字122。在一些实现中,解码器选择电路220可以向第一选择电路210和第二选择电路240输出用于表示特征群的值以作为控制信号222。
在一些实施方式中,解码器选择电路220可以通过将计算的信号质量水平与预定阈值进行比较,来向所计算的信号质量水平指定特征群值、符号或数量。阈值的数量可以对应于选择性解码电路140中可用于解码码字122的解码器的数量。例如,当选择性解码电路140包括3个解码器电路230、232和234时,预定阈值的数量可以是2个。具体而言,阈值的数量可以等于N-1,其中N是选择性解码电路140中可用的解码器电路的数量。
在一些实施方式中,当使用两个预定阈值时并且当选择性解码电路140包括三个解码器230、232和234时,解码器选择电路220可以将接收的信号质量水平132与该两个预定阈值中对应于较低预定阈值的第一预定阈值进行比较。当信号质量水平132低于第一预定阈值时,解码器选择电路220可以指定与较不复杂解码器电路(例如解码器电路230)相对应的特征群类型值。更具体而言,解码器选择电路220可以生成使得选择解码器230来解码码字122的特征群类型值。当信号质量水平132高于第一预定阈值时,解码器选择电路220可以将信号质量水平132与第二预定阈值进行比较。当信号质量水平132高于第一预定阈值但低于第二预定阈值时,解码器选择电路220可以指定与解码器电路232相对应的特征群类型值。更具体而言,解码器选择电路220可以生成使得选择解码器232来解码码字122的特征群类型值。当信号质量水平132高于第一预定阈值并且高于第二预定阈值时,解码器选择电路220可以指定与解码器电路234(例如最复杂解码器电路)相对应的特征群类型值。更具体而言,解码器选择电路220可以生成使得选择解码器234来解码码字122的特征群类型值。
在一些实现中,当解码器选择电路220生成使得选择需要软输入信息的解码器的特征群时,解码器选择电路220可以从存储设备110取回与码字122相关联的必要的软输入信息。更具体而言,更复杂的解码器电路232和234可能需要从存储设备110取回附加数据,以成功解码码字122。
在一些实施方式中,可以基于给定应用的希望的功耗和延时来设置预定阈值。例如,在具有两个预定阈值的系统中,将较低的第一阈值设置为较低的值并且将较高的第二阈值设置为较高的值可以使得更多地使用较复杂的解码器电路232和234并且不成功的解码操作更少。具体而言,为较低的第一阈值设置的值越低则由解码器选择电路220生成的特征群将越有可能对应于第二或第三解码器电路232和234。另外,为较高的第二阈值设置的值越低则由解码器选择电路220生成的特征群将越有可能对应于第三解码器电路234而不是第二解码器电路232。为阈值设置恰当的值可能需要在对较复杂的解码器电路232和234的更频繁的使用需求与解码过程中引起的更大延时和更大的功耗带来的成本之间进行平衡。
解码器选择电路220可以被配置为基于以前对于一个码字集合的成功或不成功解码尝试的次数或任意其他合适的标准来自动调整(动态调整)阈值的值(例如增加或减少一个或两个阈值的值)。例如,解码器选择电路220可以存储用于表示在预定时段期间利用第一解码器电路230有多少次没有成功解码码字(例如针对接收到的前100个码字122)的计数。当用第一解码器电路230没有成功解码码字的次数超过预定值(例如20)时,解码器选择电路220可以减小较低的第一阈值的值,以使得更频繁地选择第二解码器232来解码接收码字122。类似地,解码器选择电路220可以存储用于表示在预定时段期间利用第二解码器电路232有多少次没有成功解码码字(例如针对接收到的前100个码字122)的计数。当用第二解码器电路232没有成功解码码字的次数超过预定值(例如10)时,解码器选择电路220可以减小较高的第二阈值的值,以使得与第一解码器电路230和第二解码器电路232相比更频繁地选择第三解码器234来解码接收码字122。
在一些实现中,解码器选择电路220可以存储用于表示在预定时段期间使用第一解码器电路230有多少次成功解码码字(例如针对接收到的前100个码字122)的计数。当用第一解码器电路230成功解码码字的次数超过预定值(例如50)时,解码器选择电路220可以增加较低的第一阈值的值,以使得与第二解码器电路232和第三解码器电路234相比更频繁地选择第一解码器230来解码接收码字122。类似地,解码器选择电路220可以存储用于表示在预定时段期间利用第二解码器电路232有多少次成功解码码字(例如针对接收到的前100个码字122)的计数。当用第二解码器电路232成功解码码字的次数超过预定值(例如10)时,解码器选择电路220可以增加较高的第二阈值的值,以使得与第三解码器电路234相比更频繁地选择第二解码器232来解码接收码字122。
在一些实施方式中,第一选择电路210可以是解复用器并且第二选择电路240可以是复用器。第一选择电路210可以接收数据输入码字122并且接收由解码器选择电路220输出的控制信号222作为控制输入。码字122可以包括来自存储设备110的原始读取编码数据和/或在该原始读取编码数据之后或同时的、与从存储设备110读取的原始读取编码数据相关联的任意附加信息(例如软输入信息)。例如,当生成与用软输入来进行操作的解码器电路相对应的特征群时,解码器选择电路220可以确定需要取回附加解码数据。作为响应,解码器选择电路220可以取回与输入缓冲器120中所存储的码字相关联的附加信息,并且使得输入缓冲器120与该码字一起提供该附加信息,作为信号122。
第一选择电路210可以包括与选择性解码电路140中可用的解码器电路的数量(例如三个解码器电路230、232和234)相对应或相等的输出数量。第一选择电路210的每个输出可以耦合到各自的一个可用解码器电路。例如,第一选择电路210可以包括分别耦合到解码器电路230、232和234的三个输出。
第一选择电路210可以基于从控制信号222接收到的值,将数据输入(例如码字122)耦合到解码器电路230、232和234中的一个解码器电路,独立于其他解码器电路230、232和234。例如,第一选择电路210可以接收与解码器电路232相对应的特征群值作为控制信号222。响应于接收到该控制信号222,第一选择电路210可以向解码器电路232耦合或发送数据输入码字122。可以将第一选择电路210的其余输出(例如第一选择电路210的、耦合到解码器电路230和234的输出)置于三态模式中。在一些实施方式中,第一选择电路210可以接下来接收与解码器电路234相对应的特征群值作为控制信号222(例如当解码器选择电路220确定解码器电路232无法成功解码码字122时)。响应于接收到该控制信号222,第一选择电路210可以向解码器电路234耦合或发送数据输入码字122。可以将第一选择电路210的其余输出(例如第一选择电路210的、耦合到解码器电路230和232的输出)置于三态模式中。可选择地或另外,解码器电路230、232和234中未被控制信号222选择来解码码字122的任意一个解码器电路可以被处理器或其他电路用于解码其他数据。
在一些实施方式中,第二选择电路240可以从选择性解码电路140的各个可用解码器电路接收输出作为数据输入,并且接收由解码器选择电路220输出的控制信号222作为控制输入。具体而言,第二选择电路240可以包括与可用解码器电路的数量相对应或相等的数据输入数量。第二选择电路240中所包括的数据输入的数量可以与第一选择电路210中所包括的输出的数量相同。例如,第二选择电路240可以被耦合为分别从解码器电路230、232和234接收输出。
可以由控制信号222控制第二选择电路240,以将来自解码器选择电路220所选择的其中一个解码器电路的输出耦合到输出142。例如,解码器选择电路132可以提供使得第一选择电路210向解码器电路232输出码字122的值来作为控制信号222。可以向第二选择电路240提供相同的或不同的控制信号222,其使得第二选择电路240将解码器电路232的、被作为到选择电路240的其中一个输入来接收的输出耦合到输出142。更具体而言,第二选择电路240可以将第二选择电路240的输入中与所选择的其中一个解码器电路相对应的一个输入耦合到输出142。
在一些实施方式中,输出142可以包括由所选择的解码器电路提供的已解码信息。输出142可以包括用于指示码字122是否被成功解码或者所选择的解码器电路是否无法解码码字122的控制信号。可以将输出142耦合到解码器选择电路220。解码器选择电路220可以处理输出142,以确定所选择的解码器是否成功解码码字122。
响应于确定所选择的解码器成功解码码字122,解码器选择电路220可以将输出142存储到输出缓冲器150并且/或者可以存储解码操作成功的指示。在一些实现中,解码器选择电路220可以增加与所选择的解码器电路(例如解码器电路232)相对应的、用于指示所选择的解码器成功解码码字122的次数的计数器。
响应于确定所选择的解码器无法成功解码码字122,解码器选择电路220可以清除输出142并且/或者可以存储解码操作失败的指示。在一些实现中,解码器选择电路220可以增加与所选择的解码器电路(例如解码器电路232)相对应的、用于指示所选择的解码器没有成功解码码字122的次数的计数器。解码器选择电路220可以生成与比以前选择的解码器电路更复杂的解码电路相对应的新特征群。例如,以前生成的特征群可能对应于解码器电路232。响应于确定解码器电路232无法成功解码码字122,解码器选择电路220可以生成与解码器电路234相对应的解码器选择信号,解码器电路234可能比解码器电路232更复杂并且/或者更强大。解码器选择电路220可以向第一选择电路210和第二选择电路240输出新控制信号222,以使新选择的解码器电路(例如解码器电路234)解码码字122。
在一些实施方式中,当给定解码器电路无法解码码字122时,不是生成与解码器电路序列中就复杂度而言的下一个解码器电路相对应的新选择,而是解码器选择电路220可以响应于确定所选择的解码器电路无法成功解码码字122,总是生成与选择性解码电路140中可用的最复杂的解码器电路相对应的选择信号。例如,最初,解码器选择电路220可以生成使得第一选择电路210选择解码器电路230来解码码字122的特征群。解码器选择电路220可以确定所选择的解码器电路230无法成功解码码字122。作为响应,解码器选择电路220可以生成使得第一选择电路210选择解码器电路234(例如基于比其他可用的解码器电路230和232更复杂的解码技术来解码码字的解码器电路)来解码码字122的新选择信号。在确定新选择的解码器电路234成功解码码字122之后,解码器选择电路220可以将已解码信息存储在输出缓冲器150中。
图3显示了用根据本公开的一些实施方式的混合解码器来解码数据的过程的示例性流程图300。在310,接收包括码字的数据信号。例如,可以从存储设备110中的存储位置取回码字并且将其存储在输入缓冲器120中。
在320,计算数据信号的特征群。例如,信号质量计算电路130可以分析输入缓冲器120中所存储的码字的信号质量,并且向解码器选择电路220提供表示该信号质量的信号。解码器选择电路220可以通过例如将该码字的信号质量与一个或多个预定阈值进行比较来生成特征群。
在330,基于计算的特征群选择多个解码器中的一个解码器。该多个解码器中的每个解码器被配置为基于不同的解码技术来解码信息。例如,解码器选择电路220可以输出控制信号222,控制信号222表示所计算的使得第一选择电路210向解码器电路230、232和234中由控制信号222识别的一个解码器电路输出码字122的特征群。
在340,使用多个解码器中所选择的一个解码器来解码数据信号中所包括的码字。
前文描述了用混合解码器来解码数据的系统和方法。本领域的熟练技术人员将明白可以通过与所述的实施方式不同的其他实施方式来实施本公开所述的实施方式,其中所述的实施方式是为了举例说明而不是为了限制的目的而给出的。
此外,本公开不限于具体的实现。例如,上述方法的一个或多个步骤可以按照不同的次序(或同时地)执行并且仍然实现希望的结果。另外,可以用硬件来实现本公开,例如在专用集成电路(ASIC)上或者在现场可编程逻辑阵列(FPGA)上,ASIC和FPGA两者可以包括附加的通信电路(例如射频电路)。可选择地,可以用运行在任意合适的硬件处理器上的软件来实现本公开。因此,在不脱离如所附权利要求中所述的本公开的范围的前提下,本领域的熟练技术人员可以在任何恰当的地方应用等效方式以及进行替换。

Claims (18)

1.一种用于解码信息的方法,所述方法包括:
接收包括码字的数据信号;
计算所述数据信号的特征群,其中所述特征群与所述数据信号的误比特率成正比;
基于所计算的特征群,选择多个解码器中的一个解码器,其中所述多个解码器中的每个解码器被配置为基于不同的解码技术来解码信息;并且
使用所述多个解码器中所选择的一个解码器来解码包括在所述数据信号中的所述码字。
2.根据权利要求1所述的方法,其中所计算的特征群以所述数据信号的信噪比(SNR)或原始误比特率的形式来表示信号质量。
3.根据权利要求1所述的方法,还包括:
确定所述特征群的值是否超过预定阈值;其中:
当确定所述值超过所述预定阈值时,所述多个解码器中所选择的一个解码器是所述多个解码器中的第一解码器;并且
当确定所述值等于或小于所述预定阈值时,所述多个解码器中所选择的一个解码器是所述多个解码器中的第二解码器。
4.根据权利要求1所述的方法,还包括:
确定用所述多个解码器中所选择的一个解码器是否成功解码所述码字;
当确定用所述多个解码器中所选择的一个解码器没有解码所述码字时,选择所述多个解码器中的、与所述多个解码器中的所选择的一个解码器不同的第二解码器;并且
使用所述多个解码器中所选择的第二解码器来解码所述数据信号中所包括的所述码字。
5.根据权利要求1所述的方法,其中所述多个解码器中的第一解码器被配置为使用比所述多个解码器中的第二解码器更少数量的迭代来解码信息。
6.根据权利要求2所述的方法,其中基于与所述码字相对应的导频信号中的差错的数量来测量所述信号质量。
7.根据权利要求2所述的方法,其中基于在存储所述码字的电子存储设备中执行的编程擦写循环的数量或者基于从所述数据信号被编写到所述电子存储设备中开始所经过的时间来测量所述信号质量。
8.根据权利要求1所述的方法,其中所述选择包括:
用解复用器接收包括所述码字的所述数据信号以及控制信号,其中所述解复用器包括多个输出,每个输出耦合到所述多个解码器中的各自的一个解码器;并且
基于所述控制信号,将所述数据信号耦合到所述复用器的所述多个输出中的、被耦合到所述多个解码器中所选择的一个解码器的一个输出。
9.根据权利要求1所述的方法,其中所述多个解码器中的第一解码器与所述多个解码器中的第二解码器共享解码电路。
10.一种用于解码信息的系统,所述系统包括:
多个解码器,其中所述多个解码器中的每个解码器被配置为基于不同的解码技术来解码信息;以及
控制电路,所述控制电路被配置为:
接收包括码字的数据信号;
计算所述数据信号的特征群,其中所述特征群与所述数据信号的误比特率成正比;
基于所计算的特征群,选择所述多个解码器中的一个解码器,并且
使用所述多个解码器中所选择的一个解码器来解码包括在所述数据信号中的所述码字。
11.根据权利要求10所述的系统,其中所计算的特征群以所述数据信号的信噪比(SNR)或原始误比特率的形式来表示信号质量。
12.根据权利要求10所述的系统,其中所述控制电路还被配置为:
确定所述特征群的值是否超过预定阈值;其中:
当确定所述值超过所述预定阈值时,所述多个解码器中所选择的一个解码器是所述多个解码器中的第一解码器;并且
当确定所述值等于或小于所述预定阈值时,所述多个解码器中所选择的一个解码器是所述多个解码器中的第二解码器。
13.根据权利要求10所述的系统,其中所述控制电路还被配置为:
确定用所述多个解码器中所选择的一个解码器是否成功解码所述码字;
当确定用所述多个解码器中所选择的一个解码器没有成功解码所述码字时,选择所述多个解码器中的、与所述多个解码器中的所选择的一个解码器不同的第二解码器;并且
使用所述多个解码器中所选择的第二解码器来解码所述数据信号中所包括的所述码字。
14.根据权利要求10所述的系统,其中所述多个解码器中的第一解码器被配置为使用比所述多个解码器中的第二解码器更少数量的迭代来解码信息。
15.根据权利要求11所述的系统,其中基于与所述码字相对应的导频信号中的差错的数量来测量所述信号质量。
16.根据权利要求11所述的系统,其中基于在存储所述码字的电子存储设备中执行的编程擦写循环的数量或者基于从所述数据信号被编写到所述电子存储设备中开始所经过的时间来测量所述信号质量。
17.根据权利要求10所述的系统,还包括:
包括多个输出的解复用器,每个输出耦合到所述多个解码器中的各自的一个解码器,其中所述解复用器被配置为接收包括所述码字的所述数据信号以及控制信号;并且
基于所述控制信号,将所述数据信号耦合到所述复用器的所述多个输出中的、被耦合到所述多个解码器中所选择的一个解码器的一个输出。
18.根据权利要求10所述的系统,其中所述多个解码器中的第一解码器与所述多个解码器中的第二解码器共享解码电路。
CN201110368928.1A 2010-11-12 2011-11-14 使用混合解码器执行有效解码的系统和方法 Active CN102543149B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US41324610P 2010-11-12 2010-11-12
US61/413,246 2010-11-12

Publications (2)

Publication Number Publication Date
CN102543149A CN102543149A (zh) 2012-07-04
CN102543149B true CN102543149B (zh) 2015-04-01

Family

ID=46047270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110368928.1A Active CN102543149B (zh) 2010-11-12 2011-11-14 使用混合解码器执行有效解码的系统和方法

Country Status (2)

Country Link
US (1) US8497787B2 (zh)
CN (1) CN102543149B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899377A (zh) * 2015-12-17 2017-06-27 联芯科技有限公司 一种信道译码方法及装置

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102480337B (zh) * 2010-11-30 2016-04-13 国际商业机器公司 无线电软件系统以及用于其的解码装置和方法
US8812939B2 (en) 2011-01-28 2014-08-19 Marvell World Trade Ltd. Soft decoding systems and methods for flash based memory systems
US8595603B2 (en) * 2011-03-29 2013-11-26 Intel Corporation Apparatus and methods for selective block decoding
US8804851B2 (en) * 2011-10-04 2014-08-12 Himax Media Solutions, Inc. Iterative detection and decoding device for selecting soft information according to at least one predetermined constraint rule, and related iterative detection and decoding method
US10797728B1 (en) 2012-07-25 2020-10-06 Marvell Asia Pte, Ltd. Systems and methods for diversity bit-flipping decoding of low-density parity-check codes
US8867156B2 (en) * 2013-03-13 2014-10-21 Lsi Corporation Systems and methods for P-distance based priority data processing
US9467170B2 (en) * 2013-05-17 2016-10-11 Marvell World Trade Ltd. NAND flash memory systems with efficient soft information interface
KR102043663B1 (ko) * 2013-09-10 2019-12-02 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc-rs 이차원 부호
WO2015037833A1 (ko) * 2013-09-10 2015-03-19 한국전자통신연구원 지상파 클라우드 방송을 위한 ldpc-rs 이차원 부호
TW201611620A (zh) * 2014-09-05 2016-03-16 可取國際股份有限公司 數位影像錄放影機與其錄放影方法
US9270295B1 (en) * 2015-05-06 2016-02-23 The Boeing Company Lossless compression of data based on a modified differential pulse code modulation (DPCM) scheme
US10587288B1 (en) * 2015-06-04 2020-03-10 Marvell International Ltd. Systems and methods for iterative coding of product codes in nand FLASH controllers
US10263644B1 (en) * 2015-10-28 2019-04-16 Xilinx, Inc. Hybrid architecture for LDPC channel coding in data center
KR20170076350A (ko) * 2015-12-24 2017-07-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN107070592B (zh) * 2017-02-08 2020-05-08 扬智科技股份有限公司 混合译码方法及其高速以太网络接收器
US10666291B1 (en) * 2019-03-12 2020-05-26 Microsoft Technology Licensing, Llc High efficiency data decoder
KR102216006B1 (ko) * 2020-07-01 2021-02-16 주식회사 파두 메모리 컨트롤러 및 이를 포함하는 스토리지 디바이스

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4821290A (en) * 1988-02-09 1989-04-11 General Electric Company Decoder for digital signal codes
US5381145A (en) * 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
US5583500A (en) * 1993-02-10 1996-12-10 Ricoh Corporation Method and apparatus for parallel encoding and decoding of data
US6418147B1 (en) * 1998-01-21 2002-07-09 Globalstar Lp Multiple vocoder mobile satellite telephone system
KR100438537B1 (ko) * 2001-07-19 2004-07-03 엘지전자 주식회사 이동 통신 단말기에서의 복호 장치 및 그 제어 방법
WO2007037636A2 (en) * 2005-09-28 2007-04-05 Lg Electronics Inc. A method of identifying a space-time encoded signal in a wireless communication system
US7827450B1 (en) * 2006-11-28 2010-11-02 Marvell International Ltd. Defect detection and handling for memory based on pilot cells
WO2009069065A1 (en) * 2007-11-27 2009-06-04 Nxp B.V. Device for receiving a rf signal with loop-through output and method for looping a rf input signal through a device for receiving rf signals

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899377A (zh) * 2015-12-17 2017-06-27 联芯科技有限公司 一种信道译码方法及装置
CN106899377B (zh) * 2015-12-17 2019-07-12 辰芯科技有限公司 一种信道译码方法及装置

Also Published As

Publication number Publication date
CN102543149A (zh) 2012-07-04
US8497787B2 (en) 2013-07-30
US20120119928A1 (en) 2012-05-17

Similar Documents

Publication Publication Date Title
CN102543149B (zh) 使用混合解码器执行有效解码的系统和方法
KR101264476B1 (ko) 증가된 용량의 이종의 스토리지 엘리먼트들
US8751906B2 (en) Systems and methods for operating on a storage device using a life-cycle dependent coding scheme
CN113032178B (zh) 存储器控制器及快闪存储器的存取方法
CN102017425B (zh) 用于执行级联纠错的方法和系统
US20130275829A1 (en) Using a soft decoder with hard data
KR20140078610A (ko) 치환 소행렬의 합을 사용하는 체크섬
US9954558B1 (en) Fast decoding of data stored in a flash memory
CN102171937B (zh) 信道自适应迭代Turbo解码器系统和方法
KR20100119492A (ko) 비휘발성 메모리의 적응형 내구성 코딩
TWI570736B (zh) 利用混碼器的編碼器旁路
TW201335943A (zh) 決定同位元檢查陣列之方法以及快閃記憶體系統
TWI460733B (zh) 具有低密度奇偶校驗碼解碼能力的記憶體控制裝置及方法
US9531406B2 (en) Decoding of LDPC code
CN104242957B (zh) 译码处理方法及译码器
JP2014230284A (ja) 符号のワードの拡大スペクトル解析による、訂正符号、例えばターボ符号の復号法
JP6730215B2 (ja) メモリコントローラ、メモリシステムおよび制御方法
CN110048803B (zh) 一种低密度奇偶校验码译码的方法、装置和设备
US9513989B2 (en) Priori information based post-processing in low-density parity-check code decoders
US10038456B1 (en) Decoders with look ahead logic
JP2008502247A (ja) ブロック符号の反復復号方法及び復号デバイス
KR101356552B1 (ko) 블라인드 블록 인터리버 및 채널 부호화의 파라미터 추정 방법
Yuan et al. An adaptive ECC scheme for dynamic protection of NAND Flash memories
CN107872231A (zh) Ldpc译码方法与装置
US9954556B2 (en) Scheme to avoid miscorrection for turbo product codes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20200427

Address after: Singapore City

Patentee after: Marvell Asia Pte. Ltd.

Address before: Ford street, Grand Cayman, Cayman Islands

Patentee before: Kaiwei international Co.

Effective date of registration: 20200427

Address after: Ford street, Grand Cayman, Cayman Islands

Patentee after: Kaiwei international Co.

Address before: Hamilton, Bermuda

Patentee before: Marvell International Ltd.

Effective date of registration: 20200427

Address after: Hamilton, Bermuda

Patentee after: Marvell International Ltd.

Address before: Babado J San Mega Le

Patentee before: MARVELL WORLD TRADE Ltd.

TR01 Transfer of patent right