实现raid5功能的存储方法、装置及主控芯片系统的制作方法

文档序号:9417122阅读:321来源:国知局
实现raid5功能的存储方法、装置及主控芯片系统的制作方法
【技术领域】
[0001]本发明涉及计算机存储技术领域,更具体地说,涉及一种实现RAID5功能的存储方法、装置及主控芯片系统。
【背景技术】
[0002]芯片系统(SOC,System on Chip)上的存储单元占整个芯片面积的70%,功耗占整个芯片的40%以上,且传统的RAID5设计时需要多组缓存来实现,例如:若每次批量送来的数据大小为4kbyte数据,通过异或运算产生校验位信息保存在4kbyte数据缓存内,等下一笔4Kbyte数据来时再读取出来进行异或运算,把运算结果保存在另一个缓存内,这样如果来N笔数据,就要N个4Kbyte数据缓存,大大占据了存储单元的使用量,增加了芯片功耗。
[0003]因此,如何减少存储单元的使用量,降低芯片功耗是现在需要解决的问题。

【发明内容】

[0004]本发明的目的在于提供一种实现RAID5功能的存储方法、装置及主控芯片系统,实现减少存储单元的使用量,降低芯片功耗。
[0005]为实现上述目的,本发明实施例提供了如下技术方案:
[0006]一种实现RAID5功能的存储方法,包括:
[0007]获取当前目标数据;
[0008]将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;
[0009]将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据。
[0010]优选的,当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
[0011]一种实现RAID5功能的存储装置,包括:
[0012]获取模块,用于获取当前目标数据;
[0013]异或运算模块,用于将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储单元中的上一目标数据的异或结果数据;
[0014]延迟模块,用于将所述异或结果数据延迟一周期,并触发所述数据缓存存储模块;
[0015]所述数据缓存存储模块,用于存储所述数据缓存存储单元,且覆盖上一目标数据的异或结果数据。
[0016]优选的,还包括:
[0017]发送模块,用于当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
[0018]一种主控芯片系统,包括:
[0019]NFC控制器,其中所述NFC控制器包括上述任一一项所述的存储装置;
[0020]片内存储器,用于存储最终异或结果数据。
[0021]优选的,所述片内存储器还用于:
[0022]当所述存储装置停止运行时,释放所述片内存储器所占用的内存空间。
[0023]优选的,还包括用于与主机进行通信的SATAIII接口。
[0024]优选的,还包括ARM Cortex A7处理器。
[0025]通过以上方案可知,本发明实施例提供的一种实现RAID5功能的存储方法、装置及主控芯片系统,包括获取当前目标数据;将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据,这种将每个目标数据的异或结果数据都存入同一个数据缓存存储模块,并且当前的异或结果数据覆盖上一目标数据的异或结果数据的方法,能减少存储单元的使用量,从而降低芯片功耗。
【附图说明】
[0026]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1为本发明实施例公开的一种实现RAID5功能的存储方法流程图;
[0028]图2为本发明实施例公开的一种数据缓存示意图;
[0029]图3为本发明实施例公开的一种实现RAID5功能的存储装置示意图。
【具体实施方式】
[0030]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]本发明实施例公开了一种实现RAID5功能的存储方法、装置及主控芯片系统,实现减少存储单元的使用量,降低芯片功耗。
[0032]参见图1,本发明实施例提供的一种实现RAID5功能的存储方法,包括:
[0033]S101、获取当前目标数据;
[0034]其中,若所述当前目标数据是第一笔目标数据时,由于之前没有上一目标数据的异或结果数据,因此,第一笔目标数据是与O进行异或的。
[0035]S102、将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;
[0036]其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;
[0037]S103、将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据。
[0038]具体的,本实施例中的S101-S103只是写出了对一笔目标数据求取异或结果数据的方法,若是有N笔数据,除了第一笔数据是与O异或之外,其余的目标数据都执行S101-S103。
[0039]具体的,参见图2,本实施例提供的一种数据缓存示意图,可以看出,当第一笔4kbyte数据来时,选择信号把O选通,4kbyte数据直接与O异或,将第一笔4kbyte数据的运算结果写入数据缓存存储模块;当第二笔4kbyte数据来时,读取保存在数据缓存存储模块内的第一笔4kbyte数据的运算结果,并与第二笔4kbyte数据直接进行异或运算,把运算结果延迟I个周期之后写入原有的数据缓存存储模块,并覆盖第一笔4kbyte数据的运算结果,这样一个数据缓存存储模块就可以完成RADI5校验位信息保存。
[0040]具体的,本实施例通过减少临时数据缓存器来达到高性能的RAID5功能实现,通过减少片上缓存容量来节省芯片面积,降低芯片功耗。另外在易用性方面,通过驱动设置可以动态配置RAID5功能从而释放片上SRAM空间给系统使用,提高整个系统性能。
[0041]本发明实施例提供的一种实现RAID5功能的存储方法,包括获取当前目标数据;将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据,这种将每个目标数据的异或结果数据都存入同一个数据缓存存储模块,并且当前的异或
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1