系统芯片存储控制方法、装置和系统芯片

文档序号:1002959 发布日期:2020-10-23 浏览:19次 >En<

阅读说明:本技术 系统芯片存储控制方法、装置和系统芯片 (System chip storage control method and device and system chip ) 是由 李鹏 习伟 姚浩 于杨 杨祎巍 黄凯 李昱霆 于 2020-07-24 设计创作,主要内容包括:本申请涉及一种系统芯片存储控制方法、装置和系统芯片,所述系统芯片存储控制方法应用于系统芯片,所述方法通过接收所述内存模块在第二读时钟周期发送的第一初始读数据,所述第一初始读数据是所述内存模块根据第一地址信息和第一控制信息获取的数据,所述第一地址信息和所述第一控制信息由所述微处理器在第一读时钟周期向所述内存模块发送;在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回至所述微处理器。本申请提供的系统芯片存储控制方法能够解决所述微处理器对所述内存模块控制时存在的时序混乱的问题。(The method comprises the steps of receiving first initial read data sent by a memory module in a second read clock cycle, wherein the first initial read data is data acquired by the memory module according to first address information and first control information, and the first address information and the first control information are sent to the memory module by a microprocessor in a first read clock cycle; and in a third read clock cycle, decoding and correcting the first initial read data to obtain first target read data, and returning the first target read data to the microprocessor. The system chip storage control method can solve the problem of time sequence disorder when the microprocessor controls the memory module.)

系统芯片存储控制方法、装置和系统芯片

技术领域

本申请涉及存储技术领域,特别是涉及一种系统芯片存储控制方法、装置和系统芯片。

背景技术

系统芯片也称片上系统,是一个将计算机或其他电子系统集成到单一芯片的集成电路,即,在单一芯片上,就能完成一个电子系统的功能。AHB(Advanced High-performanceBus,高级高性能总线),主要是针对高效率、高频宽及快速系统模块所设计的总线。AHB可以连接微处理器和系统芯片上的内存模块等。ECC(Error Correcting Code,错误检查和纠正),是一种能够实现错误检查和纠正的技术,可以检查读取或传输的数据是否存在错误,并在发现错误后立即对其进行纠正。微处理器对系统芯片的内存模块的读操作和写操作进行控制时,若引入ECC技术,会导致读操作和写操作的时序混乱。传统技术中,缺少针对这种时序混乱问题的解决方案。

发明内容

基于此,有必要针对上述技术问题,提供一种系统芯片存储的控制方法、装置和系统芯片。

一方面,本申请一个实施例提供一种系统芯片存储控制方法,应用于系统芯片,所述系统芯片包括微处理器和内存模块,所述方法包括:

接收所述内存模块在第二读时钟周期发送的第一初始读数据,其中,所述第一初始读数据是所述内存模块根据第一地址信息和第一控制信息获取的数据,所述第一地址信息和所述第一控制信息由所述微处理器在第一读时钟周期向所述内存模块发送;

在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据;

将所述第一目标读数据返回至所述微处理器。

在其中一个实施例中,还包括:

在所述第二读时钟周期预测下一次读操作的地址信息,得到预测地址信息;

将所述预测地址信息发送至所述内存模块。

在其中一个实施例中,还包括:

接收所述微处理器在第一写时钟周期发送的第二地址信息和第二控制信息;

根据所述第二地址信息和所述第二控制信息,从所述内存模块中读取第二初始读数据;

获取所述微处理器在第二写时钟周期发送的非全字写数据;

在第三写时钟周期,根据所述第二初始读数据和所述非全字写数据,确定目标非全字写数据;

将所述目标非全字写数据和所述第二控制信息发送至所述内存模块。

在其中一个实施例中,所述根据所述第二地址信息和所述第二控制信息,从所述内存模块中获取第二初始读数据,包括:

在第一写时钟周期,根据所述第二控制信息确定读请求信息;

将所述读请求信息和所述第二地址信息发送至所述内存模块;

接收所述内存模块在第二写时钟周期发送的第二初始读数据,其中,所述第二初始读数据是所述内存模块根据所述第二地址信息和所述读请求信息获取的数据。

在其中一个实施例中,所述根据所述第二初始读数据和所述非全字写数据,确定第一目标写数据包括:

对所述第二初始读数据进行解码纠错,得到解码数据;

根据所述非全字写数据的地址标识和所述解码数据的地址标识,将所述非全字写数据覆盖至所述解码数据,得到初始非全字写数据;

对所述初始非全字写数据进行编码,得到所述目标非全字写数据。

在其中一个实施例中,还包括:

在第四写时钟周期,接收所述微处理器发送的第三地址信息和第三控制信息,并将所述第三地址信息发送至所述内存模块;

