存储单元读写冲突的解决方法及装置制造方法及图纸

技术编号:15228406 阅读:91 留言:0更新日期:2017-04-27 13:04
本发明专利技术提供一种存储单元读写冲突的解决方法及装置,所述方法包括:建立新的存储模块,其包括原存储器,以及新增加的至少一组数据寄存器;对数据寄存器设置初始的地址指针res;若在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到地址指针res指向的数据寄存地址上;同时,将当前读出数据请求对应的读地址编码为新的地址指针res。本发明专利技术可以保证在读写冲突的时,读请求可以有效读走旧的数据,同时,正常响应写请求。

【技术实现步骤摘要】

本专利技术涉及网络通信领域,尤其涉及一种存储单元读写冲突的解决方法及装置。
技术介绍
目前,所有的芯片中都需要用到存储单元,常规的存储单元在遇到读写同一个地址的时候会产生冲突,而对于不同厂家的存储单元,其处理冲突的方式是不同,芯片设计公司在设计时需要综合各种条件选择厂商,当读写冲突并需要有效读出较早的数据时,有些厂商的设计并不支持这种功能,其解决的办法通常为,以损失一部分存取带宽,避免读写冲突;这种实现方式,对芯片的设计产生过多限制,不利于芯片的发展。
技术实现思路
本专利技术的目的在于提供一种存储单元读写冲突的解决方法及装置。为实现上述目的之一,本专利技术一实施方式的存储单元读写冲突的解决方法,所述方法包括:建立新的存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;对所述数据寄存器设置初始的地址指针res;若在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;若在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到所述地址指针res指向的数据寄存地址上;同时,将当前读出数据请求对应的读地址编码为新的地址指针res。作为本专利技术一实施方式的进一步改进,所述数据寄存器的宽度设置为与所述原存储器宽度相同,深度设置为与所述原存储器的写端口个数相同。作为本专利技术一实施方式的进一步改进,所述方法具体包括:若相邻两个时钟周期,接收到对相同的数据寄存地址的读出数据请求和写入数据请求;则在后一个时钟周期后,所述存储模块的指针地址恢复至前一个时钟周期之前的状态。作为本专利技术一实施方式的进一步改进,“将当前写入请求的写地址映射到当前的地址指针res所在存储模块上”具体包括:设置与所述原存储器具有同等深度的地址寄存器组,所述地址寄存器组用于在原存储器发生读写冲突时,存储所述原存储器的实际物理地址。作为本专利技术一实施方式的进一步改进,所述方法还包括:在当前时钟周期下,若接收对同一数据寄存地址的读出数据请求和写入数据请求;则查找所述地址寄存器组,获取当前读出数据请求和写入数据请求匹配的物理地址;依照获得的所述物理地址,读取其对应的旧数据;同时,将新的数据写入到所述地址指针res,并对应更新所述地址寄存器组中的物理地址。为实现上述目的之一,本专利技术一实施方式的存储单元读写冲突的解决装置,所述装置包括:存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;预置模块,用于对所述数据寄存器设置初始的地址指针res;处理模块,用于在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求时,正常响应读出数据请求,并读取当前读出请求地址对应的数据;以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求时,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到所述地址指针res指向的数据寄存地址上;同时,将当前读出数据请求对应的读地址编码为新的地址指针res。作为本专利技术一实施方式的进一步改进,所述数据寄存器的宽度设置为与所述原存储器宽度相同,深度设置为与所述原存储器的写端口个数相同。作为本专利技术一实施方式的进一步改进,所述处理模块具体用于:相邻两个时钟周期,接收到对相同的数据寄存地址的读出数据请求和写入数据请求时;则在后一个时钟周期后,所述存储模块的指针地址恢复至前一个时钟周期之前的状态。作为本专利技术一实施方式的进一步改进,所述存储模块还包括:与所述原存储器具有同等深度的地址寄存器组,所述地址寄存器组用于在原存储器发生读写冲突时,存储所述原存储器的实际物理地址。作为本专利技术一实施方式的进一步改进,所述处理模块具体用于:在当前时钟周期下,若接收对同一数据寄存地址的读出数据请求和写入数据请求;则查找所述地址寄存器组,获取当前读出数据请求和写入数据请求匹配的物理地址;依照获得的所述物理地址,读取其对应的旧数据;同时,将新的数据写入到所述地址指针res,并对应更新所述地址寄存器组中的物理地址。与现有技术相比,本专利技术的有益效果是:本专利技术的存储单元读写冲突的解决方法及装置,通过设置一个新的数据寄存器用于临时存储即将写入的新数据,以保证在读写冲突的时,读请求可以有效读走旧的数据,同时,正常响应写请求;另外本专利技术采用一种新的地址映射的方式将临时存储写数据的地址指针不停的变化,以满足下次读写同一地址时可以正确的找到数据所在的空间,不依赖与任何厂商,且不影响存取带宽,有效的解决了存储器读写冲突时需要读出老数据的应用场景,使芯片设计公司在选择厂商时候少了一种限制条件。附图说明图1是本专利技术一实施方式中存储单元读写冲突的解决方法的流程图;图2是本专利技术一实施方式中存储单元读写冲突的解决装置的模块图图3是本专利技术一具体示例的结构示意图。具体实施方式以下将结合附图所示的具体实施方式对本专利技术进行详细描述。但这些实施方式并不限制本专利技术,本领域的普通技术人员根据这些实施方式所做出的结构、方法、或功能上的变换均包含在本专利技术的保护范围内。如图1所示,在本专利技术的一实施方式中,存储单元读写冲突的解决方法,包括:S1、建立新的存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;所述原存储器为memory,其通常为n读m写存储器,例如:1读1写存储器、2读1写存储器等;所述数据存储器可以由D触发器构成;在此不做详细赘述。本专利技术一优选实施方式中,所述数据寄存器的宽度设置为与所述原存储器宽度相同,深度设置为与所述原存储器的写端口个数相同。本专利技术另一优选实施方式中,对于1读1写存储器,设置的所述数据寄存器的深度为1即可以满足需求,通过以下示例的介绍,将会更进一步的理解本专利技术。进一步的,所述方法还包括:S2、对所述数据寄存器设置初始的地址指针res。本专利技术具体实施方式中,为所述数据寄存器设置一初始的地址指针res;该所述地址指针res的指向,会随着原存储器的读写冲突而发生改变,并在某一恰当时间,重新返回并指向初始的地址,以下将会详细描述。进一步的,所述方法还包括:S31、若在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求;则正常响应读出数据请求,并读取当前读出请求地址对应的数据;以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;S32、若在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求,则正本文档来自技高网...

