具有LDPC解码器的存储器系统及其操作方法与流程

文档序号:17047805发布日期:2019-03-05 19:45阅读:216来源:国知局
具有LDPC解码器的存储器系统及其操作方法与流程

本申请要求于2017年8月29日提交的申请号为62/551,602的美国临时申请的权益,其全部内容通过引用并入本文。

本公开的实施例涉及一种具有低密度奇偶校验(ldpc)解码器,特别是位翻转(bf)ldpc解码器的存储器系统以及此类部件的操作方法。



背景技术:

计算机环境范例已经转变至可随时随地使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储装置。数据存储装置被用作便携式电子装置的主存储器装置或辅助存储器装置。

因为使用存储器装置的数据存储装置不具有移动部件,所以它们提供优良的稳定性、耐久性、高信息访问速度和低功耗。具有这种优点的数据存储装置的示例包括通用串行总线(usb)存储器装置、具有各种接口的存储卡和固态驱动器(ssd)。

ssd可以包括闪速存储器部件和控制器,控制器包括将闪速存储器部件桥接到ssd输入/输出(i/o)接口的电子器件。ssd控制器可以包括可以执行诸如固件的功能部件的嵌入式处理器。ssd功能部件是特定于装置的,并且在大多数情况下可以被更新。

闪速存储器部件的两种主要类型以nand和nor逻辑门命名。单独的闪速存储器单元呈现与它们的相应门类似的内部特性。nand型闪速存储器可以以通常比整个存储器空间小得多的块(或页面)写入和读取。nor型闪存允许将单个机器字(字节)写入擦除位置或独立地读取。nand型主要在存储卡、usb闪存驱动器、固态驱动器和类似的产品中操作以用于数据的一般存储和传输。

因为基于nand闪存的存储装置的较快的读取/写入性能、较低的功耗和防震特征,所以它们已经被广泛采用。然而,通常,与硬盘驱动器(hdd)相比,它们更昂贵。为了降低成本,nand闪存制造商一直在将其制造工艺的极限推向20nm或更低,这通常导致较短的可用寿命和数据可靠性的降低。因此,需要比传统的博斯-查德胡里-霍昆格姆(bose-chaudhuri-hocquenghem,bch)码更强大的错误校正码(ecc)来克服相关的噪声和干扰,从而提高数据完整性。一个这样的ecc是低密度奇偶校验(ldpc)码。可以使用各种算法来更准确且更快地解码ldpc码。

在本文中公开本发明的实施例。



技术实现要素:

本发明的方面包括存储器系统。一种存储器系统包括存储器装置和与存储器装置通信的控制器。控制器包括存储训练数据的存储装置和解码器。解码器包括经过训练的(trained)神经网络组件,训练数据被输入到该经过训练的神经网络组件,并且该经过训练的神经网络组件执行多次解码迭代以生成包括未成功解码数据的解码数据。解码器进一步包括数据分离部件和训练中的(training)神经网络,该数据分离部件用于依据解码数据的奇偶校验区域和数据区域中的不同度的变量节点分离从经过训练的神经网络组件输出的未成功解码数据,该训练中的神经网络中的每一个从数据分离部件接收关于奇偶校验区域和数据区域中的不同度的变量节点中的至少一个的未成功解码数据。

本发明的另一方面包括解码器,特别是位翻转(bf)低密度奇偶校验(ldpc)解码器。一种bfldpc解码器包括:经过训练的神经网络组件,训练数据被输入到该经过训练的神经网络组件,并且该经过训练的神经网络组件执行多次解码迭代,该多次解码迭代包括生成第一未成功解码数据的第一解码迭代和生成第n未成功解码数据的第n解码迭代(n为大于1的整数);数据分离部件,其被配置为依据解码数据的奇偶校验区域和数据区域中的多度分布的变量节点分离从经过训练的神经网络组件输出的第n未成功解码数据;以及训练中的神经网络,包括:第一训练中的神经网络,其从数据分离部件接收一个或多个变量节点的第一簇的未成功解码数据;第二训练中的神经网络,其从数据分离部件接收一个或多个变量节点的第二簇的未成功解码数据;以及第三训练中的神经网络,其从数据分离部件接收一个或多个变量节点的第三簇的未成功解码数据。