在第五写时钟周期,接收所述微处理器发送的全字写数据,并对所述第二写数据进行编码,得到目标全字写数据;

将所述目标全字写数据和所述第三控制信息发送至所述内存模块。

第二方面,本申请一个实施提供一种系统芯片存储控制方法,包括:

接收微处理器在第一读时钟周期发送的第一地址信息和第一控制信息,并根据所述第一地址信息和所述第一控制信息获取第一初始读数据;

在第二读时钟周期,将所述第一初始读数据发送给控制装置,以使所述控制装置在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回给所述微处理器。

在其中一个实施例中,还包括:

接收所述微处理器在第一写时钟周期发送的第二地址信息,以及所述控制装置发送的读请求信息,其中,所述读请求是所述控制装置是根据所述微处理器发送的第二控制信息确定的;

根据所述第二地址信息和所述读请求信息读取第二初始读数据;

在第二写时钟周期,将所述第二初始读数据发送至控制装置,以使所述控制装置在第三写时钟周期根据所述第二初始读数据和非全字写数据,确定目标非全字写数据,并将所述目标非全字写数据发送至所述微处理器,其中,所述非全字写数据是所述微处理器在第二写时钟周期发送的数据。

第三方面,本申请一个实施例提供一种系统芯片存储控制方法,包括:

在第一读时钟周期,发送第一地址信息和第一控制信息;

在第三读时钟周期,接收控制装置返回的第一目标读数据,其中,所述第一目标读数据是所述控制装置对第一初始读数据进行解码纠错得到的数据,所述第一初始读数据是内存模块在第二读时钟周期根据所述第一地址信息和所述第一控制信息获取并发送至所述控制装置的数据。

在其中一个实施例中,还包括:

在第一写时钟周期,向所述控制装置发送第二地址信息和所述第二控制信息,以使所述内存模块根据所述第二地址信息和读请求信息,获取第二初始读数据,其中,所述读请求信息由所述控制装置根据所述第二控制信息向所述内存模块发送;

在第二写时钟周期,向所述控制装置发送非全字写数据,以使所述控制装置在第三写时钟周期根据所述非全字写数据和所述第二初始读数据,确定目标非全字写数据,并将所述目标非全字写数据和所述第二控制信息发送至所述内存模块。

本申请一个实施例还提供一种系统芯片,包括微处理器、控制装置和内存模块,所述控制装置用于执行如上一方面提供的所述方法的步骤,所述内存模块用于执行如上第二方面提供的所述方法的步骤,所述微处理器用于执行如上第三方面提供的所述方法的步骤。

本申请一个实施例还提供一种系统芯片存储控制装置,包括:

第一初始读数据获取模块,用于接收所述内存模块在第二读时钟周期发送的第一初始读数据,其中,所述第一初始读数据是所述内存模块根据第一地址信息和第一控制信息获取的数据,所述第一地址信息和所述第一控制信息由所述微处理器在第一读时钟周期向所述内存模块发送;

第一目标读数据获取模块,用于在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据;

第一目标读数据发送模块,用于将所述第一目标读数据返回至所述微处理器。

本申请一个实施例还提供一种系统芯片存储控制装置,包括:

第一初始读数据获取模块,用于接收微处理器在第一读时钟周期发送的第一地址信息和第一控制信息,并根据所述第一地址信息和所述第一控制信息获取第一初始读数据;

第一目标读数获取模块,用于在第二读时钟周期,将所述第一初始读数据发送给控制装置,以使所述控制装置在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回给所述微处理器。

本申请一个实施例还提供一种系统芯片存储控制装置,包括:

第一信息发送模块,用于在第一读时钟周期,发送第一地址信息和第一控制信息;

第一目标读数据接收模块,用于在第三读时钟周期,接收控制装置返回的第一目标读数据,其中,所述第一目标读数据是所述控制装置对第一初始读数据进行解码纠错得到的数据,所述第一初始读数据是内存模块在第二读时钟周期根据所述第一地址信息和所述第一控制信息获取并发送至所述控制装置的数据。

本申请一个实施例还提供一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被微处理器、控制装置和内存模块执行时实现如上所述的方法的步骤。

本申请实施例提供一种系统芯片存储的控制方法、装置和系统芯片。所述方法应用于系统芯片,所述系统芯片包括微处理器和内存模块。所述方法通过接收所述内存模块在第二读时钟周期发送的第一初始读数据,在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回至所述微处理器。本申请实施例提供的系统芯片存储控制方法在第一读时钟周期,所述内存模块根据所述微处理器发送的第一地址信息和第一控制信息获取所述第一初始读数据,在第二读时钟周期,接收所述内存模块发送的第一初始读数据,在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据。将对第一初始读数据进行解码纠错的任务放在第三读时钟周期完成,这样能够避免在第二读时钟周期对第一初始读数据进行解码纠错时,需要跨越至第三读时钟周期,从而能够解决所述微处理器对所述内存模块进行读操作时存在的时序混乱的问题。

