数据存储方法、装置及电子设备与流程
- 国知局
- 2024-08-22 14:57:08
本发明涉及存储器,尤其是涉及一种数据存储方法、装置及电子设备。
背景技术:
1、一般soc芯片工作时会产生大量的数据在片上不同模块间交互,为匹配交互时机,通常设置一个缓存区域暂时存放这些待搬运的数据,缓存阵列实质是sram(staticrandom-access memory,静态随机存取存储器)。为提高数据缓存效率,缓存区会挂接在总线上,与其他模块交互。
2、进一步的,目前较为简单的缓存设计方式采取直接将总线接口和sram相连,通过总线直接控制sram读写,如基于apb(advanced high-performance bus,高级高性能总线)总线协议的sram,但这种方式的数据传输效率不高,即上述方法在数据传输时不支持如axi(advanced extensible interface,网络高级可扩展接口)总线的多transfer的burst传输,且协议中的某些信号被直接忽略以匹配sram的接口,这样虽然简化了控制过程,但传输信息受到限制。进一步的,适应总线通信的缓存模块进一步可分为总线接口转换模块、读写控制模块以及存储阵列。总线信号首先将被转换为普通读写控制信号,读写控制模块将控制命令及地址译码识别出应该操作的存储空间,而后发起读写,并提供数据通路。
3、然而,现有的sram的读写方式未考虑sram长期读写导致的过快老化问题,导致数据错误。
技术实现思路
1、本发明的目的在于提供一种数据存储方法、装置及电子设备,以缓解了现有的sram的读写控制器未考虑sram长期读写易老化问题,导致数据错误,提升数据的准确程度。
2、第一方面,本发明实施例提供了一种数据存储方法,应用于sram的读写控制器;上述读写控制器用于控制上述sram的读写操作;上述sram预先划分为多个子存储器;上述方法包括:如果接收到数据总线对上述sram的操作指令,判断上述操作指令的类型;当上述操作指令的类型为写命令时,判断上述操作指令中的待写入数据的数据位宽是否小于上述数据总线的总线位宽;当上述数据位宽等于上述总线位宽时,将上述待写入数据的第一写入部分,转化为带有第一预设校验位的第一数据;根据上述待写入数据的第一目标地址,基于预设位数的地址低位寻址方式,从上述多个子存储器中选择与上述第一目标地址对应的第一目标子存储器;将上述第一数据按照上述第一数据的第一待写入地址写入上述第一目标子存储器;当上述数据位宽小于上述总线位宽,读取上述待写入数据的第二目标地址,根据上述第二目标地址,从上述多个子存储器中选择与上述第二目标地址对应的第二目标子存储器;将上述待写入数据的第二写入部分与上述第二目标子存储器存储的第二待写入地址的原始数据组合成更新数据;将上述更新数据,转化为带有第二预设校验位的第二数据,将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器。
3、在本发明较佳的实施方式中,当上述操作指令的类型为读命令,根据上述操作指令中的读取数据,确定第三目标地址,从上述多个子存储器中选择与上述第三目标地址对应的第三目标子存储器,并读取上述第三目标子存储器中保存的上述第三目标地址对应的数据;以及,校验上述第三目标地址对应的数据中的目标校验数据。
4、在本发明较佳的实施方式中,将上述待写入数据的第二写入部分与上述第二目标子存储器存储的第二待写入地址的原始数据组合成更新数据的步骤,包括:读取上述第二目标子存储器存储的上述第二待写入地址的原始数据;将上述第二写入部分与上述原始数据合并,得到上述更新数据;将上述更新数据,转化为带有第二预设校验位的第二数据,将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器步骤,包括:将上述更新数按位或计算,生成上述带有第二预设校验位的第二数据,将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器。
5、在本发明较佳的实施方式中,将上述待写入数据的第二写入部分与上述原始数据合并,得到上述更新数据的步骤之后,上述方法包括:判断上述待写入数据的第三写入部分的写入地址是否为上述第二待写入地址;如果是,根据上述第三写入部分对应的掩码信号更新上述更新数据,得到再次更新数据;将上述再次更新数据,转化为带有第三预设校验位的第三数据,将上述第三数据按照上述第二待写入地址写入上述第二目标子存储器。
6、在本发明较佳的实施方式中,判断上述操作指令中的待写入数据的数据位宽是否小于上述数据总线的总线位宽的步骤之前,上述方法包括:将上述待写入数据的数据位宽与上述总线位宽对齐,得到对齐结果;判断上述操作指令中的待写入数据的数据位宽是否小于上述数据总线的总线位宽的步骤,包括:根据上述对齐结果,判断上述操作指令中的待写入数据的数据位宽是否小于上述数据总线的总线位宽。
7、在本发明较佳的实施方式中,上述总线位宽为16字节,上述总线位宽对应的地址总线位宽为32比特,上述预设位数为上述地址总线位宽的4至5比特。
8、在本发明较佳的实施方式中,将上述待写入数据的第二写入部分与上述第二目标子存储器存储的第二待写入地址的原始数据组合成更新数据的步骤之前,上述方法包括:通过上述操作指令的写入掩码信号wstrb信号,确定上述第二待写入地址的原始数据是否有效。
9、在本发明较佳的实施方式中,每个子存储器分别预设有对应的封装电路;根据上述待写入数据的第一目标地址,基于预设位数地址的低位寻址方式,从上述多个子存储器中选择与上述第一目标地址对应的第一目标子存储器的步骤之后,上述方法包括:生成上述第一目标子存储器对应的第一目标封装电路的第一片选信号;将上述第一数据按照上述第一数据的第一待写入地址写入上述第一目标子存储器的步骤,包括:根据上述第一片选信号,将上述第一数据按照上述第一数据的第一待写入地址写入上述第一目标子存储器;根据上述第二目标地址,从上述多个子存储器中选择与上述第二目标地址对应的第二目标子存储器的步骤之后,上述方法包括:生成上述第二目标子存储器对应的第二目标封装电路的第二片选信号;将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器的步骤,包括:根据上述第二片选信号,将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器。
10、第二方面,本发明实施例提供了一种数据存储装置,应用于sram的读写控制器;上述读写控制器用于控制上述sram的读写操作;上述sram预先划分为多个子存储器;上述装置包括:指令获取模块,用于如果接收到数据总线对上述sram的操作指令,判断上述操作指令的类型;写模块,用于当上述操作指令的类型为写命令时,判断上述操作指令中的待写入数据的数据位宽是否小于上述数据总线的总线位宽;当上述数据位宽等于上述总线位宽时,将上述待写入数据的第一写入部分,转化为带有第一预设校验位的第一数据;根据上述待写入数据的第一目标地址,基于预设位数的地址低位寻址方式,从上述多个子存储器中选择与上述第一目标地址对应的第一目标子存储器;将上述第一数据按照上述第一数据的第一待写入地址写入上述第一目标子存储器;当上述数据位宽小于上述总线位宽,读取上述待写入数据的第二目标地址,根据上述第二目标地址,从上述多个子存储器中选择与上述第二目标地址对应的第二目标子存储器;将上述待写入数据的第二写入部分与上述第二目标子存储器存储的第二待写入地址的原始数据组合成更新数据;将上述更新数据,转化为带有第二预设校验位的第二数据,将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器。
11、第三方面,本发明实施例还提供了一种电子设备,上述电子设备包括处理器和存储器,上述存储器存储有能够被上述处理器执行的计算机可执行指令,上述处理器执行上述计算机可执行指令以实现上述数据存储方法。
12、本发明实施例具有下述有益技术效果:
13、本发明实施例提供了一种数据存储方法、装置及电子设备,应用于sram的读写控制器;上述读写控制器用于控制上述sram的读写操作;上述sram预先划分为多个子存储器;上述方法包括:如果接收到数据总线对上述sram的操作指令,判断上述操作指令的类型;当上述操作指令的类型为写命令时,判断上述操作指令中的待写入数据的数据位宽是否小于上述数据总线的总线位宽;当上述数据位宽等于上述总线位宽时,将上述待写入数据的第一写入部分,转化为带有第一预设校验位的第一数据;根据上述待写入数据的第一目标地址,基于预设位数地址的低位寻址方式,从上述多个子存储器中选择与上述第一目标地址对应的第一目标子存储器;将上述第一数据按照上述第一数据的第一待写入地址写入上述第一目标子存储器;当上述数据位宽小于上述总线位宽,读取上述待写入数据的第二目标地址,根据上述第二目标地址,从上述多个子存储器中选择与上述第二目标地址对应的第二目标子存储器;将上述待写入数据的第二写入部分与上述第二目标子存储器存储的第二待写入地址的原始数据组合成更新数据;将上述更新数据,转化为带有第二预设校验位的第二数据,将上述第二数据按照上述第二待写入地址写入上述第二目标子存储器。该方法通过将sram划分成多个子存储器,每次进行写操作时,只对其中的一个子存储器进行写操作,避免了sram整体的长期读写造成的过快老化的问题,从而避免了数据的读写错误。
本文地址:https://www.jishuxx.com/zhuanli/20240822/280543.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。