CN116126754A - 用于内存访问的集成电路、处理方法、电子设备和介质 - Google Patents

用于内存访问的集成电路、处理方法、电子设备和介质 Download PDF

Info

Publication number
CN116126754A
CN116126754A CN202310079654.7A CN202310079654A CN116126754A CN 116126754 A CN116126754 A CN 116126754A CN 202310079654 A CN202310079654 A CN 202310079654A CN 116126754 A CN116126754 A CN 116126754A
Authority
CN
China
Prior art keywords
data
memory
written
write access
module
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
CN202310079654.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.)
Horizon Shanghai Artificial Intelligence Technology Co Ltd
Original Assignee
Horizon Shanghai Artificial Intelligence 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 Horizon Shanghai Artificial Intelligence Technology Co Ltd filed Critical Horizon Shanghai Artificial Intelligence Technology Co Ltd
Priority to CN202310079654.7A priority Critical patent/CN116126754A/zh
Publication of CN116126754A publication Critical patent/CN116126754A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Storage Device Security (AREA)

Abstract

本公开实施例公开了一种用于内存访问的集成电路、处理方法、电子设备和介质,其中,集成电路包括:第一位宽转换模块,用于将处理器的第一写访问信号转换为包括两份原待写数据的第二写访问信号;第一内存控制模块,用于将第二写访问信号中的目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,确定对应的一组第三写访问信号,每组第一待写数据包括分别来自两份原待写数据的两份相同的第一待写数据;内存物理层接口,用于将每组第三写访问信号转换为满足内存协议的两路第四写访问信号,并将各第四写访问信号传输至其对应的内存模块。本公开实施例可以基于较低安全等级的内存有效满足较高安全等级功能的存储需求。

Description

