CN102265266B - 一种数据地址编码的方法及装置 - Google Patents
一种数据地址编码的方法及装置 Download PDFInfo
- Publication number
- CN102265266B CN102265266B CN201180000780.4A CN201180000780A CN102265266B CN 102265266 B CN102265266 B CN 102265266B CN 201180000780 A CN201180000780 A CN 201180000780A CN 102265266 B CN102265266 B CN 102265266B
- Authority
- CN
- China
- Prior art keywords
- address
- coding
- default
- bit
- transformed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000009795 derivation Methods 0.000 claims description 20
- 230000003068 static effect Effects 0.000 claims description 11
- 238000003491 array Methods 0.000 claims description 3
- 238000012545 processing Methods 0.000 abstract description 11
- 238000004891 communication Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 13
- 238000002474 experimental method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000016571 aggressive behavior Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008023 solidification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0615—Address space extension
- G06F12/063—Address space extension for I/O modules, e.g. memory mapped I/O
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
- G06F17/156—Correlation function computation including computation of convolution operations using a domain transform, e.g. Fourier transform, polynomial transform, number theoretic transform
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/15—Correlation function computation including computation of convolution operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
Abstract
本发明公开一种数据地址编码的方法及装置,涉及通信技术领域,可以有效防止攻击并且在处理bank冲突时需要的资源少,成本低。本发明实施例提供的方案通过多个预设变换多项式,对接收到的所述编码前地址的一个或多个比特位进行异或运算,根据所述异或运算的结果,得到编码后地址。本发明实施例提供的方案适合于对DRAM需要大容量,对性能要求高、可靠性要求高、有防止攻击需求的设计时应用。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种数据地址编码的方法及装置。
背景技术
高端通信芯片通常为了节省面积和成本,使用eDRAM(embedded dynamicrandom access memory,片内动态随机访问存储器),存放QIT(Queue InformationTable,队列信息表项)的存储器Memory通常选用IBM(International BusinessMachines Corporation,国际商业机器公司)的伪双端口(PTP)的eDRAM。但是在所述PTP发生bank(块)冲突时,性能会下降。假如所述PTP不发生bank冲突,能达到600Mpps的写带宽和600Mpps的读带宽,带宽之和为1200Mpps,但是如果所述PTP发生bank冲突,则带宽之和最差可以为300Mpps,这显然严重影响了系统的性能。现有技术中,通过以下方式处理bank冲突:
将编码前的总地址分离出bank地址,将所述bank地址发送到片内的SRAM(Static RAM,具有静止存取功能的内存),所述SRAM内部保存有编码前的地址和编码后的地址一一对应的表项,所述编码前的地址和编码后的地址在所述SRAM内部以具体的地址形式存在,以二进制数表示,即所述编码前的地址既可以表示所述bank地址,也可以表示所述编码前的总地址,所述编码后的地址既可以表示所述bank地址,也可以表示所述编码后的总地址,根据发送到所述SRAM内部的编码前的bank地址查询出一一对应的编码后的bank地址,再经过地址汇聚,得到编码后的总地址。所述编码前的总地址包括所述bank地址。
然而,现有技术中在处理bank冲突时,由于bank地址的位宽最多有5位,位宽小,周期性明显,造成编码后的总地址属于同一个bank的规律性很强,导致抗攻击和抗干扰能力差,并且在查询SRAM的表项时需要占用2N*N(N为比特数)比特容量的SRAM,需要的资源多,成本高。
发明内容
本发明的实施例提供一种数据地址编码的方法及装置,可以有效防止攻击并且在处理bank冲突时需要的资源少,成本低。
为达到上述目的,本发明的实施例采用如下技术方案:
一种数据地址编码的方法,包括:
接收编码前地址;
通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算;
根据所述异或运算的结果,得到编码后地址,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应,所述编码前地址与所述编码后地址一一对应,所述编码后地址不呈现规律性。
一种数据地址编码的装置,包括:
接收单元,用于接收输入的编码前地址;
逻辑推导模块,用于通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,并根据所述异或运算的结果得到编码后地址,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应,所述编码前地址与所述编码后地址一一对应,所述编码后地址不呈现规律性。
本发明实施例提供的一种数据地址编码的方法及装置,将接收到的编码前地址,通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,根据所述异或运算的结果,得到编码后地址。与现有技术中在处理bank冲突时,通过编码前的地址和编码后的地址的一一对应的关系进行查表,造成编码后的总地址属于同一个bank的规律性很强,导致抗攻击和抗干扰能力差相比,本发明实施例提供的方案在处理bank冲突时根据预设变换多项式对编码前地址进行地址变换,得出的编码后的地址是没有规律的,可以有效防止攻击。
同时,本发明实施例提供的方案,如果编码前地址为N比特,在对N比特的编码前地址进行地址变换时所需的资源为N*N比特,与现有技术中在查询SRAM的表项时需要占用2N*N(N为比特数)比特容量的SRAM,花费的资源多,成本高相比,本发明实施例提供的方案需要的资源少,成本低。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施了1提供的一种数据地址编码的方法的流程图;
图2为本发明实施了1提供的一种数据地址编码的装置的框图;
图3为本发明实施了2提供的逻辑推导电路示意图;
图4为本发明实施了2提供的预设变换多项式图表。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供一种数据地址编码的方法,如图1所示,该方法包括:
步骤101,接收编码前地址;
步骤102,通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应;
步骤103,根据所述异或运算的结果,得到编码后地址。
为了实现上述一种数据地址编码的方法,本发明还提供一种数据地址编码的装置,如图2所示,该装置包括:接收单元201,逻辑推导模块202。
接收单元201,用于接收输入的编码前地址;
逻辑推导模块202,用于通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,并根据所述异或运算的结果得到编码后地址,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应。
本发明实施例提供的一种数据地址编码的方法及装置,通过逻辑推导模块从多个预设变换多项式中选择不同的变换多项式,对输入的编码前地址的的一个或多个比特位进行异或运算,获得编码后的地址,通过实验数据可以看出得到的编码后的地址是随机的。与现有技术中在处理bank冲突时,编码前的地址和编码后的地址是一一对应的关系,进行查表得出的编码后的地址属于同一个bank的规律性很强,导致抗攻击和抗干扰能力差相比,本发明实施例提供的方案在处理bank冲突时根据预设变换多项式对编码前地址进行地址变换,得出的编码后的地址是没有规律的,可以有效防止攻击。
同时,本发明实施例提供的方案,如果编码前地址为N比特,在对所述N比特的编码前地址进行地址变换时所需的资源为N*N比特,与现有技术中在查询SRAM的表项时需要占用2N*N比特容量的SRAM,花费的资源多,成本高相比,本发明实施例提供的方案需要的资源少,成本低。
实施例2
本发明实施例提供的方案以128K个QIT(Queue Information Table,队列信息表项)的eDRAM(embedded dynamic random access memory,片内动态随机访问存储器),QID(Queue Identification,队列信息中的具体表项)为17比特为例进行描述,所述QID为所述QIT中的具体表项的地址。需要说明的是,本发明提供的一种随机编码的方法可以根据实际需要确定使用eDRAM的片数,从而本发明的适用范围可以拓展为任意比特。本发明可以使用eDRAM,也可以使用DRAM(Dynamic Random Access Memory,动态随机存取存储器),DDR(Double DataRate,双倍速率同步动态随机存储器)。
本实施例提供一种数据地址编码的方法,参照图1所示的数据地址编码的流程图,该方法具体包括:
步骤101,接收编码前地址;
具体地,可以为系统接收输入的N比特的编码前地址,所述N可以为任意的自然数,以便于对超大容量的编码前的地址和较小的容量的编码前的地址进行随机编码,获得编码后的地址。
例如,在本发明中以所述编码前地址为17比特为例进行描述,即编码前的QID为17比特,所述编码前地址中的低三位确定所述QID属于哪一片eDRAM,即编码前的QID中的第0位、第1位、第2位确定所述QID属于哪一片eDRAM。例如所述编码前的QID为00000000001100110,则所述QID属于第6片eDRAM。
所述编码前地址中的次低四位确定是QID属于哪一个Bank,即编码前的QID中的第3位、第4位、第5位、第6位确定所述QID属于哪一个Bank。例如所述编码前的QID为00000000001100110,则所述QID属于第12个Bank。
当所述编码前地址为10比特时,所述编码前地址中的低三位确定所述QID属于哪一片eDRAM,即编码前的QID中的第0位、第1位、第2位确定所述QID属于哪一片eDRAM。例如所述编码前的QID为0001100110,则所述QID属于第6片eDRAM。所述编码前地址中的次低四位确定是QID属于哪一个Bank,即编码前的QID中的第3位、第4位、第5位、第6位确定所述QID属于哪一个Bank。例如所述编码前的QID为0001100110,则所述QID属于第12个Bank。
步骤102,通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应;
所述逻辑推导模块用于对接收到的所述多个编码前地址的一个或多个比特位进行异或运算,以获得随机的编码后的地址,所述逻辑推导模块包含M个N比特的寄存器阵列,所述M个N比特的寄存器阵列是根据多个预设变换多项式静态配置的,M为大于0的自然数,N为大于0的自然数,且M与N相等,即N位的所述编码前地址,需要对应着有N位的编码后地址。
所述预设变换多项式可以为:
out=in16+in15+in14+in13+in11+in9+I,其中,in表示输入变量,out表示输出变量。具体地,根据图3所示的逻辑推导电路进行推导,可以得出以下化简后的17个预设变换多项式,包括:
out16=in9^in11^in13^in14^in15^in16;
out15=in8^in10^in12^in13^in14^in15;
out14=in7^in9^in11^in12^in13^in14;
out13=in6^in8^in10^in11^in12^in13;
out12=in5^in7^in9^in10^in11^in12;
out11=in4^in6^in8^in9^in10^in11;
out10=in3^in5^in7^in8^in9^in10;
out9=in2^in4^in6^in7^in8^in9;
out8=in1^in3^in5^in6^in7^in8;
out7=in0^in2^in4^in5^in6^in7;
out6=in1^in3^in4^in5^in6^in9^in11^in13^in14^in15^in16;
out5=in0^in2^in3^in4^in5^in8^in10^in12^in13^in14^in15;
out4=in1^in2^in3^in4^in7^in12^in15^in16;
out3=in0^in1^in2^in3^in6^in11^in14^in15;
out2=in0^in1^in2^in5^in9^in10^in11^in15^in16;
out1=in0^in1^in4^in6^in8^in10^in11^in13^in16;
out0=in0^in3^in7^in10^in11^in13^in14^in16,其中Out I表示第I位的输出值,所述I的取值为0至16,in J表示第J位的输入值,所述J的取值为0至16,所述输出变量和所述输入变量以二进制的形式表示。
所述化简后的17个预设变换多项式,可以转化成图表,如图4所示。当输入17位的所述编码前的地址时,可依次从高位到低位获得编码后的地址的输出值,例如获得最高位out16的输出值时,依次取输入的所述编码前的地址的第9位、第11位、第13位、第14位、第15位、第16位,进行异或计算,得到的异或值即为编码后的地址的第16位的输出值,同理,依次获得其他位的输出值。
所述静态配置的M个N比特的寄存器阵列可以根据所述化简后的17个逻辑式进行静态配置,其中,M与N相等,在本发明中进行地址变换共需要M个N比特的资源,即需要17*17=289比特的资源,本发明所述M个N比特的寄存器阵列的可配置性很高,并且所述静态配置的M个N比特的寄存器阵列提供了良好的接口。所述多个预设变换多项式静态配置在所述逻辑推导模块中的M个N比特的寄存器阵列上。
步骤303,根据所述异或运算的结果,得到编码后地址。
通过对所述289比特的寄存器的静态配置,根据获得的所述编码前的地址通过所述逻辑推导模块从多个预设变换多项式中选择不同的变换多项式,对所述多个编码前地址的比特位进行异或运算,可以产生随机的一一映射的编码后地址。所述编码后的地址的为17比特,即编码后的QID为17比特,所述编码后地址中的低三位确定所述QID属于哪一片eDRAM,所述编码前地址中的次低四位确定是QID属于哪一个Bank。
根据本发明实施例提供的方案进行实验,获得以下实验数据表:
通过实验数据表可以看出编码前的地址所属的Bank呈现规律性的分布,而采用本发明实施例提供的方案,编码后的地址所属的Bank的分布是完全随机的,这样,可以有效防止攻击。
另外,所述从多个预设变换多项式中选择不同的变换多项式,通过所述逻辑推导模块,对所述多个编码前地址的比特位进行异或运算通过将所述多个预设变换多项式固化在特定的硬件上实现。
具体地,将化简后的17个所述预设变换多项式以计算机语言编辑成可执行的程序,并将所述程序固化在特定的硬件上,所述特定的硬件为可以存储17*17的寄存器阵列和进行逻辑变换的逻辑门电路。通过上电后直接使用所述硬件,可以根据输入的N比特的编码前地址得出编码后的地址,实现有效地防止攻击。
本发明中也可以采用多种变换多项式,所述变换多项式可以实现根据输入的N比特的编码前地址得出编码后的地址,并且所述编码后的地址不再呈现规律性。将所述多种变换多项式固化在特定的硬件上,通过特定选择软件可以为寄存器阵列,对所述特定的硬件进行控制,当进行地址变换时,所述特定选择软件根据随机的效果选定一种变换多项式,根据输入的N比特的编码前地址得出的编码后的地址。其中,也可以使用特定的算法选定一种变换多项式,所述特定的算法可以为满足任意个多项式,具体地,可以为LFSR(Linear FeedbackShift Register线性移位寄存器)算法。
本发明实施例提供的一种数据地址编码的方法,通过多个预设变换多项式,对接收的编码前地址的一个或多个比特位进行异或运算,得到编码后地址。在对N比特的编码前地址进行地址变换时所需的资源为N*N比特,与现有技术中在查询SRAM的表项时需要占用2N*N比特容量的SRAM,花费的资源多,成本高相比,本发明实施例提供的方案需要的资源少,成本低。
同时,本发明实施例提供的方案通过实验数据可以看出得到的编码后的地址是随机的,与现有技术中在处理bank冲突时,通过编码前的地址和编码后的地址的一一对应的关系进行查表,造成编码后的总地址属于同一个bank的规律性很强,导致抗攻击和抗干扰能力差相比,本发明实施例提供的方案在处理bank冲突时根据预设变换多项式对所述N比特的编码前地址进行地址变换,得出的一一映射的编码后的地址是没有规律的,可以有效防止攻击。
为了实现上述一种数据地址编码的方法,本发明还提供一种数据地址编码的装置,参照图2所示,该装置具体为:
接收单元201,用于接收编码前地址;
可以为系统接收输入的N比特的编码前地址,所述N可以为任意的自然数,以便于对超大容量的编码前的地址和较小的容量的编码前的地址进行随机编码,获得编码后的地址。
例如,在本发明中所述编码前地址可以为17比特,即编码前的QID为17比特,所述编码前地址中的低三位确定所述QID属于哪一片eDRAM,即编码前的QID中的第0位、第1位、第2位确定所述QID属于哪一片eDRAM。例如所述编码前的QID为00000000001100110,则所述QID属于第6片eDRAM。
所述编码前地址中的次低四位确定是QID属于哪一个Bank,即编码前的QID中的第3位、第4位、第5位、第6位确定所述QID属于哪一个Bank。例如所述编码前的QID为00000000001100110,则所述QID属于第12个Bank。
当所述编码前地址为10比特时,所述编码前地址中的低三位确定所述QID属于哪一片eDRAM,即编码前的QID中的第0位、第1位、第2位确定所述QID属于哪一片eDRAM。例如所述编码前的QID为0001100110,则所述QID属于第6片eDRAM。所述编码前地址中的次低四位确定是QID属于哪一个Bank,即编码前的QID中的第3位、第4位、第5位、第6位确定所述QID属于哪一个Bank。例如所述编码前的QID为0001100110,则所述QID属于第12个Bank。
逻辑推导模块202,用于通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,并根据所述异或运算的结果得到编码后地址,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应。
当所述编码前地址的比特位为17时,所述多个预设变换多项式包括:
out16=in9^in11^in13^in14^in15^in16;
out15=in8^in10^in12^in13^in14^in15;
out14=in7^in9^in11^in12^in13^in14;
out13=in6^in8^in10^in11^in12^in13;
out12=in5^in7^in9^in10^in11^in12;
out11=in4^in6^in8^in9^in10^in11;
out10=in3^in5^in7^in8^in9^in10;
out9=in2^in4^in6^in7^in8^in9;
out8=in1^in3^in5^in6^in7^in8;
out7=in0^in2^in4^in5^in6^in7;
out6=in1^in3^in4^in5^in6^in9^in11^in13^in14^in15^in16;
out5=in0^in2^in3^in4^in5^in8^in10^in12^in13^in14^in15;
out4=in1^in2^in3^in4^in7^in12^in15^in16;
out3=in0^in1^in2^in3^in6^in11^in14^in15;
out2=in0^in1^in2^in5^in9^in10^in11^in15^in16;
out1=in0^in1^in4^in6^in8^in10^in11^in13^in16;
out0=in0^in3^in7^in10^in11^in13^in14^in16,其中,其中Out I表示第I位的输出值,所述I的取值为0至16,in J表示第J位的输入值,所述J的取值为0至16,所述输出变量和所述输入变量以二进制的形式表示。
所述多个预设变换多项式静态配置在所述逻辑推导模块中的M个N比特的寄存器阵列上,其中,M为大于0的自然数,N为大于0的自然数,所述M与所述N相等。
所述逻辑推导模块包括M个N比特的寄存器阵列,所述M个寄存器阵列与编码后地址中的N个比特位一一对应,所述寄存器阵列用于从所述多个预设变换多项式中选择对应的预设变换多项式,所述对编码前地址的一个或多个比特位进行异或运算,并输出所述异或运算结果,
所述M个寄存器阵列中分别包括N个寄存器,每个寄存器阵列中所包括的寄存器与所述编码前地址的比特位一一对应,所述M个寄存器阵列中的寄存器用于保存编码前地址的对应比特位,并且根据所述对应的预设变换多项式输出异或运算结果。
具体地,本发明以需要17*17=289比特的资源进行描述,根据接收到的所述编码前的地址,通过静态配置的所述289比特寄存器阵列,从多个预设变换多项式中选择不同的变换多项式,对所述多个编码前地址的比特位进行异或运算,可以产生随机的一一映射的编码后地址,根据本发明实施例提供的方案进行实验,获得以下实验数据表:
通过实验数据表可以看出编码前的地址所属的Bank呈现规律性的分布,而采用本发明实施例提供的方案,编码后的地址所属的Bank的分布是完全随机的,这样,可以有效防止攻击。
所述逻辑推导模块的功能还可以通过将所述多个预设变换多项式固化在特定的硬件上实现。
本发明实施例提供的一种数据地址编码的装置,通过逻辑推导模块从多个预设变换多项式中选择不同的变换多项式,对编码前地址的比特位进行异或运,获得编码后的地址。本发明提供的方案,如果编码前地址为N比特,在进行地址变换时需要N*N比特的资源,与现有技术中在查询SRA的表项时需要占用2N*N(N为比特位)比特容量的SRAM相比需要的资源少,成本低。
同时,与现有技术中在处理bank冲突时,通过编码前的地址和编码后的地址的一一对应的关系进行查表,造成编码后的总地址属于同一个bank的规律性很强,导致抗攻击和抗干扰能力差相比,本发明实施例提供的方案在处理bank冲突时,根据预设变换多项式对所述N比特的编码前地址进行地址变换,得出编码后的地址,通过实验数据可以看出所述编码后的地址是没有规律的,可以有效防止攻击。
本发明实施例提供的方案适合于对DRAM需要大容量,对性能要求高、可靠性要求高、有防止攻击需求的设计时都可以应用。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (7)
1.一种数据地址编码的方法,其特征在于,包括:
接收编码前地址,其中,所述编码前地址为N比特,所述N为大于0的自然数;
通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,其中对所述编码前地址的一个或多个比特位进行异或运算时所需的资源为N*N比特;
根据所述异或运算的结果,得到编码后地址,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应,所述编码前地址与所述编码后地址一一对应,所述编码后地址不呈现规律性。
2.根据权利要求1所述的一种数据地址编码的方法,其特征在于,当所述编码前地址的比特位为17时,所述多个预设变换多项式包括:
out16=in9^in11^in13^in14^in15^in16;
out15=in8^in10^in12^in13^in14^in15;
out14=in7^in9^in11^in12^in13^in14;
out13=in6^in8^in10^in11^in12^in13;
out12=in5^in7^in9^in10^in11^in12;
out11=in4^in6^in8^in9^in10^in11;
out10=in3^in5^in7^in8^in9^in10;
out9=in2^in4^in6^in7^in8^in9;
out8=in1^in3^in5^in6^in7^in8;
out7=in0^in2^in4^in5^in6^in7;
out6=in1^in3^in4^in5^in6^in9^in11^in13^in14^in15^in16;
out5=in0^in2^in3^in4^in5^in8^in10^in12^in13^in14^in15;
out4=in1^in2^in3^in4^in7^in12^in15^in16;
out3=in0^in1^in2^in3^in6^in11^in14^in15;
out2=in0^in1^in2^in5^in9^in10^in11^in15^in16;
out1=in0^in1^in4^in6^in8^in10^in11^in13^in16;
out0=in0^in3^in7^in10^in11^in13^in14^in16,
其中,out I为第I位的输出值,所述I的取值为0至16,in J为第J位的输入值,所述J的取值为0至16。
3.一种数据地址编码的装置,其特征在于,包括:
接收单元,用于接收输入的编码前地址,其中,所述编码前地址为N比特,所述N为大于0的自然数;
逻辑推导模块,用于通过多个预设变换多项式,对所述编码前地址的一个或多个比特位进行异或运算,其中对所述编码前地址的一个或多个比特位进行异或运算时所需的资源为N*N比特,并根据所述异或运算的结果得到编码后地址,其中,所述多个预设变换多项式分别与所述编码后地址中的多个比特位一一对应,所述编码前地址与所述编码后地址一一对应,所述编码后地址不呈现规律性。
4.根据权利要求3所述的一种数据地址编码的装置,其特征在于,当所述编码前地址的比特位为17时,所述多个预设变换多项式包括:
out16=in9^in11^in13^in14^in15^in16;
out15=in8^in10^in12^in13^in14^in15;
out14=in7^in9^in11^in12^in13^in14;
out13=in6^in8^in10^in11^in12^in13;
out12=in5^in7^in9^in10^in11^in12;
out11=in4^in6^in8^in9^in10^in11;
out10=in3^in5^in7^in8^in9^in10;
out9=in2^in4^in6^in7^in8^in9;
out8=in1^in3^in5^in6^in7^in8;
out7=in0^in2^in4^in5^in6^in7;
out6=in1^in3^in4^in5^in6^in9^in11^in13^in14^in15^in16;
out5=in0^in2^in3^in4^in5^in8^in10^in12^in13^in14^in15;
out4=in1^in2^in3^in4^in7^in12^in15^in16;
out3=in0^in1^in2^in3^in6^in11^in14^in15;
out2=in0^in1^in2^in5^in9^in10^in11^in15^in16;
out1=in0^in1^in4^in6^in8^in10^in11^in13^in16;
out0=in0^in3^in7^in10^in11^in13^in14^in16,其中,out I为第I位的输出值,所述I的取值为0至16,in J为第J位的输入值,所述J的取值为0至16。
5.根据权利要求3-4中任一个所述的一种数据地址编码的装置,其特征在于,所述多个预设变换多项式静态配置在所述逻辑推导模块中的多个寄存器阵列上。
6.根据权利要求5所述的一种数据地址编码的装置,其特征在于,所述逻辑推导模块包括多个寄存器阵列,所述多个寄存器阵列与编码后地址中的多个比特位一一对应,所述寄存器阵列用于从所述多个预设变换多项式中选择对应的预设变换多项式,对编码前地址的一个或多个比特位进行异或运算,并输出所述异或运算的结果;
所述多个寄存器阵列中分别包括多个寄存器,每个寄存器阵列中所包括的寄存器与所述编码前地址的比特位一一对应,所述多个寄存器阵列中的寄存器用于保存编码前地址的对应比特位,并且根据对应的预设变换多项式输出异或运算的结果。
7.根据权利要求6所述的一种数据地址编码的装置,其特征在于,所述逻辑推导模块还能通过将所述多个预设变换多项式固化在硬件上实现。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2011/075114 WO2011157160A2 (zh) | 2011-06-01 | 2011-06-01 | 一种数据地址编码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102265266A CN102265266A (zh) | 2011-11-30 |
CN102265266B true CN102265266B (zh) | 2014-02-19 |
Family
ID=45010605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180000780.4A Active CN102265266B (zh) | 2011-06-01 | 2011-06-01 | 一种数据地址编码的方法及装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9442845B2 (zh) |
CN (1) | CN102265266B (zh) |
WO (1) | WO2011157160A2 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160314821A1 (en) * | 2015-04-22 | 2016-10-27 | Mediatek Inc. | Method for accessing multi-port memory module, method for increasing write ports of memory module and associated memory controller |
US20160313923A1 (en) * | 2015-04-22 | 2016-10-27 | Mediatek Inc. | Method for accessing multi-port memory module and associated memory controller |
US20170301382A1 (en) * | 2016-04-14 | 2017-10-19 | Cavium, Inc. | Method and apparatus for shared multi-port memory access |
CN111552658B (zh) * | 2020-04-17 | 2022-05-06 | 北京中科银河芯科技有限公司 | 一种通信方法、通信控制装置及i2c总线系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100295760B1 (ko) * | 1998-12-31 | 2001-09-06 | 윤종용 | 디지털시스템의길쌈부호처리장치및방법 |
US6748480B2 (en) * | 1999-12-27 | 2004-06-08 | Gregory V. Chudnovsky | Multi-bank, fault-tolerant, high-performance memory addressing system and method |
US6370611B1 (en) * | 2000-04-04 | 2002-04-09 | Compaq Computer Corporation | Raid XOR operations to synchronous DRAM using a read buffer and pipelining of synchronous DRAM burst read data |
CN100477546C (zh) * | 2005-04-29 | 2009-04-08 | 华为技术有限公司 | 一种卷积编码方法及卷积编码器 |
CN101640543B (zh) * | 2008-07-31 | 2013-06-05 | 深圳市同洲电子股份有限公司 | 一种ldpc码的编码装置及方法 |
CN101854230B (zh) * | 2010-05-10 | 2013-04-24 | 武汉大学 | 一种提高通信系统重传效率的装置及方法 |
-
2011
- 2011-06-01 CN CN201180000780.4A patent/CN102265266B/zh active Active
- 2011-06-01 WO PCT/CN2011/075114 patent/WO2011157160A2/zh active Application Filing
-
2013
- 2013-11-27 US US14/092,213 patent/US9442845B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US9442845B2 (en) | 2016-09-13 |
WO2011157160A2 (zh) | 2011-12-22 |
US20140089633A1 (en) | 2014-03-27 |
CN102265266A (zh) | 2011-11-30 |
WO2011157160A3 (zh) | 2012-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102265266B (zh) | 一种数据地址编码的方法及装置 | |
CN109993273B (zh) | 卷积神经网络的卷积实现方法及相关产品 | |
CN101257313A (zh) | 一种基于fpga实现的解卷积交织器及解卷积交织方法 | |
GB2598250A (en) | Address generation for high-performance vector processing | |
CN108038142A (zh) | 实现多级联动下拉框的方法、电子装置及存储介质 | |
CN105556477A (zh) | 在多端口存储器配置中与主机处理器的存储器模块通信 | |
CN106877980A (zh) | 混合稀疏码多址接入方法 | |
US4800535A (en) | Interleaved memory addressing system and method using a parity signal | |
CN103338107B (zh) | 密钥生成方法及密钥生成装置 | |
CN105183701A (zh) | 1536点fft处理方式及相关设备 | |
CN103905310A (zh) | 报文处理的方法及转发设备 | |
CN101771497A (zh) | 信号传输方法和装置 | |
CN103902471B (zh) | 数据缓存处理方法和装置 | |
CN101944972A (zh) | 编解码方法、装置以及通信系统 | |
CN102437896A (zh) | 一种比特交织及星座映射的方法及装置 | |
CN101924608B (zh) | 一种实现块交织的方法、装置及发射机 | |
CN104901772A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 | |
CN108696342A (zh) | 一种数据处理方法,基站以及接收设备 | |
CN102611667A (zh) | 随机接入检测fft/ifft处理方法及装置 | |
CN105512049A (zh) | 一种存储器数据回收方法、装置及系统 | |
CN103580843A (zh) | 一种信道映射方法和装置 | |
CN113849867B (zh) | 一种加密芯片 | |
CN103399920A (zh) | 键值搜索方法、键值搜索装置及芯片 | |
CN109522149A (zh) | 存储模块 | |
CN104901773A (zh) | Ldpc码字的交织映射方法及解交织解映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |