CN115408730A - 数据处理方法、芯片、电子设备及存储介质 - Google Patents

数据处理方法、芯片、电子设备及存储介质 Download PDF

Info

Publication number
CN115408730A
CN115408730A CN202211040952.7A CN202211040952A CN115408730A CN 115408730 A CN115408730 A CN 115408730A CN 202211040952 A CN202211040952 A CN 202211040952A CN 115408730 A CN115408730 A CN 115408730A
Authority
CN
China
Prior art keywords
data
check
chip memory
chip
verification
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
CN202211040952.7A
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.)
Nanjing Semidrive Technology Co Ltd
Original Assignee
Nanjing Semidrive 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 Nanjing Semidrive Technology Co Ltd filed Critical Nanjing Semidrive Technology Co Ltd
Priority to CN202211040952.7A priority Critical patent/CN115408730A/zh
Publication of CN115408730A publication Critical patent/CN115408730A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/781On-chip cache; Off-chip memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本公开提供了一种数据处理方法、芯片、电子设备及存储介质,所述方法包括:确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息;基于所述第一数据传输请求和所述第一空间标识信息,从所述片外存储器获取与所述第一数据传输请求对应的第一数据;从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正;响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线;其中,所述片外存储器位于芯片外部;所述系统总线和片上存储器位于所述芯片内部。

Description

数据处理方法、芯片、电子设备及存储介质
技术领域
本公开涉及存储器技术领域,尤其涉及一种数据处理方法、芯片、电子设备及存储介质。
背景技术
伴随着车载电子系统的功能的日益复杂,其核心处理器对于程序以及数据存储空间的要求越来越高。在此趋势下,处理器内部的存储空间变得越来越紧张,在内部存储空间不足的情况下就需要使用外部存储器,因此,如何基于外部存储器安全地存储数据亟需解决。
发明内容
本公开提供了一种数据处理方法、装置、芯片及存储介质,以至少解决现有技术中存在的以上技术问题。
根据本公开的第一方面,提供一种数据处理方法,包括:
确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息;
基于所述第一数据传输请求和所述第一空间标识信息,从所述片外存储器获取与所述第一数据传输请求对应的第一数据;
从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正;
响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线;
其中,所述片外存储器位于芯片外部;所述系统总线和片上存储器位于所述芯片内部。
上述方案中,在确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息之前,或者确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息之后,所述方法还包括:
从所述片外存储器中获取所述片外存储器存储的至少一个校验数据,并存储至片上存储器中。
上述方案中,所述从所述片外存储器中获取所述片外存储器存储的至少一个校验数据,并存储至片上存储器中,包括:
数据一致性校验器接收所述至少一个校验数据,并对至少一个校验数据的完整性进行校验,获得第一校验结果;
响应于所述第一校验结果表征所述至少一个校验数据的完整性校验通过,则将所述至少一个校验数据发送至所述片上存储器中。
上述方案中,所述从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正,包括:
基于所述第一空间标识从所述片上存储器获取所述第一数据对应的第一校验数据;
基于所述第一空间标识确认所述第一数据的校验算法;
基于所述第一数据的校验算法和所述第一校验数据对所述第一数据进行校验,获得第二校验结果;
响应于所述第二校验结果表征所述第一数据校验未通过,则基于所述第一校验数据对所述第一数据进行校正。
上述方案中,所述方法还包括:
解析空间配置信息,获取所述片外存储器中至少一个空间对应的起始地址和结束地址、所述片外存储器中至少一个空间对应的校验算法、校验数据在片上存储器的地址信息,以及预设校验值;
其中,所述预设校验值用于对至少一个校验数据的完整性进行校验。
上述方案中,所述方法还包括:
确认系统总线发送的第二数据传输请求对应的片外存储器的第二空间标识信息;
基于所述第二空间标识将所述第二数据传输请求携带的第二数据发送至所述片外存储器中;
数据校验器基于所述第二数据和所述第二空间标识信息确认所述第二数据对应的第二校验数据;
将所述第二校验数据存储至所述片上存储器中。
上述方案中,所述数据校验器基于所述第二数据和所述第二空间标识信息确认所述第二数据对应的第二校验数据,包括:
所述数据校验器基于所述第二空间标识信息确认所述第二数据对应的校验算法;
基于所述第二数据对应的校验算法,确认所述第二数据对应的第二校验数据。
上述方案中,所述将所述第二校验数据存储至所述片上存储器中,还包括:
基于所述第二空间标识信息确认所述第二校验数据在所述片上存储器中的第一存储地址;
基于所述第一存储地址在所述片上存储器中存储所述第二校验数据。
上述方案中,所述将所述第二校验数据存储至所述片上存储器中之后,所述方法还包括:
数据一致性校验器接收所述第二校验数据,并对所述第二校验数据的完整性进行校验,获得第三校验结果;
响应于所述第三校验结果表征所述第二校验数据的完整性校验通过,则将所述第二校验数据发送至所述片外存储器中。
根据本公开的第二方面,提供一种芯片,所述芯片包括:
读写访问控制器,用于确认芯片包括的系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息;基于所述第一数据传输请求和所述第一空间标识信息,获取所述片外存储器返回的与所述第一数据传输请求对应的第一数据;
数据校验器,用于从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正;
所述读写访问控制器,还用于响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线;
其中,所述片外存储器位于芯片外部。
根据本公开的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开所述的方法。
根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本公开所述的方法。
本公开的数据处理方法,通过确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息;基于所述第一数据传输请求和所述第一空间标识信息,从所述片外存储器获取与所述第一数据传输请求对应的第一数据;从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正;响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线;其中,所述片外存储器位于芯片外部;所述系统总线和片上存储器位于所述芯片内部。如此,可以基于芯片外部的片外存储器安全地存储数据,且在数据读取时仅需要读取一次片外存储器。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过参考附图阅读下文的详细描述,本公开示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本公开的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本公开实施例提供的数据处理方法的一种可选流程示意图;
图2示出了本公开实施例提供的数据处理方法的另一种可选流程示意图;
图3示出了本公开实施例提供的数据处理方法的又一种可选流程示意图;
图4示出了本公开提供的片外存储器的存储结构示意图;
图5示出了本公开实施例提供的芯片的可选结构示意图;
图6示出了本公开实施例一种电子设备的组成结构示意图。
具体实施方式
为使本公开的目的、特征、优点能够更加的明显和易懂,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而非全部实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
ASIL表示汽车安全性等级,是ISO 26262标准针对道路车辆的功能安全性定义的风险分类系统;其中,确定了A、B、C和D四个等级,其中,ASIL A表征最低程度的汽车危险(即安全等级最低),ASIL D表征最高程度的汽车危险(即安全等级最高)。
在高安全等级(如ASIL D)的应用场景中,为了提高核心处理器程序以及数据存储区的故障诊断率诊断覆盖率,普遍采用的方法有:
1)只使用处理器内部的程序以及数据存储器,如程序存放在处理器内部的闪存(Flash)中,数据存放于处理器内部的静态随机存取存储器(Static Random-AccessMemory,SRAM)中。通过处理器内部的安全机制实时检测存储器的永久以及随机性失效。通过不断的加大处理器内部的Flash以及SRAM来满足日益复杂的应用场景。
2)在外部存储器中额外存放数据的校验信息。每次在读取数据的后再次读取该数据对应校验信息,通过差错校验运算保护读取数据的正确性;在写入的过程中则需要分两次将数据以及校验值信息写入片外的存储器。
3)在系统中添加冗余的存储器件。数据写入是将原始数据写入一个片外存储器,同时将该数据的保护信息写入另外一个冗余的片外存储器中;在读取的过程当中同时将两个片外存储器中存放的数据以及保护信息读入同时校验数据的正确定。
然而,上述方案1)中,处理器的成本随着内部存储器容量的提升显著增加;加大核心存储器内部的存储空间,极大地提高了核心处理的成本;上述方案2)中,单个数据的访问需要访问片外存储器两次,极大地降低了片外存储器的访问效率,同时数据以及校验码存放于一个片外存储器中没有办法有效的解决片外存储器的共因失效没有办法做到比较高的功能安全等级;上述方案3)需要外接两个片外存储器,系统成本相对较高。
因此,针对相关技术中存在的问题,本公开提供一种数据处理方法,通过在芯片外接单个片外处理器存储数据,通过SoC处理器内部的安全机制以及数据读取方法能够极大地提升外部扩展存储器整体方案的功能安全等级。
图1示出了本公开实施例提供的数据处理方法的一种可选流程示意图,将根据各个步骤进行说明。
步骤S101,确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息。
在一些实施例中,步骤S101至步骤S104通过芯片实现,所述芯片可以包括系统总线、存储器空间配置解析器、读写访问控制器、数据校验器、校验信息装载器、数据一致性校验器、片上存储器和外部存储访问控制器;片外存储器位于所述芯片的外部。其中,所述第一数据传输请求可以是读取请求。
所述片外存储器包括配置空间、至少一个空间、所述至少一个空间存储的数据、所述至少一个空间对应的校验区域(空间);其中,所述配置空间包括所述至少一个空间中每一个空间的起始地址和结束地址、所述至少一个空间中每一个空间的校验算法、所述至少一个空间对应的校验区域一致性校验值中至少之一。
在一些实施例中,所述芯片接收系统总线发送的第一数据传输请求;所述芯片包括的读写访问控制器确认所述第一数据传输请求对应的片外存储器的第一空间标识信息。
在一些可选实施例中,所述读写访问控制器可以基于片外存储器包括的至少一个空间中每一个空间的起始地址和结束地址,确认所述第一数据传输请求对应的第一空间标识信息。
步骤S102,基于所述第一数据传输请求和所述第一空间标识信息,从所述片外存储器获取与所述第一数据传输请求对应的第一数据。
在一些实施例中,所述芯片将所述第一空间标识信息添加至所述第一数据传输请求中,并基于所述芯片包括的数据校验器和校验信息装载器,将所述第一数据传输请求传输至所述芯片包括的外部存储访问控制器中;所述外部存储访问控制器将所述第一数据传输请求转化为片外存储器的访问协议,并发送至所述片外存储器。
所述片外存储器接收所述访问协议之后,基于所述第一空间标识信息获取与所述第一数据传输请求对应的第一数据,并将所述第一数据发送至所述芯片。
在一些可选实施例中,所述芯片获取所述第一数据之后,将所述第一数据基于所述片外存储访问控制器和所述校验信息装载器传输至所述数据校验器中。
步骤S103,从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正。
在一些实施例中,所述芯片包括的数据校验器基于所述第一空间标识从所述片上存储器获取所述第一数据对应的第一校验数据;基于所述第一空间标识确认所述第一数据的校验算法;基于所述第一数据的校验算法和所述第一校验数据对所述第一数据进行校验,获得第二校验结果;响应于所述第二校验结果表征所述第一数据校验未通过,则基于所述第一校验数据对所述第一数据进行校正。
在一些可选实施例中,所述芯片可以基于所述第一数据和所述第一数据的校验算法确认第三校验数据,基于所述第一校验数据和所述第三校验数据获得第二校验结果。
在一些实施例中,在执行步骤S101之前,所述方法还可以包括:加载片外存储器中存储的至少一个校验数据。
具体实施时,所述芯片从所述片外存储器中获取所述片外存储器包存储的至少一个校验数据;其中,所述至少一个校验数据可以是所述片外存储器中全部空间对应的全部校验数据,也可以是部分空间对应的部分校验数据;所述芯片包括的校验信息装载器接收所述至少一个校验数据,并通过所述芯片包括的数据一致性校验器对所述至少一个校验数据的完整性进行校验,获得第一校验结果。响应于所述第一校验结果表征所述至少一个校验数据的完整性校验通过,则将所述至少一个校验数据发送至所述片上存储器中。
在一些实施例中,所述数据一致性校验器接收所述至少一个校验数据,基于数据一致性校验算法(如CRC)扫描全部校验数据并生成校验值;通过对比计算所述校验值与预设校验值,确认所述至少一个校验数据的完整性。响应于所述校验值与所述预设校验值一致,则确认所述至少一个校验数据的完整性校验通过;或者,响应于所述校验值与所述预设校验值不一致,则确认所述至少一个校验数据的完整性校验未通过,可选的,所述芯片还可以上报错误信息。其中,所述预设校验值可以根据实际需求或实验结果设置。
在一些实施例中,所述校验信息装载器加载片外存储器中存储的至少一个校验数据,可以包括静态装载和动态装载。所述静态装载可以包括在芯片对应的系统运行前,从所述片外存储器中获取所述至少一个校验数据;所述动态装载可以包括是在所述芯片对应的系统运行过程中动态检测数据传输请求对应的数据的校验数据是否加载到片上存储器中,如未加载,则暂停系统的访问,从片外存储器中获取至少一个校验数据并存储在片上存储器中。
步骤S104,响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线。
在一些实施例中,响应于所述第二校验结果表征所述第一数据校验通过,则所述芯片向所述芯片包括的读写访问控制器发送所述第一数据,以使所述读写访问控制器将所述第一数据发送至所述系统总线。
如此,通过本公开实施例提供的数据处理方法,采用单个普通的片外存储器,通过SoC处理器内部的安全机制以及数据读取方法能够极大地提升外部扩展存储器整体方案的功能安全等级,并且,本公开不会降低片外存储器的访问效率,能够保障系统的性能。
图2示出了本公开实施例提供的数据处理方法的另一种可选流程示意图,将根据各个步骤进行说明。
步骤S201,确认系统总线发送的第二数据传输请求对应的片外存储器的第二空间标识信息。
在一些实施例中,所述芯片接收系统总线发送的第二数据传输请求;所述芯片包括的读写访问控制器确认所述第一数据传输请求对应的片外存储器的第二空间标识信息。其中,所述第二数据传输请求可以是写入请求。
在一些可选实施例中,所述读写访问控制器可以基于片外存储器包括的至少一个空间中每一个空间的起始地址和结束地址,确认所述第二数据传输请求对应的第二空间标识信息。
步骤S202,基于所述第二空间标识将所述第二数据传输请求携带的第二数据发送至所述片外存储器中。
在一些实施例中,所述芯片基于所述第二空间标识将所述第二数据传输请求经过数据校验器和校验信息装载器传输至外部存储访问控制器中;所述外部存储访问控制器将所述第二数据传输请求传输至片外存储器中;所述片外存储器基于所述第二空间标识存储所述第二数据传输请求携带的第二数据。
步骤S203,数据校验器基于所述第二数据和所述第二空间标识信息确认所述第二数据对应的第二校验数据。
在一些实施例中,所述数据校验器基于所述第二空间标识信息确认所述第二数据对应的校验算法;基于所述第二数据对应的校验算法,确认所述第二数据对应的第二校验数据。
具体实施时,所述数据校验器可以基于所述第二空间标识信息确认所述第二数据对应的数据安全级别,基于所述数据安全级别确认所述第二数据对应的校验算法。例如数据安全级别高则选取1bit差错纠正码(ECC)算法,数据安全级别低则选取奇偶校验码;没有数据安全级别则可以不进行数据校验。
步骤S204,将所述第二校验数据存储至所述片上存储器中。
在一些实施例中,所述数据校验器基于所述第二空间标识信息确认所述第二校验数据在所述片上存储器中的第一存储地址;基于所述第一存储地址在所述片上存储器中存储所述第二校验数据。
在一些可选实施例中,所述数据一致性校验器接收所述第二校验数据,并对所述第二校验数据的完整性进行校验,获得第三校验结果;响应于所述第三校验结果表征所述第二校验数据的完整性校验通过,则将所述第二校验数据发送至所述片外存储器中。
如此,通过本公开实施例提供的数据处理方法,通过本公开实施例提供的数据处理方法,采用单个普通的片外存储器,通过SoC处理器内部的安全机制以及数据写入方法能够极大地提升外部扩展存储器整体方案的功能安全等级,并且,本公开不会降低片外存储器的访问效率,能够保障系统的性能。
在一些实施例中,在步骤S101和步骤S201之前,所述方法还可以包括步骤S301,在执行步骤S101之前,所述方法还可以包括步骤S302。图3示出了本公开实施例提供的数据处理方法的又一种可选流程示意图,将根据各个步骤进行说明。
步骤S301,解析片外存储器的配置空间。
在一些实施例中,芯片包括的存储器空间配置解析器从片外存储器读取配置空间对应的空间配置信息,可选的,可以在初始化阶段执行。
在一些实施例中,所述存储器空间配置解析器解析所述空间配置信息,为读写访问控制器提供片外存储器包括的每一个空间的起始及结束地址信息;为数据校验器提供片外存储器包括的每一个空间对应的校验算法及校验数据在片上存储器的地址信息;为数据一致性校验器提供片外存储器包括的每一个空间校验数据的数据一致性校验值。
步骤S302,加载片外存储器存储的至少一个校验数据。
所述芯片从所述片外存储器中获取所述片外存储器包存储的至少一个校验数据;其中,所述至少一个校验数据可以是所述片外存储器中全部空间对应的全部校验数据,也可以是部分空间对应的部分校验数据;所述芯片包括的校验信息装载器接收所述至少一个校验数据,并通过所述芯片包括的数据一致性校验器对所述至少一个校验数据的完整性进行校验,获得第一校验结果。响应于所述第一校验结果表征所述至少一个校验数据的完整性校验通过,则将所述至少一个校验数据发送至所述片上存储器中。
在一些实施例中,所述数据一致性校验器接收所述至少一个校验数据,基于数据一致性校验算法扫描全部校验数据并生成校验值;通过对比计算所述校验值与预设校验值,确认所述至少一个校验数据的完整性。响应于所述校验值与所述预设校验值一致,则确认所述至少一个校验数据的完整性校验通过;或者,响应于所述校验值与所述预设校验值不一致,则确认所述至少一个校验数据的完整性校验未通过,可选的,所述芯片还可以上报错误信息。
在一些实施例中,所述校验信息装载器加载片外存储器中存储的至少一个校验数据,可以包括静态装载和动态装载。所述静态装载可以包括在芯片对应的系统运行前,从所述片外存储器中获取所述至少一个校验数据;所述动态装载可以包括是在所述芯片对应的系统运行过程中动态检测数据传输请求对应的数据的校验数据是否加载到片上存储器中,如未加载,则暂停系统的访问,从片外存储器中获取至少一个校验数据并存储在片上存储器中。
图4示出了本公开提供的片外存储器的存储结构示意图,将根据各个部分进行说明。
所述片外存储器包括配置空间、至少一个空间、所述至少一个空间存储的数据、所述至少一个空间对应的校验区域;其中,所述配置空间包括所述至少一个空间中每一个空间的起始地址和结束地址、所述至少一个空间中每一个空间的校验算法、所述至少一个空间对应的校验区域一致性校验值中至少之一。
具体的,配置空间用于存放各个空间的配置信息,可以包括:各个空间的范围,表征该空间在片外存储器中的起始地址和结束地址;各空间的校验方法,表征该空间中存储的数据所使用的校验方法,可以包括SECDED32,SECDED64以及奇偶校验法,校验方法可以根据空间的安全级别或存储的数据的安全级别确认,不同的空间的安全级别或存储的数据的安全级别不同,则校验方法也不同;校验区域一致性校验值(即预设校验值),表征该空间所有校验数据的数据一致性校验值,用于数据一致性校验器校正数据的完整性/一致性。
图4中,空间X-数据为空间-X中存储的数据信息;其中,X=0,1,2,…,N。N为正整数,可以根据实际需要或实验结果确认。
图4中,空间X-校验值用于存放空间-X中数据对应的校验数据;其中,X=0,1,2,…,N。N为正整数,可以根据实际需要或实验结果确认。
图5示出了本公开实施例提供的芯片的可选结构示意图,将根据各个部分进行说明。
如图5所示,芯片500可以包括系统总线501、存储器空间配置解析器502、读写访问控制器503、数据校验器504、校验信息装载器505、数据一致性校验器506、片上存储器507和外部存储访问控制器508;片外存储器位于所述芯片的外部。
安全片外存储访问控制器可以包括存储器空间配置解析器502、读写访问控制器503、数据校验器504、校验信息装载器505、数据一致性校验器506、片上存储器507和外部存储访问控制器508。
在一些实施例中,存储器空间配置解析器502,用于在处理初始化阶段从片外存储器读取存储器空间配置信息(即片外存储器的配置空间的空间配置信息),解析空间配置信息并为读写访问控制器503、数据校验器504和数据一致性校验器506提供配置信息,具体可以包括:
为读写访问控制器503提供片外存储器中每一个空间的起始地址信息(起始地址)和结束地址信息(结束地址);为数据校验器504提供片外存储器中每一个空间的校验算法以及对于校验数据在片上存储器507的地址信息;为数据一致性校验器506提供片外存储器中每一个空间校验数据的数据一致性校验值(预设校验值)。
读写访问控制器503,用于根据片外存储器不同空间的地址信息(如起始地址信息和结束地址定向)为系统总线传输的每一笔数据传输请求添加空间号(RID)信息(即空间标识信息)。
数据校验器504,用于根据读写访问控制器503解析的RID为每一笔数据传输请求确定相应的校验算法进行校验。可以根据每一个空间的数据安全级别选取不同的校验算法。比如为安全性要求较高的区域选取1bit差错纠正码(ECC)算法;为安全性较低的区域选取奇偶校验码;没有安全需求的区域则可以不进行数据校验。
在数据的读取的过程中,数据校验器504接收片外存储器返回的数据,根据返回数据的RID以及地址信息从片上存储器507读取相应的校验数据。并采用相应的校验算法对片外存储器读取的数据进行校验以及错误纠正,在检测到错误时向系统上报错误信息。
在数据写入的过程中,数据校验器504接收读写访问控制器503的写数据,根据写入数据的RID采用相应的校验算法为写入数据计算生成相应的校验数据。同时根据写入数据的地址以及RID信息生成该校验数据在片上存储器507的存储地址,并将数据写入片上存储器507。
校验信息装载器505,用于将片外存储器中的校验数据读出并装载到片上存储器507中,数据装载的策略可以分为静态装载和动态装载。
所述静态装载可以包括在系统运行前通过软件设置将片外存储器中一个、多个或者全部空间的校验数据信息从片外存储器搬运至片上存储器507中。
所述动态装载可以包括在系统运行的过程中,动态地检测当前系统读取数据的校验数据信息是否已经加载到片上存储器507中。如还未加载则暂停系统的访问,同时从片外存储器中将全部空间的校验数据装载到片上存储器507中,加载完成后重启系统的访问。由于片上存储器507的空间有限,动态装载的过程中,最近装载的数据有可能会覆盖其他空间事先装载过的校验数据,可选的,可以使用cache调度的算法来管理片上存储器507。
所述校验信息装载器505,还用于在空间数据写入完成后将缓存于片上存储器507内对应的校验数据读出并写入到片外存储器对应的空间中。
数据一致性校验器506,用于针对从片外存储器读取访问的场景,对校验信息装载器505载入到片上存储器507中的校验数据信息进行一致性的检查。采用通用的数据一致性校验算法(比如CRC)扫描整个空间所有的校验数据并生成校验值。通过对比校验值与预设校验值以检测从片外存储器装载到片上存储器507中的校验数据信息的正确性(或完整性)。如检测到校验值与预设校验值不一致则上报错误信息。针对将片上存储器507中的数据(如校验数据)写入到片外存储器的场景,在整个空间的写入访问完成后,校验信息装载器将片上存储器507中缓存的该空间的校验数据读出并写入到片外存储器对应的空间中。在这个过程中数据一致性校验器扫描整个空间所有的校验数据并生成校验值。校验值生成后将校验值写入到片外存储器对应的地址空间(此时生成的校验值可以为预设校验值)。
片上存储器507,可以是通用片上系统静态存储器,用于存储一个、多个或者全部片外存储空间的校验数据,具备内存管理功能,能够根据预先设定的策略动态分配以及回收存储空间。
外部存储访问控制器508,用于将系统内部的存储器访问请求转化为片外存储器的访问协议。
所述片外存储器可以是片外的Flash,DRAM,SRAM等静态,随机存储器以及非易失性存储器等。
接下来结合图5对所述芯片的数据处理流程包括的读取过程和写入过程进一步说明。
数据写入过程。
在一些实施例中,外部存储访问控制器508从片外存储器中获取空间配置信息(如图5中(25)),并将所述空间配置信息发送至所述存储器空间配置解析器502(如图5中(29));所述存储器空间配置解析器502从片外存储器读取空间配置信息,并解析,为读写访问控制器503提供片外存储器中每一个空间的起始及结束地址信息(如图5中(31));为数据校验器504提供算法及校验数据在片上存储器的地址信息(如图5中(32));为数据一致性校验器506提供每一个空间校验数据的数据一致性校验值(如图5中(39))。
在一些可选实施例中,响应于加载模式为静态加载,则所述校验信息装载器基于外部存储访问控制器从所述片外存储器获取至少一个空间存储的校验信息,并将所述至少一个空间存储的校验信息发送至所述数据一致性校验器506中,由所述数据一致性校验器506对所述至少一个空间存储的校验信息进行完整性校验;响应于完整性校验通过,将所述至少一个空间存储的校验信息存储至片上存储器507中。
在一些实施例中,读写访问控制器接收系统总线发送的第一数据传输请求(读取请求)(如图5中(11)),确认所述第一数据传输请求对应的片外存储器的空间号信息(第一空间标识信息);将所述第一数据访问请求通过数据校验器504(如图5中(12))、校验信息装载器(如图5中(13))和外部存储访问控制器508(如图5中(14)),发送至片外存储器中(如图5中(15))。所述片外存储器基于所述第一数据传输请求对应的第一空间标识信息,获取所述第一数据传输请求对应的第一数据,并将所述第一数据发送至所述外部存储访问控制器508(如图5中(25)),所述外部存储访问控制器508将所述第一数据通过所述校验信息装载器505发送至所述数据校验器504中(如图5中(24)(23))。
所述数据校验器504基于所述第一空间标识信息确认所述片上存储器507中是否存储所述第一空间标识信息对应的校验数据;若所述片上存储器507中未存储所述第一空间标识信息对应的校验数据,则动态加载所述片外存储器中至少一个校验数据至所述片上存储器507中;若所述片上存储器507中存储所述第一空间标识信息对应的校验数据,则对所述第一数据进行校验。
具体实施时,所述数据校验器504基于所述第一空间标识信息确认所述第一数据对应的校验算法,以及,从所述片上存储器507中获取所述第一数据对应的第一校验数据;基于所述第一数据对应的校验算法对所述第一数据进行校验和/或错误纠正。
具体的,使用差错校验码时,若第一数据中有不超过1bit错误,则可以对错误进行纠正。
在一些实施例中,响应于所述第一数据校验通过,或者错误被纠正,则将所述第一数据发送至读写访问控制器503(如图5(22)),由所述读写访问控制器503将所述第一数据发送至所述系统总线501中(如图5(21)),实现数据的读取过程。
数据写入过程。
在一些实施例中,外部存储访问控制器508从片外存储器中获取空间配置信息(如图5中(25)),并将所述空间配置信息发送至所述存储器空间配置解析器502(如图5中(29));所述存储器空间配置解析器502从片外存储器读取空间配置信息,并解析,为读写访问控制器503提供片外存储器中每一个空间的起始及结束地址信息(如图5中(31));为数据校验器504提供算法及校验数据在片上存储器的地址信息(如图5中(32));为数据一致性校验器506提供每一个空间校验数据的数据一致性校验值(如图5中(39))。
在一些实施例中,读写访问控制器接收系统总线501发送的第二数据传输请求(写入请求)(如图5中(11)),确认所述第二数据传输请求对应的片外存储器的空间号信息(第二空间标识信息);将所述第二数据访问请求发送至数据校验器504(如图5中(12)),所述数据校验器504基于所述第二空间标识信息,确认所述第二数据传输请求对应的第二数据的校验算法,并基于所述校验算法生成所述第二数据对应的第二校验数据,并将所述第二校验数据存储至片上存储器507中(如图5中(26));然后通过校验信息装载器(如图5中(13))和外部存储访问控制器508(如图5中(14)),将所述第二数据请求发送至片外存储器中(如图5中(15))。所述片外存储器基于所述第二数据传输请求对应的第二空间标识信息,存储所述第二数据传输请求对应的第二数据。
在一些实施例中,片上存储器507存储所述第二校验数据之后,还可以将全部存储的校验数据(包括或不包括第二校验数据)发送至数据一致性校验器506中(如图5中(17))进行数据一致性检查,响应于数据一致性检查通过,则将所述全部存储的校验数据通过校验信息装载器505(如图5中18)、外部存储访问控制器508(如图5中(14))存储至片外存储器中,在存储时,可以基于所述校验数据对应的空间标识信息将所述校验数据存储至所述片外存储器对应的空间中。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
图6示出了可以用来实施本公开的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图6所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如数据处理方法。例如,在一些实施例中,数据处理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的数据处理方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本公开的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (12)

1.一种数据处理方法,其特征在于,所述方法包括:
确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息;
基于所述第一数据传输请求和所述第一空间标识信息,从所述片外存储器获取与所述第一数据传输请求对应的第一数据;
从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正;
响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线;
其中,所述片外存储器位于芯片外部;所述系统总线和片上存储器位于所述芯片内部。
2.根据权利要求1所述的方法,其特征在于,在确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息之前,或者确认系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息之后,所述方法还包括:
从所述片外存储器中获取所述片外存储器存储的至少一个校验数据,并存储至片上存储器中。
3.根据权利要求2所述的方法,其特征在于,所述从所述片外存储器中获取所述片外存储器存储的至少一个校验数据,并存储至片上存储器中,包括:
数据一致性校验器接收所述至少一个校验数据,并对至少一个校验数据的完整性进行校验,获得第一校验结果;
响应于所述第一校验结果表征所述至少一个校验数据的完整性校验通过,则将所述至少一个校验数据发送至所述片上存储器中。
4.根据权利要求1所述的方法,其特征在于,所述从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正,包括:
基于所述第一空间标识从所述片上存储器获取所述第一数据对应的第一校验数据;
基于所述第一空间标识确认所述第一数据的校验算法;
基于所述第一数据的校验算法和所述第一校验数据对所述第一数据进行校验,获得第二校验结果;
响应于所述第二校验结果表征所述第一数据校验未通过,则基于所述第一校验数据对所述第一数据进行校正。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
解析空间配置信息,获取所述片外存储器中至少一个空间对应的起始地址和结束地址、所述片外存储器中至少一个空间对应的校验算法、校验数据在片上存储器的地址信息,以及预设校验值;
其中,所述预设校验值用于对至少一个校验数据的完整性进行校验。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确认系统总线发送的第二数据传输请求对应的片外存储器的第二空间标识信息;
基于所述第二空间标识将所述第二数据传输请求携带的第二数据发送至所述片外存储器中;
数据校验器基于所述第二数据和所述第二空间标识信息确认所述第二数据对应的第二校验数据;
将所述第二校验数据存储至所述片上存储器中。
7.根据权利要求6所述的方法,其特征在于,所述数据校验器基于所述第二数据和所述第二空间标识信息确认所述第二数据对应的第二校验数据,包括:
所述数据校验器基于所述第二空间标识信息确认所述第二数据对应的校验算法;
基于所述第二数据对应的校验算法,确认所述第二数据对应的第二校验数据。
8.根据权利要求7所述的方法,其特征在于,所述将所述第二校验数据存储至所述片上存储器中,还包括:
基于所述第二空间标识信息确认所述第二校验数据在所述片上存储器中的第一存储地址;
基于所述第一存储地址在所述片上存储器中存储所述第二校验数据。
9.根据权利要求6所述的方法,其特征在于,所述将所述第二校验数据存储至所述片上存储器中之后,所述方法还包括:
数据一致性校验器接收所述第二校验数据,并对所述第二校验数据的完整性进行校验,获得第三校验结果;
响应于所述第三校验结果表征所述第二校验数据的完整性校验通过,则将所述第二校验数据发送至所述片外存储器中。
10.一种芯片,其特征在于,所述芯片包括:
读写访问控制器,用于确认芯片包括的系统总线发送的第一数据传输请求对应的片外存储器的第一空间标识信息;基于所述第一数据传输请求和所述第一空间标识信息,获取所述片外存储器返回的与所述第一数据传输请求对应的第一数据;
数据校验器,用于从片上存储器获取所述第一数据对应的第一校验数据,基于所述第一校验数据对所述第一数据进行校验和/或校正;
所述读写访问控制器,还用于响应于所述第一数据校验通过或校正完成,则将所述第一数据发送至所述系统总线;
其中,所述片外存储器位于芯片外部。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-9中任一项所述的方法。
CN202211040952.7A 2022-08-29 2022-08-29 数据处理方法、芯片、电子设备及存储介质 Pending CN115408730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211040952.7A CN115408730A (zh) 2022-08-29 2022-08-29 数据处理方法、芯片、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211040952.7A CN115408730A (zh) 2022-08-29 2022-08-29 数据处理方法、芯片、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN115408730A true CN115408730A (zh) 2022-11-29