附图说明

为了更清楚地说明本申请实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域不同技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请一个实施例提供的系统芯片的结构示意图;

图2为本申请一个实施例提供的读操作示意图;

图3为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图4为本申请一个实施例提供的多次读操作示意图;

图5为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图6为本申请一个实施例提供的多次读操作示意图;

图7为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图8为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图9为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图10为本申请一个实施例提供的多次非全字写操作示意图;

图11为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图12为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图13为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图14为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图15为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图16为本申请一个实施例提供的系统芯片存储控制方法的步骤流程示意图;

图17为本申请一个实施例提供的系统芯片存储控制装置结构示意图;

图18为本申请一个实施例提供的系统芯片存储控制装置结构示意图;

图19为本申请一个实施例提供的系统芯片存储控制装置结构示意图。

具体实施方式

为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似改进,因此本申请不受下面公开的具体实施例的限制。

下面以具体的实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

请参见图1,本申请提供的一种系统芯片存储控制方法可以应用于系统芯片,所述系统芯片包括微处理器、内存模块和控制装置。所述微处理器是由一片或者几片大规模的集成电路组成的中央处理器。所述微处理器能够完成取指令、执行指令,以及与外界存储器交换信息等操作。所述微处理器可以是各种有AHB接口的处理器,所述控制装置可以是控制电路。所述内存模块可以是各种各样的存储器,例如:静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)和增强型SDRAM(ESDRAM)等。所述内存模块可以设置在所述系统芯片上,也可以设置在所述系统芯片外,与所述系统芯片连接。所述微处理器对所述内存模块进行读操作、全字写操作或者非全字写操作时,需要控制装置对微处理器和内存模块发送的信息和数据等进行处理。利用微处理器对内存模块进行读操作时,在时钟信号的地址周期内发送地址信息,在时钟信号的数据周期内读取数据。在引入ECC(ErrorCorrecting Code,错误检查和纠正)技术后,需要在时钟信号的数据周期内对读取的数据进行解码纠错。如图2所示,若在一个数据时钟周期快要结束时才接收到数据,则在对数据进行解码纠错的任务在这个数据时钟周期不能完成,需要在下一个数据时钟周期进行。

请参见图3,本实施例涉及微处理器对内存模块进行读操作时,系统芯片存储控制方法的过程步骤,本实施例以控制装置为执行主体执行所述系统芯片存储控制方法,方法步骤包括:

S100,接收所述内存模块在第二读时钟周期发送的第一初始读数据,其中,所述第一初始读数据是所述内存模块根据第一地址信息和第一控制信息获取的数据,所述第一地址信息和所述第一控制信息由所述微处理器在第一读时钟周期向所述内存模块发送。

S110,在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据。

S120,将所述第一目标读数据返回至所述微处理器。

所述第一读时钟周期、所述第二读时钟周期和所述第三读时钟周期为所述微处理器对所述内存模块进行读操作时的时钟信号内的不同周期。在一个具体的实施例中,所述第一读时钟周期、所述第二读时钟周期和所述第三读时钟周期可以是时钟信号中依次相邻的三个时钟周期。在本实施例中,所述微处理器在发送所述第一地址信息和所述第一控制信息时,可以在第一读时钟周期内时钟信号的上升沿时刻开始发送所述第一地址信息和所述第一控制信息,也可以在第一读时钟周期内的任意时刻开始发送所述第一地址信息和所述第一控制信息。同样的,所述控制装置可以在第三读时钟周期内时钟信号的上升沿时刻对所述第一初始读数据进行处理,也可以在第三读时钟周期内的任意时刻对所述第一初始读数据进行处理。

所述控制装置将所述微处理器在第一读时钟周期发送的所述第一地址信息和所述第一控制信息发送至所述内存模块。所述内存模块根据所述第一地址信息和所述第一控制信息读取所需的数据,得到第一初始读数据。所述第一地址信息是指所述微处理器需要读取所述内存模块中的数据的地址。所述第一控制信号包括读请求信息和使能信号等。所述控制装置在第二读时钟周期接收所述第一初始读数据,并将所述第一初始读数据寄存在所述控制装置内。所述控制装置在第三读时钟周期利用ECC(Error Correcting Code,错误检查和纠正)技术对所述第一初始读数据进行解码纠错,即,先利用ECC对所述第一初始读数据解码,若解码后的数据存在错误时,则对解码后的数据进行纠错,得到第一目标读数据。在本实施例中,利用ECC技术对所述第一初始读数据进行处理,可以提高所述微处理器对所述内存模块进行读操作的准确性。

