CN103942160B - 存储系统、存储设备及数据存储方法 - Google Patents
存储系统、存储设备及数据存储方法 Download PDFInfo
- Publication number
- CN103942160B CN103942160B CN201410133653.7A CN201410133653A CN103942160B CN 103942160 B CN103942160 B CN 103942160B CN 201410133653 A CN201410133653 A CN 201410133653A CN 103942160 B CN103942160 B CN 103942160B
- Authority
- CN
- China
- Prior art keywords
- storage device
- power supply
- storage
- service data
- cache
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000015654 memory Effects 0.000 claims abstract description 59
- 238000013500 data storage Methods 0.000 claims abstract description 22
- 230000000694 effects Effects 0.000 abstract description 19
- 230000005611 electricity Effects 0.000 abstract description 5
- 230000001681 protective effect Effects 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 239000008187 granular material Substances 0.000 description 3
- 239000007773 negative electrode material Substances 0.000 description 3
- 239000007774 positive electrode material Substances 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种存储系统、存储设备及数据存储方法,属于数据存储领域。所述存储系统包括:前端接口、控制器和存储设备;存储设备包括:缓存单元和非易失性存储单元;前端接口向存储设备的缓存单元发送业务数据;存储设备接收业务数据并缓存到缓存单元;当外部电源掉电时,启动备用电源为存储设备供电并将缓存单元中的业务数据写入非易失性存储单元。本发明通过前端接口将接收到的业务数据发送给存储设备中的缓存单元,当外部电源掉电时,存储设备启动备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
Description
技术领域
本发明涉及数据存储领域,特别涉及一种存储系统、存储设备及数据存储方法。
背景技术
为了提高I/O(In put/Out put,输入/输出)应对能力,现有的存储系统中通常设置有一级高速缓存(Cache)。在写入数据时,存储系统首先通过Cache快速接收并缓存前端业务发送的数据,再将数据搬移到写入速度较慢的存储器中。
由于高速缓存Cache为易失性存储单元,在系统断电时,其中缓存的数据也会丢失。为了在系统断电时能够有效保护缓存中的数据,现有的存储系统通常对中央处理器和内存部分设置备份电源,并将一部分内存划分为存储器的Cache,当系统外部电源断电时,启动备份电源为中央处理器和内存单独供电,中央处理器控制内存进入自刷新模式,从而避免内存中的数据丢失。
现有技术至少存在以下问题:
首先,受限于备份电源的电量,内存的自刷新模式通常只能维持一段时间,若在备份电源的电量耗尽之前外部电源依然没有恢复供电,则内存中的数据同样会丢失,保护性能较低;其次,系统中的内存容量有限,划分为Cache的部分更少,无法满足大容量存储器的缓存需求,从而限制了存储系统的容量扩展。
发明内容
为了解决现有技术中备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,以及系统中的内存容量有限,无法满足大容量的非易失性存储单元的缓存需求,从而限制了存储系统的容量扩展的问题,本发明实施例提供了一种存储系统、存储器、数据保护方法及控制单元。所述技术方案如下:
第一方面,提供了一种存储系统,所述存储系统包括:前端接口、控制器和若干个存储设备;外部电源为所述前端接口、所述控制器和所述存储设备供电;每个所述存储设备包括:缓存单元和非易失性存储单元;其中,所述控制器的缓存由所述若干个存储设备的缓存单元组成;
所述前端接口,用于接收业务数据,并向所述若干个存储设备中的至少一个存储设备的缓存单元发送所述业务数据;
所述至少一个存储设备,用于接收所述业务数据,并缓存到所述至少一个存储设备的缓存单元;当所述外部电源掉电时,启动所述至少一个存储设备的备用电源为所述至少一个存储设备供电,将所述至少一个存储设备的缓存单元中的所述业务数据写入所述至少一个存储设备的非易失性存储单元。
在第一方面的第一种可能实现方式中,所述前端接口向所述若干个存储设备中的至少一个存储设备的缓存单元发送所述业务数据,具体包括:
所述前端接口向所述控制器发送所述业务数据,所述控制器将所述业务数据发送至所述至少一个存储设备的缓存单元;
或者,
所述前端接口通过直接内存访问形式将所述业务数据发送至所述少一个存储设备的缓存单元。
在第一方面的第二种可能实现方式中,每个所述备用电源为一个所述存储设备供电。
在第一方面的第三种可能实现方式中,所述至少一个存储设备,用于在将所述业务数据完全写入所述至少一个存储设备的非易失性存储单元后,关闭所述至少一个存储设备的备用电源。
在第一方面的第四种可能实现方式中,所述至少一个存储设备,用于当所述外部电源恢复供电时,将所述业务数据缓存至所述至少一个存储设备的缓存单元。
第二方面,提供了一种存储设备,所述存储设备用于如上所述的存储系统,所述存储设备包括:缓存单元、非易失性存储单元、数据接收模块、第一缓存模块、电源启动模块以及写入模块;
所述数据接收模块,用于接收前端接口发送的业务数据;
所述第一缓存模块,用于将所述业务数据缓存至所述缓存单元;
所述电源启动模块,用于当外部电源掉电时,启动所述存储设备的备用电源为所述存储设备供电;
所述写入模块,用于将所述缓存单元中的所述业务数据写入所述非易失性存储单元。
在第二方面的第一种可能实现方式中,所述数据接收模块具体
用于接收控制器发送的所述业务数据,所述数据业务由所述前端接口发送给所述控制器;或者,
具体用于接收所述前端接口通过直接内存访问形式发送的所述业务数据。
在第二方面的第二种可能实现方式中,所述存储设备还包括:
电源关闭模块,用于在所述写入模块将所述业务数据完全写入所述非易失性存储单元后,关闭所述备用电源。
在第二方面的第三种可能实现方式中,所述存储设备还包括:
第二缓存模块,用于当所述外部电源恢复供电时,将所述业务数据缓存至所述缓存单元。
第三方面,提供了一种数据存储方法,所述方法用于如上所述的存储设备中,所述存储设备包含有缓存单元和非易失性存储单元;所述方法包括:
接收前端接口发送的业务数据;
将所述业务数据缓存至所述缓存单元;
当外部电源掉电时,启动所述存储设备的备用电源为所述存储设备供电,并将所述缓存单元中的所述业务数据写入所述非易失性存储单元。
在第三方面的第一种可能实现方式中,所述接收前端接口发送的业务数据,包括:
接收控制器发送的所述业务数据,所述数据业务由所述前端接口发送给所述控制器;
或者,
接收所述前端接口通过直接内存访问形式发送的所述业务数据。
在第三方面的第二种可能实现方式中,所述方法还包括:
在将所述业务数据完全写入所述非易失性存储单元后,关闭所述备用电源。
在第三方面的第三种可能实现方式中,所述方法还包括:
当所述外部电源恢复供电时,将所述业务数据缓存至所述缓存单元。
本发明实施例提供的技术方案带来的有益效果是:
首先,通过前端接口将接收到的业务数据发送给存储设备中的缓存单元,当所述外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
其次,通过将控制器的缓存设置由各个存储设备的缓存单元组成,将缓存单元作为存储设备中的非易失性存储单元的Cache,存储系统只需要增加存储设备的数目即可以对存储容量进行扩展,解决了现有技术中存储系统的内存容量有限,无法满足大容量的非易失性存储单元的缓存需求的问题,达到提高存储系统扩展性能的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的存储系统的系统构成图;
图2是本发明另一实施例提供的存储系统的系统构成图;
图3是本发明一个实施例提供的存储设备的结构示意图;
图4是本发明另一实施例提供的存储设备的结构示意图;
图5是本发明一个实施例提供的数据存储方法的方法流程图;
图6是本发明另一实施例提供的数据存储方法的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
请参考图1,其示出了本发明一个实施例提供的存储系统的系统构成图。该存储系统可以包括:前端接口102、控制器104和若干个存储设备106;外部电源108为所述前端接口102、所述控制器104和所述存储设备106供电;每个所述存储设备106包括:缓存单元106a和非易失性存储单元106b;其中,所述控制器104的缓存由所述若干个存储设备106的缓存单元组成106a;
所述前端接口102,用于接收业务数据,并向所述若干个存储设备106中的至少一个存储设备106的缓存单元106a发送所述业务数据;
所述至少一个存储设备106,用于接收所述业务数据,并缓存到所述至少一个存储设备106的缓存单元106a;当所述外部电源108掉电时,启动所述至少一个存储设备106的备用电源110为所述至少一个存储设备106供电,将所述至少一个存储设备106的缓存单元106a中的所述业务数据写入所述至少一个存储设备106的非易失性存储单元106b。
综上所述,本发明实施例提供的存储系统,通过前端接口将接收到的业务数据发送给存储设备中的缓存单元,当所述外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
其次,本发明实施例提供的存储系统,通过将控制器的缓存设置由各个存储设备的缓存单元组成,将缓存单元作为存储设备中的非易失性存储单元的Cache,存储系统只需要增加存储设备的数目即可以对存储容量进行扩展,解决了现有技术中存储系统的内存容量有限,无法满足大容量的非易失性存储单元的缓存需求的问题,达到提高存储系统扩展性能的效果。
请参考图2,其示出了本发明一个实施例提供的存储系统的系统构成图。该存储系统可以包括:前端接口202、控制器204和若干个存储设备206;外部电源208为所述前端接口202、所述控制器204和所述存储设备206供电;每个所述存储设备206包括:缓存单元206a和非易失性存储单元206b;其中,所述控制器204的缓存由所述若干个存储设备206的缓存单元组成206a;
其中,存储系统的控制器(比如中央处理器CPU)可以不设置独立的缓存,而是将控制器的缓存分布到各个存储设备中,由各个存储设备中的缓存单元承担控制器的缓存的作用。具体的,在存储系统初始化时,可以将各个存储设备的缓存单元设置为可预取的内存空间,以便控制器可以对各个存储设备的缓存单元中的地址进行直接访问,比如,CPU可以直接向缓存单元中的指定地址写入数据,或者,CPU也可以直接读取缓存单元的指定地址中的数据。
所述前端接口202,用于接收业务数据,并向所述若干个存储设备206中的至少一个存储设备206的缓存单元206a发送所述业务数据;
在存储系统中,前端接口可以将同一份业务数据发送给两个或者两个以上的存储设备,在一个存储设备中的数据丢失时,可以启用其它存储设备中的备份数据,从而提高数据的安全性。
其中,所述前端接口202可以向所述控制器204发送所述业务数据,所述控制器204将所述业务数据发送至所述至少一个存储设备206的缓存单元206b;或者,所述前端接口202也可以通过直接内存访问形式将所述业务数据发送至所述少一个存储设备206的缓存单元206b。
具体的,前端接口向存储设备发送业务数据时,可以先将业务数据发送给控制器,由控制器将业务数据写入存储设备中的缓存单元,或者,前端接口也可以通过DMA(DirectMemory Access,直接内存访问)引擎向控制器查询存储设备包含的缓存单元的地址,并根据查询到的地址将业务数据直接发送给存储设备。
所述至少一个存储设备206,用于接收所述业务数据,并缓存到所述至少一个存储设备206的缓存单元206a;当所述外部电源208掉电时,启动所述至少一个存储设备206的备用电源210为所述至少一个存储设备206供电,将所述至少一个存储设备206的缓存单元206a中的所述业务数据写入所述至少一个存储设备206的非易失性存储单元206b。
其中,备用电源在初始时可以为关闭状态,当控制器检测出外部电源掉点后,可以控制该备用电源开启,开始为存储设备供电;或者,也可以将备用电源的电压设置为略低于外部电源的电压,备用电源始终处于开启状态,由于外部电源电压略高,所以当外部电源正常工作时,存储设备由外部电源供电,当外部电源掉电后,备用电源才开始供电。
在存储系统的外部电源,比如AC/DC(Alternating Current/Direct Current,交流输入/直流输出)电源断电时,控制器可以向各个存储设备发送断电通知,存储设备接收到该断电通知后,将缓存单元中的数据转移到非易失性存储单元中,以避免缓存单元中的数据在备用电源电量耗尽后丢失。
其中,缓存单元可以由静态随机存储芯片组成,也可以由动态随即存储芯片,比如DDR(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)2、DDR3或者DDR4颗粒组成。缓存单元容量相比非易失性存储单元较小,但读写速度快。
其中,每个所述备用电源210为一个所述存储设备206供电。
为了进一步提高备用电源的备份效果,可以将存储设备都设置由单独的备用电源供电,当其中一个备用电源失效时,只影响该备用电源对应的存储设备,而其它存储设备依然可以工作。
所述至少一个存储设备206,用于在将所述业务数据完全写入所述至少一个存储设备206的非易失性存储单元206b后,关闭所述至少一个存储设备206的备用电源210。
其中,备用电源通常使用电池来存储电量,而电池在放电过程中,若在超过放电的终止电压值时继续放电,则可能会造成电池内压升高,正、负极活性物质的可逆性遭到损坏,从而使电池的容量产生明显减少。为了避免备用电源因为过放电而损坏,提高器件使用寿命,存储设备在检测到缓存单元中存储的数据已经全部转移到非易失性存储单元中之后,可以控制备用电源停止供电。
所述至少一个存储设备206,用于当所述外部电源210恢复供电时,将所述业务数据缓存至所述至少一个存储设备的缓存单元206a。
其中,缓存单元中缓存的业务数据可能是存储系统中的控制器待访问的数据,因此,在外部电源恢复供电时,存储设备可以将缓存单元在断电之前存储的业务数据再次写回缓存单元,以便控制器快速访问读取。具体比如,当存储系统的外部电源恢复供电时,控制器向各个存储设备发送供电恢复通知,存储设备接收到该供电恢复通知后,检测出外部电源恢复供电,则开始进一步检测存储系统是否完全恢复正常,若检测出存储系统完全恢复正常,则开始将断电前缓存单元中的存储的业务数据重新从非易失性存储单元中写回缓存单元。控制单元在将数据写回缓存单元完成后,通知存储系统恢复数据存储或者数据读取业务;或者,控制单元也可以在接收到供电恢复通知后即将断电前缓存单元中的存储的业务数据重新从非易失性存储单元中写回缓存单元。
存储设备206,还用于在检测出外部电源208恢复供电后,控制备用电源210开始充电。
综上所述,本发明实施例提供的存储系统,通过前端接口将接收到的业务数据发送给存储设备中的缓存单元,当所述外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
其次,本发明实施例提供的存储系统,通过将控制器的缓存设置由各个存储设备的缓存单元组成,将缓存单元作为存储设备中的非易失性存储单元的Cache,存储系统只需要增加存储设备的数目即可以对存储容量进行扩展,解决了现有技术中存储系统的内存容量有限,无法满足大容量的非易失性存储单元的缓存需求的问题,达到提高存储系统扩展性能的效果。
另外,本发明实施例提供的存储系统,存储设备还用于在检测出数据完全写入非易失性存储单元后,控制备用电源停止供电,避免备用电源过放电,达到提高器件使用寿命的效果。
请参考图3,其示出了本发明一个实施例提供的存储设备的结构示意图。该存储设备可以是硬盘等通用存储设备,用于如上述图1或图2所示的数据存储系统中。其中,该存储系统包括:前端接口、控制器和若干个存储设备;外部电源为前端接口、控制器和存储设备供电;该存储设备可以包括:缓存单元301、非易失性存储单元302、数据接收模块303、第一缓存模块304、电源启动模块305以及写入模块306;控制器的缓存由若干个存储设备的缓存单元组成;
所述数据接收模块303,用于接收前端接口发送的业务数据;
所述第一缓存模块304,用于将所述业务数据缓存至所述缓存单元301;
所述电源启动模块305,用于当外部电源掉电时,启动所述存储设备的备用电源为所述存储设备供电;
所述写入模块306,用于将所述缓存单元301中的所述业务数据写入所述非易失性存储单元302。
综上所述,本发明实施例提供的存储设备,通过接收前端接口发送的业务数据并缓存的缓存单元,当外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
其次,本发明实施例提供的存储设备,通过将存储设备的缓存单元设置为控制器的缓存的组成部分,将缓存单元作为非易失性存储单元的Cache,存储系统只需要增加存储设备的数目即可以对存储容量进行扩展,解决了现有技术中存储系统的内存容量有限,无法满足大容量的非易失性存储单元的缓存需求的问题,达到提高存储系统扩展性能的效果。
请参考图4,其示出了本发明一个实施例提供的存储设备的结构示意图。该存储设备可以是硬盘等通用存储设备,用于如上述图1或图2所示的数据存储系统中。其中,该存储系统包括:前端接口、控制器和若干个存储设备;外部电源为前端接口、控制器和存储设备供电;该存储设备可以包括:缓存单元401、非易失性存储单元402、数据接收模块403、第一缓存模块404、电源启动模块405以及写入模块406;控制器的缓存由若干个存储设备的缓存单元组成;
所述数据接收模块403,用于接收前端接口发送的业务数据;
所述第一缓存模块404,用于将所述业务数据缓存至所述缓存单元401;
所述电源启动模块405,用于当外部电源掉电时,启动所述存储设备的备用电源为所述存储设备供电;
所述写入模块406,用于将所述缓存单元401中的所述业务数据写入所述非易失性存储单元402。
在图1或图2所示的存储系统中,控制器(比如中央处理器CPU)可以不设置独立的缓存,而是将控制器的缓存分布到各个存储设备中,由各个存储设备中的缓存单元承担控制器的缓存的作用。具体的,在存储系统初始化时,可以将各个存储设备的缓存单元设置为可预取的内存空间,以便控制器可以对各个存储设备的缓存单元中的地址进行直接访问,比如,CPU可以直接向缓存单元中的指定地址写入数据,或者,CPU也可以直接读取缓存单元的指定地址中的数据。
所述数据接收模块403具体用于接收控制器发送的所述业务数据,所述数据业务由所述前端接口发送给所述控制器;或者具体用于接收所述前端接口通过直接内存访问形式发送的所述业务数据。
具体的,前端接口向存储设备发送业务数据时,可以先将业务数据发送给控制器,由控制器将业务数据写入存储设备中的缓存单元,或者,前端接口也可以通过DMA(DirectMemory Access,直接内存访问)引擎向控制器查询存储设备包含的缓存单元的地址,并根据查询到的地址将业务数据直接发送给存储设备。
其中,备用电源在初始时可以为关闭状态,当控制器检测出外部电源掉点后,可以控制该备用电源开启,开始为存储设备供电;或者,也可以将备用电源的电压设置为略低于外部电源的电压,备用电源始终处于开启状态,由于外部电源电压略高,所以当外部电源正常工作时,存储设备由外部电源供电,当外部电源掉电后,备用电源才开始供电。
在存储系统的外部电源,比如AC/DC(Alternating Current/Direct Current,交流输入/直流输出)电源断电时,控制器可以向各个存储设备发送断电通知,存储设备接收到该断电通知后,将缓存单元中的数据转移到非易失性存储单元中,以避免缓存单元中的数据在备用电源电量耗尽后丢失。
其中,缓存单元可以由静态随机存储芯片组成,也可以由动态随即存储芯片,比如DDR(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)2、DDR3或者DDR4颗粒组成。缓存单元容量相比非易失性存储单元较小,但读写速度快。
其中,每个备用电源只为一个存储设备供电。
为了进一步提高备用电源的备份效果,可以将存储设备都设置由单独的备用电源供电,当其中一个备用电源失效时,只影响该备用电源对应的存储设备,而其它存储设备依然可以工作。
所述存储设备还包括:
电源关闭模块407,用于在所述写入模块406将所述业务数据完全写入所述非易失性存储单元402后,关闭所述备用电源。
其中,备用电源通常使用电池来存储电量,而电池在放电过程中,若在超过放电的终止电压值时继续放电,则可能会造成电池内压升高,正、负极活性物质的可逆性遭到损坏,从而使电池的容量产生明显减少。为了避免备用电源因为过放电而损坏,提高器件使用寿命,存储设备在检测到缓存单元中存储的数据已经全部转移到非易失性存储单元中之后,可以控制备用电源停止供电。
所述存储设备还包括:
第二缓存模块408,用于当所述外部电源恢复供电时,将所述业务数据缓存至所述缓存单元401。
其中,缓存单元中缓存的业务数据可能是存储系统中的控制器待访问的数据,因此,在外部电源恢复供电时,存储设备可以将缓存单元在断电之前存储的业务数据再次写回缓存单元,以便控制器快速访问读取。具体比如,当存储系统的外部电源恢复供电时,控制器向各个存储设备发送供电恢复通知,存储设备接收到该供电恢复通知后,检测出外部电源恢复供电,则开始进一步检测存储系统是否完全恢复正常,若检测出存储系统完全恢复正常,则开始将断电前缓存单元中的存储的业务数据重新从非易失性存储单元中写回缓存单元。控制单元在将数据写回缓存单元完成后,通知存储系统恢复数据存储或者数据读取业务;或者,控制单元也可以在接收到供电恢复通知后即将断电前缓存单元中的存储的业务数据重新从非易失性存储单元中写回缓存单元。
综上所述,本发明实施例提供的存储设备,通过接收前端接口发送的业务数据并缓存的缓存单元,当外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
其次,本发明实施例提供的存储设备,通过将存储设备的缓存单元设置为控制器的缓存的组成部分,将缓存单元作为非易失性存储单元的Cache,存储系统只需要增加存储设备的数目即可以对存储容量进行扩展,解决了现有技术中存储系统的内存容量有限,无法满足大容量的非易失性存储单元的缓存需求的问题,达到提高存储系统扩展性能的效果。
另外,本发明实施例提供的存储设备,在检测出数据完全写入非易失性存储单元后,控制备用电源停止供电,避免备用电源过放电,达到提高器件使用寿命的效果。
请参考图5,其示出了本发明一个实施例提供的数据存储方法的方法流程图。该数据存储方法可以用于在图3或图4所示的存储设备中避免高速缓存中的数据在外部电源断电时丢失。该存储设备可以是硬盘等通用存储设备,可以用于大容量的数据存储系统中。如图1或图2所示,该存储系统包括:前端接口、控制器和若干个存储设备;外部电源为前端接口、控制器和存储设备供电;存储设备包括:缓存单元和非易失性存储单元;控制器的缓存由若干个存储设备的缓存单元组成。该数据存储方法可以包括:
步骤502,接收前端接口发送的业务数据;
步骤504,将该业务数据缓存至缓存单元;
步骤506,当外部电源掉电时,启动该存储设备的备用电源为该存储设备供电,并将该缓存单元中的该业务数据写入非易失性存储单元。
综上所述,本发明实施例提供的数据存储方法,通过接收前端接口发送的业务数据并缓存的缓存单元,当外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
请参考图6,其示出了本发明一个实施例提供的数据存储方法的方法流程图。该数据存储方法可以用于在图3或图4所示的存储设备中避免高速缓存中的数据在外部电源断电时丢失。该存储设备可以是硬盘等通用存储设备,可以用于大容量的数据存储系统中。如图1或图2所示,该存储系统包括:前端接口、控制器和若干个存储设备;外部电源为前端接口、控制器和存储设备供电;存储设备包括:缓存单元和非易失性存储单元;控制器的缓存由若干个存储设备的缓存单元组成。该数据存储方法可以包括:
步骤602,接收前端接口发送的业务数据,将该业务数据缓存至缓存单元;
具体的,可以接收控制器发送的该业务数据,该数据业务由前端接口发送给控制器;或者,可以接收前端接口通过直接内存访问形式发送的业务数据。
具体的,前端接口向存储设备发送业务数据时,可以先将业务数据发送给控制器,由控制器将业务数据写入存储设备中的缓存单元,或者,前端接口也可以通过DMA(DirectMemory Access,直接内存访问)引擎向控制器查询存储设备包含的缓存单元的地址,并根据查询到的地址将业务数据直接发送给存储设备。
步骤604,当外部电源掉电时,启动该存储设备的备用电源为该存储设备供电,并将该缓存单元中的该业务数据写入非易失性存储单元;
其中,备用电源在初始时可以为关闭状态,当控制器检测出外部电源掉点后,可以控制该备用电源开启,开始为存储设备供电;或者,也可以将备用电源的电压设置为略低于外部电源的电压,备用电源始终处于开启状态,由于外部电源电压略高,所以当外部电源正常工作时,存储设备由外部电源供电,当外部电源掉电后,备用电源才开始供电。
在存储系统的外部电源,比如AC/DC(Alternating Current/Direct Current,交流输入/直流输出)电源断电时,控制器可以向各个存储设备发送断电通知,存储设备接收到该断电通知后,将缓存单元中的数据转移到非易失性存储单元中,以避免缓存单元中的数据在备用电源电量耗尽后丢失。
其中,缓存单元可以由静态随机存储芯片组成,也可以由动态随即存储芯片,比如DDR(Double Data Rate Synchronous Dynamic Random Access Memory,双倍速率同步动态随机存储器)2、DDR3或者DDR4颗粒组成。缓存单元容量相比非易失性存储单元较小,但读写速度快。
为了进一步提高备用电源的备份效果,可以将存储设备都设置由单独的备用电源供电,即每个备用电源只为一个存储设备供电。当其中一个备用电源失效时,只影响该备用电源对应的存储设备,而其它存储设备依然可以工作。
步骤606,在将该业务数据完全写入非易失性存储单元后,关闭备用电源;
其中,备用电源通常使用电池来存储电量,而电池在放电过程中,若在超过放电的终止电压值时继续放电,则可能会造成电池内压升高,正、负极活性物质的可逆性遭到损坏,从而使电池的容量产生明显减少。为了避免备用电源因为过放电而损坏,提高器件使用寿命,存储设备在检测到缓存单元中存储的数据已经全部转移到非易失性存储单元中之后,可以控制备用电源停止供电。
步骤608,当外部电源恢复供电时,将该业务数据缓存至该缓存单元。
其中,缓存单元中缓存的业务数据可能是存储系统中的控制器待访问的数据,因此,在外部电源恢复供电时,存储设备可以将缓存单元在断电之前存储的业务数据再次写回缓存单元,以便控制器快速访问读取。具体比如,当存储系统的外部电源恢复供电时,控制器向各个存储设备发送供电恢复通知,存储设备接收到该供电恢复通知后,检测出外部电源恢复供电,则开始进一步检测存储系统是否完全恢复正常,若检测出存储系统完全恢复正常,则开始将断电前缓存单元中的存储的业务数据重新从非易失性存储单元中写回缓存单元。控制单元在将数据写回缓存单元完成后,通知存储系统恢复数据存储或者数据读取业务;或者,控制单元也可以在接收到供电恢复通知后即将断电前缓存单元中的存储的业务数据重新从非易失性存储单元中写回缓存单元。
综上所述,本发明实施例提供的数据存储方法,通过接收前端接口发送的业务数据并缓存的缓存单元,当外部电源掉电时,存储设备启动该存储设备的备用电源,并将缓存单元中的业务数据写入非易失性存储单元,解决了现有技术中因备份电源的电量耗尽之前外部电源依然没有恢复供电而导致内存中的数据丢失的问题,达到提高保护性能的效果。
其次,本发明实施例提供的数据存储方法,在检测出数据完全写入非易失性存储单元后,控制备用电源停止供电,避免备用电源过放电,达到提高器件使用寿命的效果。
需要说明的是:上述实施例提供的存储设备在进行数据的存储时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储设备与数据存储方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种存储系统,其特征在于,所述存储系统包括:前端接口、控制器和若干个存储设备;外部电源为所述前端接口、所述控制器和所述存储设备供电;每个所述存储设备包括:缓存单元和非易失性存储单元;其中,所述控制器的缓存由所述若干个存储设备的缓存单元组成;
所述前端接口,用于接收业务数据,并向所述若干个存储设备中的至少一个存储设备的缓存单元发送所述业务数据;
所述至少一个存储设备,用于接收所述业务数据,并缓存到所述至少一个存储设备的缓存单元;当所述外部电源掉电时,启动所述至少一个存储设备的备用电源为所述至少一个存储设备供电,将所述至少一个存储设备的缓存单元中的所述业务数据写入所述至少一个存储设备的非易失性存储单元,其中,每个所述备用电源为一个所述存储设备供电;
所述前端接口向所述若干个存储设备中的至少一个存储设备的缓存单元发送所述业务数据,具体包括:
所述前端接口通过直接内存访问引擎向所述控制器查询所述至少一个存储设备包含的缓存单元的地址;
根据查询到的所述地址,将所述业务数据直接发送至所述至少一个存储设备的缓存单元。
2.根据权利要求1所述的存储系统,其特征在于,所述前端接口向所述若干个存储设备中的至少一个存储设备的缓存单元发送所述业务数据,具体包括:
所述前端接口向所述控制器发送所述业务数据,所述控制器将所述业务数据发送至所述至少一个存储设备的缓存单元。
3.根据权利要求1所述的存储系统,其特征在于,所述至少一个存储设备,用于在将所述业务数据完全写入所述至少一个存储设备的非易失性存储单元后,关闭所述至少一个存储设备的备用电源。
4.根据权利要求1所述的存储系统,其特征在于,所述至少一个存储设备,用于当所述外部电源恢复供电时,将所述业务数据缓存至所述至少一个存储设备的缓存单元。
5.一种存储设备,其特征在于,所述存储设备用于如权利要求1至4任一所述的存储系统,所述存储设备包括:缓存单元、非易失性存储单元、数据接收模块、第一缓存模块、电源启动模块以及写入模块;
所述数据接收模块,用于接收前端接口发送的业务数据,所述业务数据是根据所述存储设备包含的缓存单元的地址发送的数据,所述地址由所述前端接口通过直接内存访问引擎向控制器查询得到;
所述第一缓存模块,用于将所述业务数据缓存至所述缓存单元;
所述电源启动模块,用于当外部电源掉电时,启动所述存储设备的备用电源为所述存储设备供电;
所述写入模块,用于将所述缓存单元中的所述业务数据写入所述非易失性存储单元。
6.根据权利要求5所述的存储设备,其特征在于,所述数据接收模块具体用于接收所述控制器发送的所述业务数据,所述数据业务由所述前端接口发送给所述控制器。
7.根据权利要求5所述的存储设备,其特征在于,所述存储设备还包括:
电源关闭模块,用于在所述写入模块将所述业务数据完全写入所述非易失性存储单元后,关闭所述备用电源。
8.根据权利要求5所述的存储设备,其特征在于,所述存储设备还包括:
第二缓存模块,用于当所述外部电源恢复供电时,将所述业务数据缓存至所述缓存单元。
9.一种数据存储方法,其特征在于,所述方法用于如权利要求5至8任一所述的存储设备中,所述存储设备包含有缓存单元和非易失性存储单元;所述方法包括:
接收前端接口发送的业务数据,所述业务数据是根据所述存储设备包含的所述缓存单元的地址发送的数据,所述地址由所述前端接口通过直接内存访问引擎向控制器查询得到;
将所述业务数据缓存至所述缓存单元;
当外部电源掉电时,启动所述存储设备的备用电源为所述存储设备供电,并将所述缓存单元中的所述业务数据写入所述非易失性存储单元。
10.根据权利要求9所述的方法,其特征在于,所述接收前端接口发送的业务数据,包括:
接收所述控制器发送的所述业务数据,所述数据业务由所述前端接口发送给所述控制器。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
在将所述业务数据完全写入所述非易失性存储单元后,关闭所述备用电源。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:
当所述外部电源恢复供电时,将所述业务数据缓存至所述缓存单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410133653.7A CN103942160B (zh) | 2014-04-03 | 2014-04-03 | 存储系统、存储设备及数据存储方法 |
PCT/CN2015/071031 WO2015149577A1 (zh) | 2014-04-03 | 2015-01-19 | 存储系统、存储设备及数据存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410133653.7A CN103942160B (zh) | 2014-04-03 | 2014-04-03 | 存储系统、存储设备及数据存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103942160A CN103942160A (zh) | 2014-07-23 |
CN103942160B true CN103942160B (zh) | 2018-08-21 |
Family
ID=51189832
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410133653.7A Active CN103942160B (zh) | 2014-04-03 | 2014-04-03 | 存储系统、存储设备及数据存储方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN103942160B (zh) |
WO (1) | WO2015149577A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103942160B (zh) * | 2014-04-03 | 2018-08-21 | 华为技术有限公司 | 存储系统、存储设备及数据存储方法 |
WO2016101225A1 (zh) * | 2014-12-25 | 2016-06-30 | 华为技术有限公司 | 一种数据备份的方法、装置及系统 |
CN106919474A (zh) * | 2015-12-28 | 2017-07-04 | 中移(苏州)软件技术有限公司 | 一种缓存数据保护方法和装置 |
CN107797946B (zh) * | 2016-09-06 | 2021-06-29 | 中车株洲电力机车研究所有限公司 | 一种车载存储装置 |
CN107678682A (zh) * | 2017-08-16 | 2018-02-09 | 芜湖恒天易开软件科技股份有限公司 | 用于充电桩费率存储的方法 |
DE102017123676A1 (de) * | 2017-10-11 | 2019-04-11 | Balluff Gmbh | Sensorgerät, Sensorsystem und Verfahren zum Betreiben eines Sensorgeräts |
NL2022535B1 (en) * | 2019-02-08 | 2020-08-19 | Schreder Sa | Managing a network comprising multiple communication devices |
CN111968694A (zh) * | 2020-09-07 | 2020-11-20 | 湖南国科微电子股份有限公司 | 一种数据保护装置、存储设备及存储系统 |
CN113419977B (zh) * | 2021-05-28 | 2023-03-21 | 济南浪潮数据技术有限公司 | 一种服务器中pcie设备管理系统和服务器 |
CN113722158B (zh) * | 2021-10-08 | 2022-08-30 | 亿次网联(杭州)科技有限公司 | 电子设备及其掉电保护方法、装置、存储介质 |
CN113726619A (zh) * | 2021-10-08 | 2021-11-30 | 亿次网联(杭州)科技有限公司 | 家庭云服务器 |
CN113946290B (zh) * | 2021-10-14 | 2023-06-06 | 西安紫光国芯半导体有限公司 | 基于三维异质集成的存储器件以及存储系统 |
CN114153649B (zh) * | 2021-12-09 | 2023-04-14 | 合肥康芯威存储技术有限公司 | 一种数据存储设备及其控制方法与电子设备 |
CN115437853B (zh) * | 2022-11-07 | 2023-03-10 | 四川省华存智谷科技有限责任公司 | 系统异常重启下的缓存数据保护方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293426A (ja) * | 2007-05-28 | 2008-12-04 | Toshiba Corp | 情報処理装置及びそのデータ記録方法 |
CN103049070A (zh) * | 2012-12-27 | 2013-04-17 | 加弘科技咨询(上海)有限公司 | 缓存数据的掉电保护方法及计算机设备 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183801B (zh) * | 2007-12-07 | 2011-03-16 | 杭州华三通信技术有限公司 | 一种掉电保护方法、系统和装置 |
CN101458668A (zh) * | 2008-12-19 | 2009-06-17 | 成都市华为赛门铁克科技有限公司 | 缓存数据块的处理方法和硬盘 |
CN101609435B (zh) * | 2009-03-24 | 2012-01-04 | 成都市华为赛门铁克科技有限公司 | 一种设备掉电保护的方法和电子设备 |
WO2014000300A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 数据缓存装置、数据存储系统及方法 |
CN103455449B (zh) * | 2013-08-29 | 2016-12-28 | 华为技术有限公司 | 非易失性存储介质访问方法、数据更新方法及设备 |
CN103942160B (zh) * | 2014-04-03 | 2018-08-21 | 华为技术有限公司 | 存储系统、存储设备及数据存储方法 |
-
2014
- 2014-04-03 CN CN201410133653.7A patent/CN103942160B/zh active Active
-
2015
- 2015-01-19 WO PCT/CN2015/071031 patent/WO2015149577A1/zh active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293426A (ja) * | 2007-05-28 | 2008-12-04 | Toshiba Corp | 情報処理装置及びそのデータ記録方法 |
CN103049070A (zh) * | 2012-12-27 | 2013-04-17 | 加弘科技咨询(上海)有限公司 | 缓存数据的掉电保护方法及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103942160A (zh) | 2014-07-23 |
WO2015149577A1 (zh) | 2015-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103942160B (zh) | 存储系统、存储设备及数据存储方法 | |
US10438669B2 (en) | Flash storage device with data integrity protection | |
CN101183801B (zh) | 一种掉电保护方法、系统和装置 | |
US8667331B2 (en) | Storage system and control method for storing write data requested by a host computer | |
US9075733B1 (en) | Selective storage of address mapping metadata in a system having multiple memories | |
US20100080057A1 (en) | Providing A Capacitor-based Power Supply To Enable Backup Copying Of Data From Volatile Storage To Persistent Storage | |
CN100474271C (zh) | 一种多级缓冲的存储系统和方法 | |
CN102929805A (zh) | 一种存储系统缓存数据掉电保护方法 | |
CN104021093A (zh) | 一种基于nvdimm的存储设备的掉电保护方法 | |
CN101826060A (zh) | 固态硬盘掉电数据保护方法及装置 | |
CN101458668A (zh) | 缓存数据块的处理方法和硬盘 | |
CN101963891A (zh) | 数据存储处理方法与装置、固态硬盘系统与数据处理系统 | |
WO2015039422A1 (zh) | 一种存储系统掉电数据备份方法及存储系统控制器 | |
CN102004707A (zh) | 一种固态硬盘掉电保护的方法及其装置 | |
US10976800B2 (en) | Electronic device capable of reducing power consumption and method for reducing power consumption of electronic device | |
CN104571933A (zh) | 具固态储存元件的电子装置及其相关控制方法 | |
WO2017114236A1 (zh) | 充电方法、装置及固态硬盘 | |
JP2018161013A (ja) | メモリシステム、及びメモリシステムの制御方法 | |
CN103399520B (zh) | 用于可编程逻辑控制器系统的掉电数据存取方法及装置 | |
CN107608824B (zh) | 一种非易失性计算装置及其工作方法 | |
US9697097B2 (en) | Storage system and method for controlling storage system | |
CN109918228A (zh) | 一种数据掉电保持方法及系统 | |
CN212486629U (zh) | 一种相机掉电时防止数据丢失的断电保护系统 | |
CN107957922A (zh) | 一种存储器断电保护方法 | |
US20130073792A1 (en) | Electronic apparatus using nand flash and memory management method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |