基于写时拷贝的数据写入方法及设备的制作方法

文档序号:6480888阅读:139来源:国知局
专利名称:基于写时拷贝的数据写入方法及设备的制作方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于写时拷贝的数据写入方 法及设备。
背景技术
目前,磁盘阵列技术已广泛应用于数据存储中,磁盘阵列技术可以在一 定程度上减少由于磁盘物理故障造成的数据丢失和损坏。但是在实际应用中, 由于软件错误、人为失误、病毒攻击等软故障造成的数据丟失和损坏的概率 要比物理故障高得多,而单纯采用,兹盘阵列技术无法解决这类软故障造成的 数据丟失问题。
快照技术是一种有效的在线备份方法,快照技术的原理是在硬盘等存储 设备中虚拟出一个快照空间,根据设定的规则创建数据在某时刻的一个瞬时 映像,然后将该瞬时映像存储在快照空间中,当数据由于软故障而需要恢复 时,即可根据快照空间中存储瞬时映像将数据区中的数据恢复到快照时间点 的状态。在磁盘阵列中采用快照技术可以将软、硬件保护方法结合起来,从
而提高数据的可靠性。快照技术按实现方法划分,主要有三种方式分离镜 像(Split Mirror )、写时拷贝(Copy-On-Write )和写重定向(Redirect-On-Write )。 其中写时拷贝方法因占用空间小,创建快照时间短等优点,广泛地应用在各
种快照系统中。
现有的基于写时拷贝的数据写入方法应用于包括源数据区和快照空间的 存储设备中,每次启动快照功能后,若来自外部设备的写请求数据在被写入 源数据区前需要对源数据区中的数据进行写时拷贝,则要分以下三个步骤进 行写请求数据的写入(1)从源数据区中读出需要进行写时拷贝的数据;(2) 将从源数据区读出的数据写入快照空间;(3)将来自外部设备的写请求数据 写入源数据区的相应位置。这三个步骤是串行执行的,即来自外部设备的写请求数据需要等待源数据区中需要进行写时拷贝的数据被写入到快照空间 后,才能被写入到源数据区,对来自外部设备的写请求响应时间较长。

发明内容
本发明提供了 一种基于写时拷贝的数据写入方法及设备,缩短了对来自 外部设备的写请求的响应时间。
本发明提供了 一种基于写时拷贝的数据写入方法,应用于包括源数据区、
快照空间和高速緩冲存储器的存储设备中,所述方法包括以下步骤 接收写请求数据;
在所述源数据区中为所述写请求数据分配数据块;
判断所述分配的数据块是否第一次被写入,若判断结果为是,将所述源 数据区中分配的数据块中的原有的数据写入所述高速緩冲存储器中,将所述 写请求数据写入所述分配的数据块中,若判断结果为否,直接将所述写请求 数据写入所述分配的数据块中;若达到设定的刷新条件,将所述高速緩冲存 储器中的数据写入所述快照空间。
其中,还包括
在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比 特位设置为无效;
所述判断所述分配的数据块是否第 一次被写入包括
根据与所述分配的数据块对应的位图的比特位判断所述分配的数据块是 否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次 被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入;
所述将所述分配的数据块中的原有的数据写入所述高速緩冲存储器中之 后,还包括
将所述分配的数据块对应的位图的比特位设置为有效。 其中,所述将源数据区中分配的数据块中的原有的数据写入所述高速緩 冲存储器中包括
在所述快照空间中为所述源数据区中原有的数据分配数据块;根据所述高速緩冲存储器与所述快照空间的地址映像对应关系确定所述
快照空间中分配的数据块对应的所述高速緩冲存储器的数据块地址;
将所述源数据区中原有的数据写入到所述确定的高速緩沖存储器的数据 块地址中。
其中,所述若达到设定的刷新条件,将所述高速緩冲存储器中的数据写 入所述快照空间包括
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,在时间长度阔值范围内没有再向所述高速緩沖存储器中写 入数据,将所述高速緩冲存储器中的数据写入所述快照空间;或
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,所述高速緩冲存储器的总存储容量达到存储容量阈值,将 所述高速緩冲存储器中的数据写入所述快照空间。
其中,所述若达到设定的刷新条件,将所述高速緩冲存储器中的数据写 入所述快照空间包括
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之前,所述确定的高速緩沖存储器的数据块中已经存储了数据, 将所述高速緩冲存储器中的数据写入所述快照空间。
本发明还提供了 一种应用本发明方法的设备,所述设备包括源数据区、 快照空间和高速緩冲存储器,所述设备至少还包括
接收模块,用于接收来自外部设备的写请求数据;
分配模块,与所述接收模块连接,用于在所述源数据区中为所述接收模 块接收的写请求数据分配数据块;
判断模块,与所述分配模块连接,用于判断所述分配模块分配的数据块 是否第一次被写入数据;
处理模块,与所述接收模块、所述分配模块和所述判断模块分别连接, 用于若所述判断模块的判断结果为是,将所述分配模块分配的数据块中的原 有的数据写入所述高速緩冲存储器中,将所述接收模块接收的写请求数据写入到所述分配模块分配的数据块中,若所述判断模块的判断结果为否,直接
将所述写请求数据写入到所述分配的数据块中;若达到设定的刷新条件,将 所述高速緩冲存储器中的数据写入所述快照空间。 其中,所述设备还包括设置模块,
则所述设置模块,还与所述分配模块连接,用于写时拷贝功能启动后, 将所述源数据区中所有数据块对应的位图的比特位设置为无效;在所述处理 模块将所述分配模块分配的数据块中的原有的数据写入所述高速緩冲存储器 中之后,将所述分配模块分配的数据块对应的位图的比特位设置为有效;
所述判断模块,与所述设置模块连接,具体用于根据所述设置模块设置 的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特位为 无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效,则 判断所述分配的数据块不是第一次被写入。
其中,所述处理^t块具体用于
若所述判断模块的判断结果为是,在所述快照空间中为所述源数据区中 原有的数据分配数据块;
根据所述高速緩冲存储器与所述快照空间的地址映像对应关系确定所述 快照空间中分配的数据块对应的所述高速緩沖存储器的数据块地址;
将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数据 块地址中;
将所述写请求数据写入所述源数据区中。 其中,所述处理模块进一步用于
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,在时间长度阈值范围内没有再向所述高速緩冲存储器中写 入数据,将所述高速缓冲存储器中的数据写入所述快照空间;或
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,所述高速緩沖存储器的总存储容量达到存储容量阈值,将 所述高速緩沖存储器中的数据写入所述快照空间。
其中,所述处理模块进一步用于
8若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之前,所述确定的高速緩沖存储器的数据块中已经存储了数据, 将所述高速緩冲存储器中的数据写入所述快照空间。
本发明中,先将源数据区中需要进行写时拷贝的数据写入高速緩冲存储 器中,然后将写请求数据写入到源数据区中,若达到设定的刷新条件,将高 速援冲存储器中的数据写入快照空间。由于将数据写入高速緩冲存储器中的 速度远高于将数据写入存储设备的快照空间中的速度,和现有技术相比,缩 短了对来自外部设备的写请求的响应时间。


