数据读取方法及设备与流程

文档序号:12462660阅读:来源:国知局

技术特征:

1.一种数据读取方法,其特征在于,包括:

获取主机的读取指令,所述读取指令中包括源逻辑单元号LUN的标识以及待读取数据的第一起始地址以及第一数据长度,所述源LUN对应有冗余视图,所述冗余视图包括至少一个第一记录项,每个所述第一记录项中存储有对所述源LUN中的至少部分数据进行冗余存储的目标LUN的标识;

在确定所述源LUN对应的存储空间中的数据无法读取时,根据所述第一起始地址、第一数据长度以及所述冗余视图,确定所述待读取的数据对应的目标LUN的标识;

根据所述待读取数据对应的目标LUN的标识,读取第一冗余数据,并将所述第一冗余数据返回至所述主机。

2.根据权利要求1所述的方法,其特征在于,所述源LUN对应的存储空间被划分为多个数据块,其中,每个所述数据块各自对应有冗余视图;

所述根据所述第一起始地址、第一数据长度以及所述冗余视图,确定所述待读取的数据对应的目标LUN的标识,包括:

根据所述第一起始地址、第一数据长度以及所述源LUN的标识对应的各数据块的地址空间,确定所述待读取的数据对应的至少一个第一目标数据块;

根据各所述第一目标数据块对应的冗余视图中的第一记录项,确定所述待读取数据对应的目标LUN的标识。

3.根据权利要求2所述的方法,其特征在于,所述第一记录项中还存储有第二冗余数据的第二起始地址和第二数据长度,所述第二起始地址和所述第二数据长度形成的第二地址空间为数据块的地址空间的子集;

所述根据各所述第一目标数据块对应的冗余视图中的第一记录项,确定所述待读取数据对应的目标LUN的标识,包括:

根据所述第一起始地址和所述第一数据长度,确定第一地址空间;

根据所述第一地址空间、各所述第一目标数据块对应的冗余视图中的第一记录项对应的第二地址空间,确定与所述第一地址空间存在交集的第二地址空间对应的目标记录项,且所述第一地址空间是多个所述第二地址空间形成的地址空间的子集;

根据各所述目标记录项,确定所述待读取数据对应的目标LUN的标识。

4.根据权利要求3所述的方法,其特征在于,所述第一记录项中还存储有各目标LUN的优先级;

所述根据所述第一地址空间、各所述第一目标数据块的冗余视图中的第一记录项对应的第二地址空间,确定与所述第一地址空间存在交集的第二地址空间对应的目标记录项,包括:

根据所述第一地址空间以及每个数据块的地址空间,确定所述待读取数据针对每个第一目标数据块的第三地址空间;

针对任一第一目标数据块,根据所述冗余视图中的各第一记录项中的目标LUN的优先级从高到低的顺序,遍历所述冗余视图中的每个第一记录项,得到与所述第三地址空间存在交集的第二地址空间对应的目标记录项,且所述第三地址空间是至少一个所述第二地址空间形成的地址空间的子集,针对同一冗余数据,所述目标记录项中的目标LUN的优先级高于其它第一记录项中的目标LUN的优先级。

5.根据权利要求2所述的方法,其特征在于,所述方法还包括:

获取所述源LUN的标识、待插入冗余视图的第二记录项,所述第二记录项中包括第三冗余数据的第三起始地址和第三数据长度、所述第三冗余数据对应的目标LUN的标识以及所述目标LUN的优先级;

根据所述第三起始地址、第三数据长度以及所述源LUN的标识对应的各数据块的地址空间,确定所述第三冗余数据对应的至少一个第二目标数据块;

根据各所述第二目标数据块对应的冗余视图中每个第一记录项中存储的目标LUN的优先级以及所述第二记录项中存储的目标LUN的优先级,对各所述第二目标数据块对应的冗余视图进行插入记录项的处理。

