一种提高RAM存取效率的方法及装置与流程

文档序号:12362522阅读:196来源:国知局
一种提高RAM存取效率的方法及装置与流程

本发明涉及移动终端领域,尤其涉及一种提高随机存取存储器(random access memory,RAM)存取效率的方法及装置。



背景技术:

随着网络容量与业务的不断增长,报文处理过程中报文缓存在容量和带宽上的要求越来越高。现有的分片报文存取系统使用多片缓存芯片,如RAM,来存取报文。由于每个报文的处理都是经过写入-处理-读出这样的过程,即每个报文都是写一次、读一次,为了平衡各片缓存芯片的带宽,会将同一报文分片写入不同的缓存芯片。

但是,缓存芯片每次存取报文有长度要求,例如,双倍速率同步动态随机存储器(Double Data Rate Synchronous Dynamic Random Access Memory,DDR SDRAM)每次发送的读/写命令要求为64字节的整数倍。例如,一个65字节的报文实际需要128字节的读/写命令来发送。具体来说,该65字节的报文按64字节一片分为两片,其中一片报文为64个字节,另一片报文有效字节仅为1字节。若分片报文存取系统有两片DDR SDRAM缓存芯片,那么该65字节报文按分成的两片报文分别存入上述两片DDR SDRAM。这样,其中一片DDR SDRAM仅存入1字节分片报文。

可以看出,现有的分片报文存取系统在进行读写操作时,由于需要将报文切分为固定长度的分片报文,那么当其中的一片分片报文包含的有效字节比较少时,会造成某些缓存芯片固定存入有效字节比较少的分片报文,这样浪费了较大的RAM缓存空间,降低了RAM的存取效率。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种提高RAM存取效率的方法及装置,提高分片报文存取系统中RAM的存取效率。

本发明的技术方案是这样实现的:

第一方面,本发明实施例提供了一种提高随机存取存储器RAM存取效率的方法,包括:根据预先设置的第一随机序列以及所述第一随机序列的元素与第二随机序列的对应关系获得所述第二随机序列;其中,所述第一随机序列的元素个数与所述第二随机序列的个数一致,所述第一随机序列的每个元素互不相同且分别对应着不同的所述第二随机序列,所述第一随机序列的元素个数为至少两个;根据所述获得的第二随机序列以及所述第二随机序列的元素与RAM的对应关系获得所述RAM;其中,所述第二随机序列的元素个数与所述RAM的个数一致,所述第二随机序列的每个元素互不相同且分别对应着不同的所述RAM;在所述RAM中对报文分片进行写/读操作。

在上述实施例中,设置一个保存所述第一随机序列的第一地址寄存器,相应地,所述根据预先设置的第一随机序列以及所述第一随机序列的元素与第二随机序列的对应关系获得所述第二随机序列,具体为:根据所述第一地址寄存器的当前地址获得所述第一随机序列的元素;根据所述第一随机序列的元素以及所述第一随机序列的元素与第二随机序列的对应关系获得所述第二随机序列;若所述第一地址寄存器的当前地址不为最大值,则所述第一地址寄存器的当前地址加一;若所述第一地址寄存器的当前地址为最大值,则所述第一地址寄存器置零。

在上述实施例中,设置与所述第二随机序列的个数对应的且保存所述第二随机序列的第二地址寄存器,相应地,所述根据所述获得的第二随机序列以及所述第二随机序列的元素与RAM的对应关系获得所述RAM,具体为:根据所述获得的第二随机序列的第二地址寄存器的当前地址获得所述第二随机序列的元素;根据所述第二随机序列的元素以及所述第二随机序列的元素与RAM的 对应关系获得所述RAM;若所述第二地址寄存器的当前地址不为最大值,则所述第二地址寄存器的当前地址加一;若所述第二地址寄存器的当前地址为最大值,则所述第二地址寄存器置零。

在上述实施例中,所述第一随机序列和至少两个第二随机序列通过预先设置的伪随机序列发生器产生。

第二方面,本发明实施例提供了一种提高随机存取存储器RAM存取效率的装置,所述装置包括:第一获得单元、第二获得单元及读写单元,其中:所述第一获得单元,用于根据预先设置的第一随机序列以及所述第一随机序列的元素与第二随机序列的对应关系获得所述第二随机序列;其中,所述第一随机序列的元素个数与所述第二随机序列的个数一致,所述第一随机序列的每个元素互不相同且分别对应着不同的所述第二随机序列,所述第一随机序列的元素个数为至少两个;所述第二获得单元,用于根据所述第一获得单元获得的第二随机序列以及所述第二随机序列的元素与RAM的对应关系获得所述RAM;其中,所述第二随机序列的元素个数与所述RAM的个数一致,所述第二随机序列的每个元素互不相同且分别对应着不同的所述RAM;所述读写单元,用于在所述第二获得单元获得的所述RAM中对报文分片进行写/读操作。

