CN114237972A - 一种用于总线传输的端到端ecc保护装置及方法 - Google Patents
一种用于总线传输的端到端ecc保护装置及方法 Download PDFInfo
- Publication number
- CN114237972A CN114237972A CN202111517431.1A CN202111517431A CN114237972A CN 114237972 A CN114237972 A CN 114237972A CN 202111517431 A CN202111517431 A CN 202111517431A CN 114237972 A CN114237972 A CN 114237972A
- Authority
- CN
- China
- Prior art keywords
- write
- data
- read
- address
- check
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Correction Of Errors (AREA)
Abstract
本发明公开了一种用于总线传输的端到端ECC保护装置及方法,所述装置通过设立请求端功能模块,将写地址作为输入通过ECC算法生成第一校验位,再将写数据和所述第一校验位作为输入生成写校验位;通过设立响应端功能模块根据写校验位对写数据和写地址进行检查和纠错;一方面实现了总线传输过程中端到端ECC保护;另一方面实现了基于校验位区分总线传输过程中的地址错误和数据错误。
Description
技术领域
本发明涉及数字集成电路设计技术领域,尤其涉及一种用于总线传输的端到端ECC保护装置及方法。
背景技术
随着现代SoC芯片的规模增加,系统中设备数量大幅度增长,导致系统中的访存关系越来越复杂,而内存系统的所依赖的总线互联复杂度也出现显著增加。复杂的访存系统就像任何电子系统一样,也会因为设计故障/缺陷或任何一个部件中的电噪声而发生错误。这些错误分为硬错误(由设计故障引起)或软错误(如:系统噪音或α射线等辐射引起的数据位翻转)。顾名思义,硬错误是永久性的,软错误是短暂性的。
从理论出发,大部分错误是由存储器本身缺陷(尤其是大型内存阵列,并且会为了缩小工艺节点而变得愈加密集)造成。目前最常用的一种RAS(可靠性、可用性和可维护性)方案是纠错码(Error Correcting Code,ECC)内存。存储控制器通过为实际数据生成ECCSEC-DED(Single Error Correct Double ErrorDetection,单纠错-双检错码)数据并存储到附加存储器中,可以对存储控制器发送的数据进行单位纠错和双位检错。其生成和校验顺序如下:
(1)ECC数据由控制器根据实际的WR(写入)数据生成。内存同时存储写命令的数据和ECC数据。
(2)在RD(读取)操作期间,控制器从内存读取数据和相应的ECC数据。控制器利用接收到的数据重新生成ECC数据,并将其与接收到的ECC数据进行比较。
(3)如果两者匹配,则不会发生错误。如果不匹配,ECC SEC-DED机制允许控制器纠正任何单比特错误并检测双比特错误。
这种ECC方案可以防止可能在存储控制器和存储单元之间路径中发生的单比特错误。但是,随着总线规模的增大,系统各IP之间通信数据在总线上传播的路径和时间越来越长,因此在传输路径上受到干扰,导致单比特错误的几率也随之增加,上文中常用的ECC纠错码方式已经不能够覆盖到这一部分。因此,对系统中关键的访存路径(如使用频率高,通信频繁,传输路径长且对RAS要求较高的路径)实现从访问发起端到访问响应端的端到端保护,提升系统整体的RAS,对于系统的稳定性也是非常必要的。
发明内容
为解决背景技术中存在的技术问题,本发明提出一种用于总线传输的端到端ECC保护装置及方法,能够对总线传输过程中的地址和数据提供发起端到端的保护,以提升整体SoC系统的稳定性。
本发明提出一种用于总线传输的端到端ECC保护装置,包括:请求端功能模块,所述请求端功能模块具体包括:
写校验位产生单元,用于基于ECC算法将写地址作为输入生成第一校验位,再将写数据和所述第一校验位作为输入生成写校验位。
优选地,所述请求端功能模块还包括:
读地址存储单元,用于存储发送至响应端的读地址;
读校验位检查单元,用于根据响应端反馈的读校验位对读数据和读地址进行检查和纠错;
第一记录单元,用于对检查和纠错中的记录进行存储上报。
优选地,所述读校验位检查单元根据读校验位对读数据和读地址进行检查和纠错具体包括:
若检查结果正确,则将读数据发送至请求端;
若检查结果出现读地址错误,则第一记录单元存储上报读地址错误记录;
若检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复读数据,将修复后的读数据发送至请求端,且第一记录单元存储上报修复记录;若判断为否,则第一记录单元存储上报读数据错误记录。
优选地,所述写校验位通过请求端校验位通道传输至响应端,所述写校验位与写数据同步传输。
优选地,所述读校验位通过响应端校验位通道传输至请求端,所述读校验位与读数据同步传输。
基于同一发明构思,本发明还提出一种用于总线传输的端到端ECC保护装置,包括:响应端功能模块,所述响应端功能模块具体包括:
写校验位检查单元,用于根据写校验位对写数据和写地址进行检查和纠错;
第二记录单元,用于对检查和纠错中的记录进行存储上报;
所述写校验位是基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和第一校验位作为输入生成的。
优选地,所述写校验位检查单元根据写校验位对写数据和写地址进行检查和纠错具体包括:
若检查结果正确,则将写地址、写数据和写校验位发送至响应端;
若检查结果出现写地址错误,则第二记录单元存储上报写地址错误记录;
若检查结果出现写数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,且第二记录单元存储上报修复记录;若判断为否,则第二记录单元存储上报写数据错误记录。
优选地,所述响应端功能模块还用于:
响应于读请求,接收读地址发送至响应端;
获取响应端反馈的读数据和读校验位并发送至请求端。
优选地,所述写校验位通过请求端校验位通道传输至响应端,所述写校验位与写数据同步传输。
优选地,所述读校验位通过响应端校验位通道传输至请求端,所述读校验位与读数据同步传输。
基于同一发明构思,本发明提出一种用于总线传输的端到端ECC保护装置,包括:请求端功能模块,所述请求端功能模块具体包括:
写校验位产生单元,用于基于ECC算法将写地址作为输入生成第一校验位,再将写数据和所述第一校验位作为输入生成写校验位。
优选地,还包括:响应端功能模块,所述响应端功能模块具体包括:
写校验位检查单元,用于根据写校验位对写数据和写地址进行检查和纠错;
第二记录单元,用于对检查和纠错中的记录进行存储上报。
优选地,所述写校验位检查单元根据写校验位对写数据和写地址进行检查和纠错具体包括:
若检查结果正确,则将写地址、写数据和写校验位发送至响应端;
若检查结果出现写地址错误,则第二记录单元存储上报写地址错误记录;
若检查结果出现写数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,且第二记录单元存储上报修复记录;若判断为否,则第二记录单元存储上报写数据错误记录。
优选地,所述请求端功能模块还包括:
读地址存储单元,用于存储发送至响应端的读地址;
读校验位检查单元,用于根据读校验位对读数据和读地址进行检查和纠错;
第一记录单元,用于对检查和纠错中的记录进行存储上报。
优选地,所述读校验位检查单元根据读校验位对读数据和读地址进行检查和纠错具体包括:
若检查结果正确,则将读数据发送至请求端;
若检查结果出现读地址错误,则第一记录单元存储上报读地址错误记录;
若检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复读数据,将修复后的读数据发送至请求端,且第一记录单元存储上报修复记录;若判断为否,则第一记录单元存储上报读数据错误记录。
优选地,还包括ECC传输通道;所述ECC传输通道具体包括:
请求端校验位通道:用于将写校验位传输至响应端,所述写校验位与写数据同步传输;
响应端校验位通道:用于将读校验位传输至请求端,所述读校验位与读数据同步传输。
基于同一发明构思,本发明还提出一种用于总线传输的端到端ECC保护方法,具体用于总线写传输过程,具体包括:
获取请求端的写地址、写数据;
基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和所述第一校验位作为输入生成写校验位;
发送写请求至响应端,并将写地址、写数据和写校验位传输至响应端。
优选地,所述获取请求端的写地址、写数据之后还包括:
判断写数据位宽是否小于总线数据位宽;
若是,则以写地址作为相应的读地址进行存储,发送读请求至响应端并将相应的读地址传输至响应端;
获取响应端反馈的相应的读数据和相应的读校验位;
根据相应的读校验位对相应的读地址、读数据进行校验检查;
优选地,所述进行校验检查具体包括:
若校验检查结果正确,则将相应的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据。
若校验检查结果出现读地址错误,则存储上报读地址错误记录;
若校验检查结果出现读数据错误,则判断是否能够修复;
其中,判断是否能够修复具体包括:
若判断为是,则修复相应的读数据,将修复后相应的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据,并存储上报修复记录;
若判断为否,则存储上报读数据错误记录。
优选地,所述方法还用于总线读传输过程,具体包括:
获取请求端的读地址并存储;
发送读请求至响应端,并将读地址传输至响应端;
接收响应端反馈的读数据和读校验位;
根据读校验位对读地址、读数据进行校验检查。
优选地,所述进行校验检查具体包括:
若校验检查结果正确,则发送读数据至请求端;
若校验检查结果出现读地址错误,则存储上报读地址错误记录;
若校验检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复读数据,将修复后的读数据发送至请求端,并存储上报修复记录;
若判断为否,则存储上报读数据错误记录。
基于同一发明构思,本发明还提出一种用于总线传输的端到端ECC保护方法,用于总线写传输过程,具体包括:
响应于写请求,接收写地址、写数据和写校验位;其中所述写校验位是基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和第一校验位作为输入生成的;
根据写校验位对写地址、写数据进行校验检查。
优选地,所述进行校验检查具体包括:
若校验检查结果正确,则发送写地址、写数据和写校验位至响应端;
若校验检查结果出现写地址错误,则存储上报写地址错误记录;
若校验检查结果出现写数据错误,则判断是否能够修复;
其中,判断是否能够修复具体包括:
若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,并存储上报修复记录;
优选地,所述方法还用于读传输过程,具体包括:
响应于读请求,接收读地址发送至响应端;
获取响应端反馈的读数据和读校验位并发送至请求端。
基于同一发明构思,本发明还提出一种校验位生成方法,包括:
将传输地址作为输入根据ECC算法生成第一校验位;
将传输数据和所述第一校验位作为输入根据ECC算法生成第二校验位。
本发明中,通过增加请求端功能模块基于ECC算法将写地址作为输入生成第一校验位,再将写数据和所述第一校验位作为输入生成写校验位;通过增加响应端功能模块根据写校验位对写数据和写地址进行检查和纠错;一方面实现了总线传输过程中端到端ECC保护;另一方面实现了通过校验位区分在总线传输过程中的地址错误和数据错误。
本发明中,通过请求端功能模块实现校验位的生成和校验检查,实现对错误可修复的数据进行修复,并实现对检查纠错记录存储和上传,以便进行调试。
本发明中,通过响应端功能模块实现校验位的检验纠错,实现对错误可修复的数据进行修复,并实现对检验纠错记录存储和上传,以便进行调试。
本发明中,通过在总线数据通道上增加用于传输写校验位的请求端校验位通道,实现写校验位随总线传输请求端的写数据一起,传递到总线传输的响应端;通过在总线数据通道上增加用于传输读校验位的响应端校验位通道实现读校验位随总线传输响应端读数据一起,传递到总线传输的请求端。打破了传统ECC仅仅校验在存储控制器和存储单元之间路径中发生的单比特错误的局限,实现了总线端到端的数据传输保护。
本发明中,通过在总线传输路径增加校验位通道以及在传输路径两端增加集成可以实现校验位生成和检查逻辑的功能模块,并结合地址和数据绑定的校验位生成方法,能够对传输过程中的地址和数据提供发起端到端的保护,提供总线地址和数据在请求端到响应端传输过程中的RAS功能,允许系统在出现可纠正的错误时继续运行,同时记录不可纠正的详细信息,以便将来进行调试。
本发明提出的校验位生成方法,既可以实现对写传输过程中的传输数据和传输地址进行校验位生成,也可以对读传输过程中的传输数据和传输地址进行校验位生成;且针对本方法生产校验位的校验检查能够区分出传输中的错误是来自传输地址或者传输数据,同时可以实现部分传输数据错误的修复。
附图说明
图1为第一实施例提出的校验位生成方法的流程图;
图2为第一实施例提出的校验位校验检查方法的流程图;
图3为第二实施例提出的请求端功能模块的结构示意图;
图4为第二实施例提出的响应端功能模块的结构示意图;
图5为第三实施例提出的应用于请求端功能模块的写传输过程ECC保护方法的流程图;
图6为第三实施例提出的应用于请求端功能模块的读传输过程ECC保护方法的流程图;
图7为第四实施例提出的应用于响应端功能模块的写传输过程ECC保护方法的流程图;
图8为第四实施例提出的应用于响应端功能模块的读传输过程ECC保护方法的流程图。
具体实施方式
第一实施例:
本实施例提出的一种校验位生成方法,包括:
将传输地址作为输入根据ECC算法生成第一校验位;
将传输数据和所述第一校验位作为输入根据ECC算法生成第二校验位。
具体地,如图1所示,使用传输地址T_ADDR作为输入,通过ECC算法获得第一校验位A_CKBIT。然后使用传输数据T_DATA和第一校验位A_CKBIT作为输入,产生第二校验位D_CKBIT,也是最终的ECC校验位。
需要说明的是,针对本实施例校验位生成的校验位,ECC算法有对应的ECC检查算法,将第二校验位、传输地址和传输数据作为输入根据ECC检查算法进行校验检查。
具体地,如图2所示,使用传输地址T_ADDR、传输数据T_DATA以及相应的第二校验位D_CKBIT作为输入,使用与ECC算法对应的ECC检查算法进行检查并得出结果R_CKBIT。若检查无误,本次传输正确,后续操作正常进行;若检查有误,对于数据错误类型,该校验算法符合ECC SEC-DEC机制,但能够区分出1bit的错误是来自地址或者数据,同时可以实现数据1bit错误的修复。另外,该校验算法也能够实现2bit错误的检测。
本发明实施例提出的校验位生成方法,可以实现对写传输过程中的传输数据和传输地址进行校验位生成,也可以对读传输过程中的传输数据和传输地址进行校验位生成;且针对本方法生成的校验位的校验检查过程能够区分出传输中的错误是来自传输地址或者传输数据,同时可以实现传输数据错误的修复。
第二实施例:
本发明第二实施例提出一种用于总线传输的端到端ECC保护装置,包括:请求端功能模块,该模块连接在总线请求端之后;
如图3所示,所述请求端功能模块具体包括:
写校验位产生单元,用于根据WR_DATA和WR_ADDR生成WR_CKBIT;
需要说明的是,写校验位产生单元根据ECC算法输入WR_DATA和WR_ADDR生成WR_CKBIT;
读地址存储单元,用于存储发送至响应端的RD_ADDR;
读校验位检查单元,用于根据RD_CKBIT对RD_DATA和RD_ADDR进行检查和纠错;
需要说明的是,读校验位检查单元根据ECC算法对应的ECC检查算法,将校验位、传输地址和传输数据作为输入根据ECC检查算法进行校验检查。
需要说明的是,读校验位与对应的写数据在写传输过程中生成的写校验位一致。
第一记录单元,用于对检查和纠错中的记录进行存储上报。
需要说明的是,WR_DATA即写数据、WR_ADDR即写地址、WR_CKBIT即写校验位、RD_DATA即读数据、RD_ADDR即读地址、RD_CKBIT即读校验位。
本实施例中,WR_CKBIT的产生是基于ECC算法将WR_ADDR作为输入生成第一校验位,再将WR_DATA和第一校验位作为输入生成WR_CKBIT。
本实施例中,RD_CKBIT的检查校验是基于与ECC算法对应的ECC检查算法将RD_ADDR、RD_DATA以及RD_CKBIT作为输入,进行检查并得出结果。
本实施例中,读校验位检查单元根据读校验位对读数据和读地址进行检查和纠错具体包括:
若检查结果正确,则将RD_DATA发送至请求端;
若检查结果出现读地址错误,则第一记录单元存储上报读地址错误记录;
若检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复RD_DATA,将修复后的RD_DATA发送至请求端,且第一记录单元存储上报修复记录;若判断为否,则第一记录单元存储上报读数据错误记录。
如图4所示,本发明第二实施例还包括响应端功能模块,该模块连接在总线响应端之前,所述响应端功能模块具体包括:
写校验位检查单元,用于根据WR_CKBIT对WR_DATA和WR_ADDR进行检查和纠错;
需要说明的是,写校验位检查单元根据ECC算法对应的ECC检查算法,将校验位、传输地址和传输数据作为输入根据ECC检查算法进行校验检查。
第二记录单元,用于对检查和纠错中的记录进行存储上报。
本实施例中,写校验位检查单元根据写校验位对写数据和写地址进行检查和纠错具体包括:
若检查结果正确,则将WR_CKBIT、WR_DATA和WR_ADDR发送至响应端;
若检查结果出现WR_ADDR错误,则第二记录单元存储上报写地址错误记录;
若检查结果出现WR_DATA错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复WR_DATA,将WR_ADDR、WR_CKBIT和修复后的WR_DATA发送至响应端,且第二记录单元存储上报修复记录;若判断为否,则第二记录单元存储上报写数据错误记录。
本发明第二实施例还包括ECC传输通道;所述ECC传输通道具体包括:
请求端校验位通道:用于将写校验位传输至响应端,所述写校验位与写数据同步传输;
响应端校验位通道:用于将读校验位传输至请求端,所述读校验位与读数据同步传输。
具体地,请求端校验位通道用于传输写校验位,写校验位随写数据一起,传递到响应端。响应端校验位通道用于传输读校验位,读校验位随读数据一起,传递到总线传输的请求端。
需要说明的是,增加请求端校验位通道可以是通过扩展写数据总线位宽来实现,也可以是通过增加额外的信号线来实现;增加响应端校验位通道可以是通过扩展读数据总线位宽,也可以是通过增加额外的信号线来实现。
具体地,在本实施例中,通过在写数据通道上定义一路信号T_WCK,用于传输写校验位,该路信号随总线传输请求端的写数据一起,传递到总线传输的响应端。通过在读数据通道上定义一路信号T_RCK,用于传输读校验位,该路信号随总线传输响应端读出的读数据一起,传递到总线传输的请求端。
第三实施例:
本实施例提出一种用于总线传输的端到端ECC保护方法,应用于请求端功能模块,具体包括:写传输过程和读传输过程的保护方法;
如图5所示,写传输过程的保护方法具体包括:
读取请求端的写地址、写数据;
基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和所述第一校验位作为输入生成写校验位;
发送写请求至响应端,并将写地址、写数据和写校验位传输至响应端。
如图5所示,本实施例中,读取请求端的写地址、写数据之后还包括:
判断写数据位宽是否小于总线数据位宽;
若是,则以写地址作为相应的读地址进行存储,发送读请求至响应端并将相应的读地址传输至响应端;
需要说明的是,当写数据位宽小于总线数据位宽,则为非满位宽写操作,此时涉及到read-modify-write的操作,通过读取数据和非满位宽的写数据进行组合形成满位宽的传输数据。
获取响应端反馈的相应的读数据和相应的读校验位;
根据相应的读校验位对相应的读地址、读数据进行校验检查;
需要说明的是,针对本实施例校验位,ECC算法有对应的ECC检查算法,将校验位、传输地址和传输数据作为输入根据ECC检查算法进行校验检查。
若校验位检查结果正确,则将相应的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据。
需要说明的是,若校验检查结果出现读地址错误,则结束本次写请求并存储上报读地址错误记录;若校验检查结果出现读数据错误,则判断是否能够修复:其中,判断是否能够修复具体包括:若判断为是,则修复读数据,将修复后的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据,并存储上报修复记录;若判断为否,则结束本次写请求并存储上报读数据错误记录。
需要说明的是,当写数据位宽等于总线数据位宽时,则直接生成校验位并传输至响应端。
如图6所示,读传输过程的保护方法具体包括:
读取并存储请求端的读地址;
发送读请求至响应端,并将读地址传输至响应端;
接收响应端反馈的读数据和读校验位;
根据读校验位对读地址、读数据进行校验检查。
需要说明的是,读校验位与对应的写数据在写传输过程中生成的写校验位一致。
需要说明的是,针对本实施例校验位,ECC算法有对应的ECC检查算法,将校验位、传输地址和传输数据作为输入根据ECC检查算法进行校验检查。
若校验检查结果正确,则发送读数据至请求端;
若校验检查结果出现读地址错误,则存储上报读地址错误记录;需要说明的是,在本实施例中,出现读地址错误则会结束本次读请求。
若校验检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复读数据,将修复后的读数据发送至请求端,并存储上报修复记录;若判断为否,则存储上报读数据错误记录。需要说明的是,在本实施例中,若不可修复数据则会结束本次读请求。
第四实施例:
本实施例提出一种用于总线传输的端到端ECC保护方法,应用于响应端功能模块,具体包括:写传输过程和读传输过程的保护方法
如图7所示,写传输过程的保护方法具体包括:
响应于写请求,接收写地址、写数据和写校验位;
需要说明的是,所述写校验位是基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和第一校验位作为输入生成的;
根据写校验位对写地址、写数据进行校验检查。
需要说明的是,ECC算法有对应的ECC检查算法,将校验位、传输地址和传输数据作为输入根据ECC检查算法进行校验检查。
若校验检查结果正确,则发送写地址、写数据和写校验位至响应端;
若校验检查结果出现写地址错误,则存储上报写地址错误记录;需要说明的是,本实施例中,出现写地址错误则会结束本次写请求。
若校验检查结果出现写数据错误,则判断是否能够修复;
其中,判断是否能够修复具体包括:
若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,并存储上报修复记录;
若判断为否,则存储上报写数据错误记录。需要说明的是,本实施例中,若不能修复写数据则会结束本次写请求。
如图7所示,读传输过程的保护方法具体包括:
响应于读请求,接收读地址发送至响应端;
获取响应端反馈的读数据和读校验位并发送至请求端。
需要说明的是,读校验位与对应的写数据在写传输过程中生成的写校验位一致。
第五实施例:
本实施例提出一种用于总线传输的端到端ECC保护方法,应用于总线传输的端到端ECC保护装置,具体包括:
本实施例包括写传输过程中的方法和读传输过程的方法;
写传输过程中的方法具体如下:
S101:请求端功能模块读取请求端的写地址、写数据;判断写数据位宽是否小于总线数据位宽。对于写数据传输位宽小于总线数据位宽的,进行步骤S102;对于写数据位宽等于总线数据位宽的,直接进行步骤S103。
S102:请求端功能模块以写地址作为相应的读地址进行存储,发送读请求至响应端并将相应的读地址传输至响应端;获取响应端反馈的相应的读数据和相应的读校验位;根据相应的读校验位对相应的读地址、读数据进行校验检查;若相应的读校验位检查结果正确,则将相应的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据。
需要说明的是,若校验检查结果出现读地址错误,则结束本次写请求并存储上报读地址错误记录;若校验检查结果出现读数据错误,则判断是否能够修复:其中,判断是否能够修复具体包括:若判断为是,则修复读数据,将修复后的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据,并存储上报修复记录;若判断为否,则结束本次写请求并存储上报读数据错误记录。
S103:请求端功能模块基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和所述第一校验位作为输入生成写校验位;发送写请求至响应端,并将写地址、写数据和写校验位传输至响应端。需要说明是,写数据和写地址通过总线传递给响应端,写校验位随写数据一起通过请求端校验通道传递给响应端。
S104:响应端功能模块响应于写请求,接收写地址、写数据和写校验位;根据写校验位对写地址、写数据进行校验检查。若校验检查结果正确,则发送写地址、写数据和写校验位至响应端;若校验检查结果出现写地址错误,则结束本次写请求并存储上报写地址错误记录;若校验检查结果出现写数据错误,则判断是否能够修复;其中,判断是否能够修复具体包括:若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,并存储上报修复记录;若判断为否,则结束本次写请求并存储上报写数据错误记录。
读传输过程的方法具体如下:
S201:请求端功能模块读取并存储请求端的读地址;发送读请求至响应端,并将读地址传输至响应端;
S202:响应端功能模块响应于读请求,接收读地址发送至响应端,获取响应端反馈的读数据和读校验位并发送至请求端;需要说明的是,读数据通过总线传递给请求端,读校验位随读数据一起通过响应端校验通道传递给请求端。另外,需要说明的是,读校验位与对应的写数据在写传输过程中生成的写校验位一致。
S303:请求端功能模块接收读数据和读校验位;根据读校验位对读地址、读数据进行校验检查。若校验检查结果正确,则发送读数据至请求端;若校验检查结果出现读地址错误,则结束本次读请求并存储上报读地址错误记录;若校验检查结果出现读数据错误,则判断是否能够修复:其中,判断是否能够修复具体包括:若判断为是,则修复读数据,将修复后的读数据发送至请求端,并存储上报修复记录;若判断为否,则结束本次读请求并存储上报读数据错误记录。
本发明中,通过在总线传输路径增加校验位通道以及在传输路径两端增加集成可以实现校验位生成和检查逻辑的功能模块,并结合地址和数据绑定的校验位生成方法,能够对传输过程中的地址和数据提供发起端到端的保护,提供总线地址和数据在请求端到响应端传输过程中的RAS功能,允许系统在出现可纠正的错误时继续运行,同时记录不可纠正的详细信息,以便将来进行调试。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (19)
1.一种用于总线传输的端到端ECC保护装置,其特征在于,包括:请求端功能模块,所述请求端功能模块具体包括:
写校验位产生单元,用于基于ECC算法将写地址作为输入生成第一校验位,再将写数据和所述第一校验位作为输入生成写校验位。
2.根据权利要求1所述用于总线传输的端到端ECC保护装置,其特征在于,所述请求端功能模块还包括:
读地址存储单元,用于存储发送至响应端的读地址;
读校验位检查单元,用于根据响应端反馈的读校验位对读数据和读地址进行检查和纠错;
第一记录单元,用于对检查和纠错中的记录进行存储上报。
3.根据权利要求2所述用于总线传输的端到端ECC保护装置,其特征在于,所述读校验位检查单元根据读校验位对读数据和读地址进行检查和纠错具体包括:
若检查结果正确,则将读数据发送至请求端;
若检查结果出现读地址错误,则第一记录单元存储上报读地址错误记录;
若检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复读数据,将修复后的读数据发送至请求端,且第一记录单元存储上报修复记录;若判断为否,则第一记录单元存储上报读数据错误记录。
4.根据权利要求1所述用于总线传输的端到端ECC保护装置,其特征在于,所述写校验位通过请求端校验位通道传输至响应端,所述写校验位与写数据同步传输。
5.根据权利要求2所述用于总线传输的端到端ECC保护装置,其特征在于,所述读校验位通过响应端校验位通道传输至请求端,所述读校验位与读数据同步传输。
6.一种用于总线传输的端到端ECC保护装置,其特征在于,包括:响应端功能模块,所述响应端功能模块具体包括:
写校验位检查单元,用于根据写校验位对写数据和写地址进行检查和纠错;
第二记录单元,用于对检查和纠错中的记录进行存储上报;
所述写校验位是基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和第一校验位作为输入生成的。
7.根据权利要求6所述用于总线传输的端到端ECC保护装置,其特征在于,所述写校验位检查单元根据写校验位对写数据和写地址进行检查和纠错具体包括:
若检查结果正确,则将写地址、写数据和写校验位发送至响应端;
若检查结果出现写地址错误,则第二记录单元存储上报写地址错误记录;
若检查结果出现写数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,且第二记录单元存储上报修复记录;若判断为否,则第二记录单元存储上报写数据错误记录。
8.根据权利要求6所述用于总线传输的端到端ECC保护装置,其特征在于,所述响应端功能模块还用于:
响应于读请求,接收读地址发送至响应端;
获取响应端反馈的读数据和读校验位并发送至请求端。
9.根据权利要求6所述用于总线传输的端到端ECC保护装置,其特征在于,所述写校验位通过请求端校验位通道传输至响应端,所述写校验位与写数据同步传输。
10.根据权利要求8所述用于总线传输的端到端ECC保护装置,其特征在于,所述读校验位通过响应端校验位通道传输至请求端,所述读校验位与读数据同步传输。
11.一种用于总线传输的端到端ECC保护方法,其特征在于,用于总线写传输过程,具体包括:
获取请求端的写地址、写数据;
基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和所述第一校验位作为输入生成写校验位;
发送写请求至响应端,并将写地址、写数据和写校验位传输至响应端。
12.根据权利要求11所述的用于总线传输的端到端ECC保护方法,其特征在于,所述获取请求端的写地址、写数据之后还包括:
判断写数据位宽是否小于总线数据位宽;
若是,则以写地址作为相应的读地址进行存储,发送读请求至响应端并将相应的读地址传输至响应端;
获取响应端反馈的相应的读数据和相应的读校验位;
根据相应的读校验位对相应的读地址、读数据进行校验检查;
若校验检查结果正确,则将相应的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据。
13.根据权利要求12所述的用于总线传输的端到端ECC保护方法,其特征在于,所述进行校验检查还具体包括:
若校验检查结果出现读地址错误,则存储上报读地址错误记录;
若校验检查结果出现读数据错误,则判断是否能够修复;
其中,判断是否能够修复具体包括:
若判断为是,则修复相应的读数据,将修复后相应的读数据与小于总线数据位宽写数据合并获得符合总线数据位宽写数据,并存储上报修复记录;
若判断为否,则存储上报读数据错误记录。
14.根据权利要求11所述的用于总线传输的端到端ECC保护方法,其特征在于,还用于总线读传输过程,具体包括:
获取请求端的读地址并存储;
发送读请求至响应端,并将读地址传输至响应端;
接收响应端反馈的读数据和读校验位;
根据读校验位对读地址、读数据进行校验检查。
15.根据权利要求14所述的用于总线传输的端到端ECC保护方法,其特征在于,所述进行校验检查具体包括:
若校验检查结果正确,则发送读数据至请求端;
若校验检查结果出现读地址错误,则存储上报读地址错误记录;
若校验检查结果出现读数据错误,则判断是否能够修复:
其中,判断是否能够修复具体包括:
若判断为是,则修复读数据,将修复后的读数据发送至请求端,并存储上报修复记录;
若判断为否,则存储上报读数据错误记录。
16.一种用于总线传输的端到端ECC保护方法,其特征在于,用于总线写传输过程,具体包括:
响应于写请求,接收写地址、写数据和写校验位;其中所述写校验位是基于ECC算法将写地址作为输入生成第一校验位后,再将写数据和第一校验位作为输入生成的;
根据写校验位对写地址、写数据进行校验检查。
17.根据权利要求16所述的用于总线传输的端到端ECC保护方法,其特征在于,所述进行校验检查具体包括:
若校验检查结果正确,则发送写地址、写数据和写校验位至响应端;
若校验检查结果出现写地址错误,则存储上报写地址错误记录;
若校验检查结果出现写数据错误,则判断是否能够修复;
其中,判断是否能够修复具体包括:
若判断为是,则修复写数据,将写地址、写校验位和修复后的写数据发送至响应端,并存储上报修复记录;
若判断为否,则存储上报写数据错误记录。
18.根据权利要求16所述的用于总线传输的端到端ECC保护方法,其特征在于,还用于总线读传输过程,具体包括:
响应于读请求,接收读地址发送至响应端;
获取响应端反馈的读数据和读校验位并发送至请求端。
19.一种校验位生成方法,其特征在于,包括:
将传输地址作为输入根据ECC算法生成第一校验位;
将传输数据和所述第一校验位作为输入根据ECC算法生成第二校验位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111517431.1A CN114237972A (zh) | 2021-12-13 | 2021-12-13 | 一种用于总线传输的端到端ecc保护装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111517431.1A CN114237972A (zh) | 2021-12-13 | 2021-12-13 | 一种用于总线传输的端到端ecc保护装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114237972A true CN114237972A (zh) | 2022-03-25 |
Family
ID=80755080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111517431.1A Pending CN114237972A (zh) | 2021-12-13 | 2021-12-13 | 一种用于总线传输的端到端ecc保护装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237972A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115587055A (zh) * | 2022-12-12 | 2023-01-10 | 奉加微电子(昆山)有限公司 | 总线的传输方法、系统、设备及存储介质 |
CN116069551A (zh) * | 2023-03-06 | 2023-05-05 | 苏州萨沙迈半导体有限公司 | Ahb总线的端到端保护系统和芯片设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7203890B1 (en) * | 2004-06-16 | 2007-04-10 | Azul Systems, Inc. | Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits |
US7293221B1 (en) * | 2004-01-27 | 2007-11-06 | Sun Microsystems, Inc. | Methods and systems for detecting memory address transfer errors in an address bus |
CN101930402A (zh) * | 2009-06-23 | 2010-12-29 | 北京芯技佳易微电子科技有限公司 | 具有检错/纠错电路的非挥发存储器及其读写方法 |
CN108121616A (zh) * | 2016-11-29 | 2018-06-05 | 台湾积体电路制造股份有限公司 | 存储器电路、多端口存储器电路及其操作方法 |
CN113495862A (zh) * | 2021-06-29 | 2021-10-12 | 山东华芯半导体有限公司 | 一种具有ecc功能的总线桥装置 |
-
2021
- 2021-12-13 CN CN202111517431.1A patent/CN114237972A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293221B1 (en) * | 2004-01-27 | 2007-11-06 | Sun Microsystems, Inc. | Methods and systems for detecting memory address transfer errors in an address bus |
US7203890B1 (en) * | 2004-06-16 | 2007-04-10 | Azul Systems, Inc. | Address error detection by merging a polynomial-based CRC code of address bits with two nibbles of data or data ECC bits |
CN101930402A (zh) * | 2009-06-23 | 2010-12-29 | 北京芯技佳易微电子科技有限公司 | 具有检错/纠错电路的非挥发存储器及其读写方法 |
CN108121616A (zh) * | 2016-11-29 | 2018-06-05 | 台湾积体电路制造股份有限公司 | 存储器电路、多端口存储器电路及其操作方法 |
CN113495862A (zh) * | 2021-06-29 | 2021-10-12 | 山东华芯半导体有限公司 | 一种具有ecc功能的总线桥装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115587055A (zh) * | 2022-12-12 | 2023-01-10 | 奉加微电子(昆山)有限公司 | 总线的传输方法、系统、设备及存储介质 |
CN116069551A (zh) * | 2023-03-06 | 2023-05-05 | 苏州萨沙迈半导体有限公司 | Ahb总线的端到端保护系统和芯片设备 |
CN116069551B (zh) * | 2023-03-06 | 2023-11-21 | 苏州萨沙迈半导体有限公司 | Ahb总线的端到端保护系统和芯片设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100681429B1 (ko) | 반도체 메모리 장치 및 그것의 비트 에러 검출 방법 | |
CN102394112B (zh) | 改善存储装置的可靠性、可用性及可维修性 | |
CN103620565B (zh) | 用于提供数据完整性的设备及方法 | |
US11740968B2 (en) | Error correction hardware with fault detection | |
TWI524355B (zh) | 用於8位元記憶體裝置之錯誤校正機制 | |
CN114237972A (zh) | 一种用于总线传输的端到端ecc保护装置及方法 | |
US11646094B2 (en) | Memory system with error detection | |
US7587658B1 (en) | ECC encoding for uncorrectable errors | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
US4926426A (en) | Error correction check during write cycles | |
JPH03248251A (ja) | 情報処理装置 | |
US5751745A (en) | Memory implemented error detection and correction code with address parity bits | |
CN102467975A (zh) | 数据错误检查方法、数据传输方法和半导体存储装置 | |
US11030040B2 (en) | Memory device detecting an error in write data during a write operation, memory system including the same, and operating method of memory system | |
US6519736B1 (en) | Generating special uncorrectable error codes for failure isolation | |
JP2008090442A (ja) | メモリ制御装置 | |
US20080082870A1 (en) | Parallel bit test device and method using error correcting code | |
US5761221A (en) | Memory implemented error detection and correction code using memory modules | |
CN111428280B (zh) | SoC安全芯片密钥信息完整性存储及错误自修复方法 | |
US6463563B1 (en) | Single symbol correction double symbol detection code employing a modular H-matrix | |
CN105575439B (zh) | 一种存储单元失效纠错的方法及存储器 | |
CN111880961A (zh) | 用于透明寄存器数据错误检测和纠正的系统和方法 | |
JPH02278355A (ja) | フオールト・トレラント・メモリ・システム | |
CN117413252A (zh) | 具有内置错误纠正和检测的存储器的错误率 | |
US11537467B2 (en) | Memory, memory system, and operation method of memory |
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 |