Family

ID=84161761

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211040952.7A Pending CN115408730A (zh) 2022-08-29 2022-08-29 数据处理方法、芯片、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115408730A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116050321A (zh) * 2023-03-24 2023-05-02 南京芯驰半导体科技有限公司 数据处理方法、装置、电子设备及存储介质
CN117369733A (zh) * 2023-12-07 2024-01-09 上海励驰半导体有限公司 集成电路、数据处理系统和车辆

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116050321A (zh) * 2023-03-24 2023-05-02 南京芯驰半导体科技有限公司 数据处理方法、装置、电子设备及存储介质
CN117369733A (zh) * 2023-12-07 2024-01-09 上海励驰半导体有限公司 集成电路、数据处理系统和车辆
CN117369733B (zh) * 2023-12-07 2024-02-23 上海励驰半导体有限公司 集成电路、数据处理系统和车辆

Similar Documents

Publication Publication Date Title
CN110058873B (zh) 应用页面更新方法、装置、设备和存储介质
CN115408730A (zh) 数据处理方法、芯片、电子设备及存储介质
CN110442473B (zh) 一种非易失性数据存储方法、装置、电子设备及介质
CN108363640B (zh) 数据校验方法及装置、计算机可读存储介质
US20200250812A1 (en) Method and system for image analysis
CN107861832B (zh) 数据验证方法、装置及可读存储介质
CN107479823B (zh) 随机读写文件测试中的数据校验方法和装置
CN108875061A (zh) 一种分布式文件系统的一致性测试方法及相关装置
CN112380046B (zh) 计算结果校验方法、系统、装置、设备及存储介质
KR20230004394A (ko) 공유 메모리 액세스 제어 방법, 장치, 전자 기기 및 자율 주행 차량
CN110489983A (zh) 芯片访问方法、装置、芯片及终端
CN111581077A (zh) 智能合约测试方法、装置
CN108196975B (zh) 基于多校验和的数据验证方法、装置及存储介质
CN112788079A (zh) 一种数据传输方法、网络设备、网络系统及芯片
CN114385418A (zh) 通信设备的保护方法、装置、设备和存储介质
CN111694684A (zh) 存储设备的异常构造方法、装置、电子设备及存储介质
US7797134B2 (en) System and method for testing a memory with an expansion card using DMA
CN112395129A (zh) 存储校验方法、装置、计算芯片、计算机设备及存储介质
CN112732427A (zh) 一种基于Redis集群的数据处理方法、系统和相关装置
CN109871294B (zh) 用于校验数据、处理请求的方法和装置
CN112925546B (zh) 一种防止车载ecu刷新出错的多级校验方法及系统
CN111857545B (zh) 一种读写锁冲突判断方法、系统、设备及计算机介质
CN113010114A (zh) 一种数据处理方法、装置、计算机设备及存储介质
US20210182135A1 (en) Method and apparatus for fault prediction and management
CN112231232A (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