本发明的另外的方面包括方法,特别是包括bfldpc解码器或与bfldpc解码器相关联的存储器系统的操作方法。一种方法包括:将训练数据从存储装置输入到存储器系统的解码器的经过训练的神经网络组件;在经过训练的神经网络组件中执行多次解码迭代,并且输出多次解码迭代中的最后一次迭代的未成功解码数据;依据未成功解码数据的奇偶校验区域和数据区域中的不同度的变量节点分离从经过训练的神经网络组件输出的未成功解码数据;以及训练各自接收不同度的变量节点中的至少一个的未成功解码数据的多个神经网络。

附图说明

图1是示意性地示出根据本发明的实施例的存储器系统的框图。

图2是示出根据本发明的实施例的存储器系统的框图。

图3是示出根据本发明的实施例的存储器系统的存储器装置的存储块的电路图。

图4是根据本发明的实施例的示例性存储器系统的示图。

图5是根据本发明的实施例的解码方法中的步骤的流程图。

图6是根据本发明的实施例的用于减少bfldpc解码器的误码平台(errorfloor)的深度学习网络的训练框架的示意图。

图7是示出根据本发明的实施例配置的bfldpc解码器的性能的曲线图。

具体实施方式

以下参照附图更详细地描述各个实施例。然而,本发明可以以不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例使得本公开是彻底且完全的,并且向本领域技术人员完全传达本发明的范围。此外,本文对“实施例”、“另一实施例”等的参考不一定仅意味着一个实施例,并且对任何这样的短语的不同参考不一定是指相同的实施例。在整个公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。

本发明可以以各种方式实施,其包括作为进程;设备;系统;物质的组成;体现在计算机可读存储介质上的计算机编程产品;和/或处理器,诸如适于执行存储在联接到处理器的存储器上和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可以采取的任何其它形式可以被称为技术。通常,公开的进程的步骤的顺序可以在本发明的范围内改变。除非另有说明,否则诸如被描述为适于执行任务的处理器或存储器的部件可以被实现为临时被配置为在给定时间执行任务的一般部件或被制造为执行任务的特定部件。如本文使用的,术语“处理器”是指适于处理诸如计算机编程指令的数据的一个或多个装置、电路和/或处理核。

以下提供对本发明的实施例的详细描述以及说明本发明的方面的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多可选方案、变型和等同物。为了提供对本发明的透彻理解,在以下描述中阐述许多具体细节。为了示例的目的提供这些细节;在没有这些具体细节中的一些或全部的情况下,根据权利要求可以实现本发明。为了清楚,未详细描述与本发明相关的技术领域中已知的技术材料,使得本发明不被不必要地模糊。

图1是示意性地示出根据本发明的实施例的存储器系统的框图。

参照图1,存储器系统10可以包括存储器控制器100和半导体存储器装置200,其中半导体存储器装置200可以表示多于一个这样的装置。半导体存储器装置200可以是闪速存储器装置。

