CN115237831A - 数据传输方法、装置、芯片、电子设备和介质 - Google Patents

数据传输方法、装置、芯片、电子设备和介质 Download PDF

Info

Publication number
CN115237831A
CN115237831A CN202211157656.5A CN202211157656A CN115237831A CN 115237831 A CN115237831 A CN 115237831A CN 202211157656 A CN202211157656 A CN 202211157656A CN 115237831 A CN115237831 A CN 115237831A
Authority
CN
China
Prior art keywords
target addresses
target
addresses
address
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.)
Granted
Application number
CN202211157656.5A
Other languages
English (en)
Other versions
CN115237831B (zh
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.)
Hanbo Semiconductor Shanghai Co ltd
Original Assignee
Hanbo Semiconductor Shanghai 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 Hanbo Semiconductor Shanghai Co ltd filed Critical Hanbo Semiconductor Shanghai Co ltd
Priority to CN202211157656.5A priority Critical patent/CN115237831B/zh
Publication of CN115237831A publication Critical patent/CN115237831A/zh
Application granted granted Critical
Publication of CN115237831B publication Critical patent/CN115237831B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本公开提供一种数据传输方法、装置、芯片、电子设备和介质,涉及计算机技术领域和数据通信技术领域。实现方案为:获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。

Description

数据传输方法、装置、芯片、电子设备和介质
技术领域
本公开涉及计算机技术领域和数据通信技术领域,尤其涉及一种数据传输方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品。
背景技术
计算机系统运行过程中需要执行大量的数据传输操作,数据传输的过程存在信息泄露或被外部改写的可能,会带来安全风险。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种数据传输方法、装置、芯片、电子设备、计算机可读存储介质和计算机程序产品。
根据本公开的一方面,提供了一种数据传输方法。该方法包括:获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。
根据本公开的另一方面,提供了一种数据传输装置。该装置包括:获取单元,被配置用于获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;生成单元,被配置用于响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;确定单元,被配置用于基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及读取单元,被配置用于基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。
根据本公开的又另一方面,提供了一种芯片,包括上述的数据传输装置。
根据本公开的再另一方面,提供了一种电子设备,包括上述的芯片。
根据本公开的再另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述的方法。
根据本公开的再另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的方法。
根据本公开的一个或多个实施例,能够提升数据传输的安全性。
根据在下文中所描述的实施例,本公开的这些和其它方面将是清楚明白的,并且将参考在下文中所描述的实施例而被阐明。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开示例性实施例的数据传输方法的流程图;
图2示出了根据本公开示例性实施例的数据传输方法的部分示例过程的流程图;
图3示出了根据本公开示例性实施例的数据传输过程示意图;
图4示出了根据本公开示例性实施例的数据传输方法的流程图;
图5示出了根据本公开示例性实施例的数据传输装置的结构框图;
图6示出了根据本公开示例性实施例的电子设备的结构框图。
具体实施方式
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
计算机系统中通常包含多个存储器或控制器,在计算机系统的运行过程中需要执行大量的数据传输操作,例如可以是由控制器将数据从某一存储器中读取出来,再根据实际需求执行其他操作。通常而言,存储器中包含多个对应不同地址的存储空间,针对某一存储器的数据读取操作是按照固定的地址顺序来执行的。在这种情况下,每次数据读取过程所执行的都是完全相同的操作,电路运行的时序状态也完全相同,信息泄露或者被外部手段干扰的风险较高,数据传输的安全性较差。
基于此,本公开提出了一种数据传输方法,针对待读取的存储器中的多个地址空间,基于随机的读取顺序来读取每个地址空间中的数据,使得数据读取过程能够更好地抵御攻击手段,提升数据传输的安全性。
图1示出了根据本公开示例性实施例的数据传输方法100的流程图。如图1所示,方法100包括:
步骤S110、获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;
步骤S120、响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;
步骤S130、基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及
步骤S140、基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。
由此,针对待读取的第一存储器中的多个空间所对应的多个目标地址,通过随机生成所述多个目标地址中的每一个目标地址,能够得到随机的第一生成顺序信息,进而基于所述随机顺序来读取每个目标地址对应的空间中的数据,使得数据读取过程能够更好地抵御攻击手段,提升数据传输的安全性。
在一些实施例中,所述第一存储器为一次编程存储器。例如,可以是基于熔丝制造的一次编程存储器,也可以是基于二极管制造的一次编程存储器,对此不作限定。通常而言,计算机系统中所包含的一次编程存储器是用于存储固定不变的信息,例如芯片编号、固化配置信息等,在计算机系统运行的过程中,需要首先从一次编程存储器中读取相应信息。在一次编程存储器中所存储的信息是固定不变的情况下,通过利用本公开所述的数据传输方法100,基于随机的地址顺序来读取所述一次编程存储器中所存储的信息,能够使得数据读取过程执行随机操作,提升数据读取的安全性。
示例性地,所述第一存储器也可以是其他类型的存储器,例如可擦写存储器,对此不作限定。
应当理解,数据传输过程包括数据读取和数据写入过程,与前文所描述的数据读取过程类似,当控制器将所读取的数据写入存储器时,若数据写入操作是按照固定的地址顺序来执行的,则这一过程也存在信息泄露或者被外部手段干扰的风险。基于此,根据一些实施例,方法100还包括:基于所述多个目标地址的所述第一读取顺序信息,将从所述多个目标地址所读取的数据依次写入第二存储器中与所述多个目标地址各自相对应的多个写地址。由此,能够基于随机的写入顺序来将数据写入每个地址空间,使得数据写入过程能够更好地抵御攻击手段,提升数据传输的安全性。
在一些实施例中,第二存储器例如可以但不限于为静态随机存储器,通过将第一存储器中的内容读出并写入至第二存储器,从而在计算机系统的工作过程中,能够从第二存储器中快速读取而获得第一存储器中所存储的信息。
进一步地,在一些实施例中,所述多个目标地址与所述多个写地址相同,并且其中,将从每个目标地址所读取的数据写入与所述目标地址相同的写地址。由此,能够简便高效地实现由多个目标地址各自对应的空间至多个写地址各自对应的空间的数据搬运。
通常而言,针对第一存储器的数据读取操作可能需要执行多次,根据一些实施例,方法100还包括:获取针对第一存储器的第二数据读请求;响应于获取到所述第二数据读请求,随机生成所述多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第二生成顺序信息,其中,所述第二生成顺序信息不同于所述第一生成顺序信息;基于所述多个目标地址相应的第二生成顺序信息,确定所述多个目标地址的第二读取顺序信息;以及基于所述多个目标地址的所述第二读取顺序信息,依次从所述多个目标地址读取数据。由此,能够在每次数据读取过程中,基于不同的顺序来读取每个目标地址对应的空间中的数据,从而使得每次数据读取过程执行不同的操作,提升数据传输的安全性。
在此基础上,根据一些实施例,方法100还包括:基于所述多个目标地址的所述第二读取顺序信息,将从所述多个目标地址所读取的数据依次写入第二存储器中与所述多个目标地址各自相对应的多个写地址。由此,能够基于随机的写入顺序来将数据写入每个地址空间,使得数据写入过程能够更好地抵御攻击手段,提升数据传输的安全性。
示例性地,可以是利用线性反馈移位寄存器来随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息。线性反馈移位寄存器是寄存器的一种,其中包括n个具有存储功能的触发器,每个触发器能够存储一位二进制数据。在任一时刻,上述n个触发器所存储的内容即构成了线性反馈移位寄存器的状态值,也就是说,n级线性反馈移位寄存器的每一个状态值即为一个n比特序列。线性反馈移位寄存器在每一时刻的状态值均由其在上一时刻的状态值及抽头位置特征多项式确定,特别地,线性反馈移位寄存器的状态值不可为全零比特序列。在给定初始状态值的情况下,抽头位置特征多项式满足本原多项式的n级线性反馈移位寄存器的状态值能够形成循环周期,并且每个循环周期有(2n-1)个状态值。在一个示例中,当目标地址的地址长度为n比特时,目标地址的数量为2n个,在这种情况下,n级线性反馈移位寄存器的一个循环周期所包含的(2n-1)个状态值即可与所述多个目标地址中除全零地址以外的其他目标地址一一对应。
图2示出了根据本公开示例性实施例的数据传输方法的部分示例过程的流程图。如图2所示,根据一些实施例,步骤S120中随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息包括:
步骤S121、获取随机的非全零比特序列;
步骤S122、基于所述非全零比特序列,确定线性反馈移位寄存器的初始状态值;
步骤S123、向所述线性反馈移位寄存器依次发送多个状态值获取请求,以获取所述线性反馈移位寄存器所依次输出的多个状态值,每个状态值对应所述多个目标地址中的其中一个目标地址;以及
步骤S124、基于所述多个状态值的输出顺序,确定所述多个目标地址相应的第一生成顺序信息。
由此,能够利用线性反馈移位寄存器所依次输出的多个状态值的输出顺序,来确定与每个状态值对应的目标地址的第一生成顺序信息,更加简捷高效。
根据一些实施例,步骤S121中获取随机的非全零比特序列包括:获取随机数发生器所输出的非零随机数;以及基于所述非零随机数,确定对应的非全零比特序列。如前文所描述的,需要为线性反馈移位寄存器给定非全零的初始状态值,才能获取线性反馈移位寄存器所依次输出的多个状态值。通过利用随机数发生器来获取非零随机数,进而确定对应的非全零比特序列,能够保证线性反馈移位寄存器所输出的多个状态值的顺序的随机性,进而保证所述第一生成顺序信息和第一读取顺序信息的随机性,以提升数据读取过程的安全性。
示例性地,所述随机数发生器可以是任何类型的随机数发生器,例如可以是基于长循环周期的随机数序列的伪随机数发生器,通过预先配置不包含零的随机数序列,即可简便快捷地得到非零随机数。
利用上述伪随机数发生器所生成的随机数的随机性有限,基于此,根据一些实施例,所述随机数发生器可以是真随机数发生器,例如基于热噪声信号的硬件随机数发生器,对此不作限定。由此,能够进一步提升所得到的非全零比特序列的随机性,从而保证所述多个目标地址相应的第一生成顺序信息和第一读取顺序信息的随机性,以提升数据读取过程的安全性。
应当理解,真随机数发生器所生成的随机数可能包含0,即对应全零比特序列。基于此,当所述随机数发生器为真随机数发生器时,可以进一步利用初始状态生成器来获取非全零比特序列,以作为线性反馈移位寄存器的初始状态值,所述初始状态值生成器被配置为获取真随机数发生器所输出的真随机数;以及响应于确定所述真随机数为非零随机数,确定对应的非全零比特序列。
根据一些实施例,所述目标地址的长度与所述线性反馈移位寄存器所输出的状态值的长度相同,并且步骤S124中基于所述多个状态值的输出顺序,确定所述多个目标地址相应的第一生成顺序信息包括:针对所述多个状态值中的每个状态值,基于该状态值的输出顺序,确定与该状态值相同的目标地址的第一生成顺序。由此,能够通过简单的正则匹配来确定所述多个状态值与所述多个目标地址的映射关系,从而能够简捷高效地确定所述多个目标地址对应的第一生成顺序信息。
如前文所描述的,当目标地址的地址长度与线性反馈移位寄存器所输出的状态值的长度均为n比特时,则所述多个目标地址的数量的最大值可以为2n个,而线性反馈移位寄存器的一个循环周期包含有(2n-1)个状态值,并且所述线性反馈移位寄存器不存在全零状态值。也就是说,在这种情况下,当所述多个目标地址中包括全零地址,则所述全零地址无法与所述多个状态值中的任一状态值对应。
基于此,根据一些实施例,所述多个目标地址中包括与所述多个状态值中的每个状态值均不相同的至少一个第一地址,所述方法还包括:基于预设规则,确定所述至少一个第一地址的第一生成顺序。由此,能够在无法通过线性反馈移位寄存器所输出的状态值确定第一地址的第一生成顺序的情况下,通过人工配置预设规则确定所述第一地址的生成顺序信息,以保证数据读取的完整性,避免遗漏所述第一地址对应的空间所存储的数据。
根据一些实施例,所述基于预设规则,确定所述第一地址的第一生成顺序信息包括:确定预设的第二地址;针对所述至少一个第一地址中的每个第一地址,确定所述第一地址的第一生成顺序为在所述线性反馈移位寄存器输出所述第二地址的顺序之后。
示例性地,所述基于预设规则,确定所述第一地址的第一生成顺序信息也可以对应其他具体实施方式,例如可以在所述至少一个第一地址仅包括一个第一地址时,确定所述至少一个地址的第一生成顺序为在所述线性反馈移位寄存器输出所述多个目标地址中除所述第一地址以外的所有其他目标地址之后。
应当理解,上述内容仅是对步骤S124的具体实施方式的示例,也可以是利用其他方式来基于所述多个状态值的输出顺序,确定所述多个目标地址相应的第一生成顺序信息。例如,可以是利用级数大于目标地址的地址长度的线性反馈移位寄存器来获取所述多个状态值,以使得所述线性反馈移位寄存器所输出的状态值能够覆盖全部的目标地址。在一个示例中,当目标地址的地址长度为n比特,所述多个目标地址的数量为2n时,可以利用(n+1)级线性反馈移位寄存器来获取长度为(n+1)的状态值。在这种情况下,线性反馈移位寄存器的一个循环周期包含有(2n+1-1)个状态值,即可通过利用人工配置的规则来确定所述(2n+1-1)个状态值中的2n个状态值与所述2n个目标地址的映射关系,进而基于所述映射关系和所述多个状态值的输出顺序得到所述多个目标地址对应的第一生成顺序。
应当理解,图2所示出的示例过程仅是对方法100中的步骤S120的具体实施方式的示例,也可以是利用其他方式来生成多个目标地址中的每一个目标地址。例如,可以是向伪随机数发生器依次发送多个随机数获取请求,以获取所随机数发生器所依次输出的多个随机数;基于所述多个随机数的输出顺序确定目标随机数序列,所述目标随机数序列中所包括的多个随机数两两之间互不相同,并且所述目标随机数序列中所包括的随机数的数量与所述多个目标地址的数量相同。在得到所述目标随机数序列之后,即可利用人工配置的规则来确定所述目标随机数序列所包括的多个随机数与所述多个目标地址的映射关系,进而基于所述映射关系和所述目标随机数序列得到所述多个目标地址对应的第一生成顺序。
以下将结合附图,进一步描述本公开示例性实施例。
图3示出了根据本公开示例性实施例的数据传输过程示意图。
参见图3所示,在一些示例中,是利用读写控制器来从第一存储器中读取数据,并将所读取的数据写入第二存储器中。示例性地,所述第一存储器可以为容量为8KB的熔丝模块,其中包括对应地址0-255的256个存储空间,地址长度为8比特,每个存储空间包括32比特数据,所述第二存储空间可以为静态随机存取存储器,其中所包括的每个存储空间为32比特,与第一存储器相同。
示例性地,可以利用真随机数发生器来产生随机数,进而利用初始状态生成器,基于所述随机数来获取非全零比特序列,以作为8位线性反馈移位寄存器的初始状态值。在此基础上,可以利用地址生成器获取所述线性反馈移位寄存器所依次输出的多个状态值的,以使得所述读写控制器能够根据地址生成器所生成的地址来进行数据读写。
在这一示例中,熔丝模块中仅有对应地址0-191的192个存储空间被使用,从而可以利用图4所示的数据传输方法来实现从第一存储器至第二存储器的数据传输。
如图4所示,所述数据传输方法包括:
步骤S1、真随机数发生器产生随机数X。所述真随机数发生器可以是硬件随机数发生器,用于基于物理过程中的随机信号生成随机数,例如基于热噪声信号的硬件随机数发生器、基于光电效应的硬件随机数发生器等。
步骤S2、初始状态生成器判断随机数X是否为0,以满足线性反馈移位寄存器的状态值非全零的要求。
响应于随机数X不为0,执行如下所述的步骤S3-S11:
步骤S3、确定随机数X相应的8位非全零比特序列。
步骤S4、确定该8位非全零比特序列为8位线性反馈移位寄存器的初始状态值。
步骤S5、地址生成器请求线性反馈移位寄存器输出状态值a。
步骤S6、地址生成器判断状态值a对应的地址a是否大于191。在这一示例中,熔丝模块中仅有对应地址0-191的存储空间被使用,通过判断地址a是否大于191,能够确定地址a中是否存储有需读写的数据。
响应于地址a不大于191,执行如下所述的步骤S7-S9:
步骤S7、读写控制器从第一存储器的地址a读取数据。
步骤S8、读写控制器将所读取的数据写入第二存储器的地址a。
步骤S9、地址生成器判断地址a是否为100。
响应于地址a为100,执行步骤S10、设定地址a=0,并进一步执行步骤S7和S8,以使得读写控制器从第一存储器的地址0读取数据,并将所读取的数据写入第二存储器的地址0。由此,能够在线性反馈移位寄存器所输出的状态值无法对应地址0的情况下,通过人工配置预设规则确定针对地址0的数据读写顺序,以保证数据读取的完整性,避免遗漏地址0对应的空间所存储的数据。
响应于地址a不为100,执行步骤S11、判断请求地址总次数是否小于255,以确定线性反馈移位寄存器的一个循环周期所包括的255个状态值是否已经遍历完成。
响应于请求地址总次数小于255,继续执行步骤S5及其后续过程,以完成对第一存储器中所存储的全部数据的读写。
响应于请求地址总次数不小于255,确定线性反馈移位寄存器的循环周期已遍历完成,从而可以结束执行所述数据传输方法。
可以看出,图4所示出的方法中,读写控制器所执行的针对多个目标地址对应的空间所存储的数据的读写顺序与线性反馈移位寄存器的状态值的输出顺序相同。在这一示例中,是由地址生成器接收到线性反馈移位寄存器所输出的一个状态值a后,响应于a满足预设条件,由读写控制器针对相应的地址a执行数据读写操作,当地址a对应的空间的数据读写完毕后,再由地址生成器向线性反馈移位寄存器发送请求,以获取其所输出的下一个状态值,并重复执行相应步骤,直至线性反馈移位寄存器的一个循环周期遍历完成。
上述示例中,多个地址各自的生成步骤和针对所述多个地址分别执行的数据读写步骤是交替进行的,但是,这仅是对本公开所提供的数据传输方法的一个示例。与前文所描述的过程类似,在其他示例中,也可以是先利用上述的由地址生成器所执行的各个步骤,生成0-191的192个目标地址,再基于所述192个目标地址的生成顺序,依次执行针对各个目标地址对应的空间的数据读写操作,以完成由第一存储器至第二存储器的数据传输。通过基于相应的随机顺序来读取每个目标地址对应的空间中的数据,能够提升数据传输的安全性。
根据本公开的另一方面,还提供一种数据传输装置。图5示出了根据本公开示例性实施例的数据传输装置500的结构框图。如图5所示,装置500包括:
获取单元510,被配置用于获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;
生成单元520,被配置用于响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;
确定单元530,被配置用于基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及
读取单元540,被配置用于基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。
可以理解的是,装置500中的单元510至单元540的操作和技术效果分别和图1中的步骤S110至步骤S140的操作和技术效果类似,在此不做赘述。
根据一些实施例,装置500还包括:
写入单元,被配置用于基于所述多个目标地址的所述第一读取顺序信息,将从所述多个目标地址所读取的数据依次写入第二存储器中与所述多个目标地址各自相对应的多个写地址。
根据本公开的另一方面,提供了一种芯片,包括上述的数据传输装置。
根据本公开的另一方面,提供了一种电子设备,包括上述的芯片。
根据本公开的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,使处理器执行上述的数据传输方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时,使处理器执行上述的数据传输方法。
图6是示出根据本公开的示例性实施例的电子设备的示例的框图。需要说明的,图6所示出的结构仅是一个示例,根据具体的实现方式,本公开的电子设备可以仅包括图6所示出的组成部分中的一种或多个。
电子设备600例如可以是通用计算机(例如膝上型计算机、平板计算机等等各种计算机)、移动电话、个人数字助理。根据一些实施例,电子设备600可以是云计算设备和智能设备。
根据一些实施例,电子设备600可被配置为对图像、文本和音频中的至少一者进行处理,并且将所述处理结果传输至输出设备而提供给用户。输出设备例如可以为显示屏、包括显示屏的设备,也可以为耳机、扬声器、或振荡器等声音输出设备。例如,电子设备600可被配置为对图像进行目标检测,将目标检测结果传输至显示设备以显示,电子设备600还可被配置为对图像进行增强处理,并将增强结果传输至显示设备以显示。电子设600还可被配置为对图像中的文本进行识别,并将识别结果传输至显示设备以显示和/或将识别结果转换成声音数据并传输至声音输出设备进行播放。电子设备600还可被配置为对音频进行识别和处理,并将识别结果传输至显示设备以显示和/或将处理结果转换成声音数据并传输至声音输出设备进行播放。
电子设备600可以包括图像处理电路603,图像处理电路603可以被配置为对图像进行各种图像处理。图像处理电路603例如可以被配置为对图像进行以下图像处理中的至少一项:对图像进行降噪、对图像进行几何矫正、对图像进行特征提取、对图像中的对象进行检测和/或识别、对图像进行增强处理、以及对图像中包含的文字进行检测和/或识别等等。
电子设备600还可以包括文字识别电路604,所述文字识别电路604被配置为对图像中的文字区域进行文字检测和/或识别(例如OCR处理),从而获得文字数据。所述文字识别电路604例如可以通过专用芯片实现。电子设备600还可以包括声音转换电路605,所述声音转换电路605被配置为将所述文字数据转换成声音数据。所述声音转换电路605例如可以通过专用芯片实现。
电子设备600还可以包括音频处理电路606,所述音频处理电路606被配置为将音频转换为文字,从而获得音频相应的文字数据。所述音频处理电路606还可被配置为对音频相应的文字数据进行处理,例如可以包括关键字提取、意图识别、智能推荐和智能问答等等。所述音频处理电路606例如可以通过专用芯片实现。所述声音转换电路605还可被配置为将音频处理结果转换为声音数据,以适用于语音助手或虚拟客服等应用场景。
上述的各种电路(例如图像处理电路603、文字识别电路604、声音转换电路605、音频处理电路606中的一个或多个可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现。例如,上述的各种电路中的一个或多个可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C ++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
根据一些实施方式,电子设备600还可以包括输出设备607,所述输出设备607可以是用于呈现信息的任何类型的设备,可以包括但不限于显示屏、具有显示功能的终端、耳机、扬声器、振动器和/或打印机等。
根据一些实施方式,电子设备600还可以包括输入设备608,所述输入设备608可以是用于向电子设备600输入信息的任何类型的设备,可以包括但不限于各种传感器、鼠标、键盘、触摸屏、按钮、控制杆、麦克风和/或遥控器等等。
根据一些实施方式,电子设备600还可以包括通信设备609,所述通信设备609可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
根据一些实施方式,电子设备600还可以包括处理器601。所述处理器601可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。处理器601例如可以是但不限于中央处理单元CPU、图形处理器GPU、或各种专用的人工智能(AI)计算芯片等等。
电子设备600还可以包括工作存储器602和存储设备611。处理器601可以被配置为能够获取并且执行存储在工作存储器602、存储设备611或者其他计算机可读介质中的计算机可读指令,诸如操作系统602a的程序代码、应用程序602b的程序代码等。工作存储器602和存储设备611是用于存储指令的计算机可读存储介质的示例,所存储的指令能够由处理器601执行来实施前面所描述的各种功能。工作存储器602可以包括易失性存储器和非易失性存储器二者(例如RAM、ROM等等)。存储设备611可以包括硬盘驱动器、固态驱动器、可移除介质、包括外部和可移除驱动器、存储器卡、闪存、软盘、光盘(例如CD、DVD)、存储阵列、网络附属存储、存储区域网等等。工作存储器602和存储设备611在本文中都可以被统称为存储器或计算机可读存储介质,并且可以是能够把计算机可读、处理器可执行程序指令存储为计算机程序代码的非暂态介质,计算机程序代码可以由处理器601作为被配置成实施在本文的示例中所描述的操作和功能的特定机器来执行。
根据一些实施方式,处理器601可以对图像处理电路603、文字识别电路604、声音转换电路605、音频处理电路606以及电子设备600包括的其他各种装置和电路中的至少一个进行控制和调度。根据一些实施方式,图6中所述的各个组成部分中的至少一些可通过总线610而相互连接和/或通信。
软件要素(程序)可以位于所述工作存储器602中,包括但不限于操作系统602a、一个或多个应用程序602b、驱动程序和/或其他数据和代码。
根据一些实施方式,用于进行前述的控制和调度的指令可以被包括在操作系统602a或者一个或多个应用程序602b中。
根据一些实施方式,执行本公开所述的方法步骤的指令可以被包括在一个或多个应用程序602b中,并且上述电子设备600的各个模块可以通过由处理器601读取和执行一个或多个应用程序602b的指令来实现。换言之,电子设备600可以包括处理器601以及存储程序的存储器(例如工作存储器602和/或存储设备611),所述程序包括指令,所述指令在由所述处理器601执行时使所述处理器601执行如本公开各种实施例所述的方法。
根据一些实施方式,图像处理电路603、文字识别电路604、声音转换电路605、音频处理电路606中的至少一个所执行的操作中的一部分或者全部可以由处理器601读取和执行一个或多个应用程序602b的指令来实现。
软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如所述存储设备611)中,并且在执行时可以被存入工作存储器602中(可能被编译和/或安装)。因此,本公开提供存储程序的计算机可读存储介质,所述程序包括指令,所述指令在由电子设备的处理器执行时,致使所述电子设备执行如本公开各种实施例所述的方法。根据另一种实施方式,软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现各个电路、单元、模块或者元件。例如,所公开的方法和设备所包含的电路、单元、模块或者元件中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C ++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
根据一些实施方式,电子设备600中的处理器601可以分布在网络上。 例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备600的其他模块也可以类似地分布。这样,电子设备600可以被解释为在多个位置执行处理的分布式计算系统。电子设备600的处理器601也可以是云计算系统的处理器,或者是结合了区块链的处理器。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。