用于内存访问的集成电路、处理方法、电子设备和介质
技术领域
本公开涉及半导体技术,尤其是一种用于内存访问的集成电路、处理方法、电子设备和介质。
背景技术
在智能驾驶领域,智能驾驶芯片的DDR(Double Data Rate SDRAM(SynchronousDynamic Random Access Memory),双倍速率同步动态随机存储器)主要用于智能驾驶的感知预测功能,该功能当前对于功能安全等级的要求是ASILB(Automotive SafetyIntegrity Level B,汽车安全完整性等级B),但随着智能驾驶功能中安全等级为ASILD(Automotive Safety Integrity Level D,汽车安全完整性等级D)的控制和决策功能的算法的演进,控制和决策功能算法需要的算力和存储需求越来越大,通过处理器(或处理器内部的核(Core))和RAM进行控制和决策算法的开发存在存储不够的问题,导致较高安全等级功能对应的较高安全等级存储不足。
发明内容
为了解决上述较高安全等级功能对应的较高安全等级存储不足等技术问题,提出了本公开。本公开的实施例提供了一种用于内存访问的集成电路、处理方法、电子设备和介质。
根据本公开实施例的一个方面,提供了一种用于内存访问的集成电路,包括:第一位宽转换模块,用于将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份所述原待写数据的目标待写数据,基于所述目标待写数据确定转换后的第二写访问信号;第一内存控制模块,与所述第一位宽转换模块连接,用于将所述第二写访问信号中的所述目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组所述第一待写数据确定对应的一组第三写访问信号,每组所述第一待写数据包括分别来自两份所述原待写数据的两份相同的第一待写数据,每组所述第三写访问信号包括两路第三写访问信号;内存物理层接口,与所述第一内存控制模块连接,用于将每组所述第三写访问信号转换为满足内存协议的两路第四写访问信号,并将各所述第四写访问信号传输至其对应的内存模块。
根据本公开实施例的另一个方面,提供了一种用于内存访问的处理方法,包括:将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份所述原待写数据的目标待写数据,基于所述目标待写数据确定转换后的第二写访问信号;将所述第二写访问信号中的所述目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组所述第一待写数据确定对应的一组第三写访问信号,每组所述第一待写数据包括分别来自两份所述原待写数据的两份相同的第一待写数据,每组所述第三写访问信号包括两路第三写访问信号;将每组所述第三写访问信号转换为满足内存协议的两个第四写访问信号,并将各所述第四写访问信号传输至其对应的内存模块。
根据本公开实施例的再一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的方法;或者,所述存储介质用于存储本公开上述任一实施例所述的集成电路的至少一个硬件逻辑电路需要存储的数据,以使所述硬件逻辑电路在工作时能够实现对应的功能。
根据本公开实施例的又一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的方法;或者,所述电子设备包括上述任一实施例所述的集成电路;其中,所述集成电路中的至少一个模块通过硬件逻辑电路实现。
基于本公开上述实施例提供的用于内存访问的集成电路、处理方法、电子设备和介质,通过将处理器的第一写访问信号进行位宽转换,将原待写数据转换为包括两份原待写数据的目标待写数据,进而基于目标待写数据确定转换后的第二写访问信号,通过第一内存控制模块和内存物理层接口将两份原待写数据写入到两个内存模块,以便于在读取数据时,可以从该两个内存模块读取相同的数据,通过两内存模块访问结果的一致性,保证较高安全等级功能的功能安全,实现内存控制器在只满足较低安全等级的场景下,也可完成较高安全等级功能的访问操作,从而可以将较低安全等级的内存用于较高安全等级功能,使得较高安全等级功能可以访问较低安全等级的内存,在保证功能安全的基础上为较高安全等级功能提供更大的存储支撑,有效满足较高安全等级功能的存储需求,解决较高安全等级存储不足等问题。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1是本公开提供的用于内存访问的集成电路的一个示例性的应用场景;
图2是本公开一示例性实施例提供的用于内存访问的集成电路的结构示意图;
图3是本公开另一示例性实施例提供的用于内存访问的集成电路的结构示意图;
图4是本公开一示例性实施例提供的读数据校验模块27的结构示意图;
图5是本公开再一示例性实施例提供的用于内存访问的集成电路的结构示意图;
图6是本公开一示例性实施例提供的内存物理层接口23的结构示意图;
图7是本公开另一示例性实施例提供的内存物理层接口23的结构示意图;
图8是本公开一示例性实施例提供的原待写数据到目标待写数据的转换原理示意图;
图9是本公开又一示例性实施例提供的用于内存访问的集成电路的结构示意图;
图10是本公开再一示例性实施例提供的用于内存访问的集成电路的结构示意图;
图11是本公开一示例性实施例提供的第三数据到第四数据的转换原理示意图;
图12是本公开一示例性实施例提供的用于内存访问的处理方法的流程示意图:
图13是本公开另一示例性实施例提供的用于内存访问的处理方法的流程示意图;
图14是本公开一示例性实施例提供的内存访问的读数据流程示意图;
图15是本公开再一示例性实施例提供的用于内存访问的处理方法的流程示意图;
图16是本公开电子设备另一个应用实施例的结构示意图。
具体实施方式
下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***、大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
本公开概述
在实现本公开的过程中,发明人发现,在智能驾驶领域,智能驾驶芯片的DDR(Double Data Rate SDRAM(Synchronous Dynamic Random Access Memory),双倍速率同步动态随机存储器)主要用于智能驾驶的感知预测功能,该功能当前对于功能安全等级的要求是ASILB(Automotive Safety Integrity Level B,汽车安全完整性等级B),但随着智能驾驶功能中安全等级为ASILD(Automotive Safety Integrity Level D,汽车安全完整性等级D)的控制和决策功能的算法的演进,控制和决策功能算法需要的算力和存储需求越来越大,通过处理器(或处理器内部的核(Core))和RAM进行控制和决策算法的开发存在存储不够的问题,导致较高安全等级功能对应的较高安全等级存储不足。
示例性概述
图1是本公开提供的用于内存访问的集成电路的一个示例性的应用场景。
在智能驾驶的控制和决策等预设等级(ASILD等级)的功能场景中,利用本公开的用于内存访问的集成电路,负责执行相应控制和决策功能算法的处理器可以在保证其功能安全等级ASILD的条件下访问DDR,从而基于DDR为其提供更强大的存储能力,以满足其越来越大的存储需求。其中,处理器可以是智能驾驶芯片内任意可能的处理器或处理器核,比如中央处理器(CPU)、图形处理器(GPU)、大脑处理器(BPU)、人工智能处理器(NPU)、深度学习处理器(DPU)等,具体不作限定。具体来说,本公开的用于内存访问的集成电路可以包括第一位宽转换模块、第一内存控制模块和内存物理层接口。第一位宽转换模块,用于将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份原待写数据的目标待写数据,基于目标待写数据确定转换后的第二写访问信号;第一内存控制模块,与第一位宽转换模块连接,用于将第二写访问信号中的目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组第一待写数据确定对应的一组第三写访问信号,每组第一待写数据包括分别来自两份原待写数据的两份相同的第一待写数据,每组第三写访问信号包括两路第三写访问信号;内存物理层接口,与第一内存控制模块连接,用于将每组第三写访问信号转换为满足内存协议的两路第四写访问信号,并将各第四写访问信号传输至其对应的内存模块。从而对于内存访问,可以同时对两个内存模块进行访问,通过两个内存模块的访问结果一致性,实现较高等级的内存访问安全性,从而可以实现基于较低等级(比如ASILB等级)的具有较大存储能力的内存设备为较高等级(比如ASILD等级)的功能场景提供存储能力,有效解决现有技术较高等级的功能场景存储不足等问题。
需要说明的是,本公开的集成电路不限于应用于上述智能驾驶的控制和决策场景,可以根据实际需求应用于任意需要较高安全等级场景,具体不作限定。
示例性装置
图2是本公开一示例性实施例提供的用于内存访问的集成电路的结构示意图。本实施例可应用在电子设备上,具体比如车载计算平台上,如图2所示,该用于内存访问的集成电路(简称集成电路)20包括:第一位宽转换模块21、第一内存控制模块22和内存物理层接口23。
第一位宽转换模块21,用于将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份原待写数据的目标待写数据,基于目标待写数据确定转换后的第二写访问信号。
第一内存控制模块22,与第一位宽转换模块21连接,用于将第二写访问信号中的目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组第一待写数据确定对应的一组第三写访问信号,每组第一待写数据包括分别来自两份原待写数据的两份相同的第一待写数据,每组第三写访问信号包括两路第三写访问信号。
内存物理层接口23,与第一内存控制模块22连接,用于将每组第三写访问信号转换为满足内存协议的两路第四写访问信号,并将各第四写访问信号传输至其对应的内存模块。
其中,处理器可以是智能驾驶芯片内任意可能的处理器或处理器核,比如中央处理器(CPU)、图形处理器(GPU)、人工智能(AI)处理器(或称AI处理器核),等等,具体不作限定。第一写访问信号可以包括数据信号(包括原待写数据)、控制信号和地址信号。第一预设转换方式可以根据实际需求设置。第一预设转换方式用于将原待写数据复制为两份,并按照预设格式将两份原待写数据组成目标待写数据,作为第二写访问信号的数据信号。
第一内存控制模块22是连接第一位宽转换模块21和内存物理层接口23的控制模块,用于将第一位宽转换模块21转换后的第二写访问信号转换为满足内存物理层接口协议的写访问信号。为了能够将两份原待写数据分别写入两个内存模块,第一内存控制模块22在进行协议转换时,将包括两份原待写数据的目标待写数据转换为至少一组第一待写数据,每组包括两份相同的第一待写数据,每组的两份第一待写数据分别来自目标待写数据中的两份原待写数据,比如原待写数据为128位,第一待写数据为16位,则可以转换8组第一待写数据,其中,第1组的两份第一待写数据均包括原待写数据的第0-15位,第2组的两份第一待写数据均包括原待写数据的第16-31位,…,第8组的两份第一待写数据均包括原待写数据的第112-127位。每份第一待写数据作为一路第三写访问信号的数据信号,因此可以获得转换后的至少一组第三写访问信号,每组包括两路第三写访问信号。
在实际应用中,原待写数据和第一待写数据的具***宽可以根据实际需求设置。
内存物理层接口23是连接第一内存控制模块22和内存的桥梁,用于将第一内存控制模块22转换后的每组的两路第三写访问信号转换为满足内存协议的两路第四写访问信号,并将该两路第四写访问信号分别传输至其对应的内存模块,比如一路第四写访问信号传输至第一内存模块,另一路第四写访问信号传输至第二内存模块。从而将两份原待写数据分多组写入到两个内存模块。
在一个可选实施例中,在写访问信号的各种转换过程中,除了待写数据的转换,还可以包括控制信号的变换,比如在第一写访问信号转换为第二写访问信号过程中,除了将原待写数据转换为目标待写数据,还需要将控制信号中表示数据长度的信号进行转换;再比如,在第一内存控制模块将第二写访问信号转换为各组第三写访问信号时,除了将目标待写数据转换为第一待写数据,也需要将数据长度进行变换具体可以根据实际需求设置。
在一个可选实施例中,各模块的转换也可以表示为访问信号的转换,其中数据部分的转换需要按照前述转换方式转换,比如第一位宽转换模块21用于将第一写访问信号转换为第二写访问信号,其中第二写访问信号的目标待写数据是将第一写访问信号中的原待写数据按照第一预设转换方式转换获得,目标待写数据包括两份原待写数据。在第一写访问信号转换为第二写访问信号过程中,还包括控制信号的转换,具体可以根据实际需求设置。
在一个可选实施例中,第一内存控制模块22可以为DDR控制器(DDR Controller)。
在一个可选实施例中,内存物理层接口23可以为DDR PHY(DDR PhysicalInterface,DDR内存物理层接口),相应的第一协议可以为DFI(DDR PHY Interface)协议,内存协议可以为DDR协议。DDRPHY包括两个独立的传输通道,可以用于传输每组的两路第四写访问信号。
在一个可选实施例中,第一位宽转换模块21、第一内存控制模块22和内存物理层接口23的具体结构可以根据实际需求设置。
在一个可选实施例中,每路第四写访问信号对应一个内存模块,每组的两路第三写访问信号可以转换获得两路第四写访问信号,因此对应两个内存模块,可以分别称为第一内存模块和第二内存模块,该两个内存模块可以是智能驾驶芯片内所连接的任意的两个内存设备或同一内存设备中的两个内存区域,比如智能驾驶芯片内的DDR中的地址相同的两个存储区域,具体可以根据实际需求设置。
可选地,本公开的集成电路可以通过任意可实施的总线与处理器连接,比如AXI、AHB、APB、CHI等总线,从而可以使处理器通过总线访问第一内存模块和第二内存模块。
本实施例提供的用于内存访问的集成电路,通过将处理器的第一写访问信号进行位宽转换,将原待写数据转换为包括两份原待写数据的目标待写数据,进而基于目标待写数据确定转换后的第二写访问信号,通过第一内存控制模块和内存物理层接口将两份原待写数据写入到两个内存模块,以便于在读取数据时,可以从该两个内存模块读取相同的数据,通过两内存模块访问结果的一致性,保证较高安全等级功能的功能安全,实现内存控制器在只满足较低安全等级的场景下,也可完成较高安全等级功能的访问操作,从而可以将较低安全等级的内存用于较高安全等级功能,使得较高安全等级功能可以访问较低安全等级的内存,在保证功能安全的基础上为较高安全等级功能提供更大的存储支撑,有效满足较高安全等级功能的存储需求,解决较高安全等级存储不足等问题。
图3是本公开另一示例性实施例提供的用于内存访问的集成电路的结构示意图。
在一个可选实施例中,本公开的集成电路,还包括:第二内存控制模块24和第一比较模块25。
第二内存控制模块24,与第一位宽转换模块21连接,用于将第二写访问信号中的目标待写数据转换为满足内存物理层接口23所支持的第一协议的至少一组第二待写数据,基于每组第二待写数据确定对应的一组第五写访问信号,每组第二待写数据包括分别来自两份原待写数据的两份相同的第二待写数据,每组第五写访问信号包括两路第五写访问信号。
第一比较模块25,分别与第一内存控制模块22和第二内存控制模块24连接,用于将各组第三写访问信号与各组第五写访问信号进行比较,响应于比较结果为不一致,输出错误信号。
其中,第二内存控制模块24的具体转换原理与第一内存控制模块22一致,不同的是,第二内存控制模块24获得的各组第五写访问信号无需传输至内存物理层接口23,而是传输至第一比较模块25,且第一内存控制模块22获得的各组第三写访问信号也需要传输至第一比较模块25。第一比较模块25用于将各组第三写访问信号与各组第五写访问信号进行比较,以确定第一内存控制模块22的处理结果与第二内存控制模块24的处理结果是否一致,并在比较结果为不一致时输出错误信号,以及时采取相应的措施,从而保证第一内存控制模块22的功能安全性,避免因第一内存控制模块22发生错误导致危险情况的发生。
在一个可选实施例中,第一比较模块25除了将各组第三写访问信号和各组第五写访问信号进行比较之外,还可以对第一内存控制模块22和第二内存控制模块24工作过程中的其他输出信号进行比较,实现第一内存控制模块22和第二内存控制模块24的所有功能的相互校验,以进一步保证第一内存控制模块22的功能安全。
本实施例通过设置与第一内存控制模块相同功能的第二内存控制模块,用于对第一内存控制模块的处理结果进行校验,可以有效保证第一内存控制模块的处理结果的正确有效,从而保证写数据的安全性,在第一内存控制模块发生错误时可以及时发现,使得对内存的写访问能够满足较高的安全等级。
在一个可选实施例中,本公开的集成电路还包括:第二位宽转换模块26和读数据校验模块27。
内存物理层接口23,还用于分别从第一内存模块、第二内存模块获取至少一组第一数据,将至少一组第一数据中的每组第一数据转换为满足第一协议的一组第二数据,将各组第二数据传输至第一内存控制模块22,每组第一数据包括第一读数据和第二读数据,每组第二数据包括与第一读数据对应的第三读数据和与第二读数据对应的第四读数据。
第一内存控制模块22,还用于将各组第二数据转换为满足第二位宽转换模块26所支持的第二协议的第三数据,将第三数据传输至第二位宽转换模块26。
第二位宽转换模块26,用于按照第二预设转换方式对第三数据进行位宽转换,获得第四数据和第五数据,将第四数据传输至处理器。
读数据校验模块27,用于将第四数据和第五数据进行比较,响应于比较结果为不一致,输出错误信号。
其中,第二预设转换方式是与第一预设转换方式相反的方式。在向第一内存模块和第二内存模块写入相同的数据后,当需要读取这些数据时,同样需要从第一内存模块和第二内存模块并行读取一组(包括两份)并行写入的相同数据,为了区分,可以将从第一内存模块读取的数据称为第一读数据,将从第二内存模块读取的数据称为第二读数据,第一读数据和第二读数据作为一组第一数据,内存物理层接口23将各组第一数据中的第一读数据和第二读数据转换为满足第一协议的第三读数据和第四读数据,第三读数据和第四读数据作为一组第二数据,将各组第二数据传输至第一内存控制模块22,比如内存物理层接口可以通过两个独立的通道分别将第三读数据和第四读数据并行传输至第一内存控制模块22,第一内存控制模块22则用于将各组第二数据转换为满足第二位宽转换模块26所支持的第二协议的第三数据,该转换过程与目标待写数据到第一待写数据的转换过程相反,需要将至少一组第二数据按照一定格式组合成第三数据。第二位宽转换模块26按照第二预设转换方式对第三数据进行位宽转换,获得第四数据和第五数据,若读取数据没有发生错误,第四数据和第五数据应为相同的数据。第二位宽转换模块26将获得的第四数据或第五数据传输至处理器,并将获得的第四数据和第五数据传输至读数据校验模块27进行校验,读数据校验模块27将第四数据和第五数据进行比较,若比较结果为不一致,输出错误信号。由于读数据读取的是在前写入的数据,则读数据过程的第四数据和第五数据与写数据过程的两份原待写数据位宽一致,读数据过程的第三数据与写数据过程的目标待写数据位宽一致,读数据过程的第一读数据、第二读数据与写数据过程的第四写访问信号的待写数据位宽一致,读数据过程的第三读数据、第四读数据与写数据过程的第一待写数据位宽一致。
在一个可选实施例中,错误信号的表示方式可以根据实际需求设置,比如输出为1表示发生错误,具体不作限定。
在一个可选示例中,内存物理层接口23每次将从第一内存模块和第二内存模块读取的16位的一组第一数据(包括第一读数据和第二读数据)转换为满足第一协议的16位的一组第二数据(第三读数据和第四读数据),传输至第一内存控制模块22,第一内存控制模块22需要将内存物理层接口23传输的8组第二数据转换为256位的第三数据,传输至第二位宽转换模块26,第二位宽转换模块26按照第二预设转换方式将第三数据转换为128位的第四数据和第五数据,其中第四数据来自第一内存模块,第五数据来自第二内存模块。
在一个可选实施例中,本公开的错误信号可以输出至智能驾驶芯片中的错误处理模块,也可以输出至处理器,以及时对发生的错误进行相应的处理,比如对集成电路进行复位,或向用户发出报警信息,等等,具体可以根据实际需求设置,本公开不作限定。
本实施例通过在读数据时,将第二位宽转换模块获得的分别来自两个内存模块的第四数据和第五数据进行比较,当比较结果不一致时,输出错误信号,以及时对发生的错误进行相应的处理,有效保证读数据的安全性,使得对内存的读访问能够满足较高安全等级。
图4是本公开一示例性实施例提供的读数据校验模块27的结构示意图。
在一个可选实施例中,读数据校验模块27包括:预设数量的异或电路271和或电路272。
第n个异或电路271的两个输入分别为第四数据的第n位的值和第五数据的第n位的值,每个异或电路271用于响应于两个输入的值不同,输出为1,响应于两个输入的值相同,输出为0,预设数量与第四数据的位宽相同。
或电路272的输入端分别与各异或电路271的输出端连接,或电路272用于响应于任一异或电路271的输出为1,输出错误信号。
其中,预设数量可以根据第四数据的位宽设置,比如第四数据位宽为128位,则可以设置128个异或电路271,具体不作限定。
在一个可选实施例中,或电路272的具体结构可以根据实际需求设置,比如或电路272的输入数量可以根据异或电路271的数量设置,或电路272的内部结构可以通过多个或逻辑器件实现。
本实施例通过预设数量的异或电路和一个或电路实现第四数据和第五数据的按位比较,并通过一个输出即可以实现任一位的比较结果不一致的错误信号输出,可以有效减少与其他模块的连接线。
在一个可选实施例中,预设数量也可以与第一读数据的位宽相同,则对于第四数据和第五数据,可以分组进行比较。比如第一读数据的位宽为16位,则读数据校验模块27可以包括16个异或电路271和一个或电路272,第四数据的每16位及第五数据的对应的16位作为读数据校验模块27的输入进行校验。
在一个可选实施例中,读数据校验模块27还可以通过串行寄存器和一个异或电路或比较器实现,比如,通过两个串行寄存器分别存储第四数据和第五数据,异或电路或比较器的两个输入端分别与两个串行寄存器连接,通过控制两个串行寄存器串行地将各位输入到异或电路,实现第四数据的第n位和第五数据的第n位输入到异或电路进行比较,当两者不一致输出错误信号。
图5是本公开再一示例性实施例提供的用于内存访问的集成电路的结构示意图。
在一个可选实施例中,本公开的集成电路还包括:第一延迟模块28和第二延迟模块29。
第一延迟模块28,分别与第一内存控制模块22和第一比较模块25连接,用于将第一内存控制模块22输出的各组第三写访问信号延迟第一时间后传输至第一比较模块25。
第二延迟模块29,分别与第一位宽转换模块21和第二内存控制模块24连接,用于将第一位宽转换模块21输出的第二写访问信号延迟第一时间后传输至第二内存控制模块24。
其中,第一延迟模块28和第二延迟模块29的具体结构可以根据实际需求设置,只要能够实现信号的延迟即可,具体不作限定。比如可以通过计时器控制接收到的信号的发出时间。第一时间可以根据实际需求设置,比如可以设置为1个时钟周期、2个时钟周期,具体不作限定。对于第一内存控制模块22,通过第一延迟模块28在第一内存控制模块22完成处理后延迟输出结果到达第一比较模块25的时间,对于第二内存控制模块24,通过在第二内存控制模块24处理之前延迟第二写访问信号到达第二内存控制模块24的时间,进而实现第二内存控制模块24的处理结果到达第一比较模块25的时间,使得两内存控制模块的处理结果能够同时到达第一比较模块25,且保证第一内存控制模块22和第二内存控制模块24在不同时刻对同一第二写访问信号进行转换,避免两内存控制模块同时工作若发生相同错误容易导致该错误无法被检测到的情况发生。比如在处理过程中,两个内存控制模块发生了相同的错误,比如同时受到一些因素干扰(比如电磁干扰)),导致获得的存在错误的各组第三写访问信号与各组第五写访问信号仍是一致的,则通过第一比较模块25比较后无法检测到错误的发生。
需要说明的是,第一延迟模块28除了将第一内存控制模块22输出的各组第三写访问信号延迟第一时间后传输至第一比较模块25之外,还可以对第一内存控制模块22输出的其他任何信号延迟第一时间后传输至第一比较模块25,相应的,第二延迟模块29除了将第一位宽转换模块21输出的第二写访问信号延迟第一时间后传输至第二内存控制模块24之外,还可以对需要输入到第二内存控制模块24的任何其他信号延迟第一时间,具体可以根据实际需求设置。
本实施例通过对第一内存控制模块22和第二内存控制模块24在不同阶段进行信号延迟,可以有效避免两个内存控制模块同时发生相同错误导致错误无法被检测到的情况发生,进一步提高内存访问的安全性。
图6是本公开一示例性实施例提供的内存物理层接口23的结构示意图。
在一个可选实施例中,内存物理层接口23,包括:第一通道231、第二通道232、控制单元233和监测器234。
第一通道231,用于将每组第三写访问信号对应的一个第四写访问信号传输至第一通道231对应的第一内存模块。
第二通道232,用于将每组第三写访问信号对应的另一个第四写访问信号传输至第二通道232对应的第二内存模块。
控制单元233,分别与第一通道231和第二通道232连接,用于产生第一通道231和第二通道232的工作时钟及复位信号。
监测器234,与控制单元233连接,用于监测工作时钟和/或复位信号,基于监测结果输出报警信号。
其中,第一通道231和第二通道232分别与第一内存控制模块22连接,第一通道231还与第一内存模块连接,第二通道232还与第二内存模块连接。第一通道231将每组第三写访问信号中的一个第三写访问信号转换为满足内存协议的一个第四写访问信号,将该第四写访问信号传输至第一内存模块,同理,第二通道232将每组第三写访问信号中的另一个第三写访问信号转换为满足内存协议的另一个第四写访问信号,并传输至第二内存模块。工作时钟用于驱动第一通道231和第二通道232开始工作,复位信号用于控制第一通道231和第二通道232对内存和内存物理层接口23进行复位。控制单元233可以受智能驾驶芯片的其他模块控制,比如处理器、复位管理模块等,具体可以根据实际需求设置,比如当发生故障时,处理器响应中断进行故障处理需要复位本公开的集成电路,可以向复位管理模块发送复位指令,或者直接向控制单元233发送复位指令,控制单元233控制第一通道231和第二通道232进行内存复位,具体的工作时钟和复位的控制可以根据实际需求设置,本公开不作限定。监测器234可以实时或定时监测控制单元233的工作时钟和/或复位信号,当监测到工作时钟和/或复位信号发生错误或不满足预设条件时,可以输出报警信号,以及时发现问题,保证内存物理层接口23的功能安全。比如检查产生的工作时钟的计数值是否在预期范围内,若不在预期范围内则输出报警信号,再比如监测复位信号是否发生错误,若复位信号在内存正常工作时被触发(比如拉低表示触发复位操作),则输出报警信号。
本实施例的内存物理层接口通过两个独立的通道实现相同组的两个第三写访问信号的转换与传输,将分别来自两份原待写数据的各部分数据存储到两个内存模块,实现了将两份相同的原待写数据分别存储到两个内存模块,便于读数据时进行校验,保证内存访问满足较高的安全等级。
在一个可选实施例中,第一通道231还用于将从第一内存模块读取的第一读数据转换为满足第一协议的第三读数据,并传输至第一内存控制模块22,第二通道232还用于将从第二内存模块读取的第二读数据转换为满足第一协议的第四读数据传输至第一内存控制模块22。第一内存控制模块22还用于将第一通道231传输的各第三读数据和第二通道232传输的各第四读数据转换为满足第二位宽转换模块26所支持的第二协议的第三数据,并将第三数据传输至第二位宽转换模块26,第二位宽转换模块26则可以按照第二预设转换方式对第三数据进行位宽转换,获得第四数据和第五数据,并将第四数据传输至处理器,将第四数据和第五数据传输至读数据校验模块27,读数据校验模块27用于将第四数据和第五数据进行比较,响应于比较结果为不一致,输出错误信号。
在一个可选示例中,图7是本公开另一示例性实施例提供的内存物理层接口23的结构示意图。其中,monitor表示监测器234,clock表示工作时钟,reset表示复位信号,MASTER表示控制单元233,DDR channel A和DDR channel B表示双通道内存(比如dualchannel SDRAM,双通道SDRAM)的两个通道,第一通道231和第二通道232的结构一致,均包括DQ、DQ和AC三个通道,DQ表示数据通道,用于传输数据,AC表示地址/命令通道,用于传输地址和命令。
在一个可选实施例中,第一位宽转换模块21具体用于:
将第一写访问信号所包括的原待写数据,以第一位宽为粒度,对于每个第一位宽对应的部分原数据,将该部分原数据复制为两份相同的数据,将该两份相同的数据作为连续的两个第一位宽的目标数据,第一位宽与第一协议所支持的数据位宽相同;将各部分原数据分别对应的目标数据按照各部分原数据在原待写数据中的顺序确定目标待写数据;将第一写访问信号中的控制信号所包括的表示原待写数据长度的信号转换为表示目标待写数据长度的信号,获得目标控制信号;基于目标待写数据和目标控制信号,确定第二写访问信号。
在一个可选示例中,图8是本公开一示例性实施例提供的原待写数据到目标待写数据的转换原理示意图。其中,Byte表示字节,1Byte=8bit,bit表示位,比如Byte0包括bit0-bit7的8位。本示例中,第一位宽为16位,对于第一写访问信号中的原待写数据,以16位为粒度,将每个第一位宽对应的部分原数据(比如Byte0和Byte1)复制为两份相同的数据,将该两份相同的数据作为连续的两个第一位宽的目标数据,进而将各部分原数据(共8部分原数据)分别对应的目标数据(共8份目标数据)按照各部分原数据在原待写数据中的顺序进行组合,获得目标待写数据。
在一个可选示例中,图9是本公开又一示例性实施例提供的用于内存访问的集成电路的结构示意图。其中,各部分的具体工作原理参见前述内容,在此不再赘述。
在一个可选实施例中,由于第一位宽转换模块21的转换功能与第二位宽转换模块24的转换功能属于相反的转换,在实际应用中可以通过一个位宽转换模块实现。示例性的,图10是本公开再一示例性实施例提供的用于内存访问的集成电路的结构示意图,在本示例中,原待写数据的位宽以128位(bit)为例,位宽转换模块能够实现前述第一位宽转换模块21和第二位宽转换模块24的功能,在写数据时,位宽转换模块通过AXI(AdvancedeXtensible Interface,先进可扩展接口)协议的转换实现将128位原待写数据的第一写访问信号转换为包括两份原待写数据、位宽变为256位的目标待写数据。在读数据时,位宽转换模块通过AXI协议的转换实现将第一内存控制模块22传输的256位的第三数据转换为128位的第四数据和第五数据,将其中一份传输至处理器。这种情况下,读数据校验模块27也可以设置在该位宽转换模块中,用于对转换后的第四数据和第五数据进行校验。AXI协议是一种总线协议,其地址/控制(或称命令)和数据相位是分离的,支持不对齐的数据传输,具体原理不再赘述。
在一个可选示例中,图11是本公开一示例性实施例提供的第三数据到第四数据的转换原理示意图。本示例中,第三数据位宽以256位为例,将256位的第三数据转换为128位。在第三数据中,除了组成第四数据的各字节之外的剩余字节组成第五数据,第五数据的原理与第四数据一致,在此不再赘述。
本示例中的任一模块、任一单元都可以通过硬件或软件实现,为了保证实时性,可以采用硬件逻辑电路实现。
在一个可选示例中,为了保证装置的实时性,本公开的装置的上述各模块、各模块下的单元及各单元下的子单元,均采用硬件逻辑电路实现,从而有效降低硬件开销和功耗开销,并能保实时性。
本公开的各实施例及可选示例可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施,具体可以根据实际需求设置。
示例性方法
图12是本公开一示例性实施例提供的用于内存访问的处理方法的流程示意图,该方法可以通过上述任一实施例的用于内存访问的集成电路实现。如图12所示,本公开的方法可以包括以下步骤:
步骤301,将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份原待写数据的目标待写数据,基于目标待写数据确定转换后的第二写访问信号。
步骤302,将第二写访问信号中的目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组第一待写数据确定对应的一组第三写访问信号,每组第一待写数据包括分别来自两份原待写数据的两份相同的第一待写数据,每组第三写访问信号包括两路第三写访问信号。
步骤303,将每组第三写访问信号转换为满足内存协议的两个第四写访问信号,并将各第四写访问信号传输至其对应的内存模块。
本公开的方法的各步骤的具体操作已在前述集成电路实施例中进行了详细说明,在此不再赘述。
图13是本公开另一示例性实施例提供的用于内存访问的处理方法的流程示意图。
在一个可选实施例中,本公开的方法还包括:
步骤401,将第二写访问信号中的目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第二待写数据,基于每组第二待写数据确定对应的一组第五写访问信号,每组第二待写数据包括分别来自两份原待写数据的两份相同的第二待写数据,每组第五写访问信号包括两路第五写访问信号。
步骤402,将各组第三写访问信号与各组第五写访问信号进行比较,响应于比较结果为不一致,输出错误信号。
图14是本公开一示例性实施例提供的内存访问的读数据流程示意图。
在一个可选实施例中,本公开的方法还包括:
步骤501,分别从第一内存模块、第二内存模块获取至少一组第一数据,将至少一组第一数据中的每组第一数据转换为满足第一协议的一组第二数据,每组第一数据包括第一读数据和第二读数据,每组第二数据包括与第一读数据对应的第三读数据和与第二读数据对应的第四读数据。
步骤502,将各组第二数据转换为满足第二协议的第三数据。
步骤503,按照第二预设转换方式对第三数据进行位宽转换,获得第四数据和第五数据,将第四数据传输至处理器。
步骤504,将第四数据和第五数据进行比较,响应于比较结果为不一致,输出错误信号。
在一个可选实施例中,步骤504包括:将第四数据的第n位的值和第五数据的第n位的值进行比较,响应于任一位的比较结果为不同,输出错误信号。
图15是本公开再一示例性实施例提供的用于内存访问的处理方法的流程示意图。
在一个可选实施例中,本公开的方法还包括:
步骤610,将各组第三写访问信号延迟第一时间后进入后续流程。
步骤620,将第二写访问信号延迟第一时间后进入后续流程。
在一个可选实施例中,步骤303包括:
将每组第三写访问信号对应的一个第四写访问信号传输至第一内存模块;将每组第三写访问信号对应的另一个第四写访问信号传输至第二内存模块。
在一个可选实施例中,步骤303包括:
产生工作时钟,用于触发执行将每组第三写访问信号对应的一个第四写访问信号传输至第一内存模块的步骤,以及将每组第三写访问信号对应的另一个第四写访问信号传输至第二内存模块的步骤。
在一个可选实施例中,步骤303还包括:
在需要对第一内存模块和/或第二内存模块进行复位时,产生复位信号,传输至第一内存模块和/或第二内存模块。
在一个可选实施例中,步骤303还包括:
监测工作时钟和/或复位信号,基于监测结果输出报警信号。
在一个可选实施例中,步骤301具体用于:
将第一写访问信号所包括的原待写数据,以第一位宽为粒度,对于每个第一位宽对应的部分原数据,将该部分原数据复制为两份相同的数据,将该两份相同的数据作为连续的两个第一位宽的目标数据,第一位宽与第一协议所支持的数据位宽相同;将各部分原数据分别对应的目标数据按照各部分原数据在原待写数据中的顺序确定目标待写数据;
将第一写访问信号中的控制信号所包括的表示原待写数据长度的信号转换为表示目标待写数据长度的信号,获得目标控制信号;基于目标待写数据和目标控制信号,确定第二写访问信号。
本公开实施例提供的任一种用于内存访问的处理方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种用于内存访问的处理方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种用于内存访问的处理方法。或者,本公开实施例提供的任一种方法可以由硬件逻辑电路装置执行。下文不再赘述。
示例性电子设备
本公开实施例还提供了一种电子设备,包括:存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的方法。
或者,该电子设备包括如上任一实施例提供的装置(即用于内存访问的集成电路),以实现本公开上述任一实施例所述的方法。
其中,装置中的至少一个模块通过硬件逻辑电路实现;或者,至少一个模块中的至少一个单元通过硬件逻辑电路实现。
为了提高实时性,装置中的每个模块、每个模块下的每个单元及每个单元下的每个子单元,均通过硬件逻辑电路实现,也即整个装置为硬件逻辑电路。
图16是本公开电子设备一个应用实施例的结构示意图。本实施例中,该电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本公开的各个实施例的方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
例如,该输入装置13可以是上述的麦克风或麦克风阵列,用于捕捉声源的输入信号;该输入装置13还可以是图像采集传感器,比如摄像头,用于采集图像数据。
此外,该输入装置13还可以包括例如键盘、鼠标等等。
该输出装置14可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图16中仅示出了该电子设备10中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
在一个可选实施例中,还可以提供一种电子设备,该电子设备包括如上任一实施例或示例提供的用于内存访问的集成电路,还可以包括其他相关的装置,在此不再赘述。集成电路中的至少一个模块通过硬件逻辑电路实现;或者,至少一个模块中的至少一个单元通过硬件逻辑电路实现。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本公开各种实施例的方法中的步骤。
本公开的存储介质,还可以存储本公开说明书上述“示例性装置”部分中提供的图像数据处理模块的保护装置的至少一个硬件逻辑电路需要存储的数据,以使所述硬件逻辑电路在工作时能够实现对应的功能。比如存储介质为硬件逻辑电路的寄存器,存储初始化配置的数据,或者存储工作过程中需要存储的数据,具体不作限定。其中,至少一个硬件逻辑电路可以是装置中的一个模块的硬件逻辑电路,也可以是一个模块下的一个单元的硬件逻辑电路,还可以是一个单元下的一个子单元的硬件逻辑电路,具体不作限定。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于***实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的装置和方法。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的装置和方法。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (10)

