[发明专利]存储单元读写冲突的解决方法及装置在审
申请号: | 201611032901.4 | 申请日: | 2016-11-16 |
公开(公告)号: | CN106598548A | 公开(公告)日: | 2017-04-26 |
发明(设计)人: | 夏杰;孙冠男;耿磊 | 申请(专利权)人: | 盛科网络(苏州)有限公司 |
主分类号: | G06F9/30 | 分类号: | G06F9/30;G06F9/38 |
代理公司: | 苏州威世朋知识产权代理事务所(普通合伙)32235 | 代理人: | 杨林洁 |
地址: | 215021 江苏省苏州市*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 存储 单元 读写 冲突 解决方法 装置 | ||
技术领域
本发明涉及网络通信领域,尤其涉及一种存储单元读写冲突的解决方法及装置。
背景技术
目前,所有的芯片中都需要用到存储单元,常规的存储单元在遇到读写同一个地址的时候会产生冲突,而对于不同厂家的存储单元,其处理冲突的方式是不同,芯片设计公司在设计时需要综合各种条件选择厂商,当读写冲突并需要有效读出较早的数据时,有些厂商的设计并不支持这种功能,其解决的办法通常为,以损失一部分存取带宽,避免读写冲突;这种实现方式,对芯片的设计产生过多限制,不利于芯片的发展。
发明内容
本发明的目的在于提供一种存储单元读写冲突的解决方法及装置。
为实现上述目的之一,本发明一实施方式的存储单元读写冲突的解决方法,所述方法包括:建立新的存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;
对所述数据寄存器设置初始的地址指针res;
若在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求,
则正常响应读出数据请求,并读取当前读出请求地址对应的数据;
以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;
若在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求,
则正常响应读出数据请求,并读取当前读出请求地址对应的数据;
将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到所述地址指针res指向的数据寄存地址上;
同时,将当前读出数据请求对应的读地址编码为新的地址指针res。
作为本发明一实施方式的进一步改进,所述数据寄存器的宽度设置为与所述原存储器宽度相同,深度设置为与所述原存储器的写端口个数相同。
作为本发明一实施方式的进一步改进,所述方法具体包括:
若相邻两个时钟周期,接收到对相同的数据寄存地址的读出数据请求和写入数据请求;
则在后一个时钟周期后,所述存储模块的指针地址恢复至前一个时钟周期之前的状态。
作为本发明一实施方式的进一步改进,“将当前写入请求的写地址映射到当前的地址指针res所在存储模块上”具体包括:
设置与所述原存储器具有同等深度的地址寄存器组,所述地址寄存器组用于在原存储器发生读写冲突时,存储所述原存储器的实际物理地址。
作为本发明一实施方式的进一步改进,所述方法还包括:
在当前时钟周期下,若接收对同一数据寄存地址的读出数据请求和写入数据请求;
则查找所述地址寄存器组,获取当前读出数据请求和写入数据请求匹配的物理地址;
依照获得的所述物理地址,读取其对应的旧数据;
同时,将新的数据写入到所述地址指针res,并对应更新所述地址寄存器组中的物理地址。
为实现上述目的之一,本发明一实施方式的存储单元读写冲突的解决装置,所述装置包括:存储模块,所述存储模块包括:原存储器,以及在原存储器的基础上增加的至少一组数据寄存器,所述数据存储器用于在原存储器发生读写冲突时,临时存储数据;
预置模块,用于对所述数据寄存器设置初始的地址指针res;
处理模块,用于在同一时钟周期下,对同一数据寄存地址,单独接收到读出数据请求或接收到写入数据请求时,
正常响应读出数据请求,并读取当前读出请求地址对应的数据;
以及正常响应写入数据请求,并将数据写入到当前写入请求地址中;
在同一时钟周期下,对同一数据寄存地址,同时接收到读出数据请求和写入数据请求时,
则正常响应读出数据请求,并读取当前读出请求地址对应的数据;
将当前写入请求的写地址映射到当前的地址指针res所在存储模块上,以将当前地址指针res通过编码为当前写入请求的写地址,并将数据写入到所述地址指针res指向的数据寄存地址上;
同时,将当前读出数据请求对应的读地址编码为新的地址指针res。
作为本发明一实施方式的进一步改进,所述数据寄存器的宽度设置为与所述原存储器宽度相同,深度设置为与所述原存储器的写端口个数相同。
作为本发明一实施方式的进一步改进,所述处理模块具体用于:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于盛科网络(苏州)有限公司,未经盛科网络(苏州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611032901.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电机控制算法精度提升方法
- 下一篇:一种基于区块链的智能合约系统及实现方法