6.根据权利要求5所述的方法,其特征在于,所述根据各所述第二目标数据块对应的冗余视图中每个第一记录项中存储的目标LUN的优先级以及所述第二记录项中存储的目标LUN的优先级,对各所述第二目标数据块对应的冗余视图进行插入记录项的处理,包括:

根据所述第三起始地址、所述第三数据长度以及每个数据块的地址空间,确定所述第三冗余数据针对每个第二目标数据块的第三记录项,所述第三记录项中包括第四起始地址、第四数据长度、所述第三冗余数据对应的目标LUN的标识以及所述目标LUN的优先级;

针对任一第二目标数据块,根据所述第二目标数据块对应的冗余视图中的各第一记录项的优先级从高到低的顺序,遍历所述冗余视图中的每个第一记录项,直至所述第三记录项中的目标LUN的优先级高于第一记录项中的目标LUN的优先级为止,将所述第三记录项插入到该第一记录项之前。

7.根据权利要求2所述的方法,其特征在于,所述方法还包括:

获取所述源LUN对应的存储空间的新写入数据的写入信息,所述写入信息包括所述源LUN的标识、所述新写入数据的第四起始地址和第四数据长度;

根据所述新写入数据的第四起始地址、第四数据长度以及所述源LUN的标识对应的各数据块的地址空间,确定所述新写入数据对应的至少一个第三目标数据块;

根据各所述第三目标数据块对应的冗余视图中每个第四记录项中的第五起始地址和第五数据长度、所述第四起始地址和所述第四数据长度,对各所述第三目标数据块对应的冗余视图进行删除记录项的处理。

8.根据权利要求7所述的方法,其特征在于,所述根据各所述第三目标数据块对应的冗余视图中每个第四记录项中的第五起始地址和第五数据长度、所述第四起始地址和所述第四数据长度,对各所述第三目标数据块对应的冗余视图进行删除记录项的处理,包括:

根据所述第四起始地址、所述第四数据长度以及每个数据块的地址空间,确定所述新写入数据针对每个第三目标数据块的第六起始地址和第六数据长度以及第四地址空间;

遍历所述冗余视图中的每个第四记录项,若所述第四记录项对应的第五地址空间与所述第四地址空间存在交集,则根据所述第五起始地址、第五数据长度、第六起始地址和第六数据长度,对所述第三目标数据块对应的冗余视图进行删除记录项的处理。

9.根据权利要求8所述的方法,其特征在于,所述根据所述第五起始地址、第五数据长度、第六起始地址和第六数据长度,对所述第三目标数据块对应的冗余视图进行删除记录项的处理,包括:

根据所述第五起始地址、第五数据长度、第六起始地址和第六数据长度建立第一分解空间R1和第二分解空间R2;

其中,所述R1的起始地址和数据长度如下:

R1_lba=D5;R1_len=D6-D5;

其中,所述R2的起始地址和数据长度如下:

R2_lba=D6+L6;R2_len=D5+L5-D6-L6,其中,所述R1_lba为所述第一分解空间的起始地址,所述R1_len为所述第一分解空间的数据长度,所述R2_lba为所述第二分解空间的起始地址,所述R2_len为所述第二分解空间的数据长度,所述D5为第五起始地址、所述D6为第六起始地址、所述L5为第五数据长度、所述L6为第六数据长度;

根据所述R1的数据长度和所述R2的数据长度,对所述第三目标数据块对应的冗余视图进行删除记录项的处理。

10.根据权利要求9所述的方法,其特征在于,所述根据所述R1的数据长度和所述R2的数据长度,对所述第三目标数据块对应的冗余视图进行删除记录项的处理,包括:

若所述R1的数据长度大于0,所述R2的数据长度大于0,则删除所述第四记录项,并插入第五记录项和第六记录项,所述第五记录项中的起始地址为D5,数据长度为D6-D5,所述第六记录项中的起始地址为D6+L6,数据长度为D5+L5-D6-L6;

