CN105138288A - 实现raid5功能的存储方法、装置及主控芯片系统 - Google Patents
实现raid5功能的存储方法、装置及主控芯片系统 Download PDFInfo
- Publication number
- CN105138288A CN105138288A CN201510511164.5A CN201510511164A CN105138288A CN 105138288 A CN105138288 A CN 105138288A CN 201510511164 A CN201510511164 A CN 201510511164A CN 105138288 A CN105138288 A CN 105138288A
- Authority
- CN
- China
- Prior art keywords
- data
- xor
- result data
- memory
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种实现RAID5功能的存储方法、装置及主控芯片系统,包括获取当前目标数据;将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据,这种将每个目标数据的异或结果数据都存入同一个数据缓存存储模块,并且当前的异或结果数据覆盖上一目标数据的异或结果数据的方法,能减少存储单元的使用量,从而降低芯片功耗。
Description
技术领域
本发明涉及计算机存储技术领域,更具体地说,涉及一种实现RAID5功能的存储方法、装置及主控芯片系统。
背景技术
芯片系统(SOC,SystemonChip)上的存储单元占整个芯片面积的70%,功耗占整个芯片的40%以上,且传统的RAID5设计时需要多组缓存来实现,例如:若每次批量送来的数据大小为4kbyte数据,通过异或运算产生校验位信息保存在4kbyte数据缓存内,等下一笔4Kbyte数据来时再读取出来进行异或运算,把运算结果保存在另一个缓存内,这样如果来N笔数据,就要N个4Kbyte数据缓存,大大占据了存储单元的使用量,增加了芯片功耗。
因此,如何减少存储单元的使用量,降低芯片功耗是现在需要解决的问题。
发明内容
本发明的目的在于提供一种实现RAID5功能的存储方法、装置及主控芯片系统,实现减少存储单元的使用量,降低芯片功耗。
为实现上述目的,本发明实施例提供了如下技术方案:
一种实现RAID5功能的存储方法,包括:
获取当前目标数据;
将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;
将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据。
优选的,当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
一种实现RAID5功能的存储装置,包括:
获取模块,用于获取当前目标数据;
异或运算模块,用于将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储单元中的上一目标数据的异或结果数据;
延迟模块,用于将所述异或结果数据延迟一周期,并触发所述数据缓存存储模块;
所述数据缓存存储模块,用于存储所述数据缓存存储单元,且覆盖上一目标数据的异或结果数据。
优选的,还包括:
发送模块,用于当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
一种主控芯片系统,包括:
NFC控制器,其中所述NFC控制器包括上述任一一项所述的存储装置;
片内存储器,用于存储最终异或结果数据。
优选的,所述片内存储器还用于:
当所述存储装置停止运行时,释放所述片内存储器所占用的内存空间。
优选的,还包括用于与主机进行通信的SATAIII接口。
优选的,还包括ARMCortexA7处理器。
通过以上方案可知,本发明实施例提供的一种实现RAID5功能的存储方法、装置及主控芯片系统,包括获取当前目标数据;将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据,这种将每个目标数据的异或结果数据都存入同一个数据缓存存储模块,并且当前的异或结果数据覆盖上一目标数据的异或结果数据的方法,能减少存储单元的使用量,从而降低芯片功耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种实现RAID5功能的存储方法流程图;
图2为本发明实施例公开的一种数据缓存示意图;
图3为本发明实施例公开的一种实现RAID5功能的存储装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种实现RAID5功能的存储方法、装置及主控芯片系统,实现减少存储单元的使用量,降低芯片功耗。
参见图1,本发明实施例提供的一种实现RAID5功能的存储方法,包括:
S101、获取当前目标数据;
其中,若所述当前目标数据是第一笔目标数据时,由于之前没有上一目标数据的异或结果数据,因此,第一笔目标数据是与0进行异或的。
S102、将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;
其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;
S103、将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据。
具体的,本实施例中的S101-S103只是写出了对一笔目标数据求取异或结果数据的方法,若是有N笔数据,除了第一笔数据是与0异或之外,其余的目标数据都执行S101-S103。
具体的,参见图2,本实施例提供的一种数据缓存示意图,可以看出,当第一笔4kbyte数据来时,选择信号把0选通,4kbyte数据直接与0异或,将第一笔4kbyte数据的运算结果写入数据缓存存储模块;当第二笔4kbyte数据来时,读取保存在数据缓存存储模块内的第一笔4kbyte数据的运算结果,并与第二笔4kbyte数据直接进行异或运算,把运算结果延迟1个周期之后写入原有的数据缓存存储模块,并覆盖第一笔4kbyte数据的运算结果,这样一个数据缓存存储模块就可以完成RADI5校验位信息保存。
具体的,本实施例通过减少临时数据缓存器来达到高性能的RAID5功能实现,通过减少片上缓存容量来节省芯片面积,降低芯片功耗。另外在易用性方面,通过驱动设置可以动态配置RAID5功能从而释放片上SRAM空间给系统使用,提高整个系统性能。
本发明实施例提供的一种实现RAID5功能的存储方法,包括获取当前目标数据;将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据,这种将每个目标数据的异或结果数据都存入同一个数据缓存存储模块,并且当前的异或结果数据覆盖上一目标数据的异或结果数据的方法,能减少存储单元的使用量,从而降低芯片功耗。
优选的,在本发明的另一实施例中,当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
具体的,本实施例实现RAID5功能的是由固态硬盘(SSD)主控芯片上的一个功能模块实现的,通过当完成一个strip时,把最终运算结果保存在片内片内存储器内,最后由系统完成结果的处理。
参见图3,本发明实施例提供的一种实现RAID5功能的存储装置,包括:
获取模块100,用于获取当前目标数据;
异或运算模块200,用于将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;
其中,所述当前异或数据为存储在数据缓存存储单元中的上一目标数据的异或结果数据;
延迟模块300,用于将所述异或结果数据延迟一周期,并触发所述数据缓存存储模块400;
所述数据缓存存储模块400,用于存储所述数据缓存存储单元,且覆盖上一目标数据的异或结果数据;
发送模块500,用于当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
本发明实施例提供的一种实现RAID5功能的存储装置,包括获取当前目标数据;将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据,这种将每个目标数据的异或结果数据都存入同一个数据缓存存储模块,并且当前的异或结果数据覆盖上一目标数据的异或结果数据的方法,能减少存储单元的使用量,从而降低芯片功耗。
本发明实施例提供的一种主控芯片系统,包括:
NFC控制器,
其中,所述NFC控制器包括上一实施例中的存储装置;
具体的,NFC控制器还包括NANDFlash接口控制、ECC纠错等。
片内存储器,用于存储最终异或结果数据;
具体的,所述片内存储器最大支持1MbyteSRAM,可以动态配置SRAM大小让RAID5结果保存。
用于与主机进行通信的SATAIII接口;
具体的,SATAIII接口为固态硬盘(SSD)与主机对接、通信用的高速接口,支持SATAI,SATAII,SATAIII等。
ARMCortexA7处理器;其中,ARMCortexA7处理器为四核处理器,且最大可以访问1Tbyte内存;
DDR3控制器;其中,DDR3控制器为片外DDR3DRAM控制器,最大支持1Tbyte存储。
具体的,RAID5检验位产生是NFC控制器中一个功能模块,主要完成异或运算产生校验位和运算的中间结果保存以及判断strip完成之后把最终信息保存在片内存储器(SRAM,StaticRandomAccessMemory),其RAID5模块内的数据缓存为4Kbyte,片内SRAM为512Kbyte到1Mbyte大小。
优选的,在本发明的另一实施例中,所述片内存储器200还用于:
当所述存储装置停止运行时,释放所述片内存储器所占用的内存空间。
具体的,在系统不支持外接RAID硬盘时,关闭RAID5功能,把片内存储器划分给RAID5的部分空间释放出来给系统用,在系统得到更多的应用空间时,其性能要增加20%以上。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种实现RAID5功能的存储方法,其特征在于,包括:
获取当前目标数据;
将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储模块中的上一目标数据的异或结果数据;
将所述异或结果数据延迟一周期后,存入所述数据缓存存储模块,覆盖上一目标数据的异或结果数据。
2.根据权利要求1所述的存储方法,其特征在于,当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
3.一种实现RAID5功能的存储装置,其特征在于,包括:
获取模块,用于获取当前目标数据;
异或运算模块,用于将所述当前目标数据与当前异或数据进行异或运算,得出异或结果数据;其中,所述当前异或数据为存储在数据缓存存储单元中的上一目标数据的异或结果数据;
延迟模块,用于将所述异或结果数据延迟一周期,并触发所述数据缓存存储模块;
所述数据缓存存储模块,用于存储所述数据缓存存储单元,且覆盖上一目标数据的异或结果数据。
4.根据权利要求3所述的存储装置,其特征在于,还包括:
发送模块,用于当所有目标数据都运算结束后,将最终异或结果数据存入片内存储器。
5.一种主控芯片系统,其特征在于,包括:
NFC控制器,其中所述NFC控制器包括如权利要求3或4所述的存储装置;
片内存储器,用于存储最终异或结果数据。
6.根据权利要求5所述的主控芯片系统,其特征在于,所述片内存储器还用于:
当所述存储装置停止运行时,释放所述片内存储器所占用的内存空间。
7.根据权利要求6所述的主控芯片系统,其特征在于,还包括用于与主机进行通信的SATAIII接口。
8.根据权利要求7所述的主控芯片系统,其特征在于,还包括ARMCortexA7处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510511164.5A CN105138288A (zh) | 2015-08-19 | 2015-08-19 | 实现raid5功能的存储方法、装置及主控芯片系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510511164.5A CN105138288A (zh) | 2015-08-19 | 2015-08-19 | 实现raid5功能的存储方法、装置及主控芯片系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105138288A true CN105138288A (zh) | 2015-12-09 |
Family
ID=54723648
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510511164.5A Pending CN105138288A (zh) | 2015-08-19 | 2015-08-19 | 实现raid5功能的存储方法、装置及主控芯片系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138288A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933547A (zh) * | 2019-01-29 | 2019-06-25 | 山东华芯半导体有限公司 | 一种ssd主控中的raid被动加速装置和加速方法 |
CN110837484A (zh) * | 2019-10-31 | 2020-02-25 | 山东华芯半导体有限公司 | Ssd主控中的raid多路处理装置及数据恢复方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049222A (zh) * | 2012-12-28 | 2013-04-17 | 中国船舶重工集团公司第七0九研究所 | 一种raid5的写io优化处理方法 |
CN103970487A (zh) * | 2014-05-23 | 2014-08-06 | 浙江宇视科技有限公司 | 一种独立磁盘冗余阵列及实现方法 |
-
2015
- 2015-08-19 CN CN201510511164.5A patent/CN105138288A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103049222A (zh) * | 2012-12-28 | 2013-04-17 | 中国船舶重工集团公司第七0九研究所 | 一种raid5的写io优化处理方法 |
CN103970487A (zh) * | 2014-05-23 | 2014-08-06 | 浙江宇视科技有限公司 | 一种独立磁盘冗余阵列及实现方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933547A (zh) * | 2019-01-29 | 2019-06-25 | 山东华芯半导体有限公司 | 一种ssd主控中的raid被动加速装置和加速方法 |
WO2020155544A1 (zh) * | 2019-01-29 | 2020-08-06 | 山东华芯半导体有限公司 | 一种ssd主控中的raid被动加速装置和加速方法 |
CN109933547B (zh) * | 2019-01-29 | 2023-03-10 | 山东华芯半导体有限公司 | 一种ssd主控中的raid被动加速装置和加速方法 |
CN110837484A (zh) * | 2019-10-31 | 2020-02-25 | 山东华芯半导体有限公司 | Ssd主控中的raid多路处理装置及数据恢复方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797180B2 (en) | Apparatus and method to provide cache move with non-volatile mass memory system | |
US11042297B2 (en) | Techniques to configure a solid state drive to operate in a storage mode or a memory mode | |
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
CN104407933A (zh) | 一种数据的备份方法及装置 | |
CN104903864A (zh) | 选择性错误校正码和存储器访问粒度切换 | |
CN102810050A (zh) | 日志数据写入方法和日志系统 | |
US10754785B2 (en) | Checkpointing for DRAM-less SSD | |
US10606484B2 (en) | NAND flash storage device with NAND buffer | |
CN104681077B (zh) | 一种mram-nand控制器及贴片式固态硬盘 | |
TW201303874A (zh) | 記憶體控制方法、記憶體控制器與記憶體儲存裝置 | |
CN103336745A (zh) | 一种基于ssd缓存的fc hba及其设计方法 | |
US20160062896A1 (en) | Memory system | |
CN105373338A (zh) | 一种flash的控制方法和控制器 | |
US20140317339A1 (en) | Data access system, data accessing device, and data accessing controller | |
CN102981801B (zh) | 一种本地总线数据位宽的转换方法及装置 | |
CN104616688A (zh) | 一种集成mram的固态硬盘控制芯片及固态硬盘 | |
EP2889751B1 (en) | Method and apparatus for determining redundant array of independent disks | |
CN101527169A (zh) | 闪存数据写入方法及其控制器 | |
CN105138288A (zh) | 实现raid5功能的存储方法、装置及主控芯片系统 | |
US9875051B2 (en) | Memory system that controls power state of buffer memory | |
CN105630404A (zh) | 一种使用mram的固态硬盘及读写方法 | |
CN103488547A (zh) | 一种raid组故障硬盘快速重建的方法 | |
CN202134002U (zh) | 一种多通道ssd控制器 | |
CN104182281A (zh) | 一种gpgpu寄存器缓存的实现方法 | |
US20150212759A1 (en) | Storage device with multiple processing units and data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151209 |