买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】具有混合解码方案的存储器系统及其操作方法_爱思开海力士有限公司_201910202562.7 

申请/专利权人:爱思开海力士有限公司

申请日:2019-03-18

公开(公告)日:2024-04-09

公开(公告)号:CN110277124B

主分类号:G06F11/00

分类号:G06F11/00;G11C16/08;G11C29/38

优先权:["20180316 US 62/643,982"]

专利状态码:有效-授权

法律状态:2024.04.09#授权;2019.10.22#实质审查的生效;2019.09.24#公开

摘要:本发明公开一种执行混合解码方案的存储器控制器、解码器和方法。根据码字的不满足校验USC计数是否小于阈值,使用位翻转BF解码器或最小和MS解码器来执行码字的初始迭代解码。对于该初始迭代,当USC计数小于阈值时使用BF解码器,并且当USC计数大于或等于阈值时使用MS解码器。当最初使用BF解码器执行解码码字时,持续使用BF解码器解码,直到满足第一组条件或码字被成功解码。当使用MS解码器执行码字的解码时,持续使用MS解码器解码,直到满足第二组条件。

主权项:1.一种存储器控制器,包括:第一解码器,当执行解码之前计算的未满足校验即USC计数小于阈值时,选择所述第一解码器以用于执行码字的解码,并且执行所述解码;以及第二解码器,当执行解码之前计算的所述USC计数大于或者等于所述阈值时,选择所述第二解码器以用于执行所述码字的解码,并且执行所述解码,其中当使用所述第一解码器执行所述码字的解码时,持续使用所述第一解码器解码,直到满足第一组条件或所述码字被成功解码,并且其中当使用所述第二解码器执行所述码字的解码时,持续使用所述第二解码器解码,直到满足第二组条件,以及其中所述第一组条件和所述第二组条件中的每一个包括使用所述USC计数的运行平均值。

