CN111247516A - 一种电路结构、***级芯片SoC、处理数据的方法 - Google Patents

一种电路结构、***级芯片SoC、处理数据的方法 Download PDF

Info

Publication number
CN111247516A
CN111247516A CN201980005047.8A CN201980005047A CN111247516A CN 111247516 A CN111247516 A CN 111247516A CN 201980005047 A CN201980005047 A CN 201980005047A CN 111247516 A CN111247516 A CN 111247516A
Authority
CN
China
Prior art keywords
data
channel
channel controller
crc polynomial
crc
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
CN201980005047.8A
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.)
SZ DJI Technology Co Ltd
Original Assignee
SZ DJI Technology 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 SZ DJI Technology Co Ltd filed Critical SZ DJI Technology Co Ltd
Publication of CN111247516A publication Critical patent/CN111247516A/zh
Pending legal-status Critical Current

Links

Images

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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

提供一种电路结构、***级芯片SoC、处理数据的方法。该电路结构包括一个或多个存储器,多个通道控制器,从一个或多个存储器获取多个待校验数据,每个通道控制器对应一种校验算法;多个通道控制器通过各自对应的校验算法,对多个待校验数据进行处理,并将处理后的数据写入一个或多个存储器。通过多个通道控制器通过各自对应的校验算法处理数据,从而不需要耗费那么多的CPU计算资源,提高了资源利用率,且通过各个通道控制器处理各自的数据,加快了处理数据的速度,提高了数据吞吐率。

Description

