缓存数据块的处理方法和硬盘的制作方法

文档序号:6468833阅读:151来源:国知局
专利名称:缓存数据块的处理方法和硬盘的制作方法
技术领域
本发明的实施例涉及通信技术领域,特别涉及一种緩存数据块的处理方 法和》更盘。
背景技术
在传统的硬盘技术中,虽然有些传统硬盘中包括CACHE (緩存),但不 涉及CACHE的异常掉电保护。
针对SSD ( Solid State Disk,固态硬盘),作为存储介质的Flash (闪存) 读写速度相对于接口速度慢很多。因此如果将从主机发送过来的数据块直接 写入Flash盘时,大部分时间都花在了 Flash的写操作上,从而大大的降低了 SSD的性能。
因此,为了提高SSD的性能, 一般在SSD内设计CACHE。 CACHE — #:都由SDRAM ( Synchronous Dynamic Random Access Memory, 同步动态l^逭 机存储器)或DDR (Double Date Rate SDRAM,双倍速率SDRAM)等高速 的存储介质组成。在主机发送数据块给SSD时,先将数据块直接写入CACHE 中的空位緩存上,再等SSD空闲时将数据块从CACHE写入Flash。因此可以 较好的解决Flash读写速度慢的问题,从而提高SSD的性能。
由于SDRAM、 DDR等高速的存储介质都是易失性存储介质,因此在异 常掉电时,如果CACHE中的数据块还没有回写到Flash中则将造成数据块丟 失。为了解决该问题,现有技术中提供了 一种基于正常位回写CACHE的方法。 该方法中,当SSD发生异常掉电时,启动掉电保护程序。将CACHE中的所 有数据块逐个回写到Flash中。如图1所示的基于正常位回写CACHE的操作 流程中,预先维护CACHE中数据块的逻辑地址与该翁:据块在Flash中所在物 理地址的映射关系;当掉电发生时,以数据块1为例,通过查找映射表找到 CACHE中数据块1的物理地址,再通过硬盘控制器将数据块1写入Flash中对应的物理地址;然后依次执行,直到最后一个数据块被回写到Flash中。 在实现本发明的过程中,发明人发现现有技术至少存在以下问题 在硬盘中为了提高硬盘的读写速度,通常在硬盘控制器中加入的CACHE 容量都较大。同时现有CACHE回写方法需要针对每一块数据块都去查找映射 表,找到相应的物理位置后再写入到存储介质。在CACHE容量较大的情况下, 这种方式回写速度比较慢,需要的回写时间较长,对备用电源能量的要求较 高。