全文数据:具有混合解码方案的存储器系统及其操作方法相关申请的交叉引用本申请要求于2018年3月16日提交的申请号为62643,982的美国临时申请的权益,该申请的全部内容通过引用并入本文。技术领域本公开的实施例涉及一种能够执行混合解码方案的存储器系统及其部件,以及操作这种存储器系统的方法。背景技术计算机环境范例已经变为可在任何时间和任何地点使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本电脑的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置、即数据存储装置的存储器系统。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。使用存储器装置的数据存储装置因不具有移动部件而提供优良的稳定性、耐用性、高信息存取速度以及低功耗。具有这种优点的数据存储装置的示例包括通用串行总线USB存储器装置、具有各种接口的存储卡以及固态驱动器SSD。SSD可包括闪速存储器部件和控制器,该控制器包括将闪速存储器部件桥接到SSD输入输出IO接口的电子器件。SSD控制器可包括可以执行诸如固件的功能部件的嵌入式处理器。SSD功能部件通常是装置特定的,并且在大多数情况下可被更新。两种主要类型的闪速存储器以NAND和NOR逻辑门命名。单独的闪速存储器单元展现出与其相应门的内部特性类似的内部特性。NAND型闪速存储器可以通常比整个存储器空间小得多的块或页面来写入和读取。NOR型闪存允许将单个机器字字节写入擦除位置或进行独立地读取。NAND型闪速存储器主要在存储卡、USB闪存驱动器、固态驱动器SSD和类似产品中操作以用于数据的一般存储和传输。例如NAND型的闪速存储器可应用各种错误校正码中的任何一种来校正数据中的错误。一种这样的错误校正码是低密度奇偶校验码LDPC,其是用于恢复数据中相对大量的错误的先进错误码。位翻转BF解码器可用于解码LDPC码字。在片上系统SoC架构上,BF解码器提供更高的吞吐量并消耗相对少的功率。然而,BF解码器的校正能力有限,并且其性能具有错误平层。相对于BF解码器,最小和MS解码器具有更高的校正能力,并且可用于BF解码器未能解码的码字。然而,在SoC架构上,MS解码器具有较低的吞吐量并需要更多的功率。而且,与NAND闪存的寿命的中期到末期以及寿命的末期相比,BF解码器在NAND闪存的寿命开始时是有用的,在NAND闪存的寿命开始时NAND闪存的错误少得多。在这种背景下,提出了本发明的实施例。发明内容本发明的各方面包括存储器控制器和解码器。在一个方面,存储器控制器包括:第一解码器,被配置成当码字的不满足校验USC计数小于阈值时执行码字的解码;第二解码器,被配置成当码字的USC计数大于或等于阈值时执行码字的解码。当使用第一解码器执行码字的解码时,持续使用第一解码器解码,直到满足第一组条件或者码字被成功解码,并且当使用第二解码器执行码字的解码时,持续使用第二解码器解码,直到满足第二组条件。第一解码器优选地是位翻转BF解码器,第二解码器优选地是最小和MS解码器。在另一方面,存储器控制器包括包含BF解码器和MS解码器的解码器组件。解码器组件被配置成计算码字的不满足校验USC计数,并且确定USC计数是否小于第一阈值。解码器组件被进一步配置成:当确定USC计数小于第一阈值时,使用BF解码器对码字执行一次或多次迭代解码,持续使用BF解码器对码字执行的一次或多次迭代解码,直到USC计数减少到设定数量或者USC计数的运行平均值RA小于第二阈值;并且当确定USC计数大于或等于第一阈值时或当RA大于或等于第二阈值时,使用MS解码器对码字执行一次或多次迭代解码,持续使用MS解码器对码字进行一次或多次迭代解码,直到USC计数小于第一阈值,RA小于第三阈值。本发明的其它方面包括可由存储器控制器及其诸如解码器,特别是BF和MS解码器的部件执行的解码方法。在这方面,本发明的另一方面需要一种解码码字的方法,该方法包括:确定码字中的错误数量;根据确定操作的结果,使用第一解码器和第二解码器中的一个对码字执行迭代解码,第一解码器和第二解码器的类型不同;并且对码字执行一次或多次另外的迭代解码。当在执行初始的迭代解码之后确定码字处于第一解码器的校正能力以内时,使用第一解码器执行这种迭代,持续使用第一解码器执行一次或多次另外的迭代解码,直到第一解码器不能解码码字或者码字被成功解码。当在执行初始的迭代解码之后确定码字超出第一解码器的校正能力时,使用第二解码器执行这种迭代,持续使用第二解码器执行一次或多次另外的迭代解码,直到码字处于第一解码器的校正能力以内。第一解码器优选地是BF解码器,第二解码器优选地是MS解码器。从以下描述中,本发明另外的方面将变得显而易见。附图说明图1是示出根据本发明的实施例的存储器系统的框图。图2是示出根据本发明的实施例的存储器系统的框图。图3是示出根据本发明的实施例的存储器系统的存储器装置的存储块的电路图。图4是根据本发明的实施例的存储器系统的示意图。图5是示出根据本发明的实施例的混合LDPC解码的流程图。图6是示出根据本发明的实施例的混合解码的进程中的步骤的流程图。具体实施方式以下参照附图更详细地描述各个实施例。然而,本发明可以不同形式实施,因此不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开彻底且充分,并且将本发明的范围全面地传达给本领域技术人员。此外,本文中对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。在整个本公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。本发明可以多种方式实施,比如包括:进程;设备;系统;物品的组成;体现在计算机可读存储介质上的计算机程序产品;和或处理器,诸如适于执行存储在联接到处理器的存储器上和或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可能采取的任何其它形式可被称为技术方案。通常,所公开进程的步骤的顺序可在本发明的范围内改变。除非另有说明,否则被描述为适于执行任务的诸如处理器或者存储器的部件可被实施为暂时配置成在给定时间执行该任务的一般部件或被制造为执行该任务的特定部件。如本文所使用的,术语“处理器”等指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和或处理内核。下面提供了本发明的实施例的详细描述以及示出本发明各方面的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限定。本发明包括处于权利要求范围内的许多替换、修改和等同物。为了提供对本发明的全面理解,在下面的描述中阐述了许多具体细节。为了示例的目的提供这些细节,并且可在没有一些或所有这些具体细节的情况下,根据权利要求实施本发明。为了清晰,没有详细描述与本发明相关的技术领域中公知的技术内容,以免不必要地模糊本发明。图1是示意性地示出根据本发明的实施例的存储器系统的框图。参照图1,存储器系统10可包括存储器控制器100和半导体存储器装置200,它们可代表多于一个的这种装置。半导体存储器装置200可以是闪速存储器装置,特别是NAND型闪速存储器装置。存储器控制器100可控制半导体存储器装置200的全部操作。半导体存储器装置200可在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可通过输入输出IO线接收命令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可被提供为诸如以下的电子装置中的各种部件中的一种:计算机、超移动PCUMPC、工作站、上网本计算机、个人数字助理PDA、便携式计算机、网络平板PC、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器PMP、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播DMB播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和发送信息的装置、射频识别RFID装置以及家庭网络的各种电子装置中的一种、计算机网络的各种电子装置中的一种、远程信息处理网络的各种电子装置中的一种或计算系统的各种部件中的一种。图2是示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可描述图1所示的存储器系统10。参照图2,存储器系统10可包括存储器控制器100和半导体存储器装置200。存储器系统10可响应于来自主机装置的请求而操作,并且特别地,存储待由主机装置访问的数据。主机装置可利用各种电子装置中的任意一种来实施。在一些实施例中,主机装置可包括诸如以下的电子装置:台式计算机、工作站、三维3D电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、和或数字视频记录器以及数字视频播放器。在一些实施例中,主机装置可包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、MP3播放器、便携式多媒体播放器PMP和或便携式游戏机。存储器装置200可存储待由主机装置访问的数据。存储器装置200可利用诸如动态随机存取存储器DRAM和或静态随机存取存储器SRAM的易失性存储器装置或诸如只读存储器ROM、掩模ROMMROM、可编程ROMPROM、可擦除可编程ROMEPROM、电可擦除可编程ROMEEPROM、铁电随机存取存储器FRAM、相变RAMPRAM、磁阻RAMMRAM和或电阻式RAMRRAM的非易失性存储器装置来实施。控制器100可控制数据在存储器装置200中的存储。例如,控制器100可响应于来自主机装置的请求来控制存储器装置200。控制器100可将从存储器装置200读取的数据提供给主机装置并可将从主机装置提供的数据存储到存储器装置200中。控制器100可包括通过总线160联接的存储装置110、可被实施为诸如中央处理单元CPU的处理器的控制部件120、错误校正码ECC部件130、主机接口IF140和存储器接口IF150。存储装置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或广义LDPCGLDPC码,后者与本发明特别相关。ECC部件130可包括用于根据本发明的实施例的适当的错误校正操作的任何和所有电路、系统或装置。本发明特别适于使用位翻转BF解码器和最小和MS解码器解码LDPC码。为此,在本发明的实施例中,ECC部件130包括BF解码器135和MS解码器145。如下面更详细说明的,包括BF和MS解码器135、145的ECC部件130被配置成对LDPC码执行混合解码方案。主机接口140可通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线USB、多媒体卡MMC、高速外围组件互连PCI-E、小型计算机系统接口SCSI、串列SCSISAS、串行高级技术附件SATA、并行高级技术附件PATA、增强型小型磁盘接口ESDI以及电子集成驱动器IDE。存储器接口150可提供控制器100和存储器装置200之间的接口,以允许控制器100响应于来自主机装置的请求来控制存储器装置200。存储器接口150可在控制部件或CPU120的控制下生成用于存储器装置200的控制信号并处理数据。当存储器装置200是诸如NAND闪速存储器的闪速存储器时,存储器接口150可在CPU120的控制下生成用于存储器的控制信号并处理数据。存储器装置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可被实施为混合闪速存储器或单一-NAND闪速存储器,其中混合闪速存储器中组合了两种或更多种类型的存储器单元,单一-NAND闪速存储器中控制器被嵌入在存储器芯片内部。参照图4,示意性地示出存储器系统40的一般示例。存储器系统40可包括易失性存储器400例如,DRAM、非易失性存储器NVM402例如,NAND、诸如本文所述的控制部件或控制逻辑404、诸如本文所述的错误校正码ECC模块406以及总线408,其中存储器系统40的这些部件通过总线408通信。易失性存储器400可包括用于将位的物理到逻辑地址进行映射的逻辑位地址LBA表410。NVM402可包括多个存储块,以及用于主机写入的开放块430和用于垃圾收集GC的开放块440。出于某些功能目的,多个存储块可分组在一起作为超级块。ECC模块406可包括BF解码器406A和MS解码器406B,其可分别对应于图2中的BF解码器135和MS解码器145。包括BF解码器406A和MS解码器406B的ECC模块406可用于实施本发明的各方面。根据本公开,本领域技术人员将理解,存储器系统可利用另外的另选的部件来实现本发明。BF解码器和MS解码器在错误校正能力、吞吐量和功耗方面提供了权衡。这种解码器在存储器系统,特别是在采用NAND闪速存储器的系统中的不同寿命时段会更为有用。如发明人所发现的,存储器系统的寿命存在一个重要时段,其将受益于有效的调度方案,该方案明智地使用BF解码器和MS解码器的优点以在SoC架构上提供更好的吞吐量和更低的功耗。因此,本发明的实施例提供了一种混合解码方案来提供这些优点,其中码字被有效地调度或路由到BF解码器135和MS解码器145中的一个或两个来进行硬解码。本发明的实施例在硬解码中明智地使用BF解码器135和MS解码器145,这可有利地增加SoC架构的吞吐量并降低功耗。码字根据某些检测到的或确定的特性而被有效地路由。根据实施例,BF解码器135主要用于在例如NAND闪速存储器的存储器装置200的寿命开始时解码。随着来自存储器装置200的码字中的错误数量增加并最终超出BF解码器135的校正能力,根据不满足校验USC信息零星地使用MS解码器145。在MS解码之后,当码字中剩余的错误的数量处于BF解码器135的校正能力以内时,调度BF解码。在图5的流程图50中示出了根据实施例的混合解码方案。解码可分别由ECC部件130或ECC模块406内的BF解码器135406A和MS解码器145406B执行,并且可与存储器控制器100的其它部件结合进行操作。BF解码器135406A和MS解码器145406B可利用适当的硬件、软件、固件或其组合来实施。参照图5,从NAND信道接收码字,并计算不满足校验的数量,即其USC计数。在步骤501中,确定USC计数是否小于阈值T,该阈值被设置为区分处于BF解码器135的校正能力以内的错误水平和超出BF解码器135的校正能力的错误水平。如果USC计数小于阈值T步骤501中为是,则因为码字中的错误数量相对较小,即处于BF解码器135的校正能力以内,所以使用BF解码器135来解码。在那种情况下,在步骤502中执行一次迭代BF解码。跟踪和保持USC信息以确定码字解码是否正在收敛,使得对数似然比LLR信息不被BF解码器135破坏。在步骤503中,确定USC计数是否已经减少到足够低的数量,例如0。如果是步骤503中为是,则码字已被成功解码,即解码成功,如步骤504所示。如果USC计数并未减少到使得其达到设定的低数量,例如0步骤503中为否,则流程进行到步骤505,其中计算USCRA的运行平均值并与阈值T1进行比较。更具体地,RA计算如下:其中可启发式地优化值L。如果RAk-1-RAk<T1步骤505中为是,则进程返回到步骤502,在步骤502中继续BF解码。此处,可启发式地优化值T1。如果RAk-1-RAk>T1,这表示使用BF解码器135进行的解码是发散的,并且应当使用MS解码器145来校正错误。因此,当RAk-1-RAk>T1,即不满足RA校验时步骤505中为否,进程进行到步骤506,其中使用MS解码器145执行一次迭代MS解码。解码算法可被设计为以任一方式处理RAk-1-RAk=T1的情况。在步骤507中,在一次迭代MS解码之后,进行涉及RA和USC计数的另一校验、即RAk-1-RAk<T2和USC<T,以确定错误的数量是否已显著减少并且它们是否处于BF解码器135的校正能力以内,以决定是继续使用MS解码器145解码还是将码字发送到BF解码器135。对于T1,也可启发式地优化值T2。因此,如果RAk-1-RAk<T2并且USC<T在步骤507中为是,则进程返回到步骤502,其中执行迭代BF解码。另一方面,如果在步骤507中的判定为“否”,则在步骤506中执行另一迭代MS解码。本发明的方案采用USC信息来有效地路由或调度BF解码器和MS解码器的解码,这进而提供了显著的功率和吞吐量增益。在实施例中,为了更容易的硬件实施,BF解码器和MS解码器被实施为具有BF和MS解码功能的双解码器。然而,本发明不限于该布置;可使用解码器的任何适当的实施方案来实施混合解码方案。图6是描述根据本发明的实施例的混合解码的进程中的步骤的流程图。流程图60所示的步骤是示例性的。本领域的技术人员将理解的是,可执行另外的和或可选的步骤,或者可改变步骤的顺序,以便在不脱离本文公开的发明理念的情况下实现本发明的各个方面。在步骤601中,确定待解码的码字中的错误数量。在实施例中,计算USC计数。在步骤602中,执行迭代解码。当错误数量相对较低,即处于BF解码器135的校正能力以内时,这可通过适当低的USC计数来反映,则使用BF解码器135执行该迭代。另一方面,当错误的数量相对较高,即超出BF解码器135的校正能力时,这可通过高USC计数来反映,则使用MS解码器145执行第一次迭代。在初始解码迭代之后,在步骤603中执行另一校验以确定码字是否处于BF解码器135的校正能力以内。如结合图5所描述的,根据是使用BF解码器135还是使用MS解码器145完成的第一次解码迭代,在步骤603中执行的特定校验可以是不同的。然而,任一校验可以是确定是否满足某些条件的形式。在第一次迭代由BF解码器135执行的情况下,校验可包括确定图5的步骤503和505。在第一次迭代由MS解码器145执行的情况下,校验可包括图5的步骤507处的确定。如果在步骤603中的校验指示码字处于BF解码器135的错误校正能力以内步骤603中为是,则使用BF解码器135来执行一次或多次迭代解码。如果校验指示码字超出BF解码器135的错误校正能力步骤603中为否,则使用MS解码器145执行一次或多次迭代解码。迭代在特定解码器BF或MS上持续进行,直到可在迭代之后校验的解码结果指示解码应当从BF解码器135切换到MS解码器145,反之亦然。因此,在BF解码器135将用于至少一次另外的迭代的情况下步骤603中为是,持续使用BF解码器135的解码,直到校验指示BF解码不能解码码字,或者码字被成功解码步骤604。在初始解码迭代并且可能甚至一次或多次迭代由BF解码器135执行的这个循环中,该校验可涉及到确定码字是否正在收敛的计算。如果使用BF解码器135的码字解码没有收敛,则后续解码被路由到MS解码器145。如果步骤603中的判定指示码字解码超出BF解码器135的能力步骤603中为否,则在步骤605中由MS解码器145执行另外的解码。持续使用MS解码器145执行这种解码,直到码字解码处于BF解码器135的错误校正能力以内,此时码字被路由返回到BF解码器135。因此,本发明提供了一种有效的混合解码方案,其使用两个解码器,BF解码器和MS解码器,执行解码以提高吞吐量并消耗更少的功率。如前所述,本发明的实施例提供了一种用于解码LDPC码字的混合解码方案。混合解码方案有利地最初在BF解码和MS解码之间进行调度和切换,以在SoC上提供更高的吞吐量和更低的功耗。虽然为了清楚和理解的目的已经详细描述了前述实施例,但是本发明不限于所提供的细节。正如本领域技术人员根据前述公开内容将理解的那样,存在许多实施本发明的另选方式。因此,所公开的实施例是说明性的,而非限制性的。