所述微处理器对所述内存模块进行多次读操作时的过程如图4所示,图中clk为是时钟信号,clk处于上升沿有效,address为地址信息,在hready信号拉高后,所述内存模块将所述第一目标读数据写入总线,data为所述微处理器得到所述第一目标读数据。A1、A2、A3和A4为发送的地址信息,D1、D2、D3和D4为所述微处理器得到的读数据。

本实施例提供的系统芯片存储的控制方法,通过接收所述内存模块在第二读时钟周期发送的第一初始读数据,在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回至所述微处理器。本实施例提供的系统芯片存储控制方法在第一读时钟周期,所述内存模块根据所述微处理器发送的第一地址信息和第一控制信息获取所述第一初始读数据,在第二读时钟周期,接收所述内存模块发送的第一初始读数据,在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据。将对第一初始读数据进行解码纠错的任务放在第三读时钟周期完成,这样能够避免在在第二读时钟周期对第一初始读数据进行解码纠错时,需要跨越至第三读时钟周期,从而能够解决所述微处理器对所述内存模块进行读操作时存在的时序混乱的问题,进而能够提高所述微处理器对所述内存模块进行读操作的准确性和可靠性。

请参见图5,在一个实施例中,所述系统芯片存储控制方法还包括:

S130,在所述第二读时钟周期预测下一次读操作的地址信息,得到预测地址信息。

S140,将所述预测地址信息发送至所述内存模块。

所述控制装置在所述第二读时钟周期等待所述内存模块发送的所述第一初始读数据时,预测所述微处理器进行下一次读操作时的地址信息,得到所述预测地址信息。在一个具体的实施例中,在AHB的burst模式下,地址是固定递增的,则所述控制装置将所述第一地址信息加一,可以得到所述预测地址信息。所述控制装置在得到所述预测地址信息后,在所述第二读时钟周期直接将所述预测地址信息发送给所述内存模块。此时所述第二读时钟周期作为了下一次读操作的第一个读时钟周期,这样增加了所述微处理器对所述内存模块进行读操作时的数据吞吐能力。所述微处理器对所述内存模块进行多次读操作时过程如图6所示,图中NONSEQ表示所述微处理器传输的所述第一地址信息和控制信息与上一次传输的地址信息无关,SEQ表示所述微处理传输的地址信息和上一次传输的地址信息有关,hready信号在第一次读操作的所述第二读时钟周期后一直处于拉高的状态。比较图6和图4可知,进行4次读操作,时钟周期由9个时钟周期减少到6个时钟周期,数据的吞吐量可以增加1.5倍。同理,在INCR16的传输模式下,数据的吞吐量可以增加1.83倍,在INCR8的传输模式下,数据的吞吐量可以增加1.7倍。

请参见图7,本实施例涉及所述微处理器对所述内存模块进行非全字写操作时的系统芯片存储控制方法,具体步骤包括:

S200,接收所述微处理器在第一写时钟周期发送的第二地址信息和第二控制信息。

所述微处理器对所述内存模块进行非全字写操作时,在第一个写时钟周期,所述控制装置接收所述微处理器发送的第二地址信息和所述第二控制信息。所述第二地址信息为所述微处理器需要向所述内存模块中写入数据的地址信息,所述第二控制信息可以包括写请求操作和使能信号等。

S210,根据所述第二地址信息和所述第二控制信息,从所述内存模块中读取第二初始读数据。

具体的,请参见图8,在一个实施例中,步骤S210根据所述第二地址信息和所述第二控制信息,从所述内存模块中读数第二初始读数据的步骤包括:

S211,在第一写时钟周期,根据所述第二控制信息确定读请求信息。

S212,将所述读请求信息和所述第二地址信息发送至所述内存模块。

在第一写时钟周期,所述控制装置根据所述微处理器发送的所述第二控制信息和所述第二地址信息,可以得到所述微处理器需要对所述内存模块中所述第二地址信息处的数据进行非全字操作,所述控制装置需要根据所述第二控制信息得到读请求信息。所述控制装置将所述读请求信息和所述第二地址信息一起发送至所述内存模块。

S213,接收所述内存模块在第二写时钟周期发送的第二初始读数据,其中,所述第二初始读数据是所述内存模块根据所述第二地址信息和所述读请求信息获取的数据。

所述内存模块在接收到所述读请求信息和所述第二地址信息后,会获取所述第二地址信息处的数据,得到所述第二初始读数据,并将所述第二初始读数据发送至所述控制装置。所述控制装置在所述第二写时钟周期可以接收到所述内存模块发送的所述第二初始读数据。