Claims (18)

1.一种数据传输方法,其特征在于,所述方法包括:
获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;
响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;
基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及
基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于所述多个目标地址的所述第一读取顺序信息,将从所述多个目标地址所读取的数据依次写入第二存储器中与所述多个目标地址各自相对应的多个写地址。
3.如权利要求2所述的方法,其特征在于,所述多个目标地址与所述多个写地址相同,将从每个目标地址所读取的数据写入与所述目标地址相同的写地址。
4.如权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
获取针对第一存储器的第二数据读请求;
响应于获取到所述第二数据读请求,随机生成所述多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第二生成顺序信息,其中,所述第二生成顺序信息不同于所述第一生成顺序信息;
基于所述多个目标地址相应的第二生成顺序信息,确定所述多个目标地址的第二读取顺序信息;以及
基于所述多个目标地址的所述第二读取顺序信息,依次从所述多个目标地址读取数据。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
基于所述多个目标地址的所述第二读取顺序信息,将从所述多个目标地址所读取的数据依次写入第二存储器中与所述多个目标地址各自相对应的多个写地址。
6.如权利要求1所述的方法,其特征在于,所述随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息包括:
获取随机的非全零比特序列;
基于所述非全零比特序列,确定线性反馈移位寄存器的初始状态值;
向所述线性反馈移位寄存器依次发送多个状态值获取请求,以获取所述线性反馈移位寄存器所依次输出的多个状态值,每个状态值对应所述多个目标地址中的其中一个目标地址;以及
基于所述多个状态值的输出顺序,确定所述多个目标地址相应的第一生成顺序信息。
7.如权利要求6所述的方法,其特征在于,所述获取随机的非全零比特序列包括:
获取随机数发生器所输出的非零随机数;以及
基于所述非零随机数,确定对应的非全零比特序列。
8.如权利要求7所述的方法,其特征在于,所述随机数发生器为真随机数发生器。
9.如权利要求6所述的方法,其特征在于,所述目标地址的长度与所述线性反馈移位寄存器所输出的状态值的长度相同,所述基于所述多个状态值的输出顺序,确定所述多个目标地址相应的第一生成顺序信息包括:
针对所述多个状态值中的每个状态值,基于该状态值的输出顺序,确定与该状态值相同的目标地址的第一生成顺序。
10.如权利要求9所述的方法,其特征在于,所述多个目标地址中包括与所述多个状态值中的每个状态值均不相同的至少一个第一地址,所述方法还包括:
基于预设规则,确定所述至少一个第一地址的第一生成顺序。
11.如权利要求10所述的方法,其特征在于,所述基于预设规则,确定所述第一地址的第一生成顺序信息包括:
确定预设的第二地址;
针对所述至少一个第一地址中的每个第一地址,确定所述第一地址的第一生成顺序为在所述线性反馈移位寄存器输出所述第二地址的顺序之后。
12.如权利要求1所述的方法,其中,所述第一存储器为一次编程存储器。
13.一种数据传输装置,其特征在于,所述装置包括:
获取单元,被配置用于获取针对第一存储器的第一数据读请求,所述第一存储器包括多个目标地址各自对应的空间;
生成单元,被配置用于响应于获取到所述第一数据读请求,随机生成多个目标地址中的每一个目标地址,以得到所述多个目标地址相应的第一生成顺序信息;
确定单元,被配置用于基于所述多个目标地址相应的第一生成顺序信息,确定所述多个目标地址的第一读取顺序信息;以及
读取单元,被配置用于基于所述多个目标地址的所述第一读取顺序信息,依次从所述多个目标地址读取数据。
14.如权利要求13所述的装置,其特征在于,还包括:
写入单元,被配置用于基于所述多个目标地址的所述第一读取顺序信息,将从所述多个目标地址所读取的数据依次写入第二存储器中与所述多个目标地址各自相对应的多个写地址。
15.一种芯片,包括如权利要求13或14所述的数据传输装置。
16.一种电子设备,包括如权利要求15所述的芯片。
17.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-12中任一项所述的方法。
18.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现权利要求1-12中任一项所述的方法。
CN202211157656.5A 2022-09-22 2022-09-22 数据传输方法、装置、芯片、电子设备和介质 Active CN115237831B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211157656.5A CN115237831B (zh) 2022-09-22 2022-09-22 数据传输方法、装置、芯片、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211157656.5A CN115237831B (zh) 2022-09-22 2022-09-22 数据传输方法、装置、芯片、电子设备和介质