一种电路结构、***级芯片SoC、处理数据的方法
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及通信领域,并且更为具体地,涉及一种电路结构、***级芯片SoC、处理数据的方法。
背景技术
在数据传输中,考虑到通信线路的不稳定、外界环境的干扰、仪器故障等原因,接收端收到的数据常常会有一定的错误,这些错误的信号如果被正常采用,用户体验很不好,有时甚至会产生很大的损失。因此,引入校验***非常必要。
***级芯片(system on chip,SoC)***中常用的校验方式有很多,比如,循环冗余校验(cyclic redundancy check,CRC)、校验总和(Checksum)等。
在SoC***中,考虑到中央处理器(central processing unit,CPU)计算能力,一般仅提供一种类型的计算模块,例如提供一种类型的CRC的计算模块或者提供Checksum的计算模块。此外,对于大量数据的校验,比如大量数据的CRC计算和Checksum计算非常耗费宝贵的CPU计算力。
发明内容
本申请提供一种电路结构、***级芯片SoC、处理数据的方法,可以避免耗费过多的CPU计算资源,提高资源利用率和数据吞吐率。
第一方面,提供一种电路结构,包括:一个或多个存储器,多个通道控制器,从所述一个或多个存储器获取多个待校验数据,每个通道控制器对应一种校验算法;所述多个通道控制器通过各自对应的校验算法,对所述多个待校验数据进行处理,并将处理后的数据写入所述一个或多个存储器。
第二方面,提供一种处理数据的方法,包括:在多个通道上接收多个待校验数据,每个通道对应一种校验算法;在所述多个通道上,通过各自对应的校验算法,对所述多个待校验数据进行处理。
第三方面,提供一种***级芯片SoC,包括:多个通道控制器,每个通道控制器对应一种校验算法;所述多个通道控制器通过各自对应的校验算法,对多个待校验数据进行处理。
第四方面,提供一种通道控制器,所述通道控制器应用于上述第一方面中的电路结构中,或者,所述通道控制器应用于上述第三方面中的***级芯片SoC中。
第五方面,提供一种装置,所述装置用于执行上述第二方面中的方法。
第六方面,提供一种装置,所述装置包括存储器和处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得所述处理器执行第二方面的方法。
第七方面,提供一种芯片,所述芯片包括处理模块与通信接口,所述处理模块用于控制所述通信接口与外部进行通信,所述处理模块还用于实现第二方面的方法。
第八方面,提供一种计算机可读存储介质,其上存储有用于执行第二方面中的方法的指令。
第九方面,提供一种包含指令的计算机程序产品,包含用于执行第二方面中的方法的指令。
本申请提供的方案,通过多个通道控制器分别对应一种校验算法,且多个通道控制器通过各自对应的校验算法处理数据,使得不仅可以提高资源利用率,而且可以提高数据吞吐率。
附图说明
图1为本申请实施例提供的电路结构的示意图。
图2为适用于本申请实施例的通道控制器的示意图。
图3为适用于本申请实施例的通道控制器处理数据的示意图。
图4为本申请实施例提供的处理数据的方法的示意性框图。
图5为本申请实施例提供的处理数据的优化装置的示意性框图。
图6为本申请实施例提供的处理数据的优化装置的示意性结构图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
为便于理解,首先介绍本申请实施例涉及的相关技术及概念。
1、循环冗余校验(cyclic redundancy check,CRC):是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。循环冗余检查(CRC)是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,接收设备也执行类似的算法,以保证数据传输的正确性和完整性。
CRC的基本原理可以是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。校验码的具体生成过程为:假设要发送的信息用多项式C(X)表示,将C(x)左移R位(可表示成C(x)*2R),这样C(x)的右边就会空出R位,这就是校验码的位置。用C(x)*2R除以生成多项式G(x)得到的余数就是校验码。
应理解,上述仅是为便于理解简单介绍了一下CRC的一种可能的基本原理,其不对本申请的保护范围造成限定,CRC的具体计算方法和校验方法可以与现有技术相同。为了简洁,这里省略对其具体过程的详细说明。
2、校验和(Checksum):在数据处理和数据通信领域中,用于校验目的的一组数据项的和。这些数据项可以是数字或在计算检验总和过程中看作数字的其它字符串。
Checksum可以包括传输控制协议(transmission control protocol,TCP)校验和(TCP Checksum)、用户数据报协议(user datagram protocol,UDP)校验和(UDPChecksum)。TCP Checksum、TCP Checksum,均可以用于校验报文中的数据。
应理解,Checksum的具体计算方法和校验方法可以与现有技术相同。为了简洁,这里省略对其具体过程的详细说明。
应理解,上述仅示例性地介绍了用于校验数据的两种方式,CRC和Checksum,本申请并未限定于此,任何可以校验数据的方式都可以运用本申请的技术方案。
CRC与Checksum的计算在数据传输、安全验证等上广泛应用。当前,在***级芯片(system on chip,SoC)的设计中,并不支持多种不同CRC和Checksum的并行计算,也就是说,一般仅会提供一种CRC的计算模块或者一种Checksum的计算模块。这样不仅硬件资源利用率较低,且大量数据的CRC和Checksum计算非常耗费宝贵的SoC中的CPU计算力。
本申请提出一种电路结构,可以不需要耗费那么多的CPU计算资源,不仅可以提高资源利用率,而且可以提高数据吞吐率。
图1是本申请实施例提供的一种电路结构10。该电路结构10可以是芯片,如SoC,也可以是具有外壳的设备。
电路结构10可以包括多个通道控制器,如图1所示,电路结构10可以包括第一通道控制器11、第二通道控制器12、第三通道控制器13、第四通道控制器14、第五通道控制器15、第六通道控制器16、第七通道控制器17、第八通道控制器18。以上各通道控制器例如可以通过电路的形式实现。
应理解,图1仅是为便于理解,列举了八个通道控制器,本申请并未限定于此,该电路结构10可以包括更多数量或更少数量的通道控制器。
还应理解,通道控制器仅是一种命名,并不对本申请的保护范围造成限定,本申请并不排除以后采用其他命名的可能。
电路结构10可以包括一个或多个存储器,该一个或多个存储器可用于存储待校验数据,也可用于写入处理后的数据。如图1所示,电路结构10可以包括存储器21,第一通道控制器11、第二通道控制器12、第三通道控制器13、第四通道控制器14、第五通道控制器15、第六通道控制器16、第七通道控制器17、第八通道控制器18从存储器21中串行或者并行的读取待处理数据,不同的通道控制器对应存储器21中不同的地址范围。存储器和各通道控制器可以集成在一个电路上,也可以各自通过单独电路实现,对此不作限定。在其它实施例中,电路结构10也可以包括多个存储器,例如一个通道控制器对应一个存储器,也可以2个通道控制器对应一个存储器,或者3个通道控制器对应一个存储器……等等对此不作限定。
示例性地,存储待校验数据的存储器和写入处理后数据的存储器可以是同一片。例如,通道控制器可以对应一个存储器,该一个存储器用于该通道控制器获取待校验数据,并用于该通道控制器将处理后的数据写入该存储器。例如,以图1为例,第一通道控制器11、第二通道控制器12、第三通道控制器13、第四通道控制器14、第五通道控制器15、第六通道控制器16、第七通道控制器17、第八通道控制器18从存储器21中读取待处理数据,并将处理后的数据串行或者并行地写入存储器21中
示例性地,存储待校验数据的存储器和写入处理后数据的存储器可以是不同片。例如,电路结构10可以包括两个存储器,其中一个存储器用于通道控制器获取待校验数据,另一个存储器用于通道控制器将处理后的数据写入该存储器;又如,电路结构也可以包括多个存储器等,对此,不作限定。
示例性地,该一个或多个存储器的类型可以相同,也可以不同。
示例性地,存储器可以是双倍速率同步动态随机存储器(double data ratesynchronous dynamic random access memory,DDR),也可以是静态随机存取存储器(static random-access memory,SRAM)等,对此,本申请实施例不作限定。
以上对电路结构10所包括的存储器作了示例性说明,本申请对存储器不作严格限定。
下面对电路结构10所包括的通道控制器进行详细介绍。
每个通道控制器对应一种校验算法,该多个通道控制器通过各自对应的校验算法,对多个数据进行处理。
例如,每个通道控制器从存储器中获取数据,并通过对应的校验算法,获取到的数据进行处理,并将处理后的数据写入存储器。
基于上述技术方案,由通道控制器通过各自对应的校验算法处理数据,从而不需要耗费那么多的CPU计算资源,提高了资源利用率,且通过各个通道控制器处理各自的数据,加快了处理数据的速度,提高了数据吞吐率。
如图2所示,每个通道控制器可以对应一个通道,例如,记为通道0、通道1、通道2、通道3、通道4、通道5、通道6、通道7,每个通道控制器均可以在其对应的通道上处理数据。示例性地,每个通道可对应一个或多个存储器。
假设第一通道控制器11对应通道0,也就是说,第一通道控制器11在通道0上处理数据,如计算0、计算i、计算15。假设第二通道控制器12对应通道1,也就是说,第二通道控制器12在通道1上处理数据,如计算0、计算i、计算15。假设第三通道控制器13对应通道2,也就是说,第三通道控制器13在通道2上处理数据,如计算0、计算i、计算15。假设第四通道控制器14对应通道3,也就是说,第四通道控制器14在通道3上处理数据,如计算0、计算i、计算15。假设第五通道控制器15对应通道4,也就是说,第五通道控制器15在通道4上处理数据,如计算0、计算i、计算15。假设第六通道控制器16对应通道5,也就是说,第六通道控制器16在通道5上处理数据,如计算0、计算i、计算15。假设第七通道控制器17对应通道6,也就是说,第七通道控制器17在通道6上处理数据,如计算0、计算i、计算15。假设第八通道控制器18对应通道7,也就是说,第八通道控制器18在通道7上处理数据,如计算0、计算i、计算15。
其中,i=1、2、3、……、14,计算0、计算i、计算15,表示通过每个通道控制器对应的校验算法可以计算多个数据块,每个通道控制器处理的数据可以相同,也可以不同,对此,不作限定。
作为示例,每个通道控制器最多能够同时处理16个不同的数据块。例如图2所示的计算0、计算i、计算15。
校验算法,或者称为校验计算方式,或者称为用于校验数据的类型,其是用于表示对数据进行校验的方式,例如,基于不同生成多项式的CRC、Checksum等。
作为示例,校验算法的类型至少包括:CRC多项式0x07、CRC多项式0x31、CRC多项式0x5e、CRC多项式0x1021、CRC多项式0x8005、CRC多项式0x864CF8、CRC多项式0x04C11DB7、TCP Checksum、UDP Checksum等等。
作为示例,每个通道控制器对应的校验算法的类型可以相同,也可以不同。
一种可能的实现方式,每个通道控制器对应的校验算法的类型可以不同。
例如,第一通道控制器11对应CRC多项式0x07,第二通道控制器12对应CRC多项式0x31,第三通道控制器13对应CRC多项式0x5e。
基于上述技术方案,通过使得通道控制器对应的校验算法的类型不同,可以使得该电路结构作为一个通用电路结构,支持多种不同类型的校验算法,提高硬件利用率。
又一种可能的实现方式,各个通道控制器对应的校验算法的类型可以部分相同。
例如,假设对TCP Checksum这种类型的校验算法的需求较大,则可以设置多个通道控制器对应该CRC多项式0x07,如第一通道控制器11、第二通道控制器12、以及第三通道控制器13均对应CRC多项式0x07。
基于上述技术方案,可以根据需求量的大小等一些因素,来使得多个通道控制器中的部分通道控制器对应的校验算法的类型相同,可以尽可能地满足用户需求,提高用户体验。
作为示例,每个通道控制器对应的校验算法的类型可动态配置。
换句话说,每个通道支持的校验算法的类型可以动态配置。例如,在第一时刻,第一通道控制器11对应CRC多项式0x07,第二时刻,第一通道控制器11对应CRC多项式0x31。又如,在处理第一个数据块时,第一通道控制器11对应CRC多项式0x07,在处理第二个数据块时,第一通道控制器11对应CRC多项式0x31。
基于上述技术方案,可以根据需求灵活调整通道控制器对应的校验算法的类型,可以提高通道控制器的利用率,节省硬件资源。
作为示例,各个通道控制器可以并行处理各自对应的数据。
例如,第一通道控制器11、第二通道控制器12、第三通道控制器13、第四通道控制器14、第五通道控制器15、第六通道控制器16、第七通道控制器17、第八通道控制器18并行处理各自的数据,如并行进行计算0、计算i、计算15。
基于上述技术方案,通过各个通道控制器并行处理数据,可以提高处理数据的效率,提高数据吞吐率。
下面结合图3详细描述通道控制器如何处理数据。
电路结构10还可以包括多个输入模块和多个输出模块,多个输入模块与多个通道控制器一一对应。每个通道控制器通过各自对应的输入模块,读取配置的CRC或Checksum计算的配置信息,自动完成CRC或Checksum的计算,并且通过对应的输出模块输出计算结果。每个通道控制器可以拥有独立的输入信息描述符。
如图3所示,通道控制器读入数据,也就是说,通道控制器读取相应的数据输入配置信息,且通道控制器最多可以连续读取16个数据块的输入配置信息。
每个输入配置信息可以包括与输入数据相关的配置信息,例如该输入配置信息可以包括以下一项或多项信息:待计算数据的起始地址、结果输出地址、初始值、输出异或值等。又如,每个输入配置信息可以由4个32bit数据构成。
其中,待计算数据的起始地址,也就是说,需要进行CRC或者Checksum运算(即该通道控制器对应的校验算法)的数据的首地址。例如,该通道控制器处理16个数据块,即该通道控制器读取16个输入配置信息,为区分,待计算数据的起始地址可以分别记为:待计算数据的起始地址0、待计算数据的起始地址1、待计算数据的起始地址2、……、待计算数据的起始地址15。
其中,结果输出地址,也就是说,通道控制器完成数据运算后,通道控制器输出计算结果的首地址。例如,该通道控制器处理16个数据块,即该通道控制器对应16个结果输出地址,为区分,结果输出地址可以分别记为:结果输出地址0、结果输出地址1、结果输出地址2、……、结果输出地址15。
其中,初始值,例如如果是CRC运算的话,即CRC的初始值。例如,该通道控制器处理16个数据块,即该通道控制器对应16个初始值,以CRC运算为例,为区分,初始值可以分别记为:CRC初始值0、CRC初始值1、CRC初始值2、……、CRC初始值15。
其中,输出异或值,为区分,也可以分别记为:CRC输出异或值0、CRC输出异或值1、CRC输出异或值2、……、CRC输出异或值15。
通道控制器读入数据后,对数据进行处理。通道控制器可以基于其对应的校验算法处理数据。应理解,通道控制器的具体计算方法和校验方法可以与现有技术相同。为了简洁,这里省略对其具体过程的详细说明。
通道控制器完成相应的运算(例如基于生成多项式的CRC运算或者Checksum运算)后,可以将与该结果相关的信息输出,也就是说,会将结果写回到输入配置信息中指定的输出地址。例如,以CRC为例,可以将以下任意一项或多项信息输出:输出的CRC值、输入信息中的CRC初始值、计算的数据长度、CRC配置信息。又如,每个输入配置信息可以由4个32bit数据构成。又如,输出的信息可以由4个32bit数据构成。
当该通道控制器处理16个数据块时,为区分,可以将结果分别记为计算输出CRC0、计算输出CRC 1、计算输出CRC 2、……、计算输出CRC 15;还可以将计算长度分别记为CRC计算长度0、CRC计算长度1、CRC计算长度2、……、CRC计算长度15;还可以将CRC配置信息分别记为CRC配置信息0、CRC配置信息1、CRC配置信息2、……、CRC配置信息15。
应理解,图3以一个通道控制器为例进行了说明,应理解,各个通道控制器均可以基于上述方式处理数据。
还应理解,上述电路结构可加载于一个SoC上,或者,上述实施例中的“电路结构”可替换为“SoC”。
本申请实施例通过多个通道控制器通过各自对应的校验算法处理数据,从而不需要耗费那么多的CPU计算资源,提高了资源利用率,且通过各个通道控制器处理各自的数据,加快了处理数据的速度,提高了数据吞吐率。
上文结合图1至图3描述了本申请的装置实施例,下文将结合图4描述上文装置施例对应的方法实施例。应理解,该方法可由上述电路结构10来实现。方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的内容可以参见前面装置实施例,为了简洁,这里不再赘述。
图4是根据本申请实施例提供的处理数据的方法4的示意性框图。该方法包括如下步骤。
S410,在多个通道上接收多个待校验数据,每个通道对应一种校验算法;
S420,在多个通道上,通过各自对应的校验算法,对多个待校验数据进行处理。
在本申请实施例中,可以由一个电路结构,即该电路结构上的多个通道通过各自对应的校验算法处理数据,从而不需要耗费那么多的CPU计算资源,提高了硬件电路结构的资源利用率,且各个通道处理各自的数据,加快了处理数据的速度,提高了数据吞吐率。
可选地,每个通道对应的校验算法的类型可动态配置。
也就是说,可以动态地配置各个通道对应的校验算法的类型。因此,可以根据需求灵活调整通道对应的校验算法的类型,可以提高通道的利用率,节省硬件资源。
可选地,每个通道对应的校验算法不同。
因此,通过通道对应的校验算法的类型不同,可以使得该电路结构作为一个通用电路结构,支持多种不同类型的校验算法,提高硬件利用率。
可选地,在多个通道上,通过各自对应的校验算法,对多个待校验数据进行处理,包括:在多个通道上,通过各自对应的校验算法,并行处理多个待校验数据。
也就是说,各个通道各自独立、并行计算各自的数据。因此,可以提高处理数据的效率,提高数据吞吐率
可选地,在第一通道上读取第一输入配置信息,第一输入配置信息包括:第一数据的起始地址、第一结果输出地址、初始值、输出异或值;通过第一通道对应的校验算法,计算第一数据,得到第一结果;将以下一项或多项信息输出到第一结果输出地址:第一结果、初始值、计算的数据长度、第一输入配置信息;其中,第一通道为多个通道中的任意一个通道。
可选地,校验算法的类型至少包括:CRC多项式0x07、CRC多项式0x31、CRC多项式0x5e、CRC多项式0x1021、CRC多项式0x8005、CRC多项式0x864CF8、CRC多项式0x04C11DB7、TCP Checksum、UDP Checksum。
可选地,每个通道最多能够同时处理16个数据块。
上文结合图4,描述了本申请的方法实施例,下面结合图5和图6,描述本申请的装置实施例。应理解,装置实施例的描述与方法实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图5是本申请实施例提供的处理数据的装置的示意性框图。该装置500包括如下单元。
收发单元510,用于在多个通道上接收多个待校验数据,每个通道对应一种校验算法;
处理单元520,用于在多个通道上,通过各自对应的校验算法,对多个待校验数据进行处理。
可选地,每个通道对应的校验算法的类型可动态配置。
可选地,每个通道对应的校验算法不同。
可选地,处理单元520具体用于:在多个通道上,通过各自对应的校验算法,并行处理多个待校验数据。
可选地,收发单元510用于:在第一通道上读取第一输入配置信息,第一输入配置信息包括:第一数据的起始地址、第一结果输出地址、初始值、输出异或值;处理单元520用于:通过第一通道对应的校验算法,计算第一数据,得到第一结果;收发单元510用于:将以下一项或多项信息输出到第一结果输出地址:第一结果、初始值、计算的数据长度、第一输入配置信息;其中,第一通道为多个通道中的任意一个通道。
可选地,校验算法的类型至少包括:CRC多项式0x07、CRC多项式0x31、CRC多项式0x5e、CRC多项式0x1021、CRC多项式0x8005、CRC多项式0x864CF8、CRC多项式0x04C11DB7、TCP Checksum、UDP Checksum。
可选地,每个通道最多能够同时处理16个数据块。
如图6所示,本申请实施例还提供一种处理数据的装置600的示意性结构图,该装置600包括处理器610与存储器620,存储器620用于存储指令,处理器610用于执行存储器620存储的指令,并且对存储器620中存储的指令的执行使得,处理器610用于执行上文方法实施例中的处理数据的方法。
对存储器620中存储的指令的执行使得处理器610用于执行上述实施例中收发单元510和处理单元520执行的动作。
可选地,如图6所示,该装置600还可以包括通信接口630,用于与外部设备交互信号。例如,处理器610用于控制接口630进行接收和/或发送信号。
本申请实施例还提供一种计算机存储介质,其上存储有计算机程序,计算机程序被计算机执行时使得,计算机执行上文如图4所示方法实施例中的方法。
本申请实施例还提供一种包含指令的计算机程序产品,指令被计算机执行时使得计算机执行上文如图4所示方法实施例中的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (27)

1.一种电路结构,其特征在于,包括:
一个或多个存储器;
多个通道控制器,从所述一个或多个存储器获取多个待校验数据,每个通道控制器对应一种校验算法;
所述多个通道控制器通过各自对应的校验算法,对所述多个待校验数据进行处理,并将处理后的数据写入所述一个或多个存储器。
2.根据权利要求1所述的电路结构,其特征在于,
每个通道控制器对应的校验算法的类型可动态配置。
3.根据权利要求1或2所述的电路结构,其特征在于,
每个通道控制器对应的校验算法不同。
4.根据权利要求1至3中任一项所述的电路结构,其特征在于,
所述多个通道控制器并行处理各自对应的待校验数据。
5.根据权利要求1至4中任一项所述的电路结构,其特征在于,
所述电路结构包括多个输入模块和多个输出模块,所述多个输入模块与所述多个通道控制器一一对应,
所述多个通道控制器通过各自对应的校验算法,对多个待校验数据进行处理,包括:
第一通道控制器读取第一输入模块中的第一输入配置信息,所述第一输入配置信息包括:第一数据的起始地址、第一结果输出地址、初始值、输出异或值;
所述第一通道控制器通过对应的校验算法,计算所述第一数据,得到所述第一结果;
所述第一通道控制器将以下一项或多项信息输出到所述第一结果输出地址:所述第一结果、初始值、计算的数据长度、所述第一输入配置信息;
其中,所述第一通道控制器为所述多个通道控制器中的任意一个通道控制器,所述第一通道控制器与所述第一输入模块对应。
6.根据权利要求1至5中任一项所述的电路结构,其特征在于,校验算法的类型至少包括:
循环冗余校验CRC多项式0x07、CRC多项式0x31、CRC多项式0x5e、CRC多项式0x1021、CRC多项式0x8005、CRC多项式0x864CF8、CRC多项式0x04C11DB7、传输控制协议校验和TCPChecksum、用户数据报协议校验和UDP Checksum。
7.根据权利要求1至6中任一项所述的电路结构,其特征在于,
每个通道控制器最多能够同时处理16个数据块。
8.一种处理数据的方法,其特征在于,包括:
在多个通道上接收多个待校验数据,每个通道对应一种校验算法;
在所述多个通道上,通过各自对应的校验算法,对所述多个待校验数据进行处理。
9.根据权利要求8所述的方法,其特征在于,
每个通道对应的校验算法的类型可动态配置。
10.根据权利要求8或9所述的方法,其特征在于,
每个通道对应的校验算法不同。
11.根据权利要求8至10中任一项所述的方法,其特征在于,
所述在所述多个通道上,通过各自对应的校验算法,对所述多个待校验数据进行处理,包括:
在所述多个通道上,通过各自对应的校验算法,并行处理所述多个待校验数据。
12.根据权利要求8至11中任一项所述的方法,其特征在于,
在第一通道上读取第一输入配置信息,所述第一输入配置信息包括:第一数据的起始地址、第一结果输出地址、初始值、输出异或值;
通过所述第一通道对应的校验算法,计算所述第一数据,得到所述第一结果;
将以下一项或多项信息输出到所述第一结果输出地址:所述第一结果、初始值、计算的数据长度、所述第一输入配置信息;
其中,所述第一通道为所述多个通道中的任意一个通道。
13.根据权利要求8至12中任一项所述的方法,其特征在于,校验算法的类型至少包括:
循环冗余校验CRC多项式0x07、CRC多项式0x31、CRC多项式0x5e、CRC多项式0x1021、CRC多项式0x8005、CRC多项式0x864CF8、CRC多项式0x04C11DB7、传输控制协议校验和TCPChecksum、用户数据报协议校验和UDP Checksum。
14.根据权利要求8至13中任一项所述的方法,其特征在于,
每个通道最多能够同时处理16个数据块。
15.一种***级芯片SoC,其特征在于,包括:
多个通道控制器,每个通道控制器对应一种校验算法;
所述多个通道控制器通过各自对应的校验算法,对多个待校验数据进行处理。
16.根据权利要求15所述的SoC,其特征在于,
每个通道控制器对应的校验算法的类型可动态配置。
17.根据权利要求15或16所述的SoC,其特征在于,
每个通道控制器对应的校验算法不同。
18.根据权利要求15至17中任一项所述的SoC,其特征在于,
所述多个通道控制器并行处理各自对应的待校验数据。
19.根据权利要求15至18中任一项所述的SoC,其特征在于,
所述SoC包括多个输入模块和多个输出模块,所述多个输入模块与所述多个通道控制器一一对应,
所述多个通道控制器通过各自对应的校验算法,对多个待校验数据进行处理,包括:
第一通道控制器读取第一输入模块中的第一输入配置信息,所述第一输入配置信息包括:第一数据的起始地址、第一结果输出地址、初始值、输出异或值;
所述第一通道控制器通过对应的校验算法,计算所述第一数据,得到所述第一结果;
所述第一通道控制器将以下一项或多项信息输出到所述第一结果输出地址:所述第一结果、初始值、计算的数据长度、所述第一输入配置信息;
其中,所述第一通道控制器为所述多个通道控制器中的任意一个通道控制器,所述第一通道控制器与所述第一输入模块对应。
20.根据权利要求15至19中任一项所述的SoC,其特征在于,校验算法的类型至少包括:
循环冗余校验CRC多项式0x07、CRC多项式0x31、CRC多项式0x5e、CRC多项式0x1021、CRC多项式0x8005、CRC多项式0x864CF8、CRC多项式0x04C11DB7、传输控制协议校验和TCPChecksum、用户数据报协议校验和UDP Checksum。
21.根据权利要求15至20中任一项所述的SoC,其特征在于,
每个通道控制器最多能够同时处理16个数据块。
22.根据权利要求15至21中任一项所述的SoC,其特征在于,
所述多个通道控制器从一个或多个存储器获取所述多个待校验数据,并将处理后的数据写入所述一个或多个存储器。
23.根据权利要求15至22中任一项所述的SoC,其特征在于,包括如权利要求1至7中任一项所述的电路结构。
24.一种通道控制器,其特征在于,所述通道控制器应用于如权利要求1至7中任一项所述的电路结构中,或者,所述通道控制器应用于如权利要求15至22中任一项所述的***级芯片SoC中。
25.一种处理数据的装置,其特征在于,包括:存储器与处理器,所述存储器用于存储指令,所述处理器用于执行所述存储器存储的指令,并且对所述存储器中存储的指令的执行使得,所述处理器用于执行如权利要求8至14中任一项所述的方法。
26.一种计算机存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被计算机执行时使得,所述计算机执行如权利要求8至14中任一项所述的方法。
27.一种包含指令的计算机程序产品,其特征在于,所述指令被计算机执行时使得计算机执行如权利要求8至14中任一项所述的方法。
CN201980005047.8A 2019-03-11 2019-03-11 一种电路结构、***级芯片SoC、处理数据的方法 Pending CN111247516A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/077722 WO2020181473A1 (zh) 2019-03-11 2019-03-11 一种电路结构、***级芯片SoC、处理数据的方法