若所述R1的数据长度大于0,所述R2的数据长度小于等于0,则删除所述第四记录项,并插入第六记录项,所述第六记录项中的起始地址为D6+L6,数据长度为D5+L5-D6-L6;

若所述R1的数据长度小于等于0,所述R2的数据长度大于0,则删除所述第四记录项,并插入第五记录项,所述第五记录项中的起始地址为D5,数据长度为D6-D5。

11.一种存储设备,其特征在于,包括:

接收模块,用于获取主机的读取指令,所述读取指令中包括源逻辑单元号LUN的标识以及待读取数据的第一起始地址以及第一数据长度,所述源LUN对应有冗余视图,所述冗余视图包括至少一个第一记录项,每个所述第一记录项中存储有对所述源LUN中的至少部分数据进行冗余存储的目标LUN的标识;

处理模块,用于在确定所述源LUN对应的存储空间中的数据无法读取时,根据所述第一起始地址、第一数据长度以及所述冗余视图,确定所述待读取的数据对应的目标LUN的标识,根据所述待读取数据对应的目标LUN的标识,读取第一冗余数据;

发送模块,用于将所述第一冗余数据返回至所述主机。

12.根据权利要求11所述的存储设备,其特征在于,所述源LUN对应的存储空间被划分为多个数据块,其中,每个所述数据块各自对应有冗余视图;所述处理模块具体用于:

根据所述第一起始地址、第一数据长度以及所述源LUN的标识对应的各数据块的地址空间,确定所述待读取的数据对应的至少一个第一目标数据块;

根据各所述第一目标数据块对应的冗余视图中的第一记录项,确定所述待读取数据对应的目标LUN的标识。

13.根据权利要求12所述的存储设备,其特征在于,所述第一记录项中还存储有第二冗余数据的第二起始地址和第二数据长度,所述第二起始地址和所述第二数据长度形成的第二地址空间为数据块的地址空间的子集;

所述处理模块具体用于:

根据所述第一起始地址和所述第一数据长度,确定第一地址空间;

根据所述第一地址空间、各所述第一目标数据块对应的冗余视图中的第一记录项对应的第二地址空间,确定与所述第一地址空间存在交集的第二地址空间对应的目标记录项,且所述第一地址空间是多个所述第二地址空间形成的地址空间的子集;

根据各所述目标记录项,确定所述待读取数据对应的目标LUN的标识。

14.根据权利要求13所述的存储设备,其特征在于,所述第一记录项中还存储有各目标LUN的优先级;

所述处理模块具体用于:

根据所述第一地址空间以及每个数据块的地址空间,确定所述待读取数据针对每个第一目标数据块的第三地址空间;

针对任一第一目标数据块,根据所述冗余视图中的各第一记录项中的目标LUN的优先级从高到低的顺序,遍历所述冗余视图中的每个第一记录项,得到与所述第三地址空间存在交集的第二地址空间对应的目标记录项,且所述第三地址空间是至少一个所述第二地址空间形成的地址空间的子集,针对同一冗余数据,所述目标记录项中的目标LUN的优先级高于其它第一记录项中的目标LUN的优先级。

15.根据权利要求12所述的存储设备,其特征在于,所述处理模块还用于:

获取所述源LUN的标识、待插入冗余视图的第二记录项,所述第二记录项中包括第三冗余数据的第三起始地址和第三数据长度、所述第三冗余数据对应的目标LUN的标识以及所述目标LUN的优先级;

根据所述第三起始地址、第三数据长度以及所述源LUN的标识对应的各数据块的地址空间,确定所述第三冗余数据对应的至少一个第二目标数据块;

根据各所述第二目标数据块对应的冗余视图中每个第一记录项中存储的目标LUN的优先级以及所述第二记录项中存储的目标LUN的优先级,对各所述第二目标数据块对应的冗余视图进行插入记录项的处理。