Publications (2)

Publication Number Publication Date
CN115237831A true CN115237831A (zh) 2022-10-25
CN115237831B CN115237831B (zh) 2023-02-07

Family

ID=83667071

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211157656.5A Active CN115237831B (zh) 2022-09-22 2022-09-22 数据传输方法、装置、芯片、电子设备和介质

Country Status (1)

Country Link
CN (1) CN115237831B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841346A (zh) * 2005-03-29 2006-10-04 株式会社东芝 处理器、存储器装置、计算机系统以及传输数据的方法
CN104598827A (zh) * 2015-01-12 2015-05-06 中国人民解放军信息工程大学 硬件协助的操作系统重启计数器设计方法
CN107908359A (zh) * 2017-11-03 2018-04-13 清华大学深圳研究生院 一种otp存储器及其数据写入和读取方法、安全芯片
CN113079019A (zh) * 2020-03-31 2021-07-06 台湾积体电路制造股份有限公司 集成电路器件及生成其安全密钥的方法和系统
CN113986788A (zh) * 2021-10-28 2022-01-28 昆仑芯(北京)科技有限公司 数据处理方法和装置、芯片、电子设备及介质
US20220138096A1 (en) * 2020-11-05 2022-05-05 SK Hynix Inc. Memory system
CN114564418A (zh) * 2022-03-01 2022-05-31 资阳联耀医疗器械有限责任公司 一种数据读写方法、系统、终端设备和存储介质
CN114840886A (zh) * 2022-04-21 2022-08-02 深圳鲲云信息科技有限公司 一种基于数据流架构的可安全读写存储装置、方法及设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1841346A (zh) * 2005-03-29 2006-10-04 株式会社东芝 处理器、存储器装置、计算机系统以及传输数据的方法
CN104598827A (zh) * 2015-01-12 2015-05-06 中国人民解放军信息工程大学 硬件协助的操作系统重启计数器设计方法
CN107908359A (zh) * 2017-11-03 2018-04-13 清华大学深圳研究生院 一种otp存储器及其数据写入和读取方法、安全芯片
CN113079019A (zh) * 2020-03-31 2021-07-06 台湾积体电路制造股份有限公司 集成电路器件及生成其安全密钥的方法和系统
US20220138096A1 (en) * 2020-11-05 2022-05-05 SK Hynix Inc. Memory system
CN113986788A (zh) * 2021-10-28 2022-01-28 昆仑芯(北京)科技有限公司 数据处理方法和装置、芯片、电子设备及介质
CN114564418A (zh) * 2022-03-01 2022-05-31 资阳联耀医疗器械有限责任公司 一种数据读写方法、系统、终端设备和存储介质
CN114840886A (zh) * 2022-04-21 2022-08-02 深圳鲲云信息科技有限公司 一种基于数据流架构的可安全读写存储装置、方法及设备