1.一种用于内存访问的集成电路,包括:
第一位宽转换模块,用于将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份所述原待写数据的目标待写数据,基于所述目标待写数据确定转换后的第二写访问信号;
第一内存控制模块,与所述第一位宽转换模块连接,用于将所述第二写访问信号中的所述目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组所述第一待写数据确定对应的一组第三写访问信号,每组所述第一待写数据包括分别来自两份所述原待写数据的两份相同的第一待写数据,每组所述第三写访问信号包括两路第三写访问信号;
内存物理层接口,与所述第一内存控制模块连接,用于将每组所述第三写访问信号转换为满足内存协议的两路第四写访问信号,并将各所述第四写访问信号传输至其对应的内存模块。
2.根据权利要求1所述的集成电路,还包括:
第二内存控制模块,与所述第一位宽转换模块连接,用于将所述第二写访问信号中的所述目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第二待写数据,基于每组所述第二待写数据确定对应的一组第五写访问信号,每组所述第二待写数据包括分别来自两份所述原待写数据的两份相同的第二待写数据,每组所述第五写访问信号包括两路第五写访问信号;
第一比较模块,分别与所述第一内存控制模块和所述第二内存控制模块连接,用于将各组所述第三写访问信号与各组所述第五写访问信号进行比较,响应于比较结果为不一致,输出错误信号。
3.根据权利要求2所述的集成电路,还包括:第二位宽转换模块和读数据校验模块;
所述内存物理层接口,还用于分别从第一内存模块、第二内存模块获取至少一组第一数据,将所述至少一组第一数据中的每组第一数据转换为满足所述第一协议的一组第二数据,将各组所述第二数据传输至所述第一内存控制模块,每组所述第一数据包括第一读数据和第二读数据,每组所述第二数据包括与所述第一读数据对应的第三读数据和与所述第二读数据对应的第四读数据;
所述第一内存控制模块,还用于将各组所述第二数据转换为满足所述第二位宽转换模块所支持的第二协议的第三数据,将所述第三数据传输至所述第二位宽转换模块;
所述第二位宽转换模块,用于按照第二预设转换方式对所述第三数据进行位宽转换,获得第四数据和第五数据,将所述第四数据传输至处理器;
所述读数据校验模块,用于将所述第四数据和所述第五数据进行比较,响应于比较结果为不一致,输出错误信号。
4.根据权利要求3所述的集成电路,其中,所述读数据校验模块包括:
预设数量的异或电路,第n个所述异或电路的两个输入分别为所述第四数据的第n位的值和所述第五数据的第n位的值,每个所述异或电路用于响应于两个输入的值不同,输出为1,响应于两个输入的值相同,输出为0,所述预设数量与所述第四数据的位宽相同;
或电路,输入端分别与各所述异或电路的输出端连接,所述或电路用于响应于任一所述异或电路的输出为1,输出错误信号。
5.根据权利要求2所述的集成电路,还包括:
第一延迟模块,分别与所述第一内存控制模块和所述第一比较模块连接,用于将所述第一内存控制模块输出的各组所述第三写访问信号延迟第一时间后传输至所述第一比较模块;
第二延迟模块,分别与所述第一位宽转换模块和所述第二内存控制模块连接,用于将所述第一位宽转换模块输出的所述第二写访问信号延迟所述第一时间后传输至所述第二内存控制模块。
6.根据权利要求1所述的集成电路,其中,所述内存物理层接口,包括:
第一通道,用于将每组所述第三写访问信号对应的一个所述第四写访问信号传输至所述第一通道对应的第一内存模块;
第二通道,用于将每组所述第三写访问信号对应的另一个所述第四写访问信号传输至所述第二通道对应的第二内存模块;
控制单元,分别与所述第一通道和所述第二通道连接,用于产生所述第一通道和所述第二通道的工作时钟及复位信号;
监测器,与所述控制单元连接,用于监测工作时钟和/或复位信号,基于监测结果输出报警信号。
7.根据权利要求1所述的集成电路,其中,所述第一位宽转换模块具体用于:
将所述第一写访问信号所包括的所述原待写数据,以第一位宽为粒度,对于每个第一位宽对应的部分原数据,将该部分原数据复制为两份相同的数据,将该两份相同的数据作为连续的两个第一位宽的目标数据,所述第一位宽与所述第一协议所支持的数据位宽相同;
将各部分原数据分别对应的所述目标数据按照各所述部分原数据在所述原待写数据中的顺序确定所述目标待写数据;
将所述第一写访问信号中的控制信号所包括的表示原待写数据长度的信号转换为表示所述目标待写数据长度的信号,获得目标控制信号;
基于所述目标待写数据和所述目标控制信号,确定所述第二写访问信号。
8.一种用于内存访问的处理方法,包括:
将处理器的第一写访问信号中的原待写数据按照第一预设转换方式转换为包括两份所述原待写数据的目标待写数据,基于所述目标待写数据确定转换后的第二写访问信号;
将所述第二写访问信号中的所述目标待写数据转换为满足内存物理层接口所支持的第一协议的至少一组第一待写数据,基于每组所述第一待写数据确定对应的一组第三写访问信号,每组所述第一待写数据包括分别来自两份所述原待写数据的两份相同的第一待写数据,每组所述第三写访问信号包括两路第三写访问信号;
将每组所述第三写访问信号转换为满足内存协议的两个第四写访问信号,并将各所述第四写访问信号传输至其对应的内存模块。
9.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求8所述的用于内存访问的处理方法;或者,
所述存储介质用于存储如权利要求1-7任一所述的用于内存访问的集成电路的至少一个硬件逻辑电路需要存储的数据,以使所述硬件逻辑电路在工作时能够实现对应的功能。
10.一种电子设备,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求8所述的用于内存访问的处理方法;或者,
所述电子设备包括如权利要求1-7任一所述的用于内存访问的集成电路;
其中,所述用于内存访问的集成电路中的至少一个模块通过硬件逻辑电路实现。
CN202310079654.7A 2023-01-17 2023-01-17 用于内存访问的集成电路、处理方法、电子设备和介质 Pending CN116126754A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310079654.7A CN116126754A (zh) 2023-01-17 2023-01-17 用于内存访问的集成电路、处理方法、电子设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310079654.7A CN116126754A (zh) 2023-01-17 2023-01-17 用于内存访问的集成电路、处理方法、电子设备和介质

