CN114830134A - 用于解码经编码数据的递归神经网络和系统 - Google Patents

用于解码经编码数据的递归神经网络和系统 Download PDF

Info

Publication number
CN114830134A
CN114830134A CN202080078529.9A CN202080078529A CN114830134A CN 114830134 A CN114830134 A CN 114830134A CN 202080078529 A CN202080078529 A CN 202080078529A CN 114830134 A CN114830134 A CN 114830134A
Authority
CN
China
Prior art keywords
data
neural network
weights
encoded
encoded data
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.)
Pending
Application number
CN202080078529.9A
Other languages
English (en)
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.)
Micron Technology Inc
Original Assignee
Micron Technology 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 Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN114830134A publication Critical patent/CN114830134A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/544Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
    • G06F7/5443Sum of products
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon 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/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/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] 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/65Purpose and implementation aspects
    • H03M13/6597Implementations using analogue techniques for coding or decoding, e.g. analogue Viterbi 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/13Linear codes

Abstract

本文中所描述的实例利用多层神经网络,例如多层递归神经网络以解码经编码数据(例如,使用一或多个编码技术编码的数据)。所述神经网络和/或递归神经网络可具有非线性映射和分布式处理能力,这在采用所述神经网络解码器和/或递归神经网络的许多系统中可为有利的。以此方式,本文中所描述的神经网络或递归神经网络可用于实施错误校正译码(ECC)解码器。

Description