Publications (1)

Publication Number Publication Date
CN111247516A true CN111247516A (zh) 2020-06-05

Family

ID=70866501

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980005047.8A Pending CN111247516A (zh) 2019-03-11 2019-03-11 一种电路结构、***级芯片SoC、处理数据的方法

Country Status (2)

Country Link
CN (1) CN111247516A (zh)
WO (1) WO2020181473A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115549854A (zh) * 2021-06-30 2022-12-30 上海寒武纪信息科技有限公司 循环冗余校验方法、装置、存储介质以及电子设备
CN116861493A (zh) * 2023-08-31 2023-10-10 上海芯联芯智能科技有限公司 一种校验码生成方法、处理器及电子设备
CN117149510A (zh) * 2023-08-31 2023-12-01 上海先楫半导体科技有限公司 一种循环冗余校核的处理***及处理方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517615A (en) * 1994-08-15 1996-05-14 Unisys Corporation Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred
CN103427846A (zh) * 2013-07-16 2013-12-04 首都师范大学 动态可重构高速串行总线中错误控制方法
CN107656833A (zh) * 2017-11-06 2018-02-02 郑州云海信息技术有限公司 一种crc计算设备及计算方法
CN108108263A (zh) * 2017-12-14 2018-06-01 联想(北京)有限公司 一种固态硬盘的数据处理方法及装置
CN108337069A (zh) * 2018-01-19 2018-07-27 国网辽宁省电力有限公司 一种改进的降低误码率的末端并行分组crc校验***
US10055282B1 (en) * 2015-10-19 2018-08-21 Marvell International Ltd. Method and apparatus of feeding a seed value to a processing unit to initialize cyclic redundancy checking

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5517615A (en) * 1994-08-15 1996-05-14 Unisys Corporation Multi-channel integrity checking data transfer system for controlling different size data block transfers with on-the-fly checkout of each word and data block transferred
CN103427846A (zh) * 2013-07-16 2013-12-04 首都师范大学 动态可重构高速串行总线中错误控制方法
US10055282B1 (en) * 2015-10-19 2018-08-21 Marvell International Ltd. Method and apparatus of feeding a seed value to a processing unit to initialize cyclic redundancy checking
CN107656833A (zh) * 2017-11-06 2018-02-02 郑州云海信息技术有限公司 一种crc计算设备及计算方法
CN108108263A (zh) * 2017-12-14 2018-06-01 联想(北京)有限公司 一种固态硬盘的数据处理方法及装置
CN108337069A (zh) * 2018-01-19 2018-07-27 国网辽宁省电力有限公司 一种改进的降低误码率的末端并行分组crc校验***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115549854A (zh) * 2021-06-30 2022-12-30 上海寒武纪信息科技有限公司 循环冗余校验方法、装置、存储介质以及电子设备
CN116861493A (zh) * 2023-08-31 2023-10-10 上海芯联芯智能科技有限公司 一种校验码生成方法、处理器及电子设备
CN117149510A (zh) * 2023-08-31 2023-12-01 上海先楫半导体科技有限公司 一种循环冗余校核的处理***及处理方法
CN116861493B (zh) * 2023-08-31 2024-03-29 上海芯联芯智能科技有限公司 一种校验码生成方法、处理器及电子设备
CN117149510B (zh) * 2023-08-31 2024-06-04 上海先楫半导体科技有限公司 一种循环冗余校核的处理***及处理方法