Publications (1)

Publication Number Publication Date
CN116126754A true CN116126754A (zh) 2023-05-16

Family

ID=86306109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310079654.7A Pending CN116126754A (zh) 2023-01-17 2023-01-17 用于内存访问的集成电路、处理方法、电子设备和介质

Country Status (1)

Country Link
CN (1) CN116126754A (zh)

Similar Documents

Publication Publication Date Title
TWI728254B (zh) 影像資料傳輸系統及影像資料傳輸方法
JP2016533608A (ja) カメラ制御インターフェースのスレーブデバイス間通信
WO2022228014A1 (zh) 待测试模块的测试电路、方法及装置
CN114817110B (zh) 一种数据传输方法及装置
CN107293330B (zh) 对随机存取存储器ram进行仿真验证的方法和仿真验证***
CN113656230B (zh) 故障诊断电路、方法、装置及计算机可读存储介质
CN109902046B (zh) 一种用于串行***总线***的通信方法、相关设备及***
US10643573B2 (en) Technologies for end-to-end display integrity verification for functional safety
JP2024024607A (ja) メモリーアクセスのための集積回路、処理方法、電子機器及び媒体
CN116126754A (zh) 用于内存访问的集成电路、处理方法、电子设备和介质
CN114185835A (zh) 片上***和调节电压和频率的方法
CN116125853A (zh) 集成电路的安全控制方法、装置、存储介质及电子设备
US9442819B2 (en) Method and apparatus for storing trace data
CN115549854B (zh) 循环冗余校验方法、装置、存储介质以及电子设备
US20230259737A1 (en) Integrated computing apparatus, chip, board card, device and computing method
CN109992225B (zh) 数据输出方法及相关装置
US20240152621A1 (en) Control method and apparatus for safety boot of chip, electronic device and storage medium
CN115184771B (zh) 图像信号处理器的故障检测方法和装置、电子设备和介质
US12045121B2 (en) Security IC and operating method thereof
CN115297198B (zh) 数据处理方法、电路、介质和计算设备
US9971860B2 (en) Allocating plurality of RAMs to FPGA block RAM
US20230153186A1 (en) Security ic and operating method thereof
CN114371978B (zh) 安卓获取数据的方法、设备、装置和***
CN113032299B (zh) 用于处理请求的总线***、集成电路装置、板卡及保序方法
JP2011186791A (ja) Usbハブ及びusbハブの制御方法

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