S220,获取所述微处理器在第二写时钟周期发送的非全字写数据。

S230,在第三写时钟周期,根据所述第二初始读数据和所述非全字写数据,确定目标非全字写数据。

S240,将所述目标非全字写数据和所述第二控制信息发送至所述内存模块。

所述非全字写数据为所述微处理器需要写入所述内存模块的数据。在所述第二写时钟周期,所述控制装置可以得到所述微处理器发送的所述非全字写数据,并将所述非全字写数据寄存起来。在所述第三写时钟周期时,所述控制装置根据所述读数据和所述非全字写数据,可以得到所述目标非全字写数据,并将所述目标非全字写数据和所述第二控制信息发送至所述内存模块,以实现所述微处理器对所述内存模块的非全字写操作。

对第一写时钟周期、第二写时钟周期和第三写时钟周期的具体描述可以参考上述对第一读时钟周期、第二读时钟周期和第三读时钟周期的描述,在此不再赘述。在本实施例中,在三个写时钟周期内可以完成所述微处理器对所述内存模块的非全字写数据的操作。并且,在第三写时钟周期所述控制装置根据所述非全字写数据和所述第二初始读数据,确定所述目标非全字写数据,能够避免在第二写时钟周期对所述非全字写数据和所述第二初始读数据进行解码纠错和编码处理时,跨越至第三写时钟周期,从而能够解决所述微处理器在对所述内存模块进行非全字写操作存在的时序混乱的问题。

具体的,请参见图9,在一个实施例中,步骤S230根据所述第二初始读数据和所述非全字写数据,确定目标非全字写数据包括:

S231,对所述第二初始读数据进行解码纠错,得到解码数据;

所述控制装置利用ECC技术对所述第二初始读数据进行解码,判断解码后的所述第二初始读数据是否存在错误。若解码后的所述第二初始读数据存在错误,则对其进行纠错,最终得到准确的所述解码数据。

S232,根据所述非全字写数据的地址标识,将所述非全字写数据覆盖至所述解码数据,得到初始非全字写数据;

S233,对所述初始非全字写数据进行编码,得到所述目标非全字写数据。

所述非全字写数据具有表征其需要写入的位置的地址标识,所述解码数据也具有地址标识。根据所述非全字写数据的地址标识和所述解码数据的地址标识,可以将所述非全字写数据覆盖在所述解码数据上需要写入的地址上,得到所述初始非全字写数据。所述控制装置会对得到的所述初始非全字写数据进行编码,最终得到所述目标非全字写数据。所述目标非全字写数据即为最终要写入所述内存模块的数据。在一个具体的实施例中,所述非全字写数据对应的地址标识为00,所述解码数据相对应的地址标识为0023,则将所述非全字写数据覆盖至所述解码数据的地址标识00所在的位置,得到所述目标非全字写数据。具体的,所述微处理器对所述内存模块的非全字写操作过程如图10所示,图中,we表示写,address表示所述第二地址信息,A_write_data表示所述微处理器发送非全字写数据,B_write_data表示所述内存模块接收到所述目标非全字写数据,A_read_data表示所述内存模块发送的所述第二初始读数据。

请参见图11,本实施例涉及所述微处理器对所述内存模块进行全字写操作时的系统芯片存储控制方法,具体步骤包括:

S300,在第四写时钟周期,接收所述微处理器发送的第三地址信息和第三控制信息,并将所述第三地址信息发送至所述内存模块。

S310,在第五写时钟周期,接收所述微处理器发送的全字写数据,并对所述第二写数据进行编码,得到目标全字写数据。

S320,将所述目标全字写数据和所述第三控制信息发送至所述内存模块。

在本实施例中,所述第四写时钟周期和所述第五写时钟周期为所述微处理器在对所述内存模块进行全字写操作时的时钟信号的任意两个周期,所述第四写时钟周期在所述第五写时钟周期之前。在一个具体的实施例中,所述第四写时钟周期和所述第五写时钟周期为依次相邻的两个周期。

所述微处理器在对所述内存模块进行全字写操作时。首先,在所述第四写时钟周期,所述控制装置接收所述微处理器发送的所述第三地址信息和所述第三控制信息。所述第三地址信息为所述微处理器需要在所述内存模块中写入数据的地址,所述第三控制信息可以包括所述微处理器发送的写操作请求和使能信号等。所述控制装置将所述第三地址信息发送给所述内存模块,使得所述内存模块获取所述微处理器需要写入数据的地址。并且,所述控制装置将所述第三控制信息寄存起来。在所述第五写时钟周期,所述控制装置会接收到所述微处理器发送的所述全字写数据。所述控制装置对所述全字写数据进行编码,可以得到所述目标全字写数据。所述目标全字写数据即为写入所述内存模块中所述第三地址信息处的数据。所述控制装置会将所述目标全字写数据和所述第三控制信息一起发送至所述内存模块,以将所述目标全字写数据写入所述内存模块中。