Also Published As

Publication number Publication date
CN115237831B (zh) 2023-02-07

Similar Documents

Publication Publication Date Title
US20140218067A1 (en) Grouping of physically unclonable functions
US20190087606A1 (en) Methods and apparatus to provide user-level access authorization for cloud-based field-programmable gate arrays
CN112199040B (zh) 存储访问方法及智能处理装置
JP5840712B2 (ja) オンダイのプログラム可能なヒューズ
CN115113828B (zh) 存储器管理系统、方法、人工智能芯片、电子设备和介质
CN111552945B (zh) 一种资源处理方法、装置及设备
KR20190005870A (ko) 인증 방법 및 디바이스, 인증용 정보를 생성하기 위한 방법 및 디바이스
CN114942834A (zh) 中断控制器、芯片、计算机设备及中断控制方法、介质
CN115237831B (zh) 数据传输方法、装置、芯片、电子设备和介质
CN113343295A (zh) 基于隐私保护的图像处理方法、装置、设备和存储介质
CN111444117B (zh) 存储空间碎片化实现方法、装置、存储介质及电子设备
CN111143258B (zh) 一种基于Opencl的系统访问FPGA的方法、系统、设备以及介质
CN115391066B (zh) 用于芯片的数据交互方法、装置和人工智能芯片
CN109753821B (zh) 数据存取装置及方法
CN113703996B (zh) 基于用户和yang模型分组的访问控制方法、设备及介质
US11841955B2 (en) Methods and apparatus to encrypt media for identification
US11354130B1 (en) Efficient race-condition detection
CN114090466A (zh) 一种指令处理装置、方法、计算机设备及存储介质
US20070220074A1 (en) Sharing of a logic operator having a work register
CN108268280B (zh) 半导体装置的处理器及其操作方法
CN115496035B (zh) 芯片的验证方法、装置、芯片、电子设备和介质
CN115357212B (zh) 用于环形缓冲器的参数生成方法、装置和人工智能芯片
CN116360708B (zh) 数据写入方法及装置、电子设备和存储介质
CN115344506A (zh) 内存地址的映射方法、内存访问方法和装置、芯片、设备
CN115113931A (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
GR01 Patent grant
GR01 Patent grant