发明内容
本发明实施例提供一种緩存数据块的处理方法和硬盘,用于在掉电发生 时,提高緩存数据块的保存速度,从而节约备用电源能量。 本发明实施例提供一种緩存数据块的处理方法,包括 检测到异常掉电时,获得硬盘的非易失性存储介质的保留区域中的标杆 物理地址;
根据所述标杆物理地址,将所述硬盘的緩存中的数据块依次写入到所述 硬盘的非易失性存储介质的保留区域中的与所述标杆物理地址关联的连续物 理地址上。
本发明实施例还提供一种硬盘,包括
非易失性存储单元,用于存储数据块,所述非易失性存储单元中具有保 留区域;
控制单元,用于检测到异常掉电时,获得所述非易失性存储单元的保留 区域中的标杆物理地址;根据所述标杆物理地址将緩存中的数据块依次写入 到所述非易失性存储单元保留区域中的与所述标杆物理地址关联的连续物理 地址上。
与现有技术相比,本发明实施例中,通过在异常掉电时将緩存中的所有 数据块直接存储到硬盘的非易失性存储介质的保留区域中与标杆物理地址关 联的连续物理地址上,提高了緩存数据块的保存速度,避免了在异常掉电时, 现有CACHE回写方法中查找映射表的过程,节约了备用电源能量。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中基于正常位回写CACHE的示意图2是本发明实施例中緩存数据块处理方法的流程图3是本发明实施例中缓存数据块处理方法的另 一流程图4是应用本发明实施例緩存数据块处理方法的数据块流向示意图5是本发明实施例中緩存数据块处理方法的再一流程图;;
图6是本发明实施例中上电处理时数据块的流向示意图7是本发明实施例中硬盘的结构示意图8是本发明实施例中硬盘的另一结构示意图。
具体实施例方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种緩存数据块处理方法,如图2所示,包括
步骤s201、检测到异常掉电时,获得硬盘的非易失性存储介质的保留区域中的标杆物理地址。
在一种实现方式下,这里的标杆物理地址可以是硬盘出厂前,预先设置的所述保留区域的首个物理地址或其他物理地址,也可以是动态获取的所述保留区域的范围中的一个物理地址,这个物理地址起到标杆的作用。
步骤s202、根据所述标杆物理地址,将所述硬盘的緩存中的数据块依次写入到所述硬盘的非易失性存储介质的保留区域中的与所述标杆物理地址关联的连续物理地址上。
可见,本发明的实施例所提供的方法中,通过在异常掉电时将緩存中的所有数据块直接存储到硬盘的非易失性存储介质的保留区域中标杆物理地址关联的连续物理地址上,提高了缓存数据块的保存速度,避免了在异常掉电
时,现有CACHE回写方法中查找映射表的过程,节约了备用电源能量。
以下结合一个具体的应用场景,对本发明实施例中緩存数据块处理方法的具体实施方式
进行说明。本发明的实施例中,在硬盘的非易失性存储介质中预先建立一个保留区域,用于在异常断电发生时快速保存緩存中的数据块。具体的缓存数据块处理方法如图3所示,包括
步骤s301、;险测到异常掉电时,获得硬盘的非易失性存储介质的保留区域中的标杆物理地址。
具体的,这里的标杆物理地址可以是指预先设置的该保留区域的首个物理地址或其他物理地址,也可以是动态获取的所述保留区域的范围中的一个物理地址,这个物理地址起到标杆的作用。
步骤s302、将緩存中的数据块依次写入到该硬盘的非易失性存储介质的
应当理解的,在一种实现下,可以是将固态硬盘的cache中的所有数据块依次全部写入固态石更盘的Flash预留的保留区域中的标杆物理地址以及该标杆物理地址之后的连续物理地址上。
具体的,保留区域的空间大小可以和緩存的空间大小基本相同。该异常掉电时,緩存中数据块的流向示意图如图4所示。
需要说明的是,该流程中以将緩存中所有数据块按照顺序依次写入到非易失性存储介质的保留区域中标杆物理地址及之后的连续物理地址为例进行说明,但并不用于限定本发明实施例的保护范围。也可以采取其他方式如将緩存中的数据块依次写入到硬盘的非易失性存储介质的保留区域中的标杆物理地址以及标杆物理地址之前的连续物理地址上;或者,将緩存中的数据块依次写入到硬盘的非易失性存储介质的保留区域中的与标杆物理地址相距
8特定距离的初始物理地址以及初始物理地址之前的连续物理地址上;或者,将緩存中的数据块依次写入到硬盘的非易失性存储介质的保留区域中的与标杆物理地址相距特定距离的初始物理地址以及初始物理地址之后的连续物理地址上,只要保存緩存中的数据块依次写入到该硬盘的非易失性存储介质的保留区域中的连续物理地址上。
可见,本发明的实施例所提供的方法中,通过在异常掉电时将緩存中的所有数据块直接存储到硬盘的非易失性存储介质的保留区域中标杆物理地址关联的连续物理地址上,提高了缓存数据块的保存速度,避免了在异常掉电时,现有CACHE回写方法中查找映射表的过程,节约了备用电源能量,并提高了緩存数据块的可靠性。
假设异常掉电后的某一时刻,对硬盘的正常供电恢复,则本发明实施例中的緩存数据块处理方法如图5所示,还包括
步骤s501、上电初始化后,判断上次掉电为异常掉电时或判断硬盘的保留区域中存在数据块时,获得硬盘的非易失性存储介质的保留区域中首个数据块的物理地址在硬盘的緩存中所对应的初始逻辑地址。
另外,判断上次掉电为异常掉电的方法可以为
当前上电启动后生成第一 随机值并存储在硬盘的非易失性存储介质的保留区域的第 一位置,在硬盘的非易失性存储介质的保留区域的第二位置还保存有当前的上一次上电启动时生成的第二随机值。正常掉电时,使用第一随机值更新第二随机值。
则当前的下一次上电启动后,若第一随机值与第二随机值相同,可以认为上次掉电为正常掉电;若第一随机值与第二随机值不同,则可以认为上次掉电为异常掉电,并^f吏用此次上电启动后生成的第三随^/L值更新第一位置处的第一随机值。
步骤s502、将保留区域中的数据块依次写入到硬盘的緩存中的初始逻辑地址以及之后的连续逻辑地址。即恢复成掉电前的cache状态。该步骤中,从硬盘到緩存中的数据块流向示意图如图6所示。
9步骤s503、获得緩存中每一数据块的逻辑地址在硬盘的非易失性存储介质的用户区中所对应的物理地址。
该用户区指硬盘的非易失性存储介质的保留区域外正常存储用户数据的位置,可以理解的是,硬盘的非易失性存储介质包括保留区域和用户区;緩
表获取,该获取方法与现有技术中的获取方法相同,在此不再赘述。
步骤s504、将緩存中的每一数据块写入硬盘的非易失性存储介质的用户区中所对应的物理地址,即将cache数据回写到硬盘的正常位;由于该緩存数据块的回写过程是在上电后进行的,因此不会消耗备用电池的能源。
需要说明的是,其中将緩存中的数据块回写入硬盘的用户区,可以是经过步骤s502恢复cache数据后,直接回写入硬盘的用户区,也可以是正常处理过程中,和硬盘中其他新緩存到cache中的数据块一起回写入硬盘的用户区。
需要说明的是,该流程中以将非易失性存储介质的保留区域中所有数据块按照物理地址顺序依次复制到緩存中的一个逻辑地址及之后为例进行说明,但并不用于限定本发明实施例的保护范围。也可以采取其他方式如获取非易失性存储介质的保留区域中第 一个数据块的物理地址在緩存中对应的第一逻辑地址(初始逻辑地址)后,将获取非易失性存储介质的保留区域中的数据块依次存储到第一逻辑地址及之前的连续逻辑地址、或第一逻辑地址的特定个字节后的连续逻辑地址等等。
可见,本发明实施例提供的方法中,通过在异常掉电时将緩存中的所有数据块直接存储到硬盘的非易失性存储介质的保留区域中标杆物理地址关联的连续物理地址上,提高了緩存数据块的保存速度,避免了在异常掉电时,现有CACHE回写方法中查找映射表的过程,节约了备用电源能量;以及,减小了对备用电源的充放电要求, 一定程度上也减少了硬盘的功耗;
以及,上电初始化后,恢复掉电前的cache数据,可以采用与现有技术相同的方法将硬盘cache中的数据块回写到硬盘的非易失性存储介质的用户区中,由于该缓存数据块的回写过程是在上电后进行的,因此不会消耗备用电池的能源。
本发明的实施例还提供一种硬盘,如图7所示,包括非易失性存储单元IO,用于存储数据块,非易失性存储单元10中具有保留区域;
控制单元20,用于检测到异常掉电时,获得非易失性存储单元IO的保留区域中的标杆物理地址;根据标杆物理地址将缓存中的数据块依次写入到非易失性存储单元10保留区域中的与该标杆物理地址关联的连续物理地址上。
在一种具体实现下,该硬盘中
上述控制单元20可以为第一控制单元,用于;f全测到异常掉电时,获得非易失性存储单元10的保留区域中的标杆物理地址,并将緩存中的数据块依次写入到非易失性存4渚单元10的保留区域中的标杆物理地址以及标杆物理地址之后的连续物理地址上;
或者,上述控制单元20可以为第二控制单元,用于冲全测到异常掉电时,获得非易失性存储单元IO的保留区域中的标杆物理地址,并将緩存中的数据块依次写入到非易失性存储单元10的保留区域中的标杆物理地址以及标杆物理地址之前的连续物理地址上;
或者,上述控制单元20可以为第三控制单元,用于4企测到异常掉电时,获得非易失性存储单元10的保留区域中的标杆物理地址,并将緩存中的数据块依次写入到非易失性存储单元10的保留区域中与标杆物理地址相距特定距离的初始物理地址以及初始物理地址之前的连续物理地址上;这里的特定距离可以根据实际需要设定,例如可以从标杆物理地址的下一个物理地址起写入。
或者,上述控制单元20可以为第四控制单元,用于4企测到异常掉电时,获得非易失性存储单元10的保留区域中的标杆物理地址,并将緩存中的数据块依次写入到非易失性存储单元10的保留区域中与标杆物理地址相距特定距离的初始物理;也址以及初始物理地址之后的连续物理J也址上。
可见,通过本发明的实施例所提供的硬盘中,通过控制单元20在异常掉电时将緩存中的所有数据块直接存储到非易失性存储单元10中保留区域的连续物理地址上,提高了緩存数据块的保存速度,避免了在异常掉电时,现有
CACHE回写方案中查找映射表的过程,节约了备用电源能量。
假设异常掉电后的某一时刻,对硬盘的正常供电恢复,进一步的,另外,控制单元20还可以用于
在上电初始化后,获得非易失性存储单元10的保留区域中首个数据块的物理地址在緩存中所对应的初始逻辑地址;并将非易失性存储单元IO保留区域中的数据块依次写入到缓存中的初始逻辑地址以及之后的连续逻辑地址。即本发明实施例的硬盘中,当上电初始化后,控制单元20还可以恢复成异常掉电前的cache数据。
如图8所示,在一种实现下,该硬盘还可以包括触发单元30,用于在上电初始化后,确定上次掉电为异常掉电;或者确定非易失性存储单元IO保留区域中保存有数据块时,触发控制单元20获得非易失性存储单元10的保留区域中首个数据块的物理地址在緩存中所对应的初始逻辑地址;并将非易失性存储单元10的保留区域中的数据块依次写入到緩存中的初始逻辑地址以及之后的连续逻辑地址。
另外,控制单元20还用于
获得所述緩存中每一数据块的逻辑地址在非易失性存储单元10的用户区中所对应的物理地址;并将緩存中的每一数据块写入非易失性存储单元10的用户区中所对应的物理地址。该物理地址可以通过查找映射表获耳又,该获取方法可以与现有技术中的获取方法相同,在此不再赘述。
应当理解的是,本发明实施例的硬盘,在一种实现下,可以是固态硬盘,相应的,非易失性存储单元10可以是Flash (闪存)。
可见,本发明实施例提供的硬盘中,通过在异常掉电时将緩存中的所有数据块直接存储到硬盘的非易失性存储介质的保留区域中标杆物理地址关联的连续物理地址上,提高了緩存数据块的保存速度,避免了在异常掉电时,现有CACHE回写方法中查找映射表的过程,节约了备用电源能量;以及,减小了对备用电源的充放电要求, 一定程度上也减少了硬盘的功耗。上述模块可以分布于一个装置,也可以分布于多个装置。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软
件产品可以存储在一个非易失性存储介质(可以是CD-ROM, U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
1权利要求
1、一种缓存数据块的处理方法,其特征在于,包括检测到异常掉电时,获得硬盘的非易失性存储介质的保留区域中的标杆物理地址;根据所述标杆物理地址,将所述硬盘的缓存中的数据块依次写入到所述硬盘的非易失性存储介质的保留区域中的与所述标杆物理地址关联的连续物理地址上。
2、 如权利要求1所述的方法,所述根据所述标杆物理地址,将所述硬盘 的緩存中的数据块依次写入到所述硬盘的非易失性存储介质的保留区域中的 与所述标杆物理地址关^:的连续物理地址上,包括将所述緩存中的数据块依次写入到所述硬盘的非易失性存储介质的保留或者,将所述緩存中的数据块依次写入到所述硬盘的非易失性存储介质 的保留区域中的所述标杆物理地址以及所述标杆物理地址之前的连续物理地 址上;或者,将所述緩存中的数据块依次写入到所述硬盘的非易失性存储介质 的保留区域中的与所述标杆物理地址相距特定距离的初始物理地址以及所述 初始物理地址之前的连续物理地址上;或者,将所述緩存中的数据块依次写入到所述硬盘的非易失性存储介质 的保留区域中的与所述标杆物理地址相距特定距离的初始物理地址以及所述 初始物理地址之后的连续物理地址上。
3、 如权利要求1或2所述的方法,还包括上电初始化后,获得所述硬盘的非易失性存储介质的保留区域中首个数 据块的物理地址在所述硬盘的緩存中所对应的初始逻辑地址;将所述保留区域中的数据块依次写入到所述硬盘的缓存中的所述初始逻 辑地址以及之后的连续逻辑地址。
4、 如权利要求3所述的方法,其特征在于,所述获得所述硬盘的非易失 性存储介质的保留区域中首个数据块的物理地址在所述硬盘的緩存中所对应 的初始逻辑地址的步骤之前,还包括确定上次掉电为异常掉电;或者,确定所述^5更盘的非易失性存储介质的 保留区域中保存有数据块。
5、 如权利要求3所述的方法,其特征在于,所述方法还包括 获得所述缓存中每一数据块的逻辑地址在硬盘的非易失性存储介质的用户区中所对应的物理地址;将所述緩存中的每一数据块写入所述硬盘的非易失性存储介质的用户区 中所对应的物理地址。
6、 一种硬盘,其特征在于,包括非易失性存储单元,用于存储数据块,所述非易失性存储单元中具有保 留区域;控制单元,用于检测到异常掉电时,获得所述非易失性存储单元的保留 区域中的标杆物理地址;根据所述标杆物理地址将緩存中的数据块依次写入 到所述非易失性存储单元保留区域中的与所述标杆物理地址关联的连续物理 地址上。
7、 如权利要求6所述硬盘,其特征在于,所述控制单元为第一控制单元, 用于检测到异常掉电时,获得所述非易失性存储单元的保留区域中的标杆物 理地址,并将緩存中的数据块依次写入到所述非易失性存储单元的保留区域或者,所述控制单元为第二控制单元,用于^f企测到异常掉电时,获得所 述非易失性存储单元的保留区域中的标杆物理地址,并将緩存中的数据块依 次写入到所述非易失性存储单元的保留区域中的所述标杆物理地址以及所述 标杆物理地址之前的连续物理地址上;或者,所述控制单元为第三控制单元,用于检测到异常掉电时,获得所 述非易失性存储单元的保留区域中的标杆物理地址,并将所述緩存中的数据 块依次写入到所述非易失性存储单元的保留区域中的与所述标杆物理地址相 距特定距离的初始物理地址以及所述初始物理地址之前的连续物理地址上;或者,所述控制单元为第四控制单元,用于片全测到异常掉电时,获得所 述非易失性存储单元的保留区域中的标杆物理地址,并将所述緩存中的数据块依次写入到所述非易失性存储单元的保留区域中的与所述标杆物理地址相 距特定距离的初始物理地址以及所述初始物理地址之后的连续物理地址上。
8、 如权利要求6所述的硬盘,其特征在于,所述控制单元还用于 在上电初始化后,获得所述非易失性存储单元的保留区域中首个数据块的物理地址在緩存中所对应的初始逻辑地址;并将所述非易失性存储单元保 留区域中的数据块依次写入到所述緩存中的所述初始逻辑地址以及之后的连 续逻辑地址。
9、 如权利要求8所述的硬盘,其特征在于,还包括触发单元,用于在 上电初始化后,确定上次掉电为异常掉电;或者确定所述非易失性存储单元 的保留区域中保存有数据块时,触发所述控制单元获得所述非易失性存储单 元的保留区域中首个翁:据块的物理地址在缓存中所对应的初始逻辑地址;并 将所述非易失性存储单元的保留区域中的数据块依次写入到所述緩存中的所 述初始逻辑地址以及之后的连续逻辑地址。
10、 如权利要求8或9所述的硬盘,其特征在于,所述控制单元还用于 获得所述缓存中每一数据块的逻辑地址在非易失性存储单元的用户区中所对应的物理地址;并将所述缓存中的每一数据块写入所述非易失性存储单 元的用户区中所对应的物理地址。
全文摘要
本发明的实施例公开了一种缓存数据块的处理方法和硬盘。该方法包括检测到异常掉电时,获得硬盘的非易失性存储介质的保留区域中的标杆物理地址;根据所述标杆物理地址,将所述硬盘的缓存中的数据块依次写入到所述硬盘的非易失性存储介质的保留区域中的与所述标杆物理地址关联的连续物理地址上。本发明的实施例中,在异常掉电时将缓存中的所有数据块直接存储到硬盘的非易失性存储介质的保留区域中标杆物理地址关联的连续物理地址上,提高了缓存数据块的保存速度,避免了在异常掉电时,现有CACHE回写方法中查找映射表的过程,节约了备用电源能量,并提高了缓存数据块的可靠性。
文档编号G06F12/16GK101458668SQ20081018725
公开日2009年6月17日 申请日期2008年12月19日 优先权日2008年12月19日
发明者余夕亮, 君 徐 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1