请参见图12,本实施例涉及微处理器对内存模块进行读操作时,系统芯片存储控制方法的过程步骤,本实施例以所述内存模块为执行主体对所述系统芯片存储控制方法进行说明,具体的包括:

S400,接收所述微处理器在第一读时钟周期发送的第一地址信息和第一控制信息,并根据所述第一地址信息和所述第一控制信息获取第一初始读数据。

S410,在第二读时钟周期,将所述第一初始读数据发送给控制装置,以使所述控制装置在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回给所述微处理器。

在所述微处理器对所述内存模块进行读操作时,在所述第一读时钟周期,所述内存模块可以接收到所述微处理器通过所述控制装置发送的所述第一地址信息和所述第一控制信息。所述第一地址信息为所述微处理器需要读取所述内存模块中的数据的地址信息,所述第一控制信息可以包括读请求消息和使能信号等。所述内存模块根据所述第一地址信息和所述第一控制信息可以获取所述微处理器需要读取的数据,得到所述第二初始读数据。在所述第二读时钟周期,所述内存模块将所述第一初始读数据发送至所述控制装置,可以使得所述控制装置在所述第三读时钟周期,利用ECC技术对所述第一初始读数据进行解码,并且判断解码后的数据是否存在错误,若解码后的数据存在错误,则对其进行纠错,得到所述第一目标读数据。所述控制装置将所述第一目标读数据返回至所述微处理器,以完成所述微处理器对所述内存模块的读操作。对所述第一读时钟周期、所述第二读时钟周期和所述第三读时钟周期的具体描述可以参考上述实施例的描述,在此不再赘述。

本实施例中,所述内存模块在所述第一读时钟周期接收所述第一地址信息和所述第一控制信息,在所述第二读时钟周期将所述第一初始读数据发送至所述控制装置,以使所述控制装置在所述第三读时钟周期对所述第一初始读数据进行解码纠错,得到所述第一目标读数据。本实施例提供的系统芯片存储控制方法,所述内存模块将所述第一初始读数据发送至所述控制装置,寄存起来,在所述第三读时钟周期,所述控制装置才对所述第一初始读数据进行解码纠错,得到所述目标读数据,并将其返回至所述微处理器。这样能够避免在对第一初始读数据进行解码纠错时,需要跨越至第三读时钟周期,可以解决所述微处理器对所述内存模块进行读操作时存在的时序混乱的问题,即,可以优化所述微处理器对所述内存模块进行读操作的时序。

请参见图13,本实施例涉及所述微处理器对所述内存模块进行非全字写操作时的系统芯片存储控制方法,具体步骤包括:

S500,接收所述微处理器在第一写时钟周期发送的第二地址信息,以及所述控制装置发送的读请求信息,其中,所述读请求是所述控制装置是根据所述微处理器发送的第二控制信息确定的。

在所述微处理器对所述内存模块进行非全字写操作时,所述内存模块接收所述微处理器通过所述控制装置在第一写时钟周期发送的所述第二地址信息,以及接收所述控制装置根据所述微处理器发送的所述第二控制信息确定的所述读请求操作。

S510,根据所述第二地址信息和所述读请求信息读取第二初始读数据。

S520,在第二写时钟周期,将所述第二初始读数据发送至控制装置,以使所述控制装置在第三写时钟周期根据所述第二初始读数据和非全字写数据,确定目标非全字写数据,并将所述目标非全字写数据发送至所述微处理器,其中,所述非全字写数据是所述微处理器在第二写时钟周期发送的数据。

所述内存模块根据接收到的所述第二地址信息和所述读请求信息,可以获取所述控制装置需要读取的所述内存模块中的数据,得到所述第二初始读数据。在所述第二写时钟周期,所述内存模块将所述第二初始读数据发送至所述控制装置,以使所述控制装置在所述第三写时钟周期,根据所述第二初始读数据和所述微处理器在所述第二写时钟周期发送的所述非全字写数据,确定所述目标非全字写数据,并将确定好的所述目标非全字写数据发送至所述微处理器。对所述根据所述第二初始读数据和所述非全字写数据确定所述目标非全字写数据的具体描述,以及对所述第一写时钟周期、所述第二写时钟周期和所述第三写时钟周期的具体描述,可以参考上述实施例中的描述,在此不再赘述。