【技术保护点】
一种存储单元读写冲突的解决方法,其特征在于,所述方法包括:建立新的存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;对所述数据寄存器设置初始的地址指针res;若在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;若在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到所述地址指针res指向的数据寄存地址上;同时,将当前读出数据请求对应的读地址编码为新的地址指针res。

【技术特征摘要】
1.一种存储单元读写冲突的解决方法,其特征在于,所述方法包括:建立新的存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;对所述数据寄存器设置初始的地址指针res;若在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;若在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求,则正常响应读出数据请求,并读取当前读出请求地址对应的数据;将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到所述地址指针res指向的数据寄存地址上;同时,将当前读出数据请求对应的读地址编码为新的地址指针res。2.根据权利要求1所述的存储单元读写冲突的解决方法,其特征在于,所述数据寄存器的宽度设置为与所述原存储器宽度相同,深度设置为与所述原存储器的写端口个数相同。3.根据权利要求1所述的存储单元读写冲突的解决方法,其特征在于,所述方法具体包括:若相邻两个时钟周期,接收到对相同的数据寄存地址的读出数据请求和写入数据请求;则在后一个时钟周期后,所述存储模块的指针地址恢复至前一个时钟周期之前的状态。4.根据权利要求1所述的存储单元读写冲突的解决方法,其特征在于,“将当前写入请求的写地址映射到当前的地址指针res所在存储模块上”具体包括:设置与所述原存储器具有同等深度的地址寄存器组,所述地址寄存器组用于在原存储器发生读写冲突时,存储所述原存储器的实际物理地址。5.根据权利要求4所述的存储单元读写冲突的解决方法,其特征在于,所述方法还包括:在当前时钟周期下,若接收对同一数据寄存地址的读出数据请求和写入数据请求;则查找所述地址寄存器组,获取当前读出数据请求和写入数据请求匹配的物理地址;依照获得的所述物理地址,读取其对应的旧数据;同时,将新的数据写入到所述地址指针res,并对应更新所述地址寄存器组...

【专利技术属性】
技术研发人员:夏杰孙冠男耿磊
申请(专利权)人:盛科网络苏州有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1