CN101063951A - 采用位映像表算法处理存储设备快照的方法 - Google Patents
采用位映像表算法处理存储设备快照的方法 Download PDFInfo
- Publication number
- CN101063951A CN101063951A CN 200610079007 CN200610079007A CN101063951A CN 101063951 A CN101063951 A CN 101063951A CN 200610079007 CN200610079007 CN 200610079007 CN 200610079007 A CN200610079007 A CN 200610079007A CN 101063951 A CN101063951 A CN 101063951A
- Authority
- CN
- China
- Prior art keywords
- data variable
- mapping table
- value
- table structure
- data
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种采用位映像表算法处理存储设备快照的方法,通过多级动态位映像表算法处理原区块设备与快照设备之间数据的对应关系。位映像表结构包含状态数据变量、总数数据变量、当前数数据变量以及起始位置数据变量。多级动态位映像表结构的级数依照原区块设备的大小和级数确定原则计算出来,通过读取位映像表结构对应的位记录的信息可以确定原区块设备和快照设备之间数据的对应关系。采用位映像表结构可以减少占用的系统内存空间,大大提高查找效率。
Description
技术领域
本发明涉及一种存储设备的快照处理方法,特别是涉及一种采用位映像表算法处理存储设备快照的方法。
背景技术
为满足当前人们存储大量数据的需要,存储设备的数据容量越来越大,而且对数据安全的要求也越来越高。针对在某一时刻在线备份大量数据或在线保护数据的需要,出现了设备快照的技术。快照技术为一种针对包括硬盘、逻辑磁盘等区块设备的备份方式,创建快照的设备称作原区域设备,创建出的快照是与原区块设备相关联的区块设备,称作快照设备。原区块设备可以有多个快照设备,每个快照设备都记录在原区块设备的结构中。原区块设备和快照设备的描述结构都保存在系统随机存取内存(Random-access memory,简称RAM)中,快照设备本身也需要使用一定的实体存储空间。
一般创建快照时需要指定原区块设备、快照实际容量大小以及快照设备本身使用的存储设备,快照设备的逻辑存储容量为原区块设备的大小。快照设备上存储数据并划分空间的最小单位为数据块,一般大小为64k。创建快照设备时需计算出所有可以用来存储原区块设备上数据的数据块数,并使用以下结构描述每个数据块:[原区块设备(org_dev),原区块设备的偏移位置(org_offset),快照设备(snap_dev),快照的偏移位置(snap_offset)],我们称为数据块描述chunk_des。快照设备已经使用的数据块个数标记为当前数据块数cur_chunk,所有的数据块个数标记为总数据块数total_chunk,并标记快照设备关于所有数据块的描述表为chunk_table。
在写入数据至原区块设备时,需要判断原区块设备上数据是否应该先读出并写入至快照设备中,并在所有快照设备处理完成之后,才将数据写入原区块设备,进而通过此种方式可以将快照创建前原区块设备上的数据保留在快照设备中。
对于上述原区块设备上数据是否应该先读出并写入至快照设备中的判断,目前现有技术一般采用以下方式:
1、为了便于查询,每个数据块的描述修改为:[链表指针,chunk_des],称为数据块描述修改chunk_des_new。
2、创建快照设备时计算出可用于保存原区块设备上数据的数据块个数,创建出数据块描述表chunk_table,初始化chunk_des,将每个chunk_des_new中的链表指针赋值为空。
3、采用哈希(hash)算法,将所有快照上已经保存有原区块设备上数据的chunk_des_new加入哈希表中。
4、写入数据至原区块设备时,从哈希表中查找是否原区块设备上此位置的数据已经写入快照设备上(通过在哈希表中查找chunk_table中是否有原区块设备对应的org_dev和org_offset的chunk_des_new存在而实现);如果已经写入,则不用从原区块设备上读出对应位置的数据写入至快照设备上;否则需要从原区块设备上读出对应位置的数据写入快照设备上,并将快照设备当前的chunk_des写入快照设备相应位置;最后将chunk_des_new加入到哈希表中并将快照设备当前的数据块使用数加1。
因此现有技术的主要缺点如下:
1、每个chunk_des_new结构需要至少16个字节,这样对一个稍大规模的快照设备需要消耗的系统RAM过多,如果快照可以自动扩容,具有较大容量的快照设备中用以描述数据块的chunk_table很大,进而占用的RAM将会很大。
2、对于较大的快照设备,需要的chunk_des_new的个数较多,对其按照哈希算法的查找效率并不高,即每次查找原区块设备的数据是否存在于快照的chunk_table中时会耗费较多时间,进而查找速度比较慢,效率不高。
3、由于RAM的限制,快照设备的个数不能太多,并且每个快照设备的规模不能太大。
4、此外,因以上限制,数据块大小不能太小,进而导致每次写入数据至原区块设备时,需要从原区块设备上读出数据块大小的数据写入到快照设备上,这样降低了快照设备的有效使用率。
发明内容
本发明所要解决的问题与缺陷在于,提供一种采用位映像表算法处理存储设备快照的方法,通过一个多级动态位映像(bitmap)表算法处理一个原区块设备与一个快照设备之间数据的对应关系。
本发明所提供的一种采用位映像表算法处理存储设备快照的方法,包括以下步骤:
a)创建快照设备,并从操作系统获取系统页的大小作为快照设备存储数据并划分空间的最小单位的数据区块大小;
b)启始化包含状态数据变量、总数数据变量、当前数数据变量以及起始位置数据变量的第一级位映像表结构,并添加第一级位映像表结构的指针至快照设备的描述结构中,其中,状态数据变量为列举数据型态,此列举数据型态包含未分配数据变量、未写满数据变量以及已写满数据变量,总数数据变量为原区块设备的大小除以原区块设备计数的基本单位的值,起始位置数据变量为指针数据型态;
c)当需要将数据写入原区块设备时,判断指针所指向的当前位映像表结构的状态数据变量的值;
d)当状态数据变量的值为未分配时,依照级数确定原则判断当前位映像表结构是否为最后一级位映像表结构;
e)当前位映像表结构为最后一级位映像表结构时,为当前位映像表结构的起始位置数据变量分配与当前位映像表结构的总数数据变量的值相等数目位的内存空间,将每个内存空间赋值为0,将当前位映像表结构的状态数据变量赋值为未写满,并执行步骤j);
f)当前位映像表结构不为最后一级位映像表结构时,按以下公式为当前位映像表结构的起始位置数据变量分配内存空间:该当前位映像表结构的总数数据变量的值×本级每一位映像表结构的大小,并将当前位映像表结构的状态数据变量赋值为未写满;
g)依照级数确定原则计算出当前位映像表结构的下一级位映像表结构的总数数据变量的值,并依照数据写入到该原区块设备的位置确定当前位映像表结构的起始位置数据变量的值,将指针指向当前位映像表结构的起始位置数据变量的值所对应的位映像表结构,并执行步骤c);
h)当状态数据变量的值为未写满时,判断当前位映像表结构是否为最后一级位映像表结构,当前位映像表结构为最后一级位映像表结构时,执行步骤j);
i)当前位映像表结构不为最后一级位映像表结构时,依照数据写入到原区块设备的位置确定当前位映像表结构的起始位置数据变量的值,将指针指向当前位映像表结构的起始位置数据变量的值所对应的位映像表结构,并执行步骤c);
j)判断当前位映像表结构的起始位置数据变量对应的位是否为1,当前位映像表结构的起始位置数据变量的值对应的位为1时,则将数据写入原区块设备;
k)当前位映像表结构的起始位置数据变量的值对应的位为0时,从原区块设备的对应位置读取数据并将读取的数据写入快照设备的对应位置,并将当前位映像表结构的起始位置数据变量的值对应的位赋值为1,且将当前位映像表结构的当前数数据变量的值加1,并执行步骤1);
l)判断当前位映像表结构的当前数数据变量的值是否等于当前位映像表结构的总数数据变量的值,当前位映像表结构的当前数数据变量的值不等于当前位映像表结构的总数数据变量的值时,将数据写入原区块设备,否则,执行步骤m);
m)释放当前位映像表结构所占用的内存空间,将当前位映像表结构的状态数据变量的值赋值为已写满,将指针指向上一级位映像表结构,并将上一级位映像表结构的当前数数据变量的值加1,执行步骤1);以及
n)当状态数据变量的值为已写满时,将数据写入原区块设备。
所述的方法还包括输入该原区块设备的名称、该快照设备使用的实体区块设备的名称以及该快照设备的大小的参数;以及检查该输入参数的合法性并取整的步骤。
所述级数确定原则包含以下步骤:
确定最后一级位映像表结构的总数数据变量的值,其中,最后一级位映像表结构的总数数据变量的值满足以下条件:总数数据变量的值>2×本级位映像表结构的大小,且总数数据变量的值可以被中央处理单元的机器位整除;以及确定第一级位映像表结构以外的每一级位映像表结构的总数数据变量的值,其中,每一级位映像表结构的总数数据变量的值为按照以下公式计算所得值中的最大值:本级位映像表结构的大小×总数数据变量的值<每一位映像表结构所代表的该原区块设备的存储数据的大小÷总数数据变量的值÷该系统页的大小。
综上所述,本发明利用多级动态位映像表结构算法处理原区块设备与快照设备之间的数据对应关系,可以减少占用的系统内存空间,大大提高了查找效率,且以系统页的大小为基本单位,可以提高快照设备的有效使用效率。
附图说明
图1为本发明的采用位映像表算法处理存储设备快照的方法的方法流程图;以及
图2和图3为本发明的通过多级动态位映像表结构处理原区块设备与快照设备的数据对应关系的方法流程图。
其中,附图标记:
步骤100输入原区块设备的名称、快照设备使用的实体区块设备的名称、快照设备的大小的参数
步骤120检查输入参数的合法性并取整
步骤140创建快照设备,并获取系统页的大小作为快照设备存储数据并划分空间的最小单位的数据区块大小
步骤160启始化第一级位映像表结构,并添加第一级位映像表结构的指针至快照设备的描述结构中
步骤180当需要写入数据至原区块设备时,依照原区块设备的大小和级数确定原则创建多级动态位映像表,并通过多级动态位映像表结构处理原区块设备与快照设备的数据的对应关系
步骤200读取指针所指向的位映像表结构的状态数据变量的值
步骤210判断状态数据变量的值
步骤220是否为最后一级
步骤230为起始位置数据变量分配相应的内存空间,并对状态数据变量赋值为未写满
步骤240为起始位置数据变量分配相应的内存空间,并对状态数据变量赋值为未写满
步骤250计算下一级位映像表结构的总数数据变量的值,计算起始位置数据变量的值,并将指针指向相应的位映像表结构
步骤260是否为最后一级
步骤270计算起始位置数据变量的值,并将指针指向相应的位映像表结构
步骤280将数据写入原区块设备
步骤300起始位置数据变量对应的位是否为1
步骤310将数据写入原区块设备
步骤320从原区块设备读出对应位置的数据并写入快照设备的对应位置,将起始位置数据变量对应的位赋值为1,将当前数数据变量的值加1
步骤330当前数数据变量的值是否大于或等于总数数据变量的值
步骤340释放起始位置数据变量对应的位映像表结构所占用的内存空间,将状态数据变量的值赋值为已写满,将指针指向上一级位映像表结构,并将上一级位映像表结构的当前数数据变量的值加1
具体实施方式
以下,将结合附图部份对本发明的较佳实施方式作详细说明。
图1所示为本发明的采用位映像表算法处理存储设备快照的方法的方法流程图,如图所示,此方法包含以下步骤:
首先,输入原区块设备的名称、快照设备使用的实体区块设备的名称、快照设备的大小的参数(步骤100);接着,检查输入参数的合法性并取整(步骤120);依照输入的合法参数创建快照设备,并从操作系统获取系统页的大小作为快照设备存储数据并划分空间的最小单位的数据区块大小(步骤140);启始化第一级位映像表结构,并添加第一级位映像表结构的指针至快照设备的描述结构中(步骤160),第一级位映像表结构包括状态数据变量、总数数据变量、当前数数据变量以及起始位置数据变量。例如,采用以下描述的结构:
#typedef struct org_lv_bitmap
{
bitmap_status_t status;
int total_count;
int current_count;
void *items;
}org_lv_bitmap_t
其中,状态数据变量为列举数据型态,此列举数据型态包含未分配数据变量、未写满数据变量以及已写满数据变量,未分配数据变量表示下一级位映像表结构尚未分配内存空间,未写满数据变量表示下一级位映像表结构尚未写满,已写满数据变量表示下一级位映像表结构已经写满并释放所占用的内存空间。例如,采用以下描述的列举结构:
typedef enum
{
NO_ALLOC,
NO_FULL,
FULL
}bitmap_status_t
状态数据变量表示下一级位映像表结构的状态,启始化后的值为未分配,即,org_lv_bitmap_t->status=NO_ALLOC;总数数据变量为整数数据型态,其表示下一级位映像表结构的数组元素的总数,启始化后的值为原区块设备的大小除以原区块设备的计数基本单元的值,即,org_lv_bitmap_t->total_count=原区块设备的大小÷原区块设备的计数基本单元;当前数数据变量为整数数据型态,其表示下一级位映像表结构中已写满并释放所占用的内存空间的元素个数,启始化后的值为0,即,org_lv_bitmap_t->current_count=0;起始位置数据变量为指针数据型态,其指向下一级位映像表结构的起始位置,启始化后的值为0,即,org_lv_bitmap_t->items=0。
当需要写入数据至原区块设备时,依照原区块设备的大小和级数确定原则创建多级动态位映像表,并通过多级动态位映像表结构处理原区块设备与快照设备的数据对应关系(步骤180)。其中,每一级位映像表的结构与第一级位映像表的结构相同,级数确定原则包含以下步骤:
确定最后一级位映像表结构的总数数据变量的值,其中,最后一级位映像表结构的总数数据变量的值满足以下条件:总数数据变量的值>2×本级位映像表结构的大小(即,total_count>2×sizeof(org_lv_bitmap_t)),且总数数据变量的值可以被中央处理单元的机器位整除;以及
确定第一级位映像表结构以外的每一级位映像表结构的总数数据变量的值,其中,每一级位映像表结构的总数数据变量的值为按照以下公式计算所得值中的最大值:本级位映像表结构的大小×总数数据变量的值<每一位映像表结构所代表的该原区块设备的存储数据的大小÷总数数据变量的值÷系统页的大小。在实施例中,以current_entry_size表示每一位映像表结构所代表的原区块设备的存储数据的大小,chunk_size表示系统页的大小,则上述公式可描述为:sizeof(org_lv_bitmap_t)×total_co<current_entry_size÷total_count÷chunk_size。
请参考图2和图3,其所示为通过多级动态位映像表结构处理原区块设备与快照设备的数据对应关系的方法流程图。
如图所示,首先读取指针(P)所指向的当前位映像表结构的状态数据变量的值(步骤200);接着,判断状态数据变量的值(步骤210)。
当状态数据变量的值为未分配时,依照级数确定原则判断当前位映像表结构是否为最后一级位映像表结构(步骤220)。
如果当前位映像表结构为最后一级位映像表结构时,为当前位映像表结构的起始位置数据变量分配与当前位映像表结构的总数数据变量的值相等数目位的内存空间,即,为P->items分配P->total_count个位的内存空间,将每个内存空间赋值为0,并将当前位映像表结构的状态数据变量赋值为未写满,即,P->status=NO_FULL(步骤230),并执行步骤300。
如果当前位映像表结构不为最后一级位映像表结构时,则按以下公式为当前位映像表结构的起始位置数据变量分配内存空间:该当前位映像表结构的总数数据变量的值×本级每一位映像表结构的大小,即,为P->items分配P->total_count×sizeof(org_lv_bitmap_t)大小的内存空间,并将当前位映像表结构的状态数据变量赋值为未写满,即,P->status=NO_FULL(步骤240)。
接着,依照级数确定原则计算出当前位映像表结构的下一级位映像表结构的总数数据变量的值,启始化下一级位映像表结构,并依照数据写入到该原区块设备的位置确定当前位映像表结构的起始位置数据变量的值,将指针指向当前位映像表结构的起始位置数据变量的值所对应的位映像表结构(步骤250),并执行步骤210。在实施例中,依照级数确定原则计算出来的下一级位映像表结构的总数数据变量的值为M,X表示指针指向的下一级位映像表结构,则启始化后的下一级位映像表结构为:X=P->items(n)(0<=n<P->total_count),X->status=NO_ALLOC,X->current_count=0,X->items=NULL,X->total_count=M。依照数据写入原区块设备的位置,计算出写入n的序号为k,即,当前位映像表结构的起始位置数据变量的值为k,则P=P->items(k)。
当状态数据变量的值为未写满时,判断当前位映像表结构是否为最后一级位映像表结构(步骤260)。如果当前位映像表结构为最后一级位映像表结构时,执行步骤300。
如果当前位映像表结构不为最后一级位映像表结构时,依照数据写入到原区块设备的位置确定当前位映像表结构的起始位置数据变量的值,将指针指向当前位映像表结构的起始位置数据变量的值所对应的位映像表结构(步骤270),并执行步骤210。在实施例中,依照写入原区块设备的位置,计算出本次写入数据在P->items(P->total_count)的序号为k,则P=P->items(k)。
如上所述,如果当前位映像表结构为最后一级位映像表结构时,首先判断当前位映像表结构的起始位置数据变量对应的位是否为1(步骤300)。当起始位置数据变量的值对应的位为1时,则将数据写入原区块设备(步骤310)。
当起始位置数据变量的值对应的位为0时,从原区块设备的对应位置读取数据并将读取的数据写入快照设备的对应位置,并将当前位映像表结构的起始位置数据变量的值对应的位赋值为1,且将当前位映像表结构的当前数数据变量的值加1,即,P->current_count+1(步骤320)。接着,判断当前位映像表结构的当前数数据变量的值是否大于或等于当前位映像表结构的总数数据变量的值,即,P->current_count是否大于或等于P->total_count(步骤330)。当P->current_count小于P->total_count时,将数据写入原区块设备(步骤310)。否则,释放当前位映像表结构所占用的内存空间,将当前位映像表结构的状态数据变量的值赋值为已写满,即,P->status=FULL,将指针指向上一级位映像表结构,并将上一级位映像表结构的当前数数据变量的值加1,即,P->current_count+1(步骤340),然后返回步骤330。
当状态数据变量的值为已写满时,将数据写入原区块设备(步骤280)。
虽然本发明以前述的较佳实施方式公开如上,但并非用以限定本发明。本领域的普通技术人员应当意识到在不脱离本发明所附的权利要求所涵盖的范围和精神的情况下,所做的更动与润饰,均属本发明的专利保护范围。关于本发明所界定的保护范围请参考所附的权利要求书。
Claims (3)
1、一种采用位映像表算法处理存储设备快照的方法,通过一多级动态位映像表算法处理一原区块设备与一快照设备之间数据的对应关系,其特征在于,该方法包含以下步骤:
a)创建一快照设备,并从操作系统获取系统页的大小作为该快照设备存储数据并划分空间的最小单位的数据区块大小;
b)启始化一包含一状态数据变量、一总数数据变量、一当前数数据变量以及一起始位置数据变量的第一级位映像表结构,并添加该第一级位映像表结构的指针至该快照设备的描述结构中,其中,该状态数据变量为一列举数据型态,该列举数据型态包含一未分配数据变量、一未写满数据变量以及一已写满数据变量,该总数数据变量为该原区块设备的大小除以该原区块设备计数的基本单位的值,该起始位置数据变量为一指针数据型态;
c)当需要将一数据写入该原区块设备时,判断指针所指向的一当前位映像表结构的该状态数据变量的值;
d)当该状态数据变量的值为未分配时,依照一级数确定原则判断该当前位映像表结构是否为最后一级位映像表结构;
e)当该当前位映像表结构为最后一级位映像表结构时,为该当前位映像表结构的起始位置数据变量分配与该当前位映像表结构的总数数据变量的值相等数目位的内存空间,将每个内存空间赋值为0,将该当前位映像表结构的状态数据变量赋值为未写满,并执行步骤j);
f)当该当前位映像表结构不为最后一级位映像表结构时,按以下公式为该当前位映像表结构的起始位置数据变量分配内存空间:该当前位映像表结构的总数数据变量的值×本级每一位映像表结构的大小,并将该当前位映像表结构的状态数据变量赋值为未写满;
g)依照该级数确定原则计算出该当前位映像表结构的下一级位映像表结构的总数数据变量的值,并依照该数据写入到该原区块设备的位置确定该当前位映像表结构的起始位置数据变量的值,将指针指向该当前位映像表结构的起始位置数据变量的值所对应的位映像表结构,并执行步骤c);
h)当该状态数据变量的值为未写满时,判断该当前位映像表结构是否为最后一级位映像表结构,当该当前位映像表结构为最后一级位映像表结构时,执行步骤j);
i)当该当前位映像表结构不为最后一级位映像表结构时,依照该数据写入到该原区块设备的位置确定该当前位映像表结构的起始位置数据变量的值,将指针指向该当前位映像表结构的起始位置数据变量的值所对应的位映像表结构,并执行步骤c);
j)判断该当前位映像表结构的起始位置数据变量对应的位是否为1,当该当前位映像表结构的起始位置数据变量的值对应的位为1时,则将该数据写入该原区块设备;
k)当该当前位映像表结构的起始位置数据变量的值对应的位为0时,从该原区块设备的对应位置读取数据并将该读取的数据写入该快照设备的对应位置,并将该当前位映像表结构的起始位置数据变量的值对应的位赋值为1,且将该当前位映像表结构的当前数数据变量的值加1,并执行步骤1);
l)判断该当前位映像表结构的当前数数据变量的值是否等于该当前位映像表结构的总数数据变量的值,当该当前位映像表结构的当前数数据变量的值不等于该当前位映像表结构的总数数据变量的值时,将该数据写入该原区块设备,否则,执行步骤m);
m)释放该当前位映像表结构所占用的内存空间,将该当前位映像表结构的状态数据变量的值赋值为已写满,将指针指向上一级位映像表结构,并将上一级位映像表结构的当前数数据变量的值加1,执行步骤1);以及
n)当该状态数据变量的值为已写满时,将该数据写入该原区块设备。
2、如权利要求1所述的采用位映像表算法处理存储设备快照的方法,其特征在于,创建一快照设备,并从操作系统获取系统页的大小的步骤进一步包含如下步骤:
输入该原区块设备的名称、该快照设备使用的实体区块设备的名称以及该快照设备的大小的参数;以及
检查该输入参数的合法性并取整。
3、如权利要求1所述的采用位映像表算法处理存储设备快照的方法,其特征在于,该级数确定原则包含以下步骤:
确定最后一级位映像表结构的总数数据变量的值,其中,最后一级位映像表结构的总数数据变量的值满足以下条件:总数数据变量的值>2×本级位映像表结构的大小,且总数数据变量的值可以被中央处理单元的机器位整除;以及
确定第一级位映像表结构以外的每一级位映像表结构的总数数据变量的值,其中,每一级位映像表结构的总数数据变量的值为按照以下公式计算所得值中的最大值:本级位映像表结构的大小×总数数据变量的值<每一位映像表结构所代表的该原区块设备的存储数据的大小÷总数数据变量的值÷该系统页的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100790072A CN100520728C (zh) | 2006-04-28 | 2006-04-28 | 采用位映像表算法处理存储设备快照的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100790072A CN100520728C (zh) | 2006-04-28 | 2006-04-28 | 采用位映像表算法处理存储设备快照的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101063951A true CN101063951A (zh) | 2007-10-31 |
CN100520728C CN100520728C (zh) | 2009-07-29 |
Family
ID=38964984
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100790072A Expired - Fee Related CN100520728C (zh) | 2006-04-28 | 2006-04-28 | 采用位映像表算法处理存储设备快照的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100520728C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521397A (zh) * | 2011-12-23 | 2012-06-27 | 山东中创软件工程股份有限公司 | 一种数据传输方法 |
WO2012149844A1 (zh) * | 2011-10-12 | 2012-11-08 | 华为技术有限公司 | 一种虚拟机内存快照生成和恢复方法、装置及系统 |
CN107656703A (zh) * | 2017-09-28 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种空闲block查询的方法及系统 |
US9952783B2 (en) | 2012-07-17 | 2018-04-24 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and shared storage device |
-
2006
- 2006-04-28 CN CNB2006100790072A patent/CN100520728C/zh not_active Expired - Fee Related
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149844A1 (zh) * | 2011-10-12 | 2012-11-08 | 华为技术有限公司 | 一种虚拟机内存快照生成和恢复方法、装置及系统 |
US9507672B2 (en) | 2011-10-12 | 2016-11-29 | Huawei Technologies Co., Ltd. | Method, apparatus, and system for generating and recovering memory snapshot of virtual machine |
CN102521397A (zh) * | 2011-12-23 | 2012-06-27 | 山东中创软件工程股份有限公司 | 一种数据传输方法 |
CN102521397B (zh) * | 2011-12-23 | 2013-10-23 | 山东中创软件工程股份有限公司 | 一种数据传输方法 |
US9952783B2 (en) | 2012-07-17 | 2018-04-24 | Huawei Technologies Co., Ltd. | Data processing method and apparatus, and shared storage device |
CN107656703A (zh) * | 2017-09-28 | 2018-02-02 | 郑州云海信息技术有限公司 | 一种空闲block查询的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN100520728C (zh) | 2009-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1232955C (zh) | 光盘的缺陷管理方法 | |
US8364929B2 (en) | Enabling spanning for a storage device | |
KR101643273B1 (ko) | 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템 | |
US8791843B2 (en) | Optimized bitstream encoding for compression | |
US7769725B2 (en) | File profiling to minimize fragmentation | |
US20110238903A1 (en) | Method and device of managing a reduced wear memory | |
CN1950802A (zh) | 存储器分配 | |
CN100458718C (zh) | 一种闪存存储装置及其数据读取和写入方法 | |
US8706953B2 (en) | Data storage device and method performing background operation with selected data compression | |
CN1701309A (zh) | 非易失性存储系统中的损耗平衡 | |
CN1499531A (zh) | 管理非易失存储器系统中的数据完整性的方法和装置 | |
CN1698036A (zh) | 跟踪非易失性存储器系统中最不频繁擦除区块 | |
KR20140114515A (ko) | 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법 | |
CN1525391A (zh) | 非易失性存储卡 | |
CN1851635A (zh) | 对廉价磁盘冗余阵列进行读写操作的方法和系统 | |
WO2013159174A1 (en) | De-duplicated virtual machine image transfer | |
TW202121849A (zh) | 在儲存伺服器中進行資料壓縮管理的方法及設備 | |
CN101063951A (zh) | 采用位映像表算法处理存储设备快照的方法 | |
CN105867834A (zh) | 存储装置数据整理方法 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
CN107102953B (zh) | 非易失性存储器装置及其迭代排序方法 | |
CN1655130A (zh) | 一种获取硬盘中数据的方法 | |
US20120144148A1 (en) | Method and device of judging compressed data and data storage device including the same | |
US20120102277A1 (en) | Data storage device and write method thereof | |
US9652172B2 (en) | Data storage device performing merging process on groups of memory blocks and operation 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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090729 Termination date: 20160428 |