请参见图14,本实施例涉及微处理器对内存模块进行读操作时,系统芯片存储控制方法的过程步骤,本实施例以所述微处理器为执行主体对所述系统芯片存储控制方法进行说明,具体的步骤包括:

S610,在第一读时钟周期,发送第一地址信息和第一控制信息。

S620,在第三读时钟周期,接收所述控制装置返回的第一目标读数据,其中,所述第一目标读数据是所述控制装置对第一初始读数据进行解码纠错得到的数据,所述第一初始读数据是所述内存模块在第二读时钟周期根据所述第一地址信息和所述第一控制信息获取发送至所述控制装置的数据。

在所述微处理器对所述内存模块进行读操作时,在所述第一读时钟周期,所述微处理器向所述内存模块发送所述第一地址信息和所述第一控制信息。所述第一地址信息为所述微处理器需要读取的所述内存模块中数据的地址,所述第一控制信息包括读请求信息和使能信息等。所述微处理器发送的所述第一地址信息和所述第一控制信息是通过所述控制装置发送至所述内存模块的。在第三时钟周期,所述微处理器会接收到所述控制装置返回的所述第一目标读数据。所述第一目读数据是所述控制装置对在所述第二读时钟周期接收到的所述内存模块发送的所述第一初始读数据进行解码纠错后得到的。对所述第一读时钟周期、所述第二读时钟周期和所述第三读时钟周期的具体描述可以参考上述实施例的描述,在此不再赘述。

本实施例提供的所述系统芯片存储控制方法,所述微处理器在第一读时钟周期发送所述第一地址信息和所述第一控制信息,在第三读时钟周期接收所述控制装置返回的所述第一目标读数据。所述控制装置会将所述内存模块返回的所述第一初始读数据寄存起来,在第三读时钟周期在经过处理后,将得到的所述第一目标读数据返回至所述微处理器。这样可以解决所述微处理器对所述内存模块进行对读操作时存在的时序混乱的问题,即,可以优化所述微处理器对所述内存模块进行读操作的时序。

请参见图15,本实施例涉及微处理器对内存模块进行非全字写操作时,系统芯片存储控制方法,具体步骤包括:

S700,在第一写时钟周期,向所述控制装置发送第二地址信息和所述第二控制信息,以使所述内存模块根据所述第二地址信息和读请求信息,获取第二初始读数据,其中,所述读请求信息由所述控制装置根据所述第二控制信息向所述内存模块发送;

S710,在第二写时钟周期,向所述控制装置发送非全字写数据,以使所述控制装置在第三写时钟周期根据所述非全字写数据和所述第二初始读数据,确定目标非全字写数据,并将所述目标非全字写数据和所述第二控制信息发送至所述内存模块。

在所述微处理器对所述内存模块进行非全字写操作时,在第一写时钟周期,所述微处理器通过所述控制装置向所述内存模块发送所述第二地址信息和所述第二控制信息,所述控制装置会将所述第二控制信息寄存起来,并根据所述第二控制信息确定所述读请求信息。所述控制装置会将所述第二地址信息和所述读请求信息发送至所述内存模块。在所述第二写时钟周期,所述微处理器向所述控制装置发送所述非全字写数据,并且所述控制装置接收到所述内存模块发送的所述第二初始读数据,以使得所述控制装置在所述第三写时钟周期根据所述非全字写数据和所述第二初始读数据,确定所述目标非全字写数据,并将所述目标非全字写数据和寄存起来的所述第二控制信息发送至所述内存模块。对所述根据所述第二出数据读数据和所述非全字写数据确定所述目标非全字写数据的具体描述,以及对所述第一写时钟周期、所述第二写时钟周期和所述第三写时钟周期的具体描述,可以参考上述实施例中的描述,在此不再赘述。在本实施例中,所述微处理器对所述内存模块的非全字写操作,能够避免在第二写时钟周期对所述第二初始读数据和所述非全字写数据处理时跨越至第三写时钟周期,能够解决所述微处理器对所述内存模块进行非全字写操作时存在的时序混乱的问题。

应该理解的是,虽然图3、5、7-9和11-16的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3、5、7-9和11-16中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本申请一个实施例提供一种系统芯片,其包括微处理器、控制装置和内存模块,所述控制装置用于执行如上实施例图3、5、7-9和11所示实施例提供的方法的步骤,所述内存模块用于执行如上实施例图12和13所示实施例提供的方法的步骤,所述微处理器用于执行如上实施例图14和16所示实施例提供的方法的步骤。