权利要求:1.一种存储器控制器,包括:第一解码器,当码字的不满足校验计数,即USC计数小于阈值时执行所述码字的解码;以及第二解码器,当所述码字的所述USC计数大于或等于所述阈值时执行所述码字的解码,其中当使用所述第一解码器执行所述码字的解码时,持续使用所述第一解码器解码,直到满足第一组条件或所述码字被成功解码,并且其中当使用所述第二解码器执行所述码字的解码时,持续使用所述第二解码器解码,直到满足第二组条件。2.根据权利要求1所述的存储器控制器,其中所述第一解码器是位翻转解码器,即BF解码器,并且所述第二解码器是最小和解码器,即MS解码器。3.根据权利要求1所述的存储器控制器,其中当使用所述第一解码器执行所述码字的解码时,如果满足所述第一组条件,则使用所述第二解码器执行所述码字的后续解码,并且持续执行直到满足所述第二组条件。4.根据权利要求1所述的存储器控制器,其中当使用所述第二解码器执行所述码字的解码时,如果满足所述第二组条件,则使用所述第一解码器执行所述码字的后续解码,并且持续执行直到满足所述第一组条件。5.根据权利要求1所述的存储器控制器,其中:当使用所述第一解码器执行所述码字的解码时,在每一次迭代解码之后确定是否满足所述第一组条件,并且当使用所述第二解码器执行所述码字的解码时,在每一次迭代解码之后确定是否满足所述第二组条件。6.根据权利要求1所述的存储器控制器,其中所述码字包括低密度奇偶校验码,即LDPC码。7.一种存储器控制器,包括:解码器组件,包括位翻转解码器,即BF解码器和最小和解码器,即MS解码器,所述解码器组件:计算所述码字的不满足校验计数,即USC计数,确定所述USC计数是否小于第一阈值,当确定所述USC计数小于所述第一阈值时,使用所述BF解码器对所述码字执行一次或多次迭代解码,持续使用所述BF解码器对所述码字执行所述一次或多次迭代解码,直到所述USC计数减少到设定数量或者所述USC计数的运行平均值,即RA小于第二阈值,并且当确定所述USC计数大于或等于所述第一阈值时或当所述RA大于或等于所述第二阈值时,使用所述MS解码器对所述码字执行一次或多次迭代解码,持续使用所述MS解码器对所述码字执行所述一次或多次迭代解码,直到所述USC计数小于所述第一阈值,并且所述RA小于第三阈值。8.根据权利要求7所述的存储器控制器,其中所述解码器组件进一步:在使用所述BF解码器对所述码字执行的每一次迭代解码中,确定所述USC计数是否减少到所述设定数量,如果是,则确定所述RA是否小于所述第二阈值。9.根据权利要求8所述的存储器控制器,其中所述设定数量为0。10.根据权利要求7所述的存储器控制器,其中所述解码器组件进一步:在使用所述MS解码器对所述码字执行的每一次迭代解码中,确定所述USC计数是否小于所述第一阈值并且所述RA是否小于所述第三阈值。11.根据权利要求9所述的存储器控制器,其中当确定所述USC计数为0时,认为所述码字被成功解码。12.一种解码码字的方法,所述方法包括:确定所述码字中的错误数量;根据确定操作的结果,使用第一解码器和第二解码器中的一个对所述码字执行迭代解码,所述第一解码器和所述第二解码器的类型不同;并且对所述码字执行一次或多次另外的迭代解码,当在执行初始的迭代解码之后确定所述码字处于所述第一解码器的校正能力以内时,使用所述第一解码器,持续使用所述第一解码器执行所述一次或多次另外的迭代解码,直到所述第一解码器不能解码所述码字或者所述码字被成功解码,或者当在执行所述初始的迭代解码之后确定所述码字超出所述第一解码器的所述校正能力时,使用所述第二解码器,持续使用所述第二解码器执行所述一次或多次另外的迭代解码,直到所述码字处于所述第一解码器的所述校正能力以内。13.根据权利要求12所述的方法,其中所述第一解码器是位翻转解码器,即BF解码器,并且所述第二解码器是最小和解码器,即MS解码器。14.根据权利要求12所述的方法,其中确定所述码字中的错误的数量包括:确定所述码字的不满足校验计数,即USC计数,并且确定所述USC计数是否小于阈值。15.根据权利要求12所述的方法,其中对所述码字执行一次或多次另外的迭代解码包括:当在所述第一解码器执行所述初始的迭代解码之后不满足第一组条件时,或者当在所述第二解码器执行所述初始的迭代解码之后满足第二组条件时,使用所述第一解码器,持续使用所述第一解码器执行所述一次或多次另外的迭代解码,直到满足所述第一组条件或者所述码字被成功解码,或者当在所述第二解码器执行所述初始的迭代解码之后不满足所述第二组条件时,或者当在所述第一解码器执行所述初始的迭代解码之后满足所述第一组条件时,使用所述第二解码器,持续使用所述第二解码器执行所述一次或多次另外的迭代解码,直到满足所述第二组条件。16.根据权利要求15所述的方法,进一步包括:在使用所述第一解码器对所述码字执行所述一次或多次另外的迭代解码中的每一个之后,确定是否满足所述第一组条件;并且在使用所述第二解码器对所述码字执行所述一次或多次另外的迭代解码中的每一个之后,确定是否满足所述第二组条件。17.根据权利要求16所述的方法,其中所述第一组条件包括与设定数量比较的所述码字的不满足校验计数即USC计数和与阈值比较的所述USC计数的运行平均值即RA,当所述USC计数大于所述设定数量并且所述RA小于所述阈值时,不满足所述第一组条件。18.根据权利要求16所述的方法,其中所述第二组条件包括与第一阈值比较的所述码字的不满足校验计数即USC计数和与第二阈值比较的所述USC计数的运行平均值即RA,当所述USC计数大于或等于所述第一阈值并且所述RA大于或等于所述第二阈值时,不满足所述第二组条件。19.根据权利要求12所述的方法,其中所述码字包括低密度奇偶校验码,即LDPC码。20.根据权利要求17所述的方法,其中当所述USC计数减少到所述设定数量时,认为所述码字被成功解码。

百度查询: 爱思开海力士有限公司 具有混合解码方案的存储器系统及其操作方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。