在上述实施例中,设置一个保存所述第一随机序列的第一地址寄存器,相应地,所述第一获得单元,具体用于:根据所述第一地址寄存器的当前地址获得所述第一随机序列的元素;根据所述第一随机序列的元素以及所述第一随机序列的元素与第二随机序列的对应关系获得所述第二随机序列;若所述第一地址寄存器的当前地址不为最大值,则所述第一地址寄存器的当前地址加一;若所述第一地址寄存器的当前地址为最大值,则所述第一地址寄存器置零。

在上述实施例中,设置与所述第二随机序列的个数对应的且保存所述第二随机序列的第二地址寄存器,相应地,所述第二获得单元,具体用于:根据所述第一获得单元获得的第二随机序列的第二地址寄存器的当前地址获得所述第二随机序列的元素;根据所述第二随机序列的元素以及所述第二随机序列的元素与RAM的对应关系获得所述RAM;若所述第二地址寄存器的当前地址不为 最大值,则所述第二地址寄存器的当前地址加一;若所述第二地址寄存器的当前地址为最大值,则所述第二地址寄存器置零。

在上述实施例中,还包括伪随机序列发生器,用于产生第一随机序列和至少两个第二随机序列。

本发明实施例提供了一种提高RAM存取效率的方法及装置,根据预先设置的第一随机序列以及第一随机序列的元素与第二随机序列的对应关系获得第二随机序列;根据获得的第二随机序列以及第二随机序列的元素与RAM的对应关系获得RAM;在获得的RAM中对报文分片进行写/读操作,这样,通过在一段周期内随机选择RAM,避免了将报文尾部不能达到分片长度的分片报文反复写入某一个或多个RAM中,实现了将报文尾部的分片报文均匀写入各个RAM中,最大限度的利用各个RAM的带宽,提高了分片报文存取系统中RAM的存取效率。

附图说明

图1为本发明实施例提供的一种提高RAM存取效率的方法的流程示意图;

图2为本发明实施例提供的提高RAM存取效率的方法的详细实施例的流程示意图;

图3为本发明实施例提供的一种提高RAM存取效率的装置的结构示意图;

图4为本发明实施例提供的另一种提高RAM存取效率的装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

图1为本发明实施例提供的一种提高RAM存取效率的方法的流程示意图,该方法包括:

S101:根据预先设置的第一随机序列以及第一随机序列的元素与第二随机 序列的对应关系获得第二随机序列;其中,第一随机序列的元素个数与第二随机序列的个数一致,第一随机序列的每个元素互不相同且分别对应着不同的第二随机序列,第一随机序列的元素个数为至少两个;

需要说明的是,由于第一随机序列的元素个数与第二随机序列的个数相同,且第一随机序列的每个元素互不相同并且分别对应着不同的第二随机序列,那么当第一随机序列的每个元素循环一次,每个第二随机序列都会被选取一次。这样,保证了在一个周期内选取每个第二随机序列的概率都是一样的。

举例来说,第一随机序列有4个元素,分别为0、1、2、3,那么,第一随机序列可以为0123,也可以为1203,其中,第一随机序列中的4个不同元素分别对应着4个不同的第二随机序列。

示例性地,还包括:设置一个保存第一随机序列的第一地址寄存器,相应地,根据预先设置的第一随机序列以及第一随机序列的元素与第二随机序列的对应关系获得第二随机序列具体为:根据第一地址寄存器的当前地址获得第一随机序列的元素;根据第一随机序列的元素以及第一随机序列的元素与第二随机序列的对应关系获得第二随机序列;若第一地址寄存器的当前地址不为最大值,则第一地址寄存器的当前地址加一;若第一地址寄存器的当前地址为最大值,则第一地址寄存器置零。

S102:根据获得的第二随机序列以及第二随机序列的元素与RAM的对应关系获得RAM;其中,第二随机序列的元素个数与RAM的个数一致,第二随机序列的每个元素互不相同且分别对应着不同的RAM。

需要说明的是,由于第二随机序列的元素个数与RAM的个数相同,且第二随机序列的每个元素互不相同且分别对应着不同的RAM,那么,当第二随机序列的每个元素循环一次,每个RAM都会被选取一次。这样,提高了RAM选取的随机性,同时保证了在一个周期内选取每个RAM的概率都是一样的。

需要说明的是,满足上述要求的第二随机序列有很多种,可以根据实际需要,从中选择至少两个用于选择实际RAM的第二随机序列。举例来说,当RAM 的数量为6片,根据可以看出,满足要求的第二随机序列有720种,在实际应用中,可以根据分片报文存取系统的随机性要求和分片报文存取系统内资源的平衡,从满足要求的多种第二随机序列中选择至少两个作为选择RAM的第二随机序列。

需要补充的是,第二随机序列的个数不宜过大。如果第二随机序列的个数过多会浪费RAM的存储资源。

示例性地,还包括:第一随机序列和至少两个第二随机序列可以通过预设的伪随机序列发生器产生得到。需要说明的是,第一随机序列和至少两个第二随机序列可以通过多种方式产生,本发明实施例对此不做具体限制。