存储器控制器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)播放器、三维(3d)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境下接收和传输信息的装置、射频识别(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)码、博斯-查德胡里-霍昆格姆(bch)码、涡轮码、涡轮乘积码(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可以在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(如图3所示)与存储器单元阵列210电连通。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器250可以利用正电压对位线bl预充电,在编程操作中将数据传输到选择的存储块并在读取操作中从选择的存储块接收数据,或临时存储传输的数据。

列解码器260可以将数据传输到页面缓冲器250并且从页面缓冲器250接收数据,或者将数据传输到输入/输出电路270或从输入/输出电路270接收数据。

输入/输出电路270可以通过输入/输出电路270将从外部装置(例如,存储器控制器100)接收的命令和地址传输到控制电路220,将数据从外部装置传输到列解码器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闪速存储器。

参照图4,示意性地示出存储器系统40的一般示例。存储器系统40可以包括易失性存储器400(例如,dram)、非易失性存储器(nvm)402(例如,nand)、诸如本文所述的控制部件或控制逻辑404、诸如本文所述的错误校正码(ecc)模块406以及总线408,其中存储器系统40的这些部件通过总线408通信。易失性存储器400可以包括用于映射位的物理地址到逻辑地址的逻辑位地址lba表410。nvm402可以包括多个存储块(和/或多个超级存储块),以及用于主机写入的开放块430和用于垃圾收集(gc)的开放块440。存储器系统40示出了通用存储器系统。根据本公开,本领域技术人员将理解可以与存储器系统一起使用附加/可选部件以实现本发明。

如本文所提及的,诸如“nand”或“nvm”的术语可以指诸如可以实施错误校正码进程的闪速存储器的非易失性存储器。进一步地,“dram”可以指可以包括诸如控制器和ecc模块的部件的易失性存储器。

低密度奇偶校验(ldpc)码是一系列线性块前向错误校正(fec)码,其奇偶校验矩阵可由低密度奇偶校验矩阵表示ldpc码广泛用于在数据存储和传输应用中提供数据可靠性。

ldpc码有许多迭代解码算法,诸如位翻转(bf)解码算法、置信传播(bp)解码算法、和积(sp)解码算法、最小和解码算法、min-max解码算法等。

虽然置信传播(bp)和相关的解码器功能更强大,但是由于其更高的复杂性,所以当错误的数量较低时,可以使用功能较弱的bf解码器。此外,通过降低触发功能更强大但功耗更高的bp解码器的频率,bf解码器可以被用于来降低计算开销。

bf解码器仅存储每个代码位的当前值,而不是像bp解码器那样存储软信息。可以基于每个代码位的不合格的(unsatisfied)校验节点的数量信息迭代地翻转每个代码位的值。可以限定不同的规则来确定代码位是否被翻转。

通常,在bf算法中,有两个因子用于确定是否需要翻转变量节点和何处翻转。第一因子可以被称为每个变量节点j的翻转指示符,即u(j)。第二因子可以被称为翻转阈值t。在每次迭代中基于一些规则来计算u(j)和t。在计算/确定u(j)和t之后,是否要翻转变量节点j是基于u(j)和t之间的关系。例如,如果u(j)大于t,则将翻转变量节点j。否则,变量节点j仍然与前一次迭代的决定相同。

可以启发式优化bf码以降低ldpc解码器的失败率。然而,存在无法使用启发式技术消除的在性能上可见的误码平台。

本发明的方面涉及对位翻转(bf)ldpc解码器的性能的改进。特别地,提供了用于训练中的神经网络以定义bfldpc解码器的规则从而减少误码平台的技术。在实施例中,该技术有利地利用ldpc码的度分布。

如果收集到失败的码字,则观察到大多数错误在传统方法不能校正的奇偶校验区域中。这是由于奇偶校验区域中的变量节点具有比数据区域中的变量节点更低的度。本公开提供一种学习方法,其可以在训练中利用度分布信息并且由此减少误码平台。

如果分类问题具有高度不平衡类,则深度学习网络的训练变得更具挑战性。解决这些不平衡类的训练的提案提高性能增益,但是误码平台问题仍然存在。如果在解码结束时收集错误模式,则这些模式在奇偶校验区域中比在数据区域中具有更多的错误。理想地,通过适当地为不同的度分布分配层上的权重,神经网络的训练应当能够解决这个问题。然而,它在实践中并不成立。

如果训练数据是无限的,则深度学习神经网络能够为所有特征适当地训练权重。然而,训练数据不是无限的。相反,训练数据是有限的且受限制的,这使得问题具有挑战性。

并且,训练以使得损失函数在训练数据上最小化的方式完成。奇偶校验区域中导致误码平台的变量节点在训练数据中很多。神经网络层的权重未被优化以在奇偶校验区域中准确地预测。

本公开的实施例解决这些问题并且减少误码平台。提供训练中的神经网络以适应变量节点的分布度。训练可以基于ldpc码的任何合适数量的度。通常,如果代码具有q个不同度的变量节点,则基于度的聚类可被利用以根据复杂度最小化训练中的神经网络的数量。例如,如果代码具有度[10,9,8,7,6,4,3,2,1],则可以形成三(3)个簇(cluster):[10,9,8,7,6]、[3,2]和[1]。通常,较高度的变量节点比较低的变量节点更不容易在解码之后被卡住,因此通常可以通过常规深度学习框架来修复。簇的数量和簇中的变量节点不限于本文公开的示例。相反,可以基于失败位和允许特定算法的复杂性优化簇的数量和内容。训练中的神经网络的数量应当被最小化以降低训练的复杂性。簇的数量可以足够低,从而足以减少误码平台。

为了便于说明并且作为示例,给出不同度的变量节点的三(3)个簇的情况。每个簇具有一个或多个不同度的变量节点。在该示例中,可以提供三(3)个不同的训练中的神经网络以用于预测不同簇中的这些变量节点。然而,如上所述,可以根据变量节点的分布度来调节体系结构。较低的分布度意味着较少的训练中的神经网络,而较高的分布度意味着较多的训练中的神经网络。

图5是描述根据本发明的实施例的用于解码的进程中的步骤的流程图。流程图50中所示的步骤是示例性的。本领域技术人员将理解,在不脱离本文公开的发明构思的情况下,可以执行附加或可选步骤,或者可以改变步骤的顺序,以便实现本发明的方面。流程图50的步骤可以由本文公开的诸如控制器、dram、ecc部件/模块和/或其它合适的部件的存储器部件执行。

图6是根据本发明的实施例的用于减少bfldpc解码器的误码平台的深度学习网络的训练框架的示意图。bfldpc解码器61可以由例如图2的ecc部件130、图4的ecc模块406和/或其它合适的部件来实施。

参照图5,结合图6,描述了示例性处理。可以存储在诸如控制器100中的存储装置中的训练数据被获取并输入到经过训练的神经网络组件62中。在步骤500,经过训练的神经网络组件62执行多次解码迭代以生成解码数据。

在示出的实施例中,经过训练的神经网络组件62包括两(2)个神经网络:第一经过训练的神经网络601和第二经过训练的神经网络602。因此,训练数据被输入到第一经过训练的神经网络601,第一经过训练的神经网络601根据其规则执行第一解码迭代。解码数据包括成功解码数据和未成功解码数据,其中后者被输入到第二经过训练的神经网络602。第二经过训练的神经网络602根据其规则执行第二解码迭代,以生成包括成功解码数据和未成功解码数据的解码数据。可以根据包括系统参数的各种因子来执行附加迭代。根据复杂性,经过训练的神经网络组件62可以包括多于或少于两(2)个经过训练的神经网络。

在步骤502,数据分离部件63接收最后一次迭代的未成功解码数据,例如,在示出的实施例中来自经过训练的神经网络602的未成功解码数据,并且对这样的数据执行数据分离。通常,将最后一次迭代的未成功解码数据分成奇偶校验区域和数据区域中的不同度的变量节点的簇或数据。例如,接收的数据可以被分成奇偶校验区域中的x度变量节点的数据、奇偶校验区域中的y度变量节点的数据、以及数据区域中的z度变量节点的数据,其中x、y和z可以分别表示单度变量节点,例如1、2和5,或者表示簇,每个簇包括一个或多个不同度的变量节点。如上所述,根据使用的ldpc码,分离可以是关于更多度和/或不同度的变量节点,并且分离也可以是不同度的变量节点的簇。

由数据分离部件63输出的分离数据用于训练训练中的神经网络64。在示出的实施例中,提供三(3)个训练中的神经网络,用于变量节点的三度分布中的每一个,如上所述,这些度可以通常由x、y和z表示。根据示出的实施例的其它步骤如下。

在步骤504,第一训练中的神经网络604从数据分离部件63接收奇偶校验区域中的x度变量节点的未成功解码数据,并由该数据训练。

在步骤506,第二训练中的神经网络605从数据分离部件63接收奇偶校验区域中的y度变量节点的未成功解码数据,该数据用于训练第二训练中的神经网络605。

在步骤508,第三训练中的神经网络606从数据分离部件63接收数据区域中的z度变量节点的未成功解码数据,并由该数据训练。

包括预测结果的训练中的神经网络604、605、606的输出可以被收集并包括在训练数据中以输入到经过训练的神经网络组件62中用于后续一轮的处理。

图7是示出根据本发明的实施例配置、训练和操作的解码器(建议的解码器)的性能的曲线图,如本文所述的,另一bf解码器被配置和训练成解决不平衡类问题,而不解决误码平台问题。如图7所示,根据本发明的实施例的解码器表现出2kb码字中的错误数量显著减少。

如前所述,本发明的实施例提供了一种性能提高的bfldpc解码器和包括这种解码器的存储器系统。实施例提供了一种基于深度学习的学习框架,其通过利用构造的ldpc码的度分布信息来减少这种解码器的误码平台。

虽然为了清楚和理解的目的已经详细地描述前述实施例,但本发明不限于提供的细节。如本领域技术人员根据前述公开内容将理解的,存在实施本发明的许多可选方式。因此,公开的实施例是说明性的而不是限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1