CN115827304A - 一种片内高速总线数据的校验系统及校验方法 - Google Patents
一种片内高速总线数据的校验系统及校验方法 Download PDFInfo
- Publication number
- CN115827304A CN115827304A CN202211398816.5A CN202211398816A CN115827304A CN 115827304 A CN115827304 A CN 115827304A CN 202211398816 A CN202211398816 A CN 202211398816A CN 115827304 A CN115827304 A CN 115827304A
- Authority
- CN
- China
- Prior art keywords
- data
- check code
- write
- speed bus
- read
- 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
Links
Images
Landscapes
- Detection And Correction Of Errors (AREA)
Abstract
本发明提供了一种片内高速总线数据的校验系统及校验方法,包括主机设备、从机设备和用于在主机设备和从机设备之间进行数据传输的片内高速总线,还包括通过总线接口挂载于片内高速总线的检错纠错模块,当主机设备通过片内高速总线向从机设备进行数据读写时,检错纠错模块获取片内高速总线的写数据和读数据,并对访问地址相同的写数据和读数据进行数据校验。根据本实施例的技术方案,检错纠错模块可以获取每个设备的读写数据并进行数据检验,简化了片内高速总线数据的校验系统,无需在每个设备配置校验逻辑,节约了设计资源,提高了总线数据传输的可靠性及效率,同时还便于了数据校验设计的可移植性,降低了项目设计成本和开发周期。
Description
技术领域
本发明属于数据校验技术领域,尤其涉及一种片内高速总线数据的校验系统及校验方法。
背景技术
片内高速总线架设于芯片片内,用于片内各个设备的高速互联互通。在高可靠性空间应用领域中,芯片经常工作在强电、辐射的环境下,容易造成片上高速总线的数据翻转出错,这就需要对从机设备的读目标写数据进行比对校验。
在相关技术中,通常在每个设备的控制器中配置校验逻辑,利用校验逻辑对该控制器的目标写数据和目标读数据的比对校验。但是,这就要求在每个控制器都嵌入校验逻辑,不仅耗费大量的时间进行配置和调试,而且可移植性较差、且占用大量设计逻辑资源,项目设计成本也提高。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本发明实施例提供了一种片内高速总线数据的校验系统及校验方法,能够简化片内高速总线数据的校验系统,节约调试时间,提高校验系统的可移植性。
第一方面,本发明实施例提供了一种片内高速总线数据的校验系统,包括主机设备、从机设备和片内高速总线,所述主机设备和所述从机设备连接于所述片内高速总线,所述片内高速总线用于在所述主机设备和所述从机设备之间进行数据传输,还包括:
检错纠错模块,所述检错纠错模块通过总线接口挂载于所述片内高速总线,当所述主机设备通过所述片内高速总线向所述从机设备进行数据读写时,所述检错纠错模块用于获取所述片内高速总线的写数据和读数据,并对访问地址相同的所述写数据和所述读数据进行数据校验,其中,所述访问地址用于指示所述从机设备的存储位置。
在一些实施例中,所述检错纠错模块包括:
校验码生成器,所述校验码生成器分别连接于所述总线接口,其中,当所述片内高速总线处于写状态,所述校验码生成器通过所述总线接口获取所述片内高速总线的所述写数据并生成写校验码,当所述片内高速总线处于读状态,所述校验码生成器通过所述总线接口获取所述片内高速总线的所述读数据并生成读校验码;
校验码存储器,所述校验码存储器与所述校验码生成器相连接,所述校验码存储器用于保存所述写校验码;
校验器,所述校验器分别连接于与所述校验码生成器和所述校验码存储器,所述校验器用于对所述访问地址相同的所述读校验码和所述写校验码进行数据校验。
在一些实施例中,所述校验码存储器与所述总线接口相连接,所述校验码存储器还用于获取并记录所述写数据的访问地址,所述校验码存储器还用于获取所述读数据的访问地址,并向所述校验器发送与所述读数据对应于同一访问地址的所述写校验码。
在一些实施例中,所述校验器还用于:当数据校验的结果表征校验不通过,根据所述写数据纠正所述读数据,或者,向所述主机设备发送错误报告,所述错误报告包括校验不通过的所述读数据和对应的所述访问地址的地址信息。
在一些实施例中,所述校验码存储器为片上随机存取存储器。
第二方面,本发明实施例提供了一种片内高速总线数据的校验方法,应用于第一方面所述的片内高速总线数据的校验系统,所述片内高速总线数据的校验方法包括:
当主机设备通过片内高速总线与从机设备进行数据读写时,通过检错纠错模块获取所述片内高速总线的写数据和读数据;
对访问地址相同的所述写数据和所述读数据进行数据校验,其中,所述访问地址用于指示所述从机设备的存储位置。
在一些实施例中,所述检错纠错模块还包括校验码存储器、校验码生成器和校验器,所述校验码生成器分别连接于所述总线接口和所述校验码存储器,所述校验器分别连接于与所述校验码生成器和所述校验码存储器,所述校验码存储器还连接于所述总线接口,所述方法还包括:
当所述片内高速总线处于写状态时,所述校验码生成器获取所述片内高速总线的所述写数据,根据所述写数据生成写校验码并发送至所述校验码存储器保存,并通过所述校验码存储器记录所述写数据的访问地址,关联并保存所述写校验码和所述写数据的访问地址;
当所述片内高速总线处于读状态时,所述校验码生成器获取所述片内高速总线的读数据,根据所述读数据生成读校验码并发送至所述校验器,所述校验码存储器获取所述读数据的访问地址,并向所述校验器发送与所述读数据对应于同一访问地址的所述写校验码,通过所述校验器对获取到的所述读校验码和所述写校验码进行数据校验。
在一些实施例中,所述通过所述校验器对获取到的所述读校验码和所述写校验码进行数据校验,包括:
对获取到的所述读校验码和所述写校验码进行异或运算;
当异或运算的结果表征获取到的所述读校验码和所述写校验码相同,确定数据校验的结果为校验通过。
在一些实施例中,当异或运算的结果表征获取到的所述读校验码和所述写校验码不相同,所述方法还包括:
针对获取到的所述读校验码和所述写校验码进行解码,得到解码读数据和解码写数据;
根据异或运算的结果确定解码读数据的错误数据位;
当所述错误数据位的数量小于或等于预设阈值,根据所述解码写数据纠正所述解码读数据,并将纠正后的所述解码读数据通过所述片内高速总线更新到所述从机设备;
或者,
当所述错误数据位的数量大于预设阈值,通过所述片内高速总线向所述主机设备发送错误报告,所述错误报告包括所述解码读数据和对应的所述访问地址的地址信息。
在一些实施例中,所述校验码生成器通过BCH编解码算法生成所述写校验码或所述读校验码。
本发明实施例包括:包括主机设备、从机设备和片内高速总线,所述主机设备和所述从机设备连接于所述片内高速总线,所述片内高速总线用于在所述主机设备和所述从机设备之间进行数据传输,还包括检错纠错模块,所述检错纠错模块通过总线接口挂载于所述片内高速总线,当所述主机设备通过所述片内高速总线向所述从机设备进行数据读写时,所述检错纠错模块用于获取所述片内高速总线的写数据和读数据,并对访问地址相同的所述写数据和所述读数据进行数据校验,其中,所述访问地址用于指示所述从机设备的存储位置。根据本实施例的技术方案,由于检错纠错模块挂载于片内高速总线,可以获取每个设备的读写数据并进行数据检验,简化了片内高速总线数据的校验系统,无需在每个从机设备配置校验逻辑,节约了调试时间,并且有效提高了片内高速总线数据的校验系统的可移植性,降低了片内高速总线数据的校验系统的设计成本。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。
图1是本发明实施例提供的片内高速总线数据的校验系统的框架示意图;
图2是本发明另一个实施例提供的检错纠错模块的具体结构示意图;
图3是本发明另一个实施例提供的片内高速总线数据的校验方法的流程图;
图4是本发明另一个实施例提供的片内高速总线数据的校验方法的流程图;
图5是图4中步骤420的具体流程图;
图6是图4中步骤420的具体流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书、权利要求书或上述附图中的术语“第一”、“目标”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明提供了一种片内高速总线数据的校验系统及片内高速总线数据的校验方法,片内高速总线数据的校验系统包括主机设备、从机设备和片内高速总线,所述主机设备和所述从机设备连接于所述片内高速总线,所述片内高速总线用于在所述主机设备和所述从机设备之间进行数据传输,还包括检错纠错模块,所述检错纠错模块通过总线接口挂载于所述片内高速总线,当所述主机设备通过所述片内高速总线向所述从机设备进行数据读写时,所述检错纠错模块用于获取所述片内高速总线的写数据和读数据,并对访问地址相同的所述写数据和所述读数据进行数据校验,其中,所述访问地址用于指示所述从机设备的存储位置。根据本实施例的技术方案,由于检错纠错模块挂载于片内高速总线,可以获取每个设备的读写数据并进行数据检验,简化了片内高速总线数据的校验系统,无需在每个从机设备配置校验逻辑,节约了调试时间,并且有效提高了片内高速总线数据的校验系统的可移植性,降低了片内高速总线数据的校验系统的设计成本。
参照图1,图1为本申请实施例提供一种片内高速总线数据的校验系统,包括主机设备110、从机设备120和片内高速总线130,主机设备110和从机设备120连接于片内高速总线130,片内高速总线130用于在主机设备110和从机设备120之间进行数据传输,还包括:
检错纠错模块200,检错纠错模块通过总线接口140挂载于片内高速总线130,当主机设备110通过片内高速总线130向从机设备120进行数据读写时,检错纠错模块200用于获取片内高速总线130的写数据和读数据,并对访问地址相同的写数据和读数据进行数据校验,其中,访问地址用于指示从机设备120的存储位置。
需要说明的是,本申请的片内高速总线数据的校验系统中可以包括任意数量的主机设备110和从机设备120,主机设备110可以是处理器或者设备模块的控制器,从机设备120可以是存储器模块,本实施例对具体的硬件类型不做限定,主机设备110和从机设备120能够通过片内高速总线130进行数据传输即可。
值得注意的是,在芯片中具有多个主机设备110和多个从机设备120的情况下,每个主机设备110与任意从机设备120之间的数据都会经过片内高速总线130传输,因此,本申请的检错纠错模块200通过总线接口140挂载于片内高速总线130,能够从片内高速总线130获取任意的主机设备110与任意的从机设备120之间传输的数据,例如图1所示,主机设备1要向从机设备1写入数据A时,主机设备1通过片内高速总线130将数据A发送至从机设备1,在数据A的传输过程中,可以同时将该数据A通过总线接口140传递至检错纠错模块200;又如,主机设备1要向从机设备2写入数据B时,主机设备1通过片内高速总线130将数据B发送至从机设备2,在数据B的传输过程中,可以同时将该数据B通过总线接口140传递至检错纠错模块200;又如,在主机设备1通过片内高速总线130向从机设备1读取数据A时,从机设备1通过片内高速总线130将数据A传输至主机设备1,在传输过程中数据A可以通过总线接口140传递至检错纠错模块200,进行后续的数据校验。本实施例通过将检错纠错模块200挂载至片内高速总线130,能够将数据校验逻辑部署在检错纠错模块200中,无需在每个从机设备120的控制器中设计校验逻辑,在芯片原有的结构基础上直接挂在检错纠错模块200,即可实现对片内高速总线130上的从机设备120的数据进行保护,提高了整个片内高速总线数据的校验系统的稳定性和抗干扰性,且简化了整个系统的设计。
需要说明的是,为了确保进行数据校验的读数据和写数据为同一个数据,本实施例以访问地址为匹配依据,使得读数据和写数据均对应于从机设备120的同一个存储位置,例如,在将写数据A写入从机设备1的位置1之后,当向从机设备1的位置1读取出读数据A,以及向从机设备2的位置1读取出读数据B之后,以从机设备1的位置1为匹配依据,对写数据A和读数据A进行数据校验。访问地址的具体形式可以根据实际需求选取,本实施例对此不多作限定。
需要说明的是,本实施例以访问地址为依据匹配对应的读数据和写数据进行数据校验,能够有效区分不同的从机设备120中存储的数据,确保可以进行数据校验的读数据和写数据的精准匹配,从而在芯片中可以任意调整主机设备110和从机设备120的数量,也可以将检错纠错模块200直接移植到其他的芯片中使用,只需要确保校验逻辑一致即可,有效提高了片内高速总线数据的校验系统的可移植性,也有效简化了校验逻辑的配置流程和调试时间,减少开发成本。
需要说明的是,由于写数据和读数据在片内高速总线130中通常以字节为单位进行传输,因此写数据和读数据可以是一个字节的数据,当然,若出于实际数据校验的需求,也可以针对数据集执行本实施例的技术方案,例如针对某一个存储区域的写数据集和读数据集进行数据校验,本领域技术人员熟知在本实施例公开的技术方案上进行扩展,在此对读数据和写数据的数据量和数据规模不多作限定。
另外,在一实施例中,参照图1和图2,检错纠错模块200包括:
校验码生成器210,校验码生成器210分别连接于总线接口140,其中,当片内高速总线130处于写状态,校验码生成器210通过总线接口140获取片内高速总线130的写数据并生成写校验码,当片内高速总线130处于读状态,校验码生成器210通过总线接口140获取片内高速总线130的读数据并生成读校验码;
校验码存储器220,校验码存储器220与校验码生成器210相连接,校验码存储器220用于保存写校验码;
校验器230,校验器230分别连接于与校验码生成器210和校验码存储器220,校验器230用于对访问地址相同的读校验码和写校验码进行数据校验。
需要说明的是,校验码生成器210可以通过总线接口140连接于片内高速总线130,从而在片内高速总线130处于写状态或者读状态时获取数据,例如,在片内高速总线130处于写状态时,片内高速总线130中的写数据同时传输至从机设备120和校验码生成器210,校验码生成器210根据获取到的写数据生成的写校验码;片内高速总线130处于读状态时同理,在此不重复赘述。
需要说明的是,为了提高数据校验的准确性,写校验码可以是针对每个字节的写数据生成的,读校验码可以是针对每个字节的读数据生成的,当然,也可以根据数据校验的精度需求调整,例如针对上述实施例描述的一个写数据集生成写校验码,本实施例对此不多作限定。
需要说明的是,片内高速总线130传输的数据通常是多个字节的数据流,而且必定是先完成数据的写入,才可以进行数据的读取,基于此,在通过片内高速总线130传输写数据的过程中,校验码生成器210每获取到一个字节的写数据,生成一个对应的写校验码,然后保存到校验码存储器220,在片内高速总线130传输读数据时,校验码生成器210每获取到一个字节的读数据,生成一个对应的读校验码,在根据访问地址从校验码存储器220中匹配出对应的写校验码,通过校验器230进行数据校验。
可以理解的是,校验码存储器220只需要存储写校验码,无需存储读校验码,本申请实施例以片内高速总线130的读状态作为数据校验的触发,在片内高速总线130处于写状态时,根据写数据生成写校验码并保存在校验码存储器220,当片内高速总线130切换到读状态之后,校验码生成器210每生成一个读校验码,可以直接发送至校验器230,校验码存储器220同时获取对应的写校验码发送至校验器230,校验器230获取到同一访问地址的读校验码和写校验码之后进行数据校验,从而实现动态的数据校验,提高数据校验的效率。
需要说明的是,由于写校验码和读校验码均由校验码生成器210生成,在校验码生成器210的校验码生成算法相同的情况下,同一个数据所对应的读校验码和写校验码是相同的,因此,校验器230可以通过验证写校验码和读校验码是否相同来进行数据校验,例如对于一个字节的数据为例,通常包括多位数值,校验器230可以逐位比对数值进行数据校验,也可以通过逻辑运算的方式进行数据校验,例如进行异或运算,每一位的结果均为0则代表两组数据相同。本领域技术人员有动机根据实际需求选择数据校验的算法,本实施例对此不多作限定。
另外,在一实施例中,参照图1和图2,校验码存储器220与总线接口140相连接,校验码存储器220还用于获取并记录写数据的访问地址,校验码存储器220还用于获取读数据的访问地址,并向校验器230发送与读数据对应于同一访问地址的写校验码。
需要说明的是,本实施例进行数据校验的写校验码和读校验码对应于同一个访问地址,为了便于匹配,校验码存储器220可以与总线接口140相连接,每当校验码生成器210获取到一个写数据并生成写校验码,校验码存储器220通过总线接口140从片内高速总线130获取当前的写数据所对应的访问地址,并将该访问地址与对应的写校验码关联保存,即在校验码存储器220中保存的每一组存储数据为[写校验码,访问地址]。当校验码生成器210根据当前的读数据生成读校验码,校验码存储器220通过总线接口140从片内高速总线130获取当前的访问地址,根据当前的访问地址在存储数据中匹配出对应的写校验码,并发送至校验器230进行数据校验。
另外,在一实施例中,参照图1和图2,校验器230还用于:当数据校验的结果表征校验不通过,根据写数据纠正读数据,或者,向主机设备110发送错误报告,错误报告包括校验不通过的读数据和对应的访问地址的地址信息。
需要说明的是,当读校验码和写校验码不相同,数据校验的结果为不通过,可能出现了片上高速总线130的数据翻转出错,由于写数据是从片上高速总线130写入之前获取,可以确保写数据是正确的,在这种情况下,可以以写数据为参考,将读数据中数值不同的数据位确定为错误数据位,在错误数据位的数量较少的情况下,可以根据写数据纠正读数据,例如将读数据的错误数据位的数值修改成写数据对应数据位的数值,并将纠正后的解码读数据更新到对应的从机设备,提高片内高速总线数据的校验系统的纠错能力。
需要说明的是,在错误数据位的数量较多的情况下,根据写数据进行纠正的可靠性不高,可以向主机设备110发送错误报告,将出现错误的读数据和对应的访问地址的地址信息发送给主机设备110,通过主机设备110对错误的读数据进行处理,并刷新状态寄存器,从而实现对读数据的纠正,通过本实施例的技术方案,可以实现对错误数据位较少的读数据进行纠错,对错误数据位较多的读数据进行上报处理,提高片内高速总线数据的校验系统的可靠性和纠错能力。
在一些实施例中,校验码存储器220为片上随机存取存储器。
需要说明的是,校验码存储器是一块片上随机存取存储器,可以实现数据的随时读写,而且读写速度较快,能够在片上高速总线随时切换读写状态确保写校验码和存储地址的存储和读取效率。
基于图1和图2所示的片内高速总线数据的校验系统,下面详细说明本申请实施例提供的片内高速总线数据的校验方法的原理。参照图3,图3为本申请实施例提供的片内高速总线数据的校验方法的流程图,包括但不限于以下步骤310至步骤320。
步骤310,当主机设备通过片内高速总线与从机设备进行数据读写时,通过检错纠错模块获取片内高速总线的写数据和读数据;
步骤320,对访问地址相同的写数据和读数据进行数据校验,其中,访问地址用于指示从机设备的存储位置。
需要说明的是,在芯片中具有多个主机设备和多个从机设备的情况下,每个主机设备与任意从机设备之间的数据都会经过片内高速总线传输,因此,本申请的检错纠错模块通过总线接口挂载于片内高速总线,能够从片内高速总线获取任意的主机设备与任意的从机设备之间传输的数据。本实施例通过将检错纠错模块挂载至片内高速总线,能够将数据校验逻辑部署在检错纠错模块中,无需在每个设备的控制器中设计校验逻辑,在芯片原有的结构基础上直接挂在检错纠错模块,即可实现对片内高速总线上的从机设备的数据进行保护,提高了整个片内高速总线数据的校验系统的稳定性和抗干扰性,且简化了整个系统的设计。
需要说明的是,为了确保进行数据校验的读数据和写数据为同一个数据,本实施例以访问地址为匹配依据,使得读数据和写数据均对应于从机设备120的同一个存储位置,例如,在将写数据A写入从机设备1的位置1之后,当向从机设备1的位置1读取出读数据A,以及向从机设备2的位置1读取出读数据B之后,以从机设备1的位置1为匹配依据,对写数据A和读数据A进行数据校验。访问地址的具体形式可以根据实际需求选取,本实施例对此不多作限定。
需要说明的是,本实施例以访问地址为依据匹配对应的读数据和写数据进行数据校验,能够有效区分不同的从机设备中存储的数据,确保可以进行数据校验的读数据和写数据的精准匹配,从而在芯片中可以任意调整主机设备和从机设备的数量,也可以将检错纠错模块直接移植到其他的芯片中使用,只需要确保校验逻辑一致即可,有效提高了片内高速总线数据的校验系统的可移植性,也有效简化了校验逻辑的配置流程和调试时间,减少开发成本。
需要说明的是,由于写数据和读数据在片内高速总线中通常以字节为单位进行传输,因此写数据和读数据可以是一个字节的数据,当然,若出于实际数据校验的需求,也可以针对数据集执行本实施例的技术方案,例如针对某一个存储区域的写数据集和读数据集进行数据校验,本领域技术人员熟知在本实施例公开的技术方案上进行扩展,在此对读数据和写数据的数据量和数据规模不多作限定。
另外,在一实施例中,检错纠错模块还包括校验码存储器、校验码生成器和校验器,校验码生成器分别连接于总线接口和校验码存储器,校验器分别连接于与校验码生成器和校验码存储器,校验码存储器还连接于总线接口,参照图4,本实施例的方法还包括但不限于有以下步骤:
步骤410,当片内高速总线处于写状态时,校验码生成器获取片内高速总线的写数据,根据写数据生成写校验码并发送至校验码存储器保存,并通过校验码存储器记录写数据的访问地址,关联并保存写校验码和写数据的访问地址;
步骤420,当片内高速总线处于读状态时,校验码生成器获取片内高速总线的读数据,根据读数据生成读校验码并发送至校验器,校验码存储器获取读数据的访问地址,并向校验器发送与读数据对应于同一访问地址的写校验码,通过校验器对获取到的读校验码和写校验码进行数据校验。
需要说明的是,校验码生成器可以通过总线接口连接于片内高速总线,从而在片内高速总线处于写状态或者读状态时获取数据,例如,在片内高速总线处于写状态时,片内高速总线中的写数据同时传输至从机设备和校验码生成器,校验码生成器根据获取到的写数据生成的写校验码;片内高速总线处于读状态时同理,在此不重复赘述。
需要说明的是,为了提高数据校验的准确性,写校验码可以是针对每个字节的写数据生成的,读校验码可以是针对每个字节的读数据生成的,当然,也可以根据数据校验的精度需求调整,例如针对上述实施例描述的一个写数据集生成写校验码,本实施例对此不多作限定。
需要说明的是,片内高速总线传输的数据通常是多个字节的数据流,而且必定是先完成数据的写入,才可以进行数据的读取,基于此,在通过片内高速总线传输写数据的过程中,校验码生成器每获取到一个字节的写数据,生成一个对应的写校验码,然后保存到校验码存储器,在片内高速总线传输读数据时,校验码生成器每获取到一个字节的读数据,生成一个对应的读校验码,在根据访问地址从校验码存储器中匹配出对应的写校验码,通过校验器进行数据校验。
可以理解的是,校验码存储器只需要存储写校验码,无需存储读校验码,本申请实施例以片内高速总线的读状态作为数据校验的触发,在片内高速总线处于写状态时,根据写数据生成写校验码并保存在校验码存储器,当片内高速总线切换到读状态之后,校验码生成器每生成一个读校验码,可以直接发送至校验器,校验码存储器同时获取对应的写校验码发送至校验器,校验器获取到同一访问地址的读校验码和写校验码之后进行数据校验,从而实现动态的数据校验,提高数据校验的效率。
需要说明的是,由于写校验码和读校验码均由校验码生成器生成,在校验码生成器的校验码生成算法相同的情况下,同一个数据所对应的读校验码和写校验码是相同的,因此,校验器可以通过验证写校验码和读校验码是否相同来进行数据校验,例如对于一个字节的数据为例,通常包括多位数值,校验器可以逐位比对数值进行数据校验,也可以通过逻辑运算的方式进行数据校验,例如进行异或运算,每一位的结果均为0则代表两组数据相同。本领域技术人员有动机根据实际需求选择数据校验的算法,本实施例对此不多作限定。
需要说明的是,本实施例进行数据校验的写校验码和读校验码对应于同一个访问地址,为了便于匹配,校验码存储器可以与总线接口相连接,每当校验码生成器获取到一个写数据并生成写校验码,校验码存储器通过总线接口从片内高速总线获取当前的写数据所对应的访问地址,并将该访问地址与对应的写校验码关联保存,即在校验码存储器中保存的每一组存储数据为[写校验码,访问地址]。当校验码生成器根据当前的读数据生成读校验码,校验码存储器通过总线接口从片内高速总线获取当前的访问地址,根据当前的访问地址在存储数据中匹配出对应的写校验码,并发送至校验器进行数据校验。
另外,在一实施例中,参照图5,图4所示的步骤420还包括但不限于有以下步骤:
步骤510,对获取到的读校验码和写校验码进行异或运算;
步骤520,当异或运算的结果表征获取到的读校验码和写校验码相同,确定数据校验的结果为校验通过。
需要说明的是,数据校验即确定读数据和写数据是否相同,由于读校验码和写校验码均通过校验码生成器生成,因此读校验码和写校验码相同,即可确定读数据和写数据相同,确定数据校验通过。为了验证位数较多的读校验码和写校验码是否相同,可以对读校验码和写校验码进行异或运算,当两个校验码相同时,运算结果为0,当两个数据不相同时,运算结果为1。例如,当读校验码和写校验码由7位数据组成,进行异或运算后,异或运算结果同样为7位数据,并且全部为0,则可以确定校验通过,若7位数据中包括数值1,则可以确定数据校验不通过。
另外,在一实施例中,当异或运算的结果表征获取到的读校验码和写校验码不相同,参照图6,图4所示的步骤420还包括但不限于有以下步骤:
步骤610,针对获取到的读校验码和写校验码进行解码,得到解码读数据和解码写数据;
步骤620,根据异或运算的结果确定解码读数据的错误数据位;
步骤630,当错误数据位的数量小于或等于预设阈值,根据解码写数据纠正解码读数据,并将纠正后的解码读数据通过片内高速总线更新到从机设备;
步骤640,当错误数据位的数量大于预设阈值,通过片内高速总线向主机设备发送错误报告,错误报告包括解码读数据和对应的访问地址的地址信息。
需要说明的是,当读校验码和写校验码不相同,数据校验的结果为不通过,可能出现了片上高速总线的数据翻转出错,由于写数据是从片上高速总线写入之前获取,可以确保写数据是正确的,在这种情况下,可以对读校验码和写校验码进行解码,得到对应的解码读数据和解码写数据,在通过异或运算进行数据校验的基础上,可以将异或运算的结果为1的数据位确定为错误数据位。
需要说明的是,在错误数据位的数量较少的情况下,可以根据解码写数据纠正解码读数据,例如将解码读数据的错误数据位的数值修改成解码写数据对应数据位的数值,并将纠正后的解码读数据更新到对应的从机设备,提高片内高速总线数据的校验系统的纠错能力。
需要说明的是,在错误数据位的数量较多的情况下,根据解码写数据进行纠正的可靠性不高,可以向主机设备发送错误报告,将出现错误的解码读数据和对应的访问地址的地址信息发送给主机设备,通过主机设备对错误的解码读数据进行处理,并刷新状态寄存器,从而实现对读数据的纠正,通过本实施例的技术方案,可以实现对错误数据位较少的读数据进行纠错,对错误数据位较多的读数据进行上报处理,提高片内高速总线数据的校验系统的可靠性和纠错能力。
另外,在一实施例中,校验码生成器通过BCH编解码算法生成写校验码或读校验码。
需要说明的是,通过BCH编解码算法得到的写校验码和读校验码,能够用于校正多个随机错误模式的多级、循环、错误校正、变长数字编码,准确性较高。同时,BCH编解码算法也便于进行解码,从而对写校验码和读校验码分别进行解码得到解码写数据和解码读数据,提高片内高速总线数据的校验系统的检错和纠错的效率。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统电子设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序的介质。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算电子设备(可以是个人计算机、服务器、触控终端、或者网络电子设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
Claims (10)
1.一种片内高速总线数据的校验系统,包括主机设备、从机设备、片内高速总线和总线接口,所述主机设备和所述从机设备连接于所述片内高速总线,所述片内高速总线用于在所述主机设备和所述从机设备之间进行数据传输,其特征在于,还包括:
检错纠错模块,所述检错纠错模块通过总线接口挂载于所述片内高速总线,当所述主机设备通过所述片内高速总线向所述从机设备进行数据读写时,所述检错纠错模块用于获取所述片内高速总线的写数据和读数据,并对访问地址相同的所述写数据和所述读数据进行数据校验,其中,所述访问地址用于指示所述从机设备的存储位置。
2.根据权利要求1所述的片内高速总线数据的校验系统,其特征在于,所述检错纠错模块包括:
校验码生成器,所述校验码生成器分别连接于所述总线接口,其中,当所述片内高速总线处于写状态,所述校验码生成器通过所述总线接口获取所述片内高速总线的所述写数据并生成写校验码,当所述片内高速总线处于读状态,所述校验码生成器通过所述总线接口获取所述片内高速总线的所述读数据并生成读校验码;
校验码存储器,所述校验码存储器与所述校验码生成器相连接,所述校验码存储器用于保存所述写校验码;
校验器,所述校验器分别连接于与所述校验码生成器和所述校验码存储器,所述校验器用于对所述访问地址相同的所述读校验码和所述写校验码进行数据校验。
3.根据权利要求2所述的片内高速总线数据的校验系统,其特征在于,所述校验码存储器与所述总线接口相连接,所述校验码存储器还用于获取并记录所述写数据的访问地址,所述校验码存储器还用于获取所述读数据的访问地址,并向所述校验器发送与所述读数据对应于同一访问地址的所述写校验码。
4.根据权利要求3所述的片内高速总线数据的校验系统,其特征在于,所述校验器还用于:当数据校验的结果表征校验不通过,根据所述写数据纠正所述读数据,或者,向所述主机设备发送错误报告,所述错误报告包括校验不通过的所述读数据和对应的所述访问地址的地址信息。
5.根据权利要求2所述的片内高速总线数据的校验系统,其特征在于,所述校验码存储器为片上随机存取存储器。
6.一种片内高速总线数据的校验方法,应用于权利要求1至5任意一项所述的片内高速总线数据的校验系统,所述片内高速总线数据的校验方法包括:
当主机设备通过片内高速总线与从机设备进行数据读写时,通过检错纠错模块获取所述片内高速总线的写数据和读数据;
对访问地址相同的所述写数据和所述读数据进行数据校验,其中,所述访问地址用于指示所述从机设备的存储位置。
7.根据权利要求6所述的片内高速总线数据的校验方法,其特征在于,所述检错纠错模块还包括校验码存储器、校验码生成器和校验器,所述校验码生成器分别连接于所述总线接口和所述校验码存储器,所述校验器分别连接于与所述校验码生成器和所述校验码存储器,所述校验码存储器还连接于所述总线接口,所述方法还包括:
当所述片内高速总线处于写状态时,所述校验码生成器获取所述片内高速总线的所述写数据,根据所述写数据生成写校验码并发送至所述校验码存储器保存,并通过所述校验码存储器记录所述写数据的访问地址,关联并保存所述写校验码和所述写数据的访问地址;
当所述片内高速总线处于读状态时,所述校验码生成器获取所述片内高速总线的读数据,根据所述读数据生成读校验码并发送至所述校验器,所述校验码存储器获取所述读数据的访问地址,并向所述校验器发送与所述读数据对应于同一访问地址的所述写校验码,通过所述校验器对获取到的所述读校验码和所述写校验码进行数据校验。
8.根据权利要求7所述的片内高速总线数据的校验方法,其特征在于,所述通过所述校验器对获取到的所述读校验码和所述写校验码进行数据校验,包括:
对获取到的所述读校验码和所述写校验码进行异或运算;
当异或运算的结果表征获取到的所述读校验码和所述写校验码相同,确定数据校验的结果为校验通过。
9.根据权利要求7所述的片内高速总线数据的校验方法,其特征在于,当异或运算的结果表征获取到的所述读校验码和所述写校验码不相同,所述方法还包括:
针对获取到的所述读校验码和所述写校验码进行解码,得到解码读数据和解码写数据;
根据异或运算的结果确定所述解码读数据的错误数据位;
当所述错误数据位的数量小于或等于预设阈值,根据所述解码写数据纠正所述解码读数据,并将纠正后的所述解码读数据通过所述片内高速总线更新到所述从机设备;
或者,
当所述错误数据位的数量大于预设阈值,通过所述片内高速总线向所述主机设备发送错误报告,所述错误报告包括所述解码读数据和对应的所述访问地址的地址信息。
10.根据权利要求7所述的片内高速总线数据的校验方法,其特征在于:所述校验码生成器通过BCH编解码算法生成所述写校验码或所述读校验码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211398816.5A CN115827304A (zh) | 2022-11-09 | 2022-11-09 | 一种片内高速总线数据的校验系统及校验方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211398816.5A CN115827304A (zh) | 2022-11-09 | 2022-11-09 | 一种片内高速总线数据的校验系统及校验方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115827304A true CN115827304A (zh) | 2023-03-21 |
Family
ID=85527397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211398816.5A Pending CN115827304A (zh) | 2022-11-09 | 2022-11-09 | 一种片内高速总线数据的校验系统及校验方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115827304A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117909284A (zh) * | 2024-03-13 | 2024-04-19 | 深圳曦华科技有限公司 | 数据访问方法、装置、计算机设备和存储介质 |
-
2022
- 2022-11-09 CN CN202211398816.5A patent/CN115827304A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117909284A (zh) * | 2024-03-13 | 2024-04-19 | 深圳曦华科技有限公司 | 数据访问方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3716071B1 (en) | Combined secure message authentication codes (mac) and device correction using encrypted parity with multi-key domains | |
US20190051370A1 (en) | Methods, systems and apparatus for in-field testing for generic diagnostic components | |
CN111078459B (zh) | 半导体芯片的测试方法、装置及系统 | |
KR101915351B1 (ko) | 하드웨어에서 데이터프레임 세그먼트들의 라인-레이트 병합을 제공하는 고성능 판독-수정-기록 시스템 | |
CN115827304A (zh) | 一种片内高速总线数据的校验系统及校验方法 | |
US20110219285A1 (en) | Semiconductor integrated circuit | |
CN115729746A (zh) | 一种基于crc和ecc存储数据保护方法 | |
US11995006B2 (en) | Algebraic and deterministic memory authentication and correction with coupled cacheline metadata | |
CN106528437B (zh) | 数据储存系统与其相关方法 | |
CN116795728B (zh) | 一种基于uvm的多核缓存一致性验证模组及方法 | |
CN113742123A (zh) | 内存故障信息记录方法及设备 | |
US10911181B2 (en) | Method for checking address and control signal integrity in functional safety applications, related products | |
CN111861858A (zh) | 一种启动图像压缩功能验证的方法、装置及相关设备 | |
CN111428280A (zh) | SoC安全芯片密钥信息完整性存储及错误自修复方法 | |
CN111221681A (zh) | 一种存储器的修复方法及装置 | |
CN116244127A (zh) | 一种硬盘检测方法、装置、设备以及存储介质 | |
CN114388053B (zh) | Ssd数据测试方法、装置、存储介质及测试设备 | |
CN115794481A (zh) | 存储器控制器和包括其的存储器系统 | |
CN117079703B (zh) | 用于测试芯片内嵌存储器的方法及装置、电子设备 | |
CN113454611B (zh) | 校验地址和控制信号完整性的方法、相关产品 | |
CN117711475A (zh) | 存储单元的故障检测电路及方法、功能芯片 | |
JP7400015B2 (ja) | データ検証回路を有するデータ記憶デバイス | |
CN116909489B (zh) | 一种数据的管理方法、装置、电子设备及存储介质 | |
CN114267402B (zh) | 闪存的坏存储单元测试方法、装置、设备及存储介质 | |
CN110471818B (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 |