Also Published As

Publication number Publication date
WO2020181473A1 (zh) 2020-09-17

Similar Documents

Publication Publication Date Title
US11461017B2 (en) Systems and methods for improving efficiencies of a memory system
CN105706059B (zh) 非易失性存储器中的错误校正
CN105659332B (zh) 存储器中的错误校正
CN111247516A (zh) 一种电路结构、***级芯片SoC、处理数据的方法
KR20110065452A (ko) 데이터 처리 시스템에서 단일화된 캐시에 대한 에러 검출 스킴들
US20120079346A1 (en) Simulated error causing apparatus
US20080162806A1 (en) Storage Accelerator
CN114328316A (zh) Dma控制器、soc***及基于dma控制器的数据搬运方法
WO2020257748A1 (en) Dma-scatter and gather operations for non-contiguous memory
EP4202685A1 (en) Algebraic and deterministic memory authentication and correction with coupled cacheline metadata
CN110569038B (zh) 随机验证参数设计方法、装置、计算机设备及存储介质
CN113918233A (zh) 一种ai芯片控制方法、电子设备及ai芯片
US20040088497A1 (en) Methods and apparatus for exchanging data using cyclic redundancy check codes
CN107111495A (zh) 用于虚拟和接口方法调用的装置和方法
CN112486848A (zh) 一种测试数据的生成方法、装置、芯片及存储介质
US11036595B2 (en) Semiconductor system including fault manager
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN116125853A (zh) 集成电路的安全控制方法、装置、存储介质及电子设备
US11467760B1 (en) Selective erasure decoding for memory devices
CN106940684B (zh) 一种按比特写数据的方法及装置
US7114116B2 (en) Accelerated Galois data integrity crosscheck system and method
CN103198258B (zh) 复合***以及传输数据的方法
CN112820343A (zh) 数据保护方法、装置、计算机设备及存储介质
CN112559466B (zh) 数据处理方法及装置
US20240053904A1 (en) Efficient security metadata encoding in error correcting code (ecc) memory without dedicated ecc bits

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20200605

WD01 Invention patent application deemed withdrawn after publication