16.根据权利要求15所述的存储设备,其特征在于,所述处理模块具体用于:

根据所述第三起始地址、所述第三数据长度以及每个数据块的地址空间,确定所述第三冗余数据针对每个第二目标数据块的第三记录项,所述第三记录项中包括第四起始地址、第四数据长度、所述第三冗余数据对应的目标LUN的标识以及所述目标LUN的优先级;

针对任一第二目标数据块,根据所述第二目标数据块对应的冗余视图中的各第一记录项的优先级从高到低的顺序,遍历所述冗余视图中的每个第一记录项,直至所述第三记录项中的目标LUN的优先级高于第一记录项中的目标LUN的优先级为止,将所述第三记录项插入到该第一记录项之前。

17.根据权利要求12所述的存储设备,其特征在于,所述处理模块还用于:

获取所述源LUN对应的存储空间的新写入数据的写入信息,所述写入信息包括所述源LUN的标识、所述新写入数据的第四起始地址和第四数据长度;

根据所述新写入数据的第四起始地址、第四数据长度以及所述源LUN的标识对应的各数据块的地址空间,确定所述新写入数据对应的至少一个第三目标数据块;

根据各所述第三目标数据块对应的冗余视图中每个第四记录项中的第五起始地址和第五数据长度、所述第四起始地址和所述第四数据长度,对各所述第三目标数据块对应的冗余视图进行删除记录项的处理。

18.根据权利要求17所述的存储设备,其特征在于,所述处理模块具体用于:

根据所述第四起始地址、所述第四数据长度以及每个数据块的地址空间,确定所述新写入数据针对每个第三目标数据块的第六起始地址和第六数据长度以及第四地址空间;

遍历所述冗余视图中的每个第四记录项,若所述第四记录项对应的第五地址空间与所述第四地址空间存在交集,则根据所述第五起始地址、第五数据长度、第六起始地址和第六数据长度,对所述第三目标数据块对应的冗余视图进行删除记录项的处理。

19.根据权利要求18所述的存储设备,其特征在于,所述处理模块具体用于:

根据所述第五起始地址、第五数据长度、第六起始地址和第六数据长度建立第一分解空间R1和第二分解空间R2;

其中,所述R1的起始地址和数据长度如下:

R1_lba=D5;R1_len=D6-D5;

其中,所述R2的起始地址和数据长度如下:

R2_lba=D6+L6;R2_len=D5+L5-D6-L6,其中,所述R1_lba为所述第一分解空间的起始地址,所述R1_len为所述第一分解空间的数据长度,所述R2_lba为所述第二分解空间的起始地址,所述R2_len为所述第二分解空间的数据长度,所述D5为第五起始地址、所述D6为第六起始地址、所述L5为第五数据长度、所述L6为第六数据长度;

根据所述R1的数据长度和所述R2的数据长度,对所述第三目标数据块对应的冗余视图进行删除记录项的处理。

20.根据权利要求19所述的存储设备,其特征在于,所述处理模块具体用于:

若所述R1的数据长度大于0,所述R2的数据长度大于0,则删除所述第四记录项,并插入第五记录项和第六记录项,所述第五记录项中的起始地址为D5,数据长度为D6-D5,所述第六记录项中的起始地址为D6+L6,数据长度为D5+L5-D6-L6;

若所述R1的数据长度大于0,所述R2的数据长度小于等于0,则删除所述第四记录项,并插入第六记录项,所述第六记录项中的起始地址为D6+L6,数据长度为D5+L5-D6-L6;

若所述R1的数据长度小于等于0,所述R2的数据长度大于0,则删除所述第四记录项,并插入第五记录项,所述第五记录项中的起始地址为D5,数据长度为D6-D5。

21.一种存储设备,其特征在于,所述存储设备包括至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述存储设备如执行权利要求1至10任一项所述的数据读取方法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1