在一个实施例中,所述微处理器与所述控制装置通过高级高性能总线连接。所述高级高性能总线是AMBA总线系列中的其中一种,是一种高性能的pipe系统总线,所述高级高性能总线可以将所述微处理器与所述控制装置,以及各种拥有AHB接口的控制器连接起来,构成一个独立的、完整的系统芯片,可以实现所述微处理器与所述控制装置之间的通信连接。

请参见图16,本实施例提供的系统芯片执行所述微处理器对所述内存模块进行读操作时的方法步骤的过程如下:

S800,在第一读时钟周期,微处理器发送第一地址信息和第一控制信息;

S810,控制装置将第一地址信息和第一控制信息发送至内存模块;

S820,内存模块根据第一地址信息和第一控制信息获取第一初始读数据,并发送至控制装置;

S830,控制装置在第二读时钟周期接收第一初始读数据;

S840,控制装置在第三读时钟周期对第一初始读数据进行纠错编码,得到第一目标读数据,并发送至微处理器。

本实施例提供的所述系统芯片具体实施例过程及有益效果与上述实施例类似,在此不再赘述。

请参见图17,本申请一个实施例提供一种系统芯片存储控制装置10,其包括第一初始读数据获取模块100、第一目标读数据获取模块200和第一目标读数据发送模块300。

第一初始读数据获取模块100用于接收所述内存模块在第二读时钟周期发送的第一初始读数据,其中,所述第一初始读数据是所述内存模块根据第一地址信息和第一控制信息获取的数据,所述第一地址信息和所述第一控制信息由所述微处理器在第一读时钟周期向所述内存模块发送;

第一目标读数据获取模块200用于在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据;

第一目标读数据发送模块300用于将所述第一目标读数据返回至所述微处理器。

在一个实施例中,所述系统芯片存储控制装置10还包括预测地址信息获取模块110和预测地址信息发送模块120。

预测地址信息获取模块110用于在所述第二读时钟周期预测下一次读操作的地址信息,得到预测地址信息;

预测地址信息发送模块120用于将所述预测地址信息发送至所述内存模块。

在一个实施例中,所述系统芯片存储控制装置10还包括第二信息获取模块、第二初始读数据获取模块、非全字写数据获取模块、目标非全字写数据确定模块160和目标非全字写数据发送模块。

第二信息获取模块用于接收所述微处理器在第一写时钟周期发送的第二地址信息和第二控制信息;

第二初始读数据获取模块用于根据所述第二地址信息和所述第二控制信息,从所述内存模块中读取第二初始读数据;

非全字写数据获取模块用于获取所述微处理器在第二写时钟周期发送的非全字写数据;

目标非全字写数据确定模块用于在第三写时钟周期,根据所述第二初始读数据和所述非全字写数据,确定目标非全字写数据;

目标非全字写数据发送模块用于将所述非全字写数据和所述第二控制信息发送至所述内存模块。

在一个实施例中,第二初始读数据获取模块还用于在第一写时钟周期,根据所述第二控制信息确定读请求信息;将所述读请求信息和所述第二地址信息发送至所述内存模块;接收所述内存模块在第二写时钟周期发送的第二初始读数据,其中,所述第二初始读数据是所述内存模块根据所述第二地址信息和所述读请求信息获取的数据。

在一个实施例中,目标非全字写数据确定模块还用于对所述第二初始读数据进行解码纠错,得到解码数据;根据所述非全字写数据的地址标识,将所述非全字写数据覆盖至所述解码数据,得到初始非全字写数据;对所述初始非全字写数据进行编码,得到所述目标非全字写数据。

请参见图18,本申请一个实施例提供一种系统芯片存储控制装置10,其包括第一初始读数据获取模块400和第一目标读数据获取模块500。

第一初始读数据获取模块400用于接收微处理器在第一读时钟周期发送的第一地址信息和第一控制信息,并根据所述第一地址信息和所述第一控制信息获取第一初始读数据;

第一目标读数据获取模块500用于在第二读时钟周期,将所述第一初始读数据发送给控制装置,以使所述控制装置在第三读时钟周期,对所述第一初始读数据进行解码纠错,得到第一目标读数据,并将所述第一目标读数据返回给所述微处理器。

请参见图19,本申请一个实施例提供一种系统芯片存储控制装置10,器包括第一信息发送模块600和第一目标读数据接收模块700。

第一信息发送模块600用于在第一读时钟周期,发送第一地址信息和第一控制信息;

第一目标读数据接收模块700用于在第三读时钟周期,接收控制装置返回的第一目标读数据,其中,所述第一目标读数据是所述控制装置对第一初始读数据进行解码纠错得到的数据,所述第一初始读数据是内存模块在第二读时钟周期根据所述第一地址信息和所述第一控制信息获取并发送至所述控制装置的数据。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:RTC数字电路断电保护方法、RTC数字电路及其芯片

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!