示例性地,还包括:设置与第二随机序列的个数对应的且保存第二随机序列的第二地址寄存器,相应地,根据获得的第二随机序列以及第二随机序列的元素与RAM的对应关系获得RAM具体为:根据获得的第二随机序列的第二地址寄存器的当前地址获得第二随机序列的元素;根据第二随机序列的元素以及第二随机序列的元素与RAM的对应关系获得RAM;若第二地址寄存器的当前地址不为最大值,则第二地址寄存器的当前地址加一;若第二地址寄存器的当前地址为最大值,则第二地址寄存器置零。

S103:在获得的RAM中对报文分片进行写/读操作。

综合步骤S101-S103,可以看出,分片报文存取系统在对报文进行缓存时,首先通过第一随机序列获得第二随机序列,再根据第二随机序列获得实际的RAM缓存芯片。这样一来,避免了不能填满整个分片的报文尾部分片反复写入固定的某个RAM缓存芯片,提高了选择缓存芯片的随机性。

图2为本发明实施例提供的提高RAM存取效率的方法的详细实施例的流程示意图,方法包括:

S201:伪随机序列发生器配置第一随机序列为2130,四个第二随机序列分别为012345、450123、234510、231450;

其中,第一随机序列的元素0、1、2、3分别与第二随机序列012345、450123、 234510、231450相对应。

其中,保存第一随机序列2130的第一地址寄存器为L1,保存第二随机序列012345、450123、234510、231450的第二地址寄存器分别为L20、L21、L22、L23,地址寄存器的初始值均为0。

需要说明的是,该分片报文存取系统外挂六片RAM缓存芯片,因此第二随机序列的元素个数为6,且第二随机序列内的每个元素对应一片RAM缓存芯片;由于第二随机序列的个数设置为4,因此第一随机序列的元素个数为4。

需要补充的是,该步骤仅在分片报文存取系统上电时进行,在分片报文存取系统上电后,不再重新配置第一随机序列及第二随机序列。

S202:在接收到分片报文后,根据L1地址寄存器的当前地址0,获得第一随机序列的元素2;此时,L1地址寄存器的当前地址加一即为1;

S203:根据第一随机序列的元素2获得对应的第二随机序列234510;

S204:根据保存第二随机序列234510的L22地址寄存器的当前地址0,获得第二随机序列的元素2;此时,L22地址寄存器的当前地址加一即为1;

S205:根据第二随机序列的元素2获得对应的RAM;

S206:在获得的RAM中对报文分片进行写/读操作。

综合步骤S201-S206,可以看出,在对分片报文进行处理时,不同于现有技术将分片报文顺序写入六片RAM,而是在一个周期内随机从六片RAM中选择一片进行写/读操作。

本发明实施例提供了一种提高RAM存取效率的方法及装置,根据预先设置的第一随机序列以及第一随机序列的元素与第二随机序列的对应关系获得第二随机序列;根据获得的第二随机序列以及第二随机序列的元素与RAM的对应关系获得RAM;在RAM中对报文分片进行写/读操作,这样,通过在一段周期内随机选择RAM,避免了将报文尾部不能达到分片长度的分片报文反复写入某一个或多个RAM中,实现了将报文尾部的分片报文均匀写入各个RAM中,最大限度的利用各个RAM的带宽,提高了分片报文存取系统中RAM的存取效率。

图3为本发明实施例提供的一种提高RAM存取效率的装置30的结构示意图,装置包括:第一获得单元301、第二获得单元302及读写单元303,其中:

第一获得单元301,用于根据预先设置的第一随机序列以及第一随机序列的元素与第二随机序列的对应关系获得第二随机序列;其中,第一随机序列的元素个数与第二随机序列的个数一致,第一随机序列的每个元素互不相同且分别对应着不同的第二随机序列,第一随机序列的元素个数为至少两个;

第二获得单元302,用于根据第一获得单元301获得的第二随机序列以及第二随机序列的元素与RAM的对应关系获得RAM;其中,第二随机序列的元素个数与RAM的个数一致,第二随机序列的每个元素互不相同且分别对应着不同的RAM;

读写单元303,用于在第二获得单元302获得的RAM中对报文分片进行写/读操作。

示例性地,设置一个保存第一随机序列的第一地址寄存器,相应地,第一获得单元301,具体用于:根据第一地址寄存器的当前地址获得第一随机序列的元素;根据第一随机序列的元素以及第一随机序列的元素与第二随机序列的对应关系获得第二随机序列;若第一地址寄存器的当前地址不为最大值,则第一地址寄存器的当前地址加一;若第一地址寄存器的当前地址为最大值,则第一地址寄存器置零。

示例性地,设置与第二随机序列的个数对应的且保存第二随机序列的第二地址寄存器,相应地,第二获得单元302,具体用于:根据第一获得单元301获得的第二随机序列的第二地址寄存器的当前地址获得第二随机序列的元素;根据第二随机序列的元素以及第二随机序列的元素与RAM的对应关系获得RAM;若第二地址寄存器的当前地址不为最大值,则第二地址寄存器的当前地址加一;若第二地址寄存器的当前地址为最大值,则第二地址寄存器置零。。

示例性地,图4为本发明实施例提供的另一种提高RAM存取效率的装置30的结构示意图,该装置还包括伪随机序列发生器304,用于产生第一随机序列和至少两个第二随机序列。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1