图1是本发明中一种基于写时拷贝的数据写入方法流程图2是本发明中一种基于写时拷贝的数据写入方法流程图3是本发明中一种高速緩冲存储器与快照空间的映射关系示意图4是本发明中一种基于写时拷贝的数据写入方法流程图5是本发明中一种实现基于写时拷贝的数据写入方法的设备结构示意图。
具体实施例方式
本发明主要提供了一种基于写时拷贝的数据写入方法,主要思路是本 发明中,先将源数据区中需要进行写时拷贝的数据写入高速緩冲存储器中, 然后将写请求数据写入到源数据区中,若达到设定的刷新条件,将高速緩冲 存储器中的数据写入快照空间。由于将数据写入高速緩冲存储器中的速度远 高于将数据写入存储设备的快照空间中的速度,和现有技术相比,缩短了对 来自外部设备的写请求的响应时间。
本发明提出了 一种基于写时拷贝的数据写入的方法,应用于包括源数据 区、快照空间和高速緩冲存储器的存储设备中,所述源数据区和所述快照空 间可以是通过RAID技术虛拟的存储空间,所述方法如图1所示,包括以下 步骤步骤101,接收来自外部设备的写请求数据。
步骤102,在源数据区中为写请求数据分配数据块。
步骤103,判断分配的数据块是否第一次被写入,若判断结果为是,将源 数据区中分配的数据块中的原有的数据写入高速緩冲存储器中,将写请求数 据写入分配的数据块中,若判断结果为否,直接将写请求数据写入分配的数 据块中;若达到设定的刷新条件,将高速緩冲存储器中的数据写入快照空间。
在写时拷贝功能启动后,可以将源数据区中所有数据块对应的位图的比 特位设置为无效。则在步骤103中,可以才艮据与分配的数据块对应的位图的 比特位判断分配的数据块是否第一次被写入,若位图的比特位为无效,则判 断分配的数据块是第一次被写入,若位图的比特位为有效,则判断分配的数 据块不是第一次被写入。则将分配的数据块中的原有的数据写入高速緩冲存 储器中之后,还可以包括将分配的数据块对应的位图的比特位设置为有效。
步骤103中,将源数据区中分配的数据块中的原有的数据写入高速缓冲 存储器中可以包括在快照空间中为源数据区中原有的数据分配数据块;根 据高速緩冲存储器与快照空间的地址映像对应关系确定快照空间中分配的数 据块对应的高速緩冲存储器的数据块地址;将源数据区中原有的数据写入到 确定的高速緩冲存储器的数据块地址中。
步骤103中,若达到设定的刷新条件,将高速緩沖存储器中的数据写入 快照空间可以包括
若将源数据区中原有的数据写入到确定的高速緩冲存储器的数据块地址 中之后,在时间长度阈值范围内没有再向高速緩冲存储器中写入数据,则将 高速緩沖存储器中的数据写入快照空间;或
若将源数据区中原有的数据写入到确定的高速緩沖存储器的数据块地址 中之后,高速緩沖存储器的总存储容量达到存储容量阈值,则将高速緩冲存 储器中的数据写入快照空间;或
若将源数据区中原有的数据写入到确定的高速緩冲存储器的数据块地址 中之前,确定的高速緩冲存储器的数据块中已经存储了数据,则将高速緩冲 存储器中的数据写入快照空间。具体地,本发明提出了一种基于写时拷贝的数据写入方法,应用于包括 源数据区、快照空间和高速緩冲存储器的存储设备中,所述源数据区和快照
空间可以是通过RAID技术虚拟的存储空间,所述方法如图2所示,包括以 下步骤
步骤201,接收来自外部设备的写请求数据。
步骤202,在源数据区中为写请求数据分配数据块。
可以根据写请求数据的长度和源数据区中数据块的大小对写请求数据进 行拆分,之后,根据设定的规则为拆分后的数据分配数据块空间,即将源数 据区中的数据块资源分配给写请求数据。
步骤203,判断为写请求数据分配的数据块在写时拷贝功能启动后是否第 一次被写入。若判断结果为是,转步骤204,若判断结果为否,转步骤205。
可以根据与源数据区中的数据块对应的位图的比特位判断为写请求数据 分配的数据块是否第一次被写入。
在写时拷贝功能启动后,存储设备会创建一个和源数据区中的数据块对 应的位图,该位图的每个比特位对应源数据区中的一个数据块,在创建该位 图时,位图的所有比特位都被设置为无效,具体的,可以将位图的所有比特 位都初始化设置为0或都设置为1,以0或1作为无效标记。当为写入数据分 配了数据块资源后,可以根据位图的比特位是否为无效标记判断为写请求数 据分配的数据块是否第一次被写入。若为一个写请求数据分配的数据块有多 个,则需要判断多个数据块中的每个是否第一次被写入。
步骤204,将源数据区中的原有的数据写入高速緩冲存储器中。
在将数据写入高速緩冲存储器的过程中,首先要为源数据区中需要进行
写时拷贝的原有的数据在快照空间中分配数据块资源,然后根据高速緩冲存 储器与快照空间的地址映像对应关系确定写入高速緩沖存储器的数据块地 址,最后根据确定好的数据块地址将需要进行写时拷贝的数据写入到高速緩 沖存储器中。
高速緩冲存储器与快照空间的地址映像方式可以有如下3种全相联方式、直接相联方式和组相连方式。例如,可以设置高速緩冲存储器与快照空
间采用如图3所示的直接相联映射方式,即根据高速緩冲存储器的存储容量
将快照空间分区,每个区的数据块数量与高速緩冲存储器的数据块数量相同, 快照空间中各区内块号相同的数据块都分别与高速緩冲存储器中块号相同的
数据块进行映射,即高速緩冲存储器的数据块0与快照空间的不同区的数据 块0进行映射,高速緩沖存储器的数据块1与快照空间的不同区的数据块1 进行映射…若为源数据区中需要进行写时拷贝的数据在快照空间中分配的数 据块资源为区1的数据块O,则根据映射规则需要将数据写入到高速緩沖存储 器的数据块0中。
若源数据区中第 一次被写入的数据块有多个,则需要根据映射规则将该 多个数据块中原有的数据都写入高速緩冲存储器中。若需要写入数据的高速 緩冲存储器的数据块已经保存了数据,则需要先将高速緩冲存储器中存储的 数据写入到快照空间,然后将需要进行写时拷贝的数据写入到高速緩冲存储 器中。需要指出的是,将数据写入高速緩冲存储器中的速度远高于将数据写 入固态硬盘的虚拟快照空间中的速度,耗费的时间与将数据写入固态硬盘的 虚拟快照空间中所井毛费的时间相比几乎可以忽略不计。
步骤205,将写请求数据写入到源数据区中。
在将第一次被写入的数据块中的原有数据写入到高速緩冲存储器后,或 者在判断为写请求数据分配的数据块不是第一次被写入之后,将写请求数据 写入到源数据区中。
若被写入数据的数据块是第一次被写入数据,则在写入数据后,还需要 将该数据块对应的位图的比特位设置为有效。如果位图的比特位以0作为无 效标记,则将该数据块对应的位图的比特位设置为1;如果位图的比特位以l 作为无效标记,则将该数据块对应的位图的比特位设置为0。
步骤206,判断是否达到高速緩冲存储器的刷新条件。若判断结果为是, 转步骤207,若判断结果为否,则结束流程。
步骤207,将高速緩冲存储器中的数据写入快照空间。
高速緩冲存储器的刷新条件(flush条件)可以设置为如下两个1.可以设置一个时间长度阈值,若在该时间长度阈值范围内没有向高速緩冲存储器 中写入数据,则将高速緩冲存储器中存储的数据写入到快照空间,具体的, 可以将高速緩冲存储器中存储的所有数据都写入到快照空间中。这样做可以 保证高速緩冲存储器中不会长时间保存快照数据,从而避免由于断电等突发
原因造成的快照数据丟失。具体的,可以设置时间长度阈值为两分钟。2.设
置一个存储容量阔值,当高速緩冲存储器的总存储容量达到存储容量阈值时, 则将高速緩冲存储器中存储的数据写入到快照空间。具体的,可以将高速緩 沖存储器中存储的所有数据都写入到快照空间中,也可以将高速緩冲存储器 中存储的一部分数据写入到快照空间中。具体的,可以将高速緩冲存储器的
存储容量阈值设置为高速緩冲存储器的总存储容量的80%。
具体地,本发明提出了一种基于写时拷贝的数据写入方法,应用于包括 源数据区、快照空间和高速緩冲存储器的存储设备中,所述源数据区和快照 空间可以是通过RAID技术虚拟的存储空间,所述方法如图4所示,包括以 下步骤
步骤401,接收来自外部设备的写请求数据。
步骤402,在源数据区中为写请求数据分配凄t据块。 可以根据写请求数据的长度和源数据区中数据块的大小对写请求数据进
行拆分,之后,根据设定的规则为拆分后的数据分配数据块空间,即将源数 据区中的数据块资源分配给写请求数据。
步骤403,判断为写请求数据分配的数据块是否第一次被写入。若判断结 果为是,转步骤404,若判断结果为否,转步骤407。
可以根据与源数据区中的数据块对应的位图的比特位判断为写请求数据 分配的数据块是否第一次被写入。
步骤404,为源数据区中需要进行写时拷贝的原有的数据在快照空间中分 配数据块资源,并根据高速緩沖存储器与快照空间的地址映像对应关系确定 写入高速緩冲存储器的凄史据块地址。
步骤405,判断高速緩冲存储器中需要写入数据的数据块中是否已经存储
13了数据,若判断结果为是,转步骤406,若判断结果为否,转步骤407。 步骤406,将高速緩冲存储器中的数据写入快照空间。 具体的,可以将高速緩冲存储器中存储的所有数据都写入到快照空间中,
也可以只将需要写入数据的数据块中已经存储的数据写入到快照空间中。
步骤407,将源数据区中的原有的数据写入确定的高速緩冲存储器的数据
块地址中。
步骤408,将写请求数据写入到源数据区中。
本发明还提供了一种与本发明方法对应的设备,所述设备包括源数据区、 快照空间和高速緩沖存储器,所述源数据区和快照空间可以是通过RAID技 术虚拟的存储空间,如图5所示,所述设备还包括接收模块501、分配模块 502、设置模块503、判断模块504和处理模块505,其中,
接收模块501,用于接收来自外部设备的写请求数据。
分配模块502,与接收模块501连接,用于在源数据区中为接收模块501 接收的写请求数据分配数据块。
可以根据写请求数据的长度和源数据区中数据块的大小对写请求数据进 行拆分,之后,根据设定的规则为拆分后的数据分配数据块空间,即将源数 据区中的数据块资源分配给写请求数据。
设置模块503,与分配模块502连接,用于在写时拷贝功能启动后,将所 述源数据区中所有数据块对应的位图的比特位设置为无效,具体的,可以将 位图的所有比特位都初始化i殳置为O或都i殳置为1,以0或1作为无效标记; 在处理模块505将分配模块502分配的数据块中的原有的数据写入所述高速 緩冲存储器中之后,将分配模块502分配的数据块对应的位图的比特位设置 为有效。
判断模块504,与分配模块502和设置模块503分别连接,用于根据设置 模块503设置的位图的比特位判断分配模块502分配的数据块是否第一次被 写入,若所述比特位为无效,则判断所述分配的数据块是第一次被写入,若 所述比特位为有效,则判断所述分配的数据块不是第一次被写入。
14处理模块505,与接收模块501、分配模块502和判断模块504分别连接, 用于若判断模块504的判断结果为是,将分配模块502分配的数据块中的原 有的数据写入高速緩冲存储器中,将接收模块501接收的写请求数据写入到 分配模块502分配的数据块中,若判断模块504的判断结果为否,直接将接 收模块501接收的写请求数据写入到分配模块502分配的数据块中;若达到 设定的刷新条件,将所述高速緩冲存储器中的数据写入所述快照空间。
处理模块505具体用于
若判断模块504的判断结果为是,在所述快照空间中为所述源凄t据区中 原有的数据分配数据块。
根据所述高速緩冲存储器与所述快照空间的地址映像对应关系确定所述 快照空间中分配的数据块对应的所述高速緩冲存储器的数据块地址。具体的, 高速緩冲存储器与快照空间的地址映像方式可以有如下3种全相联方式、 直接相联方式和组相连方式。例如,可以设置高速緩冲存储器与快照空间采 用如图3所示的直接相联映射方式,即根据高速緩冲存储器的存储容量将快 照空间分区,每个区的数据块数量与高速緩沖存储器的数据块数量相同,快 照空间中各区内块号相同的数据块都分别与高速緩沖存储器中块号相同的数 据块进行映射。则处理模块505需要根据高速緩沖存储器与快照空间的直接 相联映射关系确定快照空间中分配的数据块对应的所述高速緩沖存储器的数 据块地址。
将所述源数据区中原有的数据写入到所述确定的高速緩沖存储器的数据 块地址中。具体的,若源数据区中第一次被写入的数据块有多个,则需要根 据映射规则将该多个数据块中原有的数据都写入高速緩沖存储器中。若需要 写入数据的高速緩沖存储器的数据块已经保存了数据,则需要先将高速緩冲 存储器中存储的数据写入到快照空间,然后将需要进行写时拷贝的数据写入 到高速緩沖存储器中。
将所述写请求数据写入所述源数据区中。
处理模块505进一步用于
若将所述源数据区中原有的数据写入到所述确定的高速緩沖存储器的数据块地址中之后,在时间长度阈值范围内没有再向所述高速緩冲存储器中写 入数据,将所述高速緩冲存储器中的数据写入所述快照空间。具体的,可以 将高速緩冲存储器中存储的所有数据都写入到快照空间中。这样做可以保证 高速緩冲存储器中不会长时间保存快照数据,从而避免由于断电等突发原因
造成的快照数据丢失。具体的,可以设置时间长度阈值为两分钟;或
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,所述高速緩沖存储器的总存储容量达到存储容量阈值,将 所述高速緩冲存储器中的数据写入所述快照空间。具体的,可以将高速缓冲 存储器中存储的所有数据都写入到快照空间中,也可以将高速緩冲存储器中 存储的一部分数据写入到快照空间中。具体的,可以将高速緩冲存储器的存 储容量阈值设置在总存储容量的80%;或
若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之前,所述确定的高速緩冲存储器的数据块中已经存储了数据, 将所述高速緩冲存储器中的数据写入所述快照空间。具体的,可以将高速緩 冲存储器中存储的所有数据都写入到快照空间中,也可以只将需要写入数据 的数据块中已经存储的数据写入到快照空间中。
本发明中,先将源数据区中需要进行写时拷贝的数据写入高速緩冲存储 器中,然后将写请求数据写入到源数据区中,若达到设定的刷新条件,将高 速緩冲存储器中的数据写入快照空间。由于将数据写入高速緩冲存储器中的 速度远高于将数据写入存储设备的快照空间中的速度,和现有技术相比,缩 短了对来自外部设备的写请求的响应时间。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬 件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技
现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使 得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行
16本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此, 任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1、一种基于写时拷贝的数据写入方法,应用于包括源数据区、快照空间和高速缓冲存储器的存储设备中,其特征在于,所述方法包括以下步骤接收来自外部设备的写请求数据;在所述源数据区中为所述写请求数据分配数据块;判断所述分配的数据块是否第一次被写入,若判断结果为是,将所述源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述写请求数据写入所述分配的数据块中,若判断结果为否,直接将所述写请求数据写入所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。
2、 如权利要求l所述的方法,其特征在于,还包括在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比 特位设置为无效;所述判断所述分配的数据块是否第 一次被写入包括根据与所述分配的数据块对应的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特位为无效,则判断所述分配的数据块是第一次 被写入,若所述比特位为有效,则判断所述分配的数据块不是第一次被写入; 所述将所述分配的数据块中的原有的数据写入所述高速緩沖存储器中之 后,还包括将所述分配的数据块对应的位图的比特位设置为有效。
3、 如权利要求l所述的方法,其特征在于,所述将源数据区中分配的数 据块中的原有的数据写入所述高速緩沖存储器中包括在所述快照空间中为所述源数据区中原有的数据分配凄史据块; 根据所述高速緩冲存储器与所述快照空间的地址映像对应关系确定所述快照空间中分配的数据块对应的所述高速緩冲存储器的数据块地址;将所述源数据区中原有的数据写入到所述确定的高速緩沖存储器的数据块地址中。
4、 如权利要求3所述的方法,其特征在于,所述若达到设定的刷新条件,将所述高速緩冲存储器中的数据写入所述快照空间包括若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,在时间长度阈值范围内没有再向所述高速緩冲存储器中写 入数据,将所述高速緩冲存储器中的数据写入所述快照空间;或若将所述源数据区中原有的数据写入到所述确定的高速缓冲存储器的数 据块地址中之后,所述高速緩冲存储器的总存储容量达到存储容量阈值,将 所述高速緩冲存储器中的数据写入所述快照空间。
5、 如权利要求3所述的方法,其特征在于,所述若达到设定的刷新条件, 将所述高速緩冲存储器中的数据写入所述快照空间包括若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之前,所述确定的高速緩沖存储器的数据块中已经存储了数据, 将所述高速緩冲存储器中的数据写入所述快照空间。
6、 一种应用本发明方法的存储设备,所述设备包括源数据区、快照空间 和高速緩冲存储器,其特征在于,所述设备至少还包括接收模块,用于接收来自外部设备的写请求数据;分配模块,与所述接收模块连接,用于在所述源数据区中为所迷接收模 块接收的写请求数据分配数据块;判断模块,与所述分配模块连接,用于判断所述分配模块分配的数据块 是否第一次被写入数据;处理模块,与所述接收模块、所述分配模块和所述判断模块分别连接, 用于若所述判断^t块的判断结果为是,将所述分配模块分配的数据块中的原 有的数据写入所述高速緩沖存储器中,将所述接收模块接收的写请求数据写 入到所述分配模块分配的数据块中,若所述判断模块的判断结果为否,直接 将所述写请求数据写入到所述分配的数据块中;若达到设定的刷新条件,将 所述高速緩冲存储器中的数据写入所述快照空间。
7、 如权利要求6所述的存储设备,其特征在于,所述设备还包括设置模块,所述设置模块,与所述分配模块连接,用于在写时拷贝功能启动后,将所述源数据区中所有数据块对应的位图的比特位设置为无效;在所述处理模 块将所述分配模块分配的数据块中的原有的数据写入所述高速緩冲存储器中 之后,将所述分配模块分配的数据块对应的位图的比特位设置为有效;则所述判断模块,还与所述设置模块连接,具体用于根据所述设置模块 设置的位图的比特位判断所述分配的数据块是否第一次被写入,若所述比特 位为无效,则判断所述分配的数据块是第一次被写入,若所述比特位为有效, 则判断所述分配的数据块不是第一次被写入。
8、 如权利要求6所述的存储设备,其特征在于,所述处理模块具体用于 若所述判断模块的判断结果为是,在所述快照空间中为所述源数据区中原有的数据分配数据块;根据所述高速緩冲存储器与所述快照空间的地址映像对应关系确定所述 快照空间中分配的数据块对应的所述高速緩冲存储器的数据块地址;将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数据 块地址中;将所述写请求数据写入所述源数据区中。
9、 如权利要求8所述的存储设备,其特征在于,所述处理模块进一步用于若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,在时间长度阈值范围内没有再向所述高速緩沖存储器中写 入数据,将所述高速緩冲存储器中的数据写入所述快照空间;或若将所述源数据区中原有的数据写入到所述确定的高速緩冲存储器的数 据块地址中之后,所述高速缓冲存储器的总存储容量达到存储容量阈值,将 所述高速緩沖存储器中的数据写入所述快照空间。
10、 如权利要求8所述的存储设备,其特征在于,所述处理模块进一步 用于若将所述源数据区中原有的数据写入到所述确定的高速緩沖存储器的数 据块地址中之前,所述确定的高速緩沖存储器的数据块中已经存储了数据, 将所述高速緩冲存储器中的数据写入所述快照空间。
全文摘要
本发明公开了一种基于写时拷贝的数据写入方法及设备,所述方法包括以下步骤接收来自外部设备的写请求数据;在所述源数据区中为所述写请求数据分配数据块;判断所述分配的数据块是否第一次被写入,若判断结果为是,将所述源数据区中分配的数据块中的原有的数据写入所述高速缓冲存储器中,将所述写请求数据写入到所述分配的数据块中,若判断结果为否,直接将所述写请求数据写入所述分配的数据块中;若达到设定的刷新条件,将所述高速缓冲存储器中的数据写入所述快照空间。本发明中,先将需要进行写时拷贝的数据写入高速缓冲存储器中,然后将写请求数据写入到源数据区中,缩短了对来自外部设备的写请求的响应时间。
文档编号G06F11/14GK101482838SQ20091000863
公开日2009年7月15日 申请日期2009年2月6日 优先权日2009年2月6日
发明者兵 张 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1