用于解码经编码数据的递归神经网络和系统
技术领域
本文中所描述的实例涉及用于解码经编码数据的神经网络。描述可与错误校正译码(ECC)存储器一起使用的神经网络的实例,其中神经网络可用于解码经编码数据。
背景技术
错误校正译码(ECC)可用于中多种应用,例如存储器装置或无线基带电路系统。一般来说,错误校正译码技术可用额外位编码原始数据以描述意欲存储、检索和/或发射的原始位。额外位可与原始位一起存储。因此,可存在待存储和/或发射的L位原始数据。编码器可提供N-L个额外位,使得经编码数据可为N位大小的数据。原始位可存储为原始位,或可由编码器改变以形成经编码的N位所存储数据。解码器可解码N位以检索和/或估计原始L位,在一些实例中,可根据ECC技术对所述位进行校正。
位翻转(例如,存储器单元的电荷的改变)在其中可应用ECC的非易失性存储器装置中发生。因此,存储器装置可用复杂错误校正技术操作,其面积和功率需求不断升高;从而导致较高硅成本和较长的固件开发时间。
发明内容
本文中公开了实例设备。在本公开的实施例中,一种设备包含第一级电路系统,其被配置成接收经编码数据、组合经编码数据,并且使用经编码数据的组合和经编码数据的组合的经延迟版本来评估至少一个非线性函数,以提供中间数据。设备进一步包含至少第二级电路系统,其被配置成接收中间数据且使用预定权重集合来组合中间数据以提供经解码数据,所述预定权重集合至少部分地基于与经编码数据相关联的编码技术。
另外或替代地,预定权重集合是基于神经网络对已知经编码数据和已知经编码数据的组合的经延迟版本的训练。
另外或替代地,神经网络被配置成使用预定权重集合来基于所接收经编码数据而提供经解码数据的估计。
另外或替代地,设备进一步包含经编码有可执行指令的存储器,以根据与经编码数据相关联的编码技术选择用于神经网络的预定权重集合。
另外或替代地,编码技术包括理德-所罗门(Reed-Solomon)译码、博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem;BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。
另外或替代地,第一级电路系统和第二级电路系统包括第一多个乘法/累加单元,第一多个乘法/累加单元各自被配置成将经编码数据的至少一个位与预定权重集合中的至少一个相乘且对经编码数据的多个经加权位进行求和。
另外或替代地,第一级电路系统进一步包括第一多个存储器查找单元(MLU),第一多个MLU各自被配置成基于至少一个非线性函数而检索对应于第一多个乘法/累加单元中的相应一个的输出的至少一个中间数据值。
另外或替代地,第一级电路系统进一步包括多个延迟单元,其被配置成基于由第一多个MLU提供的至少一个中间数据值而提供经编码数据的组合的经延迟版本。
另外或替代地,设备进一步包含与第一级电路系统和第二级MAC电路系统通信的存储器,存储器被配置成存储多个预定权重集合,包含所述预定权重集合。
在本公开的另一方面中,一种方法包含:在包括神经网络的计算装置处接收指示各自包括已知经编码数据和经解码数据的数据对集合的信令,其中所述已知经编码数据是用特定编码技术编码;部分地基于信令、与信令相关联的系数乘法结果和与信令相关联的系数乘法结果的经延迟版本而确定用于神经网络以用特定编码技术解码数据的权重集合;从计算装置的存储器接收指示用特定编码技术编码的数据的信令;使用权重使用神经网络来解码数据;以及将经解码数据写入到计算装置的存储器或存储媒体或从计算装置的存储器或存储媒体读取经解码数据。
另外或替代地,进一步包含:使用用其它编码技术编码的额外经编码数据、经解码数据对和基于用其它编码技术编码的额外经编码数据和经解码数据对的额外系数乘法结果的经延迟版本来确定用于神经网络的多个权重集合,其中多个权重集合各自与不同编码技术对应;选择与特定编码技术相关联的权重集合;以及将权重集合提供到神经网络或另一神经网络以用于解码另外经编码数据。
另外或替代地,进一步包含:接收用另一编码技术编码的另外输入数据;选择与另一编码技术相关联的多个权重集合中的所选择权重集合;将所选择权重集合提供到神经网络;以及使用所选择权重集合来解码另外输入数据。
另外或替代地,特定编码技术包括理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。
另外或替代地,使用神经网络来解码另外经编码数据包括使用权重集合中的至少一些来对另外经编码数据的位进行加权,并且对另外经编码数据的所选择经加权位进行求和,以提供中间数据,接着使用权重中的至少一些来对中间数据的位进行加权且对中间数据的所选择经加权位和中间数据的经加权位的所选择经延迟版本进行求和,以提供经解码数据。
另外或替代地,确定权重集合包括选择得到神经网络的输出与已知经解码数据之间的错误函数的最小化值的权重。
另外或替代地,确定权重集合包括使用k均值聚类技术来确定用于神经网络的中心向量。
在本公开的另一方面中,方法包含使用多个系数和额外多个系数来混合在处理单元处接收到的经编码数据,多个系数和额外多个系数两者特定于与经编码数据相关联的编码技术。混合经编码数据包括:在多个乘法/累加处理单元(MAC单元)的MAC单元的第一层处用多个系数计算经编码数据和MAC单元的第一层的相应输出的经延迟版本,以产生第一处理结果;在多个MAC单元的MAC单元的额外层处用额外多个系数计算第一处理结果和第一处理结果的至少部分的经延迟版本,以产生第二处理结果;以及部分地基于第二处理结果而提供输出数据,输出数据表示正经解码的经编码数据,使得输出数据为基于经编码数据的经解码数据的估计。
另外或替代地,使用多个系数来混合在处理单元处接收到的经编码数据进一步包括:在与MAC单元的第一层相关联的相应延迟单元处延迟MAC单元的第一层的相应输出,以产生MAC单元的第一层的相应输出的经延迟版本。
另外或替代地,在多个乘法/累加处理单元(MAC单元)的MAC单元的第一层处用多个系数计算经编码数据和MAC单元的第一层的相应输出的经延迟版本包括:将经编码数据和MAC单元的第一层的相应输出的经延迟版本与多个系数中的相应系数相乘,以产生第一处理结果。
另外或替代地,进一步包含:在处理单元处从耦合的存储器获得指示经编码数据的信令,指示经编码数据的信令包含来自移动通信装置的触摸屏的利用编码技术的指示。
另外或替代地,编码技术包括理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。
附图说明
图1A为根据本文中所描述的实例布置的计算系统的示意性图示。
图1B为根据本文中所描述的实例布置的神经网络的示意性图示。
图1C为根据本文中所描述的实例布置的递归神经网络的示意性图示。
图2A-2C为根据本文中所描述的实例的布置在系统中的处理单元的示意性图示。
图3为根据本文中所描述的实例布置的设备的示意性图示。
图4和5为根据本文中所描述的实例布置的方法的流程图。
具体实施方式
多层神经网络和/或多层递归神经网络可用于解码经编码数据(例如,使用一或多个编码技术编码的数据)。此类神经网络可具有非线性映射和分布式处理能力,这在采用神经网络解码器的许多系统中可为有利的。以此方式,本文中所描述的神经网络可用于实施错误校正译码(ECC)解码器。
编码器可具有L位输入数据(a1、a2、…、aL)。编码器可根据编码技术编码输入数据以提供N位经编码数据(b1、b2、…、bN)。可存储和/或发射经编码数据,或对经编码数据采取某一其它动作,这可将噪声引入到数据中。因此,解码器可接收N位经编码数据(x1、x2、…、xN)的版本。解码器可将所接收经编码数据解码为L位原始数据(y1、y2、…、yL)的估计。
无线基带电路系统的实例可利用错误校正译码(例如低密度奇偶校验译码,LDPC)。编码器可将特定选择的N-L位添加到L位的原始数据中,这可允许解码器解码数据且减少和/或最小化数据存储和发射中由噪声、干扰和其它实际因素引入的错误。
存在多种特定错误校正译码技术,包含低密度奇偶校验译码(LDPC)、理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)和极化译码。然而,使用这些译码技术可能以降低频率和/或信道和/或存储资源使用效率以及增加处理复杂性为代价。举例来说,使用译码技术可能增加可存储和/或发射的数据的量。此外,可能必需处理资源以实施编码和解码。在一些实例中,解码器可为在无线基带电路系统和/或存储器控制器中消耗最多计算资源的处理块中的一个,这可能减少其中高度需要超低功率消耗和超低时延的许多新兴应用中的现有解码方案的合意性,所述新兴应用例如物联网(IoT)和/或触觉互联网。
本文中所描述的实例利用多层神经网络(NN),例如多层递归神经网络(RNN)以解码经编码数据(例如,使用一或多个编码技术编码的数据)。NN和/或RNN具有非线性映射和分布式处理能力,这在采用神经网络解码器的许多系统中可为有利的。举例来说,在其中位翻转可降低存储器存储能力的一些非易失性存储器装置中,NN和/或RNN可提供可经训练以将有噪声的经编码输入数据变换为经解码数据(例如,经解码数据的估计)的更稳固解码器。有利地,此类有噪声的经编码数据可经解码以使得NN或RNN减少和/或改进可由存在于输入数据中的噪声引入的错误。在实例中,此类噪声可在将经编码数据存储在降级(例如,由于位翻转)的存储器中时引入。
图1A为根据本文中所描述的实例的布置在系统100中的电子装置110的示意性图示。电子装置110经由网络120耦合到存储器140,或存储器145,所述存储器中的每一个可存储系数数据。存储在存储器140或存储器145中的系数数据可包含可与在本文中所描述的实例中由电子装置110接收的有噪声的经编码输入数据混合的系数数据。经编码输入数据还可存储在存储器140或145中。电子装置110可从存储器140或存储器145获得经编码输入数据(例如,m个经编码输入位),以将待输出的数据解码为经解码输出数据。
电子装置110还包含处理单元112,其可与模式可配置控制105交互,所述模式可配置控制可经编码有可由处理单元112执行的指令。在一些实施方案中,模式可配置控制105可实施为存储器。如本文中所使用,存储器可指计算机可读媒体,其可包含存储媒体和通信媒体两者。实例计算机可读媒体可包含以任何方法或技术实施以用于存储例如计算机可读指令等信息的易失性和非易失性、可移动和不可移动媒体。模式可配置控制105包含用于将经编码输入数据与系数混合的可执行指令115。举例来说,模式配置控制105可使用电路系统(例如,逻辑)、一或多个处理器、微控制器、控制器或其它元件来实施。模式配置控制105可选择某些权重和/或其它参数(例如,从可存储权重的存储器145)且将所述权重和/或其它参数提供到图2A-2C的乘法/累加单元和/或存储器查找单元中的一或多个,其细节将在描述图1A-1C之后呈现。在一些实例中,存储在存储器145中的权重和/或其它参数可与特定编码技术相关联;例如理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。在操作期间,模式配置控制105可用于基于所指示编码技术而选择存储器140或存储器145中的权重和/或其它参数。举例来说,与经编码输入数据(例如,从存储器140或145获得)相关联的标头信息或另一旗标可指示特定编码技术。在实例中,模式配置控制105可从存储器140或存储器145选择权重和/或其它参数以将经编码输入数据解码为经解码数据。
处理单元112可使用例如具有任何数目个核心的一或多个处理器来实施。在一些实例中,处理单元112可包含电路系统(包含定制电路系统),和/或用于执行本文中所描述的功能的固件。举例来说,电路系统可包含用于执行所描述功能的乘法单元/累加单元,如本文中所描述。处理单元112可为包含但不限于微处理器或数字信号处理器(DSP)或其任何组合的任何类型。举例来说,处理单元112可包含高速缓存的层级(例如一级高速缓存和二级高速缓存)、核心和寄存器。实例处理器核心可包含算术逻辑单元(ALU)、位操纵单元、乘法单元、累加单元、加法器单元、查找表单元、存储器查找单元或其任何组合。本文中例如参考图2A、2B或2C描述处理单元112的实例。
模式可配置控制105例如可经编码有用于将经编码输入数据与系数数据混合的可执行指令115,例如,以在处理单元112处将有噪声的经编码输入数据与系数数据混合。举例来说,在解码来自存储器140或145的有噪声的经编码输入数据的上下文中,用于将经编码输入数据与系数数据混合的可执行指令115可包含用于从存储器140或145获得有噪声的经编码输入数据的指令;以及用以在处理单元112处将所述所获得有噪声的经编码输入数据变换为经解码数据(例如,经解码数据的估计)的指令。举例来说,用于将经编码输入数据与系数数据混合的可执行指令115可进一步包含用于将有噪声的经编码输入数据的部分与系数数据相乘以产生系数乘法结果且累加系数乘法结果以进一步与有噪声的经编码输入数据的另一部分和系数数据相乘且累加的指令,本文中描述其实例。举例来说,为了产生系数乘法结果,乘法/累加处理单元(MAC单元)的第一层可用多个系数计算有噪声的经编码输入数据,以产生此类系数乘法结果,或MAC单元的第一层的第一处理结果。在实例中继续,为了提供输出数据,MAC单元的额外层可用额外多个系数计算第一处理结果,以产生额外系数乘法结果,或MAC单元的额外层的第二处理结果。MAC单元的额外层中的最后一层的MLU可基于第二处理结果而提供经解码数据。因此,用于将经编码输入数据与系数数据混合的可执行指令115可包含用于不同类型的硬件实施方案,例如图2A-2C中所展示的所述硬件实施方案的各种可执行指令集合,以实施有噪声的经编码输入数据与系数数据的此类混合。
用户接口114可以多个输入装置中的任一个予以实施,包含但不限于触摸屏、键盘、鼠标、麦克风或其组合。用户接口114可从用户接收输入,例如,关于用以指定处理单元112的处理模式的处理模式选择。用户接口114可将用户输入传达到模式可配置控制105。实例用户接口114包含串行接口控制器或并行接口控制器,其可被配置成与外部输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)通信。
网络120可包含有线网络或直接有线连接,以及无线媒体,例如声学、射频(RF)、微波、红外(IR)和其它无线媒体。
存储器140和145(或模式可配置控制105,如果实施为存储器)可使用可由处理单元112存取的任何存储媒体来实施。举例来说,RAM、ROM、固态存储器、快闪存储器、磁盘驱动器、系统存储器、光学存储装置或其组合可用于实施模式可配置控制105或存储器140和145。在将经编码数据存储在此类存储器中时,可在存储过程中引入环境或其它噪声。举例来说,噪声可在将经编码数据存储在降级(例如,由于位翻转)的存储器140或145中时引入。因此,从存储器140或145获得的数据可被称作有噪声的经编码输入数据。在一些实施方案中,模式可配置控制105可存储系数与本文中所描述的特定编码技术之间的关联。
电子装置110可使用多种计算系统中的任一个来实施,包含但不限于一或多个台式计算机、服务器、手提式计算机或其它计算机。电子装置110通常包含一或多个处理单元112。计算系统100可使用任何用户通信装置来实施为移动通信装置,包含但不限于台式计算机、手提式计算机、蜂窝式电话、平板计算机、电器、汽车或其组合。电子装置110可经编程有移动应用程序(例如,处理单元112和经编码有指令的计算机可读媒体,所述指令在执行时致使电子装置110执行所描述功能),以用于将有噪声的经编码输入数据与系数数据混合。举例来说,电子装置110可经编程以从移动通信装置的触摸屏接收特定编码技术用于在5G无线发射中接收到的有噪声的经编码输入数据的指示。
应理解,系统100的计算系统的布置可为相当灵活的,并且虽然未展示,但应理解,系统100可包含许多电子装置110,所述电子装置可经由网络120连接可彼此结合操作以执行本文中所描述的系统和方法。在一些实例中,存储器145和/或存储器140可使用相同媒体来实施,并且在其它实例中,可使用不同媒体来实施。举例来说,虽然存储器140在图1A中展示为耦合到网络120,但可了解,存储器140还可由电子装置110实施为模式可配置控制105的部分。另外,虽然图1A中展示单个用户接口114,但可了解,电子装置110可进一步包含任何数目个输入装置、输出装置和/或外围组件。举例来说,用户接口114可为移动通信装置的接口。
图1B为根据本文中所描述的实例布置的神经网络的示意性图示。神经网络150包含三个级(例如,层)。虽然图1B中展示三个级,但在其它实例中,可使用任何数目个级。神经网络150的第一级包含节点168、节点169、节点172和节点174。神经网络150的第二级包含组合器152、组合器154、组合器156和组合器158。神经网络150的第三级包含组合器160、组合器162、组合器164和组合器166。在其它实例中,可使用额外、更少和/或不同组件。
一般来说,可使用包含多个节点级的神经网络。节点可使用处理单元(例如,处理单元112)来实施,所述处理单元可对从先前级接收到的输入执行一或多个函数且将函数的输出提供到神经网络的下一级。处理单元可使用例如一或多个处理器、控制器和/或定制电路系统,例如专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)来实施。在一些实例中,处理单元可使用关于图2A-2C所描述的一或多个处理单元的任何组合来实施。处理单元可实施为组合器和/或求和器和/或用于执行分配到处理单元的函数的任何其它结构。在一些实例中,本文中所描述的神经网络的某些元件执行加权和,例如,可使用一或多个乘法/累加单元来实施,所述乘法/累加单元可使用处理器和/或其它电路系统来实施。在实例中,神经网络150可由电子装置110实施。
在图1B的实例中,神经网络150可具有输入层,其可为包含节点168、节点169、节点172和节点174的神经网络的第一级。节点,节点168、节点169、节点172和节点174可实施线性函数,所述线性函数可将输入信号(例如,x1(n)、x2(n)、...、xm(n))提供到神经网络的另一级(例如,‘隐藏级’或‘隐藏层’)。因此,在图1B的实例中,m位有噪声的经编码输入数据可在操作期间提供到神经网络的输入级(例如,输入层)。在一些实例中,输入数据可为根据编码技术(例如,低密度奇偶校验译码(LDPC)、理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)和/或极化译码)编码的数据。m位输入数据可由神经网络150的第一级输出到神经网络150的下一级。在一些实例中,可不对神经网络150的第一级与第二级之间的连接进行加权,例如,在一些实例中,第二级中的处理单元可从第一级接收未更改的位。输入位中的每一个可提供到下一级中的处理单元中的多个。虽然展示输入层,但在一些实例中,输入层可不存在。
神经网络150可具有下一层,在一些实例中,所述下一层可被称作‘隐藏层’。下一层可包含组合器152、组合器154、组合器156和组合器158,但可使用任何数目个元件。虽然神经网络150的第二级中的处理元件被称作组合器,但通常,第二级中的处理元件可使用在处理元件处接收到的输入数据位来执行非线性激活函数。可使用任何数目个非线性激活函数。可使用的函数的实例包含高斯函数,例如
Figure BDA0003638499310000081
可使用的函数的实例包含多重二次函数,例如f(r)=(r22)1/2。可使用的函数的实例包含逆多重二次函数,例如f(r)=(r22)-1/2。可使用的函数的实例包含薄板样条函数,例如f(r)=r2log(r)。可使用的函数的实例包含分段线性函数,例如
Figure BDA0003638499310000082
Figure BDA0003638499310000083
可使用的函数的实例包含立方近似函数,例如
Figure BDA0003638499310000084
Figure BDA0003638499310000085
在这些实例函数中,σ表示真实参数(例如,缩放参数),并且r为输入向量与当前向量之间的距离。可使用多种度量中的任一个来测量距离,包含欧几里德范数。
‘隐藏层’中的每一元件可接收输入数据的所选择位(例如,一些或全部)作为输入。举例来说,‘隐藏层’中的每一元件可从输入层中的多个所选择元件(例如,一些或全部元件)的输出接收作为输入。举例来说,‘隐藏层’中的每一元件可从输入层中的多个所选择单元(例如,一些或全部单元)的输出接收作为输入。举例来说,组合器152可接收节点168、节点169、节点172和节点174的输出作为输入。虽然在图1B中借助于实例展示单个‘隐藏层’,但任何数目个‘隐藏层’可存在且可串联连接。虽然在‘隐藏层’中展示四个元件,但可使用任何数目,并且其可与输入层中的节点的数目和/或任何其它隐藏层中的节点的数目相同或不同。隐藏层中的节点可使用在隐藏层节点(例如,元件)处接收到的数据的组合来评估至少一个非线性函数。以此方式,隐藏层可在一或多个隐藏层的输出处提供中间数据。
神经网络150可具有输出层。图1B的实例中的输出层可包含组合器160、组合器162、组合器164和组合器166,但可使用任何数目个元件。虽然神经网络150的输出级中的处理元件被称作组合器,但通常,输出中的处理元件可使用从神经网络中的最后‘隐藏层’接收到的数据位来执行任何组合或其它操作。输出层中的每一元件可接收由最后‘隐藏层’提供的数据的所选择位(例如,一些或全部)作为输入。举例来说,组合器160可从组合器152、组合器154、组合器156和组合器158的输出接收作为输入。可对隐藏层与输出层之间的连接进行加权。举例来说,可指定权重W的集合。在一些实例中,对于隐藏层节点与输出层节点之间的每一连接,可存在一个权重。在一些实例中,对于每一隐藏层节点,可存在可应用于由所述节点提供到每一连接输出节点的数据的一个权重。还可使用权重的其它分布。在将输出提供到输出层之前,可将权重与隐藏层的输出相乘。以此方式,输出层可执行经加权输入的求和。因此,神经网络150的输出(例如,输出层的输出)可被称作加权和。输出层可因此使用权重来组合从一或多个隐藏层接收到的中间数据以提供输出数据。
在一些实例中,神经网络150可用于提供表示对应于m个输入位的经处理数据的L个输出位。举例来说,在图1B的实例中,展示m个输入位(x1(n),x2(n),...xm(n)),并且提供L个输出位(y1(n),y2(n),...yL(n))。神经网络150可经训练以使得由隐藏层的元件使用的权重W和/或提供的函数致使神经网络150提供表示对应于m个经编码输入位的经处理数据的输出位。可已用编码技术编码输入位,并且可根据编码技术选择由隐藏层的元件提供的权重和/或函数。因此,神经网络150可训练多次,对于可用于向神经网络150提供输入数据的每一编码技术,训练一次。
可训练神经网络的实例。训练通常是指确定待由神经网络利用以产生输入数据到输出数据的所要变换的权重、函数和/或其它属性的过程。在一些实例中,本文中所描述的神经网络可经训练以将经编码输入数据变换为经解码数据(例如,经解码数据的估计)。在一些实例中,本文中所描述的神经网络可经训练以将有噪声的经编码输入数据变换为经解码数据(例如,经解码数据的估计)。以此方式,神经网络可用于减少和/或改进可由存在于输入数据中的噪声引入的错误。在一些实例中,本文中所描述的神经网络可经训练以将有噪声的经编码输入数据变换为具有减少的噪声的经编码数据。具有减少的噪声的经编码数据可接着提供到任何解码器(例如,神经网络和/或其它解码器)以用于解码经编码数据。以此方式,神经网络可用于减少和/或改进可由噪声引入的错误。
可在各种实例中监督或不监督如本文中所描述的训练。在一些实例中,训练可使用已知对的预期输入和所要输出数据来发生。举例来说,训练可利用已知经编码数据和经解码数据对来训练神经网络以将后续经编码数据解码为经解码数据。在一些实例中,训练可利用已知有噪声的经编码数据和经解码数据对来训练神经网络以将后续有噪声的经编码数据解码为经解码数据。在一些实例中,训练可利用已知有噪声的经编码数据和经编码数据对来训练神经网络以提供与输入有噪声的经编码数据相比具有减少的噪声的经编码数据。训练的实例可包含确定待由例如图1B的神经网络150等神经网络使用的权重。在一些实例中,在训练期间使用如将在操作期间使用的相同神经网络硬件。然而,在一些实例中,可在训练期间使用不同神经网络硬件,并且可存储在训练期间确定的权重、函数或其它属性以供其它神经网络硬件在操作期间使用。
可在数学上描述训练的实例。举例来说,考虑在时刻(n)处的输入数据,给出为:X(n)=[x1(n),x2(n),…xm(n)]T。神经网络150的隐藏层中的每一元件(例如,组合器152、组合器154、组合器156和组合器158)的中心向量可标示为Ci(其中i=1,2,…,H,其中H为隐藏层中的元件数目)。
隐藏层中的每一元件的输出可接着给出为:
hi(n)=fi(‖X(n)-Ci‖)其中(i=1,2,……,H) (1)
可对最后隐藏层与输出层之间的连接进行加权。输出层中的每一元件可具有线性输入-输出关系,使得其可执行求和(例如,加权求和)。因此,在时间n处输出层中的第i个元件的输出可写入为:
Figure BDA0003638499310000101
其中(i=1,2,…,L),并且其中L为输出层的输出的元件数目,并且Wij为隐藏层中的第j个元件与输出层中的第i个元件之间的连接权重。
通常,神经网络架构(例如,图1B的神经网络150)可包含多个元件且可具有分布在输入域中的中心向量,使得神经网络可近似非线性多维函数且因此可近似正向映射两个码字之间(例如,从N位输入到L位输出)的逆映射。通常,由隐藏层中的元件使用的转移函数的选择可不影响神经网络的映射性能,并且因此,在一些实例中,可使用在硬件中可方便地实施的函数。举例来说,薄板样条函数和/或高斯函数可用于各种实例中且均可提供足够近似能力。还可使用其它函数。
可因此由属性(例如,参数)指定神经网络的实例。在一些实例中,两个参数集合可用于指定神经网络:连接权重和中心向量(例如,阈值)。可通过求解优化函数而从所选择输入数据(例如,经编码输入数据)确定参数。实例优化函数可给出为:
Figure BDA0003638499310000111
其中M为经训练输入向量(例如,经训练的经编码数据输入)的数目且Y(n)为使用以上等式(1)和(2)从样本输入向量计算的输出向量,并且
Figure BDA0003638499310000112
为对应所要(例如,已知)输出向量。输出向量Y(n)可写入为:
Y(n)=[y1(n),y2(n),………yL(n)]T
各种方法(例如,梯度下降过程)可用于求解优化函数。然而,在一些实例中,另一方法可用于确定神经网络的参数,所述方法可通常包含两个步骤:(1)确定中心向量Ci(i=1,2,…,H),以及(2)确定权重。
在一些实例中,可从可用样本向量的子集选择中心向量。在此类实例中,隐藏层中的元件的数目可相对较大以覆盖整个输入域。因此,在一些实例中,可能需要应用k均值聚类算法。通常,k均值聚类算法根据吸引子的自然测量分布中心向量(例如,如果数据点的密度高,因此为中心的密度)。k均值聚类算法可寻找聚类中心集合且将训练样本分区为子集。每一聚类中心可与此网络中的H个隐藏层元件中的一个相关联。数据可经分区,其方式为使得训练点指派到具有最近中心的聚类。聚类中心对应于优化函数的最小值中的一个。与k均值聚类算法一起使用的实例优化函数可给出为:
Figure BDA0003638499310000113
其中Bjn为形成HxM矩阵的聚类分区或隶属函数。每一列可表示可用样本向量(例如,已知输入数据),并且每一行可表示聚类。每一列可在对应于最接近于所述训练点的聚类的行中包含单个‘1’,并且在其它地方包含零。
每一聚类的中心可初始化为不同随机选择的训练点。接着,每一训练实例可指派到最接近于其的元件。在已指派所有训练点时,可发现每一聚类的训练点的平均位置,并且聚类中心移动到所述点。聚类可变为隐藏层元件的所要中心。
在一些实例中,对于一些转移函数(例如,高斯函数),缩放因数σ可确定,并且可在确定连接权重之前确定。缩放因数可经选择以覆盖训练点以允许所要网络输出的平滑拟合。通常,这是指处理元件中心的凸包内的任何点可显著激活多于一个元件。为了实现此目标,每一隐藏层元件可在显著程度上激活至少一个其它隐藏层元件。用以确定缩放参数σ的适当方法可基于P最近相邻者启发式,其可给出为
Figure BDA0003638499310000121
其中Cj(其中i=1,2,…,H)为Ci的P最近相邻者。
可另外或替代地在训练期间确定连接权重。在神经网络的实例中,例如图1B的神经网络150,其具有经加权连接的一个隐藏层和为求和单元的输出元件,一旦已确定中心向量和缩放参数,等式(3)的优化函数就可变为线性最小平方问题。线性最小平方问题可写入为
Figure BDA0003638499310000122
其中W={Wij}为连接权重的LxH矩阵,F为隐藏层处理元件的输出的HxM矩阵且其矩阵元件使用Fin=fi(‖X(n)-Ci‖)(i=1,2,……,H;n=1,2,……,M)来计算,并且
Figure BDA0003638499310000123
为所要(例如,已知)输出的LxM矩阵。可从等式(5)发现连接权重矩阵W且可将其写入如下:
Figure BDA0003638499310000124
其中F+为F的伪逆。以此方式,上文可提供用于确定神经网络的连接权重的批量处理方法。其可应用于例如其中所有输入样本集合可同时可用的情况。在一些实例中,每一新样本集合可递归地变得可用,例如在递推最小平方算法(RLS)中。在此类情况下,可如下确定连接权重。
首先,连接权重可初始化为任何值(例如,可使用随机值)。可使用等式(2)来计算输出向量Y(n)。可如下计算输出层中的每一输出元件的错误项ei(n):
Figure BDA0003638499310000125
接着可基于错误项而调整连接权重,例如,如下:
Wij(n+1)=Wij(n)+γei(n)fj(‖X(n)-Ci‖) (7)
(i=1,2,……,L;j=1,2,……,M)
其中γ为可为固定或时变的学习速率参数。
可根据来自输出层的输出和所要(已知)数据计算总错误:
Figure BDA0003638499310000126
过程可通过再次计算新输出向量、错误项并再次调整连接权重来迭代。过程可继续直到识别将错误减小到等于或小于阈值错误的权重为止。
因此,图1B的神经网络150可经训练以确定供神经网络150使用以执行输入和输出数据之间的特定映射的参数(例如,权重)。举例来说,训练神经网络150可一个参数集合以在解码已用特定编码技术(例如,低密度奇偶校验译码(LDPC)、理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)和/或极化译码)编码的经编码数据时使用。举例来说,可使用不同已知输入/输出数据对来多次训练神经网络150(和/或另一神经网络)。多个训练可得到多个连接权重集合。举例来说,可针对多个编码技术中的每一个确定不同的权重集合,例如,可确定一个权重集合以与解码LDPC经编码数据一起使用,并且可确定另一权重集合以与解码BCH经编码数据一起使用。
回顾一下,仅借助于实例提供图1B的神经网络150的结构。其它多层神经网络结构可用于其它实例中。举例来说,如下文关于图1C所描述,可如本文中所公开的利用多层递归神经网络结构。此外,还借助于实例提供本文中所描述的训练过程。举例来说,其它训练技术(例如,学习算法)可用于解决局部最小值问题和/或消失梯度问题。可通过神经网络的离线学习模式获得每一解码器的所确定权重和/或向量,这可有利地提供更多资源和数据。在一些实施方案中,例如如参考图2A-2C所描述,组合器(例如,组合器152、组合器154、组合器156和组合器158)的隐藏层可包含乘法/累加(MAC)单元,其中每一层具有额外MAC单元。已在相应处理元件(例如,相应MAC单元)中累加的中间处理结果的此类实施方案还可包含存储器查找(MLU)单元,其被配置成检索多个系数且提供所述多个系数作为待与输入数据混合的MAC单元的相应层的连接权重(例如,所确定权重)。
在监督学习的实例中,输入训练样本:[x1(n),x2(n),.....xm(n)]可通过将经编码样本[b1(n),b2(n),.....bm(n)]传递通过一些有噪声的信道和/或添加噪声来产生。经监督输出样本可为可用于由编码器产生[b1(n),b2(n),.....bm(n)]的对应原始代码[a1(n),a2(n),.....aL(n)]。一旦在离线模式中确定这些参数,就可利用神经网络(例如,计算等式(2))从输入数据获得所要经解码码字,这可避免传统的错误校正解码算法中使用的复杂迭代和反馈决策。以此方式,本文中所描述的神经网络可提供处理复杂性和/或时延的减小,这是因为一定复杂性已转移到用于确定将使用的权重和/或函数的离线训练过程。此外,相同神经网络(例如,图1B的神经网络150)可用于通过选择通过针对所采用的特定错误校正技术的训练获得的不同权重来解码从多个错误校正编码器中的任一个编码的输入码字。以此方式,神经网络可充当用于多个编码器类型的通用解码器。
图1C为根据本文中所描述的实例布置的递归神经网络的示意性图示。神经网络170包含三个级(例如,层):输入节点171;组合器级173和175,以及输出节点177。虽然在图1C中展示三个级,但在其它实例中,可使用任何数目个级,例如,如参考图2A-2C所描述。在一些实施方案中,神经网络170可具有多个组合器级,使得来自一个组合器级的输出被提供到另一组合器级,直到提供到输出节点177为止。如参考图2A所描述,例如,在神经网络170中可存在多个组合器级。如图1C中所描绘,延迟单元175a、175b和175c可为神经网络170的任选组件。在如本文中所描述的利用此类延迟单元175a、175b和175c时,神经网络170可被称作递归神经网络。
神经网络170的第一级包含输入节点171。输入节点171可在递归神经网络的各种输入处接收输入数据。在一些实例中,输入节点171可包含多个输入节点,例如图1B的输入节点168、节点169、节点172和节点174。神经网络170的第二级为组合器级,其包含组合器单元173a、173b、173c;以及延迟单元175a、175b、175c。因此,组合器单元173和延迟单元175可共同地被称作组合器级。在一些实施方案中,组合器单元173a、173b和173c可例如对应于图1B的组合器152、组合器154和组合器156。因此,如关于图1B所描述,其中处理单元112实施此类组合器,通常,实施第二级中的组合器单元173a-c和延迟单元175a-c的处理单元112可使用来自输入节点171的输入数据(例如,输入信号X1(n)、X2(n)和X3(n))来执行非线性激活函数。神经网络170的第三级包含输出节点177。在一些实例中,输出节点177可包含图1B的组合器160、组合器162和组合器164。因此,在一些实例中,输出节点177可被称作组合器级。在其它实例中,可使用额外、更少和/或不同组件。
递归神经网络170包含延迟单元175a、175b和175c,所述延迟单元基于从相应组合器单元173a-c接收到此类输出数据而产生来自相应组合器单元173a-c的输出的经延迟版本。在实例中,组合器单元173a-c的输出数据可表示为h(n);并且,因此,延迟单元175a-c中的每一个延迟组合器单元173a-c的输出数据,以产生来自组合器单元173a-c的输出数据的经延迟版本,其可表示为h(n-t)。在各种实施方案中,延迟量t还可不同,例如,一个时钟循环、两个时钟循环或一百个时钟循环。也就是说,延迟单元175可接收时钟信号且利用时钟信号来识别延迟量。在图1C的实例中,经延迟版本经延迟一个时间周期,其中‘1’表示时间周期。时间周期可对应于任何数目个时间单位,例如由时钟信号定义的时间周期或由神经网络170的另一元件定义的时间周期。
在图1C的实例中继续,每一延迟单元175a-c将来自组合器单元173a-c的输出数据的经延迟版本作为输入提供到组合器单元173a-c,以任选地作为递归神经网络操作。此类延迟单元175a-c可将来自组合器单元173a-c的节点的输出数据的相应经延迟版本提供到组合器单元173a-c的相应输入单元/节点。在利用来自组合器单元173a-c的输出数据的经延迟版本时,递归神经网络170可在组合器单元173a-c处训练权重,所述权重并入有待由此类递归神经网络170处理的输入数据的时变方面。在一些实例中,一旦训练,输入节点171就接收待在递归神经网络170中解码的经编码输入数据。举例来说,输入数据的每一流可对应于表示时间信号的经编码数据的不同所获得集合。因为RNN 170并入有来自组合器单元173a-c的输出数据的经延迟版本,所以来自组合器单元173a-c的输出数据的经延迟版本提供表示时间性质的反馈信息,其中RNN 170提供用RNN 170更快地解码的输出,所述RNN将时间性质并入到计算输出的经解码数据中。在实例中,输出的经解码数据可表示经解码到根据相关联编码技术编码的原始数据中的经编码数据的估计。
通常,递归神经网络可包含多个节点级。节点可使用处理单元(例如,处理单元112)来实施,所述处理单元可对从先前级接收到的输入执行一或多个函数且将函数的输出提供到递归神经网络的下一级。处理单元可使用例如一或多个处理器、控制器和/或定制电路系统,例如专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)来实施。在一些实例中,处理单元可使用关于图2A-2C所描述的一或多个处理单元112的任何组合来实施。处理单元可实施为组合器和/或求和器和/或用于执行分配到处理单元的函数的任何其它结构。在一些实例中,本文中所描述的神经网络的某些元件执行加权和,例如,可使用一或多个乘法/累加单元来实施,所述乘法/累加单元可使用处理器和/或其它电路系统来实施。在实例中,神经网络170可由电子装置110利用关于图2A-2C所描述的一或多个处理单元的任何组合来实施。
可在数学上描述递归神经网络训练和推断的实例。同样,作为实例,考虑在时刻(n)处的输入数据,给出为:X(n)=[x1(n),x2(n),…xm(n)]T。递归神经网络170的隐藏层中的每一元件(例如,包含图1B的组合器152、组合器154、组合器156和组合器158的组合器单元173)的中心向量可标示为Ci(其中i=1,2,…,H,其中H为隐藏层中的元件数目)。
隐藏层中的每一元件的输出可接着给出为:
hi(n)=fi(‖X(n)+hi(n-t)-Ci‖)其中(i=1,2,……,H) (9)
t可为延迟单元175处的延迟,使得组合器单元173的输出包含组合器单元173的输出的经延迟版本。在一些实例中,这可被称作组合器单元173的反馈。因此,可对最后隐藏层与输出层之间的连接中的每一个进行加权。输出层中的每一元件可具有线性输入-输出关系,使得其可执行求和(例如,加权求和)。因此,在时间n处输出层中的第i个元件的输出可写入为:
Figure BDA0003638499310000161
其中(i=1,2,…,L),并且其中L为输出层的输出的元件数目,并且Wij为隐藏层中的第j个元件与输出层中的第i个元件之间的连接权重。
另外或替代地,虽然已关于包含组合器单元173a-c和延迟单元175a-c的组合器的单级(例如,第二级)描述图1C,但可了解,类似组合器级的多个级可包含在具有不同类型的组合器单元和具有不同延迟的不同类型的延迟单元的神经网络170中,例如,如现在将参考图2A-2C所描述。此外,相同神经网络(例如,图1C的神经网络170)可用于通过选择通过针对所采用的特定错误校正技术的训练获得的不同权重来解码从多个错误校正编码器中的任一个编码的输入码字。以此方式,递归神经网络可充当用于多个编码器类型的通用解码器,类似于神经网络150。有利地,递归神经网络170利用来自组合器单元173a-c的输出数据的经延迟版本,以提供表示时间性质的反馈信息。因而,例如相较于神经网络150,RNN 170可提供用RNN 170更快地解码的输出数据。举例来说,如果特定编码技术在存储在存储器140或存储器145中期间易受噪声(例如,位翻转)影响,则待由RNN 170解码的所获得的经编码数据可包含对所获得的经编码数据产生时变效应(例如,时间性质)的噪声。因此,包含在输出数据的经延迟版本中的反馈信息可改进RNN 170的效率(例如,相较于神经网络150),以将数据解码为解码数据,例如,已根据与编码技术互补的解码技术解码的经编码数据的估计。
图2A为根据本文中所描述的实例的布置在系统200中的处理单元112的示意性图示。此类硬件实施方案(例如,系统200)可用于例如实施一或多个神经网络,例如图1C的递归神经网络170。另外或替代地,在一些实施方案中,处理单元112可从此类计算系统接收输入数据210a、210b和210c。输入数据210a、210b和210c可为从传感器获得的经编码数据或存储在存储器145中的数据。在一些实例中,可获得存储在存储器140或存储器145中的经编码数据作为待提供到其中实施处理单元112的电子装置110的输入数据。因此,所获得的输入数据可为提供到处理单元的输入级(例如,输入层)的m位有噪声的经编码输入数据,其中输入数据210a X1(i)对应于第一位;输入数据210b X2(i)对应于第二位;以及输入数据210cXm(i)对应于第m位。在一些实例中,所获得输入数据可为根据编码技术(例如,低密度奇偶校验译码(LDPC)、理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)和/或极化译码)编码的数据。另外或替代地,在一些实施方案中,由于在将经编码数据存储在存储器140或存储器145中期间所经历的噪声(例如,位翻转),输入数据可为有噪声的。因此,一或多个处理单元112可在电子装置110处实施用于所接收有噪声的经编码输入数据的解码功能性或解码操作。
如输入数据信号的表示中所标示,输入数据210a X1(i,i-1)包含在时间i处的输入数据的当前部分和在时间i-1处的输入数据的先前部分。举例来说,输入数据的当前部分可为在特定时间周期处(例如,在时间i处)获得的样本,而输入数据的先前部分可为在特定时间周期之前的时间周期处(例如,时间i-1处)获得的样本。因此,输入数据的先前部分可被称作输入数据的当前部分的时间延迟版本。举例来说,可以向量或矩阵格式获得每一时间周期处的输入数据的部分。在实例中,时间i处的输入数据的当前部分可为单个值;并且时间i-1处的输入数据的先前部分可为单个值。因此,输入数据210a X1(i,i-1)可为向量。在一些实例中,时间i处的输入数据的当前部分可为向量值;并且时间i-1处的输入数据的先前部分可为向量值。因此,输入数据210a X1(i,i-1)可为矩阵。
处理单元112可包含乘法单元/累加(MAC)单元212a-c、216a-b和220;延迟单元213a-c、217a-b和221;以及存储器查找单元(MLU)214a-c、218a-b和222,其在与从存储器145获得的输入数据混合时可产生输出数据(例如,B(1))230。具有不同元件编号的MAC单元和MLU单元的每一集合可被称作用于处理单元112的组合器的相应级。举例来说,组合器的第一级包含结合延迟单元213a-c操作的MAC单元212a-c和MLU214a-c,以形成第一级或“层”,如关于图1B所参考,具有作为各种组合器级的“隐藏”层。在实例中继续,组合器的第二级包含结合延迟单元217a-b操作的MAC单元216a-b和MLU 218a-b,以形成第二级或隐藏层的第二层。并且,组合器的第三级可为包含结合延迟单元221操作的MAC单元220和MLU222的单个组合器,以形成第三级或隐藏层的第三层。
在根据编码技术编码的输入数据的实例中,在一些实例中,输出数据230B(1)可为对应于经编码输入数据的经解码数据(例如,经解码数据的估计)。举例来说,输出数据可为对应于经编码输入数据但具有减少和/或经修改的噪声的数据。在操作中,处理单元112可提供存储在模式可配置控制105中的指令115以致使处理单元112配置乘法单元212a-c、216a-c和220以将输入数据210a、210b和210c以及来自延迟单元213a-c、217a-b和221的处理结果(例如,MAC单元的相应层的相应输出)的经延迟版本与系数数据相乘和/或累加,以产生输出数据230B(1)。举例来说,模式可配置控制105可执行指令,所述指令致使存储器145将存储在存储器145中的可与特定编码技术相关联的权重和/或其它参数提供到MLU214a-c、218a-b和222,作为用于MAC单元212a-c、216a-b和220以及延迟单元213a-c、217a-b和221的权重。在操作期间,模式配置控制105可用于基于用于处理单元112的所指示编码技术而选择存储器145中的权重和/或其它参数。
如MAC单元的相应层的相应输出(例如,MLU 214a-c、218a-b和222的输出)的表示中所标示,到每一MAC单元212a-c、216a-b和220的输入数据包含时间i处的输入数据的当前部分和时间i-1处的处理结果的经延迟版本。举例来说,输入数据的当前部分可为在特定时间周期处(例如,在时间i处)获得的样本,而处理结果的经延迟版本(例如,在时间i-1处)可从延迟单元213a-c、217a-b和221的输出获得,表示特定时间周期之前的时间周期(例如,作为所引入延迟的结果)。因此,在使用从当前周期和至少一个先前周期两者获得的此类输入数据时,输出数据230B(1)可表示马尔可夫过程,使得来自当前时间周期和先前时间周期的至少数据之间的因果关系可改进用于待由处理单元112的MAC单元和MLU利用的系数数据的训练或利用处理单元112对经编码输入数据或有噪声的经编码输入数据的推断的权重估计的准确性。因此,在利用来自213a-c、217a-b和221的输出数据的经延迟版本时,递归神经网络170提供经解码数据(例如,经解码数据的估计),其可具有减少和/或经修改的噪声。因此,递归神经网络170可更高效地操作以解码有噪声的经编码输入数据,例如,可能已存储在其中已发生位翻转的降级存储器装置的存储器单元中的数据。
在执行用于将经编码输入数据与系数混合的此类指令115的实例中,在MAC单元212a-c和MLU 214a-c的第一层处,乘法单元/累加单元212a-c被配置成将来自对应输入数据210a、210b或210c的至少两个操作数和来自相应延迟单元213a-c的操作数相乘或累加,以产生提供到MLU 214a-c的乘法处理结果。举例来说,乘法单元/累加单元212a-c可执行相乘-累加操作,使得三个操作数M、N和T相乘,并且接着与P相加,以产生存储在其相应MLU214a-c中的P的新版本。因此,MLU 214a锁存乘法处理结果,直到所存储乘法处理结果提供到MAC单元的下一层的时间为止。MLU 214a-c、218a-b和222可由作为例如D、T、SR和/或JK锁存器的存储器查找单元操作的任何数目个处理元件实施。
图2A中所展示的MLU 214a-c、218a-b和222可通常执行从输入到输出的预定非线性映射。举例来说,MLU 214a-c、218a-b和222可用于评估至少一个非线性函数。在一些实例中,所描绘的各种MLU 214a-c、218a-b和222的内容和大小可不同且可为预定的。在一些实例中,图2A中所展示的MLU 214a-c、218a-b和222中的一或多个可由单个合并MLU(例如,表查找)替换。可由MLU 214a-c、218a-b和222执行的非线性映射(例如,函数)的实例包含高斯函数、分段线性函数、S形函数、薄板样条函数、多重二次函数、立方近似和逆多重二次函数。还已参考图1B描述函数的实例。在一些实例中,所选择MLU 214a-c、218a-b和222可被绕过和/或可被解除激活,这可允许MLU和其相关联MAC单元被视为单位增益元件。
另外,在实例中,MLU 214a将处理结果提供到延迟单元213a。延迟单元213a延迟处理结果(例如,h1(i)),以产生处理结果的经延迟版本(例如,h1(i-1)),以作为操作数T输出到MAC单元212a。虽然图2A的延迟单元213a-c、217a-b和221被描绘为引入‘1’的延迟,但可了解,可将不同量的延迟引入到MAC单元的第一层的输出。举例来说,引入‘1’的样本延迟(例如,h1(i-1))的时钟信号可替代地引入‘2’、‘4’或‘100’的样本延迟。在各种实施方案中,延迟单元213a-c、217a-b和221可对应于可使用时钟信号或其它时间定向信号来将延迟引入到处理电路系统的任何数目个处理单元,所述处理单元例如可作为延迟单元操作的触发器(例如,D触发器)和/或一或多个各种逻辑门(例如,AND、OR、NOR等)。
在递归神经网络的第一隐藏层的实例中,MLU 214a-c可检索存储在存储器145中的系数数据,其可为与待应用于MAC单元的第一层应用于来自当前周期的数据和来自先前周期的数据(例如,第一层处理结果的经延迟版本)两者的权重相关联的权重。举例来说,MLU 214a可为检索待应用于操作数M和N两者的一或多个系数(例如,与第一频率相关联的具体系数)以及待应用于操作数T的额外系数的表查表。MLU 214a-c还将所产生乘法处理结果提供到MAC单元216a-b和MLU 218a-b的下一层。分别结合MLU 218a、218b和MLU 222工作的MAC单元216a、216b和MAC单元220的额外层可继续处理乘法结果,以产生输出数据230B(1)。使用此类电路系统布置,可从输入数据210a、210b和210c产生输出数据230B(1)。
有利地,例如,相较于图2B的处理单元112,系统200的处理单元112可利用经减少数目个MAC单元和/或MLU。每一后续层可具有MAC单元、延迟单元和MLU的经减少部分。如所描绘,在图2A中,例如,在m=3时,MAC单元216a-b、延迟单元217a-b和MLU 218a-b的第二层可包含m-1个MAC单元和MLU。因此,处理单元112中的最后一层(包含MAC单元220、延迟单元221和MLU 222)仅包含一个MAC、一个延迟单元和一个MLU。
例如来自存储器145的系数数据可与输入数据210a-210c和处理结果的经延迟版本混合,以产生输出数据230B(1)。举例来说,基于输入数据210a-c和处理结果的经延迟版本的系数数据与输出数据230B(1)的关系可表达为:
Figure BDA0003638499310000191
其中a(m)、a(m-1)、a1为分别用于乘法/累加单元212a-c的第一层和延迟单元213a-c的输出;乘法/累加单元216a-b的第二层和延迟单元217a-b的输出;以及具有乘法/累加单元220的最后一层和延迟单元221的输出的系数;并且其中f(·)为可由存储器查找单元214a-c和218a-b执行的映射关系。如上文所描述,存储器查找单元214a-c和218a-b检索系数以与输入数据和MAC单元的每一层的相应经延迟版本混合。因此,可通过使用存储在存储器中的系数集合来用相应乘法/累加单元操纵输入数据和MAC单元的经延迟版本来提供输出数据。系数集合可与所要编码技术相关联。可由额外乘法/累加单元和额外延迟单元使用存储在存储器中的与所要编码技术相关联的额外系数集合来操纵所得映射数据。在处理单元112的每一级处相乘的系数集合可表示或提供对在专门设计的硬件(例如,FPGA)中的输入数据的处理的估计。
此外,可展示,如由等式(11)表示,在一些实例中,系统200可以任意小错误近似任何非线性映射,并且系统200的映射可由系数a(m)、a(m-1)、a1确定。举例来说,如果指定此类系数数据,则输入数据210a-210c与输出数据230之间的任何映射和处理可由系统200实现。举例来说,系数数据可表示输入数据210a-c到输出数据B(1)230的非线性映射。在一些实例中,系数数据的非线性映射可表示高斯函数、分段线性函数、S型函数、薄板样条函数、多重二次函数、立方近似、逆多重二次函数或其组合。在一些实例中,可解除激活存储器查找单元214a-c、218a-b中的一些或全部。举例来说,存储器查找单元214a-c、218a-b中的一或多个可作为具有单位增益的增益单元操作。如从系统200中所描绘的电路系统布置导出的此类关系可用于训练计算系统200的实体以产生系数数据。举例来说,使用等式(11),计算系统200的实体可将输入数据与输出数据进行比较以产生系数数据。
乘法单元/累加单元212a-c、216a-b和220中的每一个可包含多个乘法器、多个累加单元或和/或多个加法器。可使用ALU来实施乘法单元/累加单元212a-c、216a-b和220中的任一个。在一些实例中,乘法单元/累加单元212a-c、216a-b和220中的任一个可包含一个乘法器和一个加法器,其各自分别执行多个乘法和多个加法。乘法/累加单元212a-c、216a-b和220的输入-输出关系可表示为:
Figure BDA0003638499310000201
其中“I”表示在所述单元中执行乘法的次数,Ci为可从例如存储器145的存储器存取的系数,并且Bin(i)表示来自输入数据210a-c的因数或来自乘法单元/累加单元212a-c、216a-b和220的输出。在实例中,乘法单元/累加单元的集合的输出Bout等于系数数据的总和Ci乘以乘法单元/累加单元的另一集合的输出Bin(i)。Bin(i)也可为输入数据,使得乘法单元/累加单元的集合的输出Bout等于系数数据的总和Ci乘以输入数据。
因此,系统200(例如,递归神经网络170的硬件实施方案)可用于将输入码字(例如,x1(n),x2(n),.....xm(n))转换为输出码字(例如,B(1)。本文中已参考图1C描述转换的实例。举例来说,输入码字可对应于有噪声的经编码输入数据。递归神经网络170的硬件实施方案可利用与对应权重(例如,在训练期间获得的权重)和MLU的乘法来提供输出码字。输出码字可对应于经解码数据和/或经编码输入数据的具有减少和/或改变的噪声的版本。
模式配置控制105可使用电路系统(例如,逻辑)、一或多个处理器、微控制器、控制器或其它元件来实施。模式配置控制105可从存储器145选择某些权重和/或其它参数且将所述权重和/或其它参数提供到图2A的MAC单元和/或MLU中的一或多个。在一些实例中,存储在存储器145中的权重和/或其它参数可与特定编码技术相关联。在操作期间,模式配置控制105可用于在存储器145中选择与特定编码技术(例如,理德-所罗门译码、BCH译码、LDPC译码和/或极化译码)相关联的权重和/或其它参数。递归神经网络170的硬件实施方案可接着利用所选择权重和/或其它参数以充当用于用所述编码技术编码的数据的解码器。模式配置控制105可选择存储在存储器145中的与不同编码技术相关联的不同权重和/或其它参数以更改递归神经网络170的硬件实施方案的操作,以充当用于不同编码技术的解码器。以此方式,递归神经网络170的硬件实施方案可灵活地充当用于多个编码技术的解码器。
图2B为根据本文中所描述的实例的布置在系统250中的处理单元112的示意性图示。此类硬件实施方案(例如,系统250)可用于例如实施一或多个神经网络,例如图1C的递归神经网络170。另外或替代地,在一些实施方案中,处理单元112可从计算系统接收输入数据210a、210b和210c。图2B的类似地描述的元件可如关于图2A所描述而操作,但还可包含如关于图2B所描述的额外特征。举例来说,图2B描绘可如关于图2A的MAC单元212a-c和延迟单元213a-c所描述而操作的MAC单元262a-c和延迟单元263a-c。因此,其数字指示符相对于图2A偏移50的图2B的元件类似地包含处理元件112的元件;例如,MAC单元266a相对于MAC单元216a类似地操作。包含处理元件112的系统250还包含未在图2A的处理元件112中突出显示的额外特征。举例来说,图2B的处理单元112另外包含MAC单元266c和270b-c;延迟单元267c和271b-c;以及MLU 268c和272b-c,使得输出数据提供为275a-c,而非单独地在图2A中提供为B(1)230。有利地,包含处理元件112的系统250可处理输入数据260a-c,以产生具有较大精确度的输出数据275a-c。举例来说,输出数据275a-c可用在MLU 268c处检索且由额外MAC单元266c和270b-c以及额外延迟单元267c和271b-c相乘和/或累加的额外系数处理输入数据260a-260c。举例来说,此类额外处理可得到关于提供作为经解码数据的估计的输出数据更精确的输出数据(例如,相较于从图2A的处理单元112获得的输出数据)。在其中板空间(例如,印刷电路板)不为设计中的主要因素的实施方案中,相较于图2A的处理单元112的实施方案,图2B的处理单元112的实施方案可为合乎需要的;在一些实施方案中,由于具有比图2B的处理单元112的元件更少的元件,所述图2A的所述处理单元的所述实施方案可占据更少板空间。
虽然在图2A和2B的上下文中将处理元件112描述为单个处理元件112,但特征还可实施在图1A的处理元件112中,使得图2A或2B中的单个处理元件112的描述可互换为如本文中所描述的实例中所实施的处理元件。因此,可了解,虽然参考图2A或2B中的单个处理元件112,但电子装置110可具有多个处理元件112,类似于图1A,以还具有如关于图2A或2B的单个处理元件112所描述的相同特征。
图2C为根据本文中所描述的实例的布置在系统280中的处理单元112的示意性图示。此类硬件实施方案(例如,系统280)可用于例如实施一或多个神经网络,例如图1C的递归神经网络170。另外或替代地,在一些实施方案中,处理器单元112可实施为图1A中的实例中的处理单元112。图2C的类似地描述的元件可如关于图2B所描述而操作,不同之处在于图2B的延迟单元263a-c、267a-c和271a-c。举例来说,图2C描绘可如关于图2B的MAC单元262a-c和延迟单元263a-c所描述而操作的MAC单元282a-c和延迟单元283a-c。因此,其数字指示符相对于图2B偏移20的图2C的元件类似地包含处理元件112的元件;例如,MAC单元286a相对于MAC单元266a类似地操作。
包含处理元件112的系统280还包含未在图2B的处理元件112中突出显示的额外特征。不同于图2B,图2C描绘延迟单元283a、283b和283c。因此,图2C的处理单元说明处理单元112可包含对延迟单元的输入和输出的放置的不同布置,如通过延迟单元283a、283b和283c所说明。举例来说,MLU 288b的输出可提供到延迟单元283b,以产生来自MAC单元的第二层的所述处理结果的经延迟版本,作为到MAC单元的第一层的输入,例如,作为到MAC单元282b的输入。因此,系统280的处理单元112为说明性的,处理结果的经延迟版本可作为输入提供到其它隐藏层,不同于图2B中的系统250的处理单元112,所述图2B展示相应经延迟版本作为输入提供到其中产生所述经延迟版本的同一层(例如,MLU 268b的输出提供到延迟单元267b,以在自其输出处理结果的同一层中为MAC单元266b产生经延迟版本)。因此,在实例中,甚至输出B(n)295c可从最后一个隐藏层提供到第一隐藏层(例如,作为到MAC单元282c的输入)。
有利地,例如,相较于图2A或2B的处理单元112,可作为输入提供到不同或额外隐藏层的处理结果的此类经延迟版本可更佳地补偿实施图2C的一或多个处理单元112的递归神经网络170中的“高阶”存储器效应。举例来说,高阶存储器效应对在递归神经网络170的训练期间使用的前导和滞后包络信号的效应进行建模,以将在处理单元112处获得的有噪声的经编码输入数据变换为经解码数据(例如,经解码数据的估计)。在存储在存储器140或存储器145中时具有噪声(例如,位翻转)或在存储期间经历的其它噪声(例如,散粒或电压噪声)的所获得经编码输入数据可为待由递归神经网络170解码的有噪声的经编码输入数据。在实例中,估计输出数据的递归神经网络170可包含对应于此类前导和滞后包络(例如,包封噪声的各种包络)的处理结果的不同经延迟版本。因此,实施处理单元112并入有此类高阶存储器效应,例如,用于递归神经网络170的推断,以基于输入数据281a-c而提供输出数据295a-c。
虽然在图2A、2B和2C的上下文中将处理元件112描述为单个处理元件112,但特征还可实施在图1A的处理元件112中,使得图2A、2B、2C中的单个处理元件112的描述可互换为如本文中所描述的实例中所实施的处理元件。因此,可了解,虽然参考图2A、2B、2C中的单个处理元件112,但电子装置110可具有多个处理元件112,类似于图1A,以还具有如关于图2A、2B或2C的单个处理元件112所描述的相同特征。
图3为根据本公开的实施例的设备300(例如,集成电路、存储器装置、存储器系统、电子装置或系统、智能手机、平板计算机、计算机、服务器、电器、车辆等)的示意性图示。设备300可通常包含主机302和存储器系统304。
主机302可为主机系统,例如个人手提式计算机、台式计算机、数码相机、移动电话或存储卡读卡器,以及各种其它类型的主机。主机302可包含多个存储器存取装置(例如,多个处理器)。主机302还可为存储器控制器,例如其中存储器系统304为存储器装置(例如,具有裸片上控制器的存储器装置)。
存储器系统304可为固态驱动器(SSD)或其它类型的存储器,并且可包含主机接口306、控制器308(例如,处理器和/或其它控制电路系统)和多个存储器装置314。存储器系统304、控制器308和/或存储器装置314还可单独地视为“设备”。存储器装置314可包含多个固态存储器装置,例如NAND快闪装置,其可提供用于存储器系统304的存储容量。还可使用其它类型的存储器。
控制器308可经由多个信道耦合到主机接口306且耦合到存储器装置314以在存储器系统304与主机302之间传送数据。接口306可呈标准化接口形式。举例来说,在存储器系统304用于设备300中的数据存储时,接口306可为串行高级技术附件(SATA)、外围组件互连高速(PCIe)或通用串行总线(USB)以及其它连接器和接口。通常,接口306提供用于在存储器系统304与具有用于接口306的兼容接收器的主机302之间传递控制、地址、数据和其它信号的接口。
控制器308可与存储器装置314(其在一些实施例中可包含单个裸片上的多个存储器阵列)通信以控制数据读取、写入和擦除操作,以及其它操作。控制器308可包含用于将控制器308耦合到存储器装置314的每一信道(图3中未展示)的离散存储器信道控制器。控制器308可包含例如呈硬件和/或固件形式(例如,一或多个集成电路)和/或呈软件形式以用于控制对存储器装置314的存取和/或用于促进主机302与存储器装置314之间的数据传送的多个组件。
控制器308可包含用于使用一或多个编码技术来编码写入到存储器装置314的数据位的ECC编码器310。ECC编码器310可包含单个奇偶校验(SPC)编码器,和/或代数错误校正电路,例如包含以下的群组中的一个:博斯-乔赫里-霍克文黑姆(BCH)ECC编码器和/或里德所罗门ECC编码器,以及其它类型的错误校正电路。控制器308可进一步包含用于解码经编码数据的ECC解码器312,其可包含识别错误单元、将错误单元转换为擦除和/或校正擦除。存储器装置314可例如包含可从存储器装置314的存储器单元读取所选择数据的一或多个输出缓冲器。输出缓冲器可提供输出数据,所述输出数据可作为经编码输入数据提供到ECC解码器312。图1B的神经网络150和/或图1C的神经网络170(例如,如由图2A-2C的一或多个处理单元实施)可用于实施例如图3的ECC解码器312。在各种实施例中,ECC解码器312可能够解码用于ECC编码器310中的每一类型的编码器的数据。举例来说,图2A、2B或2C的存储器145可存储与可由ECC编码器310使用的多个编码技术相关联的参数,使得神经网络150或递归神经网络170的硬件实施方案可用作‘通用解码器’以使用可用于ECC编码器的多个编码技术中的任一个来解码由ECC编码器310编码的输入数据。
ECC编码器310和ECC解码器312可各自使用例如专用集成电路(ASIC)或其它电路系统等离散组件来实施,或组件可反映由控制器308内的电路系统提供的功能性,其未必具有与控制器308的其它部分分开的离散物理形式。虽然说明为图3中的控制器308内的组件,但ECC编码器310和ECC解码器312中的每一个可在控制器308外部,或具有位于控制器308内的多个组件和位于控制器308外部的多个组件。
存储器装置314可包含存储器单元(例如,非易失性存储器单元)的多个阵列。举例来说,阵列可为具有NAND架构的快闪阵列。然而,实施例不限于特定类型的存储器阵列或阵列架构。可使用NAND架构中的浮栅型快闪存储器单元,但实施例不限于此。单元可为多层级单元(MLC),例如每单元存储三个数据位的三层级单元(TLC)。存储器单元可例如分组为包含多个物理页的多个块。多个块可包含在存储器单元的平面中,并且阵列可包含多个平面。作为一个实例,存储器装置可被配置成每页存储8KB(千字节)用户数据、每块128页用户数据、每平面2048个块,以及每装置16个平面。
根据多个实施例,控制器308可根据允许错误位的识别和所述错误位到擦除的转换的ECC编码器310控制多个所接收数据位的编码。控制器308还可控制将经编码数目个所接收数据位编程到存储器装置314中的存储器单元群组。
图3中所展示的设备可实施在采用处理器和存储器的多种产品中的任一个中,包含例如相机、电话、无线装置、显示器、芯片组、机顶盒、游戏系统、车辆和电器。采用存储器系统的所得装置可得益于本文中所描述的神经网络的实例,以执行其最终用户功能。
从前述应了解,虽然本文中已出于说明的目的描述具体实施例,但可进行各种修改,同时仍保持所要求技术的范围。本文中阐述某些细节以提供对技术的所描述实施例的理解。然而,可在没有这些特定细节中的各种细节的情况下实践其它实例。在一些例子中,不详细展示熟知的电路、控制信号、定时协议、神经网络结构、算法和/或软件操作,以避免不必要地混淆所描述实施例。在不脱离此处呈现的主题的精神或范围的情况下,可利用其它实施例,并且可进行其它改变。
图4为根据本文中所描述的实例布置的方法400的流程图。实例方法可包含框402,其可后接框404,其可后接框406,其可后接框408,其可后接框410。额外、更少和/或不同的框可在其它实例中使用,并且框的次序在其它实例中可为不同的。
框402叙述“接收已知经编码和经解码数据对,所述经编码数据是用特定编码技术编码”。已知经编码和经解码数据对可由计算装置(例如,电子装置110)接收,所述计算装置包含神经网络,例如图1B的神经网络150、图1C的神经网络170(例如,如由图2A-2C的一或多个处理单元实施),和/或图3的ECC解码器312。指示数据对集合的信令可提供到计算装置。
框404可跟随框402。框404叙述“确定用于神经网络以解码用特定编码技术编码的数据的权重集合”。举例来说,可使用在框402中接收到的经编码和经解码数据对来训练神经网络(例如,本文中所描述的神经网络中的任一个)。权重可为数值,其在由神经网络使用时允许神经网络输出对应于用特定编码技术编码的经编码输入数据的经解码数据。权重可例如存储在图2A、2B或2C的存储器145中。在一些实例中,可不执行训练,并且初始权重集合可仅提供到神经网络,例如,基于另一神经网络的训练。
在一些实例中,可接收(例如,在框402中)多个数据对集合,其中每一集合对应于用不同编码技术编码的数据。因此,可确定(例如,在框404中)多个权重集合,每一集合对应于不同编码技术。举例来说,可确定可用于解码根据LDPC译码编码的数据的一个权重集合,同时可确定可用于解码用BCH译码编码的数据的另一权重集合。
框406可跟随框404。框406叙述“接收用特定编码技术编码的数据”。举例来说,可从计算装置的存储器检索用特定编码技术编码的数据(例如,指示数据的信令)和/或使用无线通信接收器来接收所述数据。多种编码技术中的任一个可能已用于编码数据。
框408可跟随框406。框408叙述“使用权重集合来解码数据”。通过使用权重来处理在框406中接收到的可能已在框404中确定的经编码数据,可确定经解码数据。举例来说,本文中所描述的任何神经网络(例如,图1B的神经网络150、图1C的神经网络170(例如,如由图2A-2C的一或多个处理单元实施)和/或图3的ECC解码器312)可用于解码经编码数据。在一些实例中,可选择与用于编码在框406中接收到的数据的特定编码技术相关联的权重集合。权重集合可从多个可用权重集合当中选择,所述集合各自用于解码用不同编码技术编码的数据。
框410可跟随框408。框410叙述“将经解码数据写入到存储器或从存储器读取经解码数据”。举例来说,在框408中解码的数据可写入到存储器,例如图3的存储器装置314。在一些实例中,代替将数据写入到存储器或除将数据写入到存储器之外,经解码数据可发射到另一装置(例如,使用无线通信技术)。虽然框410叙述存储器,但在一些实例中,可使用任何存储装置。
在一些实例中,可针对用不同编码技术编码的数据重复框406-410。举例来说,可在框406中接收用一个特定编码技术(例如,LDPC译码)编码的数据。可选择用于与LDPC译码一起使用且提供到神经网络以用于在框408中进行解码的权重集合。可在框410中获得经解码数据。可接着在框406中接收用不同编码技术(例如,BCH译码)编码的数据。可选择用于与BCH译码一起使用且提供到神经网络以用于在框408中进行解码的另一权重集合。可在框410中获得经解码数据。以此方式,一个神经网络可用于解码已用多个编码技术编码的数据。
图5为根据本文中所描述的实例的方法500的流程图。实例方法500可使用例如图1A中的系统100、图1B的神经网络150、图1C的神经网络170(例如,由图2A-2C的一或多个处理单元实施),和/或图3的ECC解码器312,或前述图中所描绘的任何系统或系统的组合来实施。在一些实例中,实例方法500中的框可由例如图1A的电子装置110的计算装置和/或结合例如图2A、2B或2C的处理单元112的处理单元执行。框504-516中所描述的操作还可作为计算机可执行指令存储在计算机可读媒体中,所述计算机可读媒体例如模式可配置控制105,其存储可执行指令115。
实例方法500可以框504开始,所述框开始执行将经编码输入数据与系数数据例程混合。方法可包含框508,其叙述“获得与编码技术相关联的经编码数据”。如本文中所描述,处理单元可被配置成获得可用各种编码技术编码的多种类型的输入数据,例如已用低密度奇偶校验译码(LDPC)、理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)和/或极化译码编码的数据。在设备300的上下文中,可从存储器装置314获得经编码数据,如关于图3所描述。
框508可后接框512,其叙述“从存储器检索多个系数,所述多个系数与编码技术相关联”。如本文中所描述,处理单元可检索用于与经编码输入数据混合的系数;举例来说,利用存储器查找单元(MLU)。举例来说,存储器可存储(例如,在数据库中)本文中所描述的系数与编码技术之间的关联。举例来说,处理单元可从实施计算装置的存储器部分、从外部计算装置的存储器部分或从在云计算装置中实施的存储器请求系数。反过来,可如由处理单元所请求从存储器检索多个系数。
框512可后接框516,其叙述“在乘法/累加处理单元(MAC单元)的第一层处用多个系数计算经编码数据,以产生第一处理结果”。如本文中所描述,处理单元利用多个系数,使得将系数与经编码输入数据混合产生反映通过图2A、2B或2C的电路系统用系数处理输入数据的输出数据。在递归神经网络(例如,递归神经网络170)的一些实施方案中,MAC单元的第一层的相应输出的经延迟版本以及经编码输入数据经混合以产生输出数据(例如,经解码数据的估计)。举例来说,集成电路中的各种ALU可被配置成作为图2A、2B或2C的电路系统操作,由此将输入数据和MAC单元的第一层的相应输出的经延迟版本与如本文中所描述的系数混合。举例来说,参考图2A,在乘法/累加处理单元(MAC单元)的第一层处,可用多个系数计算输入数据和MAC单元的第一层的相应输出的经延迟版本,以产生第一处理结果。在一些实例中,各种硬件平台可实施图2A、2B或2C的电路系统,例如ASIC、实施为FPGA的部分的DSP或芯片上系统。
框516可后接框520,其叙述“在MAC单元的额外层处用额外多个系数计算第一处理结果,以产生第二处理结果”。如本文中所描述,处理单元利用额外多个系数,使得将系数与某些处理结果混合产生反映通过图2A、2B或2C的电路系统用系数处理输入数据的输出数据。在递归神经网络(例如,递归神经网络170)的一些实施方案中,第一处理结果和第一处理结果的至少部分的经延迟版本经混合以产生输出数据(例如,经解码数据的估计)。举例来说,参考图2A,在乘法/累加处理单元(MAC单元)的第二层处,可用额外多个系数计算第一层的处理结果(例如,乘法处理结果)和所述处理结果的至少部分的经延迟版本,以产生第二处理结果。可用额外多个系数计算第二层的处理结果,以产生输出数据B(1)230。
框520可后接框524,其叙述“提供表示正经解码的经编码数据的输出数据,使得输出数据为基于经编码数据的经解码数据的估计”。如本文中所描述,神经网络150或递归神经网络170提供输出数据作为表示经处理数据的输出位,对应于已根据编码技术解码的经编码输入数据(例如,m个经编码输入位)。因此,本文中所描述的神经网络将经编码输入数据变换为经解码数据(例如,经解码数据的估计)。框524可后接框528,其结束实例方法500。在一些实例中,框512可为任选框。
包含在所描述实例方法400和500中的框是出于说明的目的。在一些实施例中,框可以不同次序执行。在一些其它实施例中,可消除各种框。在又其它实施例中,各种框可划分为额外框、以其它框补充或一起组合为更少的框。预期这些具体框的其它变体,包含框的次序的改变、框的内容拆分或组合为其它框的改变等。
本文中所描述的实例可指“耦合”的各种组件或“提供到某些组件”或“从某些组件接收”的信号。应理解,在一些实例中,组件将一个组件直接耦合到另一组件,而在其它实例中,组件与安置在其之间的中间组件耦合。类似地,信号可在无中间组件的情况下直接提供到所列举组件和/或直接从所列举组件接收,但也可通过中间组件提供到某些组件和/或通过中间组件从某些组件接收。

Claims (21)

1.一种设备,其包括:
第一级电路系统,其被配置成接收经编码数据,组合所述经编码数据,并且使用所述经编码数据的组合和所述经编码数据的所述组合的经延迟版本来评估至少一个非线性函数,以提供中间数据;以及
至少第二级电路系统,其被配置成接收所述中间数据且使用预定权重集合来组合所述中间数据以提供经解码数据,所述预定权重集合至少部分地基于与所述经编码数据相关联的编码技术。
2.根据权利要求1所述的设备,其中所述预定权重集合是基于神经网络对已知经编码数据和所述已知经编码数据的组合的经延迟版本的训练。
3.根据权利要求2所述的设备,其中所述神经网络被配置成使用所述预定权重集合来基于所述所接收经编码数据而提供经解码数据的估计。
4.根据权利要求2所述的设备,其进一步包括经编码有可执行指令的存储器,以根据与所述经编码数据相关联的所述编码技术选择用于所述神经网络的所述预定权重集合。
5.根据权利要求1所述的设备,其中所述编码技术包括理德-所罗门(Reed-Solomon)译码、博斯-乔赫里-霍克文黑姆(Bose-Chaudhuri-Hocquenghem;BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。
6.根据权利要求1所述的设备,其中所述第一级电路系统和所述第二级电路系统包括第一多个乘法/累加单元,所述第一多个乘法/累加单元各自被配置成将所述经编码数据的至少一个位与所述预定权重集合中的至少一个相乘且对所述经编码数据的多个经加权位进行求和。
7.根据权利要求6所述的设备,其中所述第一级电路系统进一步包括第一多个存储器查找单元(MLU),所述第一多个MLU各自被配置成基于所述至少一个非线性函数而检索对应于所述第一多个乘法/累加单元中的相应一个的输出的至少一个中间数据值。
8.根据权利要求1所述的设备,其中所述第一级电路系统进一步包括多个延迟单元,其被配置成基于由所述第一多个MLU提供的所述至少一个中间数据值而提供所述经编码数据的所述组合的所述经延迟版本。
9.根据权利要求1所述的设备,其进一步包括与所述第一级电路系统和所述第二级MAC电路系统通信的存储器,所述存储器被配置成存储多个预定权重集合,包含所述预定权重集合。
10.一种方法,其包括:
在包括神经网络的计算装置处接收指示各自包括已知经编码数据和经解码数据的数据对集合的信令,其中所述已知经编码数据是用特定编码技术编码;
部分地基于所述信令、与所述信令相关联的系数乘法结果和与所述信令相关联的所述系数乘法结果的经延迟版本而确定用于所述神经网络以用所述特定编码技术解码数据的权重集合;
从所述计算装置的存储器接收指示用所述特定编码技术编码的数据的信令;
使用所述权重使用所述神经网络来解码所述数据;以及
将所述经解码数据写入到所述计算装置的存储器或存储媒体或从所述计算装置的存储器或存储媒体读取所述经解码数据。
11.根据权利要求10所述的方法,其进一步包括:
使用用其它编码技术编码的额外经编码数据、经解码数据对和基于用所述其它编码技术编码的所述额外经编码数据和所述经解码数据对的额外系数乘法结果的经延迟版本来确定用于所述神经网络的多个权重集合,其中所述多个权重集合各自与不同编码技术对应;
选择与所述特定编码技术相关联的所述权重集合;以及
将所述权重集合提供到所述神经网络或另一神经网络以用于解码所述另外经编码数据。
12.根据权利要求11所述的方法,其进一步包括:
接收用另一编码技术编码的另外输入数据;
选择与所述另一编码技术相关联的所述多个权重集合中的所选择权重集合;
将所述所选择权重集合提供到所述神经网络;以及
使用所述所选择权重集合来解码所述另外输入数据。
13.根据权利要求10所述的方法,其中所述特定编码技术包括理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。
14.根据权利要求10所述的方法,其中使用所述神经网络来解码所述另外经编码数据包括使用所述权重集合中的至少一些来对所述另外经编码数据的位进行加权,并且对所述另外经编码数据的所选择经加权位进行求和,以提供中间数据,接着使用所述权重中的至少一些来对所述中间数据的位进行加权且对所述中间数据的所选择经加权位和所述中间数据的所述经加权位的所选择经延迟版本进行求和,以提供经解码数据。
15.根据权利要求10所述的方法,其中确定所述权重集合包括选择得到所述神经网络的输出与已知经解码数据之间的错误函数的最小化值的权重。
16.根据权利要求10所述的方法,其中确定所述权重集合包括使用k均值聚类技术来确定用于所述神经网络的中心向量。
17.一种方法,其包括:
使用多个系数和额外多个系数来混合在处理单元处接收到的经编码数据,所述多个系数和所述额外多个系数两者特定于与所述经编码数据相关联的编码技术,其中混合所述经编码数据包括:
在多个乘法/累加处理单元(MAC单元)的MAC单元的第一层处用所述多个系数计算所述经编码数据和MAC单元的所述第一层的相应输出的经延迟版本,以产生第一处理结果;
在所述多个MAC单元的MAC单元的额外层处用所述额外多个系数计算所述第一处理结果和所述第一处理结果的至少部分的经延迟版本,以产生第二处理结果;以及
部分地基于所述第二处理结果而提供输出数据,所述输出数据表示正经解码的所述经编码数据,使得所述输出数据为基于所述经编码数据的经解码数据的估计。
18.根据权利要求17所述的方法,其中使用所述多个系数来混合在所述处理单元处接收到的所述经编码数据进一步包括:
在与MAC单元的所述第一层相关联的相应延迟单元处延迟MAC单元的所述第一层的所述相应输出,以产生MAC单元的所述第一层的所述相应输出的所述经延迟版本。
19.根据权利要求17所述的方法,其中在所述多个乘法/累加处理单元(MAC单元)的MAC单元的所述第一层处用所述多个系数计算所述经编码数据和MAC单元的所述第一层的所述相应输出的所述经延迟版本包括:
将所述经编码数据和MAC单元的所述第一层的所述相应输出的所述经延迟版本与所述多个系数中的相应系数相乘,以产生所述第一处理结果。
20.根据权利要求17所述的方法,其进一步包括:
在所述处理单元处从耦合的存储器获得指示所述经编码数据的信令,指示所述经编码数据的所述信令包含来自移动通信装置的触摸屏的利用所述编码技术的指示。
21.根据权利要求17所述的方法,其中所述编码技术包括理德-所罗门译码、博斯-乔赫里-霍克文黑姆(BCH)译码、低密度奇偶校验(LDPC)译码、极化译码或其组合。
CN202080078529.9A 2019-11-13 2020-10-16 用于解码经编码数据的递归神经网络和系统 Pending CN114830134A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/683,217 US11424764B2 (en) 2019-11-13 2019-11-13 Recurrent neural networks and systems for decoding encoded data
US16/683,217 2019-11-13
PCT/US2020/056151 WO2021096641A1 (en) 2019-11-13 2020-10-16 Recurrent neural networks and systems for decoding encoded data

Publications (1)

Publication Number Publication Date
CN114830134A true CN114830134A (zh) 2022-07-29

Family

ID=75846971

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080078529.9A Pending CN114830134A (zh) 2019-11-13 2020-10-16 用于解码经编码数据的递归神经网络和系统

Country Status (5)

Country Link
US (2) US11424764B2 (zh)
EP (1) EP4058942A4 (zh)
KR (1) KR20220097961A (zh)
CN (1) CN114830134A (zh)
WO (1) WO2021096641A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11922314B1 (en) * 2018-11-30 2024-03-05 Ansys, Inc. Systems and methods for building dynamic reduced order physical models
US11599773B2 (en) 2018-12-27 2023-03-07 Micron Technology, Inc. Neural networks and systems for decoding encoded data
KR20210064723A (ko) * 2019-11-26 2021-06-03 에스케이하이닉스 주식회사 전자 장치 및 이의 동작 방법
JP2021149286A (ja) * 2020-03-17 2021-09-27 キオクシア株式会社 学習装置
US11249723B2 (en) 2020-04-02 2022-02-15 Micron Technology, Inc. Posit tensor processing
KR102541685B1 (ko) * 2020-04-13 2023-06-09 한국과학기술원 재귀 구조를 이용한 예측을 위한 전자 장치 및 그의 동작 방법
US20220224361A1 (en) * 2021-01-11 2022-07-14 Ntwine, Llc Bandwidth constrained communication systems with neural network based detection
US11563449B2 (en) * 2021-04-27 2023-01-24 Micron Technology, Inc. Systems for error reduction of encoded data using neural networks
US11528037B1 (en) * 2021-06-17 2022-12-13 Samsung Electronics Co., Ltd. Hardware architecture for local erasure correction in SSD/UFS via maximally recoverable codes
US11755408B2 (en) 2021-10-07 2023-09-12 Micron Technology, Inc. Systems for estimating bit error rate (BER) of encoded data using neural networks

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7006881B1 (en) * 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
CA2424929C (en) 2000-10-13 2012-04-03 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. A method for supervised teaching of a recurrent artificial neural network
US20060013289A1 (en) * 2002-07-16 2006-01-19 In Kwan Hwang Multistage adaptive parallel interference canceller
US20050228845A1 (en) * 2004-04-12 2005-10-13 Mathstar, Inc. Shift and recode multiplier
JP4903053B2 (ja) * 2004-12-10 2012-03-21 パナソニック株式会社 広帯域符号化装置、広帯域lsp予測装置、帯域スケーラブル符号化装置及び広帯域符号化方法
KR101648236B1 (ko) 2009-02-25 2016-08-12 조지 마이어 컴퍼니, 아이엔씨. 고압용 강화 고무 호스를 위한 개선된 연결구
EP3104564B1 (en) 2015-06-12 2020-05-06 Institut Mines-Télécom Anticipated termination for sequential decoders
CN107925762B (zh) 2015-09-03 2020-11-27 联发科技股份有限公司 基于神经网络的视频编解码处理方法和装置
US9742593B2 (en) 2015-12-16 2017-08-22 Kumu Networks, Inc. Systems and methods for adaptively-tuned digital self-interference cancellation
WO2017136070A1 (en) 2016-02-03 2017-08-10 Google Inc. Compressed recurrent neural network models
US10210862B1 (en) 2016-03-21 2019-02-19 Amazon Technologies, Inc. Lattice decoding and result confirmation using recurrent neural networks
WO2018016051A1 (ja) 2016-07-21 2018-01-25 日産ライトトラック株式会社 車両のフレーム
US10698657B2 (en) 2016-08-12 2020-06-30 Xilinx, Inc. Hardware accelerator for compressed RNN on FPGA
US10552738B2 (en) 2016-12-15 2020-02-04 Google Llc Adaptive channel coding using machine-learned models
JP6758524B2 (ja) * 2017-05-03 2020-09-23 ヴァージニア テック インテレクチュアル プロパティーズ,インコーポレーテッド 適応的無線通信の学習とデプロイメント
US20180357530A1 (en) 2017-06-13 2018-12-13 Ramot At Tel-Aviv University Ltd. Deep learning decoding of error correcting codes
US10749594B1 (en) * 2017-08-18 2020-08-18 DeepSig Inc. Learning-based space communications systems
US20190197549A1 (en) 2017-12-21 2019-06-27 Paypal, Inc. Robust features generation architecture for fraud modeling
CN110737758B (zh) 2018-07-03 2022-07-05 百度在线网络技术(北京)有限公司 用于生成模型的方法和装置
GB2576499A (en) 2018-08-15 2020-02-26 Imperial College Sci Tech & Medicine Joint source channel coding for noisy channels using neural networks
GB2576500A (en) 2018-08-15 2020-02-26 Imperial College Sci Tech & Medicine Joint source channel coding based on channel capacity using neural networks
US11403511B2 (en) 2018-08-23 2022-08-02 Apple Inc. Unsupervised annotation using dual network system with pre-defined structure
US10812449B1 (en) 2018-09-19 2020-10-20 Verisign Method for generating a domain name using a learned information-rich latent space
KR20200059703A (ko) 2018-11-21 2020-05-29 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
US11599773B2 (en) 2018-12-27 2023-03-07 Micron Technology, Inc. Neural networks and systems for decoding encoded data
US11844100B2 (en) * 2019-03-12 2023-12-12 Nec Corporation Virtual radio access network control
US11194886B2 (en) * 2019-05-09 2021-12-07 Applied Materials, Inc. Bit-ordered binary-weighted multiplier-accumulator
US11385864B2 (en) * 2019-07-02 2022-07-12 Facebook Technologies, Llc Counter based multiply-and-accumulate circuit for neural network
US11088712B2 (en) 2019-11-05 2021-08-10 Western Digital Technologies, Inc. Iterative decoder performance prediction using machine learning
US11936452B2 (en) 2020-02-28 2024-03-19 Qualcomm Incorporated Neural network based channel state information feedback
US20210287074A1 (en) 2020-03-12 2021-09-16 Semiconductor Components Industries, Llc Neural network weight encoding
KR20210131114A (ko) 2020-04-23 2021-11-02 한국전자통신연구원 신경망 동기화에 기반한 비밀키 생성 방법 및 장치

Also Published As

Publication number Publication date
EP4058942A4 (en) 2023-07-26
US20210143840A1 (en) 2021-05-13
US11424764B2 (en) 2022-08-23
US20220399904A1 (en) 2022-12-15
WO2021096641A1 (en) 2021-05-20
EP4058942A1 (en) 2022-09-21
KR20220097961A (ko) 2022-07-08

Similar Documents

Publication Publication Date Title
US11424764B2 (en) Recurrent neural networks and systems for decoding encoded data
US11599773B2 (en) Neural networks and systems for decoding encoded data
CN109284822B (zh) 一种神经网络运算装置及方法
CN113032178B (zh) 存储器控制器及快闪存储器的存取方法
EP3651071B1 (en) Computation device and method
US20230163788A1 (en) Systems for error reduction of encoded data using neural networks
US9236886B1 (en) Universal and reconfigurable QC-LDPC encoder
CN117337432A (zh) 用于使用神经网络对经编码数据进行解码的解码器及系统
US11755408B2 (en) Systems for estimating bit error rate (BER) of encoded data using neural networks
CN108665940B (zh) Ecc编码电路、解码电路以及存储器控制器
WO2023124371A1 (zh) 数据处理装置、方法、芯片、计算机设备及存储介质
CN112910470B (zh) 纠错电路以及用于操作纠错电路的方法
US11973513B2 (en) Decoders and systems for decoding encoded data using neural networks
CN111198714B (zh) 重训练方法及相关产品
Lee et al. Implementation of parallel BCH encoder employing tree-type systolic array architecture
US10241851B2 (en) Estimation of error correcting performance of low-density parity-check (LDPC) codes
CN114996646A (zh) 一种基于查找表的运算方法、装置、介质、及电子设备
CN112182495A (zh) 一种基于忆阻器的二元域矩阵运算电路
CN114946144A (zh) 低密度奇偶校验码编码方法和编码器
CN117369767A (zh) 基于全加器的存算架构及智能存算处理器
CN117492692A (zh) 浮点计算方法及存内计算架构
CN116153367A (zh) 存储器装置及其操作方法
CN116263749A (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