数据移动方法和系统、存储设备和主机.pdf

上传人:zhu****_FC 文档编号:4751522 上传时间:2018-11-05 格式:PDF 页数:17 大小:5.17MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210450261.4

申请日:

2012.11.12

公开号:

CN102929792A

公开日:

2013.02.13

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 12/02申请日:20121112|||公开

IPC分类号:

G06F12/02; G06F13/40

主分类号:

G06F12/02

申请人:

华为技术有限公司

发明人:

陈业夫

地址:

518129 广东省深圳市龙岗区坂田华为总部办公楼

优先权:

专利代理机构:

北京同立钧成知识产权代理有限公司 11205

代理人:

刘芳

PDF下载: PDF下载
内容摘要

本发明实施例提供一种数据移动方法和系统、存储设备和主机,该数据移动方法包括:接收主机发送的移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域;将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。

权利要求书

权利要求书一种数据移动方法,其特征在于,包括:
接收主机发送的移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;
根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域;
将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
根据权利要求1所述的方法,其特征在于,
当逻辑块地址与物理块地址的映射表为静态映射表时,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域包括:
根据静态映射表,获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块地址映射的目的物理块地址;
在起始地址为所述源物理块地址的区域中读取所述数据长度的数据;
将读取的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。
根据权利要求1所述的方法,其特征在于,
当逻辑块地址与物理块地址的映射表为动态映射表时,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域包括:
根据动态映射表,获取所述源逻辑块地址映射的源物理块地址;
建立所述目的逻辑块地址与所述源物理块地址的映射关系。
根据权利要求2或3所述的方法,其特征在于,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效包括:
将所述源逻辑块地址添加一个无效标记,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
根据权利要求3所述的方法,其特征在于,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效包括:
根据所述源逻辑块地址和所述动态映射表,将所述源逻辑块地址映射到无效物理块地址,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
一种数据移动方法,其特征在于,包括:
向存储设备发送移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便所述存储设备根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域,并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
一种存储设备,其特征在于,包括:
接收单元,用于接收主机发送的移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;
移动单元,用于根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域;
标记单元,用于将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
根据权利要求7所述的存储设备,其特征在于,
所述移动单元具体用于当逻辑块地址与物理块地址的映射表为静态映射表时,根据静态映射表,获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块地址映射的目的物理块地址;在起始地址为所述源物理块地址的区域中读取所述数据长度的数据;将读取的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。
根据权利要求7所述的存储设备,其特征在于,
所述移动单元具体用于当逻辑块地址与物理块地址的映射表为动态映射表时,根据动态映射表,获取所述源逻辑块地址映射的源物理块地址;建立所述目的逻辑块地址与所述源物理块地址的映射关系。
根据权利要求8或9所述的存储设备,其特征在于,
所述标记单元具体用于将所述源逻辑块地址添加一个无效标记,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
根据权利要求9所述的存储设备,其特征在于,
所述标记单元具体用于根据所述源逻辑块地址和所述动态映射表,将所述源逻辑块地址映射到无效物理块地址,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
一种主机,其特征在于,包括:
发送单元,用于向存储设备发送移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便所述存储设备根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域,并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
一种数据移动系统,其特征在于,包括如权利要求7~11任一项所述的存储设备,以及如权利要求12所述的主机,所述存储设备与所述主机通信连接。

说明书

说明书数据移动方法和系统、存储设备和主机
技术领域
本发明涉及计算机技术,尤其涉及数据移动方法和系统、存储设备和主机。
背景技术
在主机访问存储设备时,可能会将存储设备中的数据从一个区域移动到另一个区域,即将例如:将长度L的数据的从逻辑块地址A的区域移动到逻辑块地址B的区域,现有技术主要通过小型计算机系统接口(SmallComputer System Interface;以下简称为:SCSI)协议或者高技术配置(Advanced Technology Attachment;以下简称为:ATA)协议来实现。
其中,通过SCSI协议来实现的过程为:主机向存储设备发出copy命令,存储设备在内部将逻辑块地址A、长度L的数据拷贝至逻辑块地址B的区域,主机等待存储设备拷贝完成后向设备发出unmap命令,存储设备再将逻辑块地址A、长度L的数据标志为无效。
通过ATA协议来实现的过程为:主机在本地分配长度L的缓冲区,再用读命令将存储设备逻辑块地址A、长度L的数据读到缓冲区中,然后主机用写命令将缓冲区中的数据写到存储设备逻辑块地址B的区域,再释放缓冲区,最后主机用TRIM命令通知存储设备将起始逻辑A、长度L的数据标志为无效。
在实现本发明的过程中,发明人发现,如果基于SCSI协议实现数据移动,则主机需要与存储设备之间进行两次交互;如果基于ATA协议实现数据移动,则主机需要与存储设备之间进行三次交互;从而导致主机对存储设备中数据的移动效率低下。
发明内容
本发明提供一种数据移动方法和系统、存储设备和主机,用以使主机只向存储设备发送一次移动命令消息,即可实现将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。
第一方面,本发明实施例提供一种数据移动方法,包括:
接收主机发送的移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;
根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域;
将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
结合第一方面,在第一方面的第一种可能的实现方式中,当逻辑块地址与物理块地址的映射表为静态映射表时,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域包括:
根据静态映射表,获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块地址映射的目的物理块地址;
在起始地址为所述源物理块地址的区域中读取所述数据长度的数据;
将读取的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。
结合第一方面,在第一方面的第二种可能的实现方式中,当逻辑块地址与物理块地址的映射表为动态映射表时,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域包括:
根据动态映射表,获取所述源逻辑块地址映射的源物理块地址;
建立所述目的逻辑块地址与所述源物理块地址的映射关系。
结合第一方面的第一种可能的实现方式或第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效包括:
将所述源逻辑块地址添加一个无效标记,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效包括:
根据所述源逻辑块地址和所述动态映射表,将所述源逻辑块地址映射到无效物理块地址,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
第二方面,本发明实施例还提供一种数据移动方法,包括:
向存储设备发送移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便所述存储设备根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域,并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
第三方面,本发明实施例提供一种存储设备,包括:
接收单元,用于接收主机发送的移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;
移动单元,用于根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域;
标记单元,用于将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
结合第三方面,在第三方面的第一种可能的实现方式中,所述移动单元具体用于当逻辑块地址与物理块地址的映射表为静态映射表时,根据静态映射表,获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块地址映射的目的物理块地址;在起始地址为所述源物理块地址的区域中读取所述数据长度的数据;将读取的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。
结合第三方面,在第三方面的第二种可能的实现方式中,所述移动单元具体用于当逻辑块地址与物理块地址的映射表为动态映射表时,根据动态映射表,获取所述源逻辑块地址映射的源物理块地址;建立所述目的逻辑块地址与所述源物理块地址的映射关系。
结合第三方面的第一种可能的实现方式或第二种可能的实现方式,在第三方面的第三种可能的实现方式中,所述标记单元具体用于将所述源逻辑块地址添加一个无效标记,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
结合第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,所述标记单元具体用于根据所述源逻辑块地址和所述动态映射表,将所述源逻辑块地址映射到无效物理块地址,以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。
第四方面,本发明实施例提供一种主机,包括:
发送单元,用于向存储设备发送移动命令消息,所述移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便所述存储设备根据所述移动命令消息,将起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域,并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。
第五方面,本发明实施例提供一种数据移动系统,包括如上所述的存储设备,以及如上所述的主机,所述存储设备与所述主机通信连接。
本发明实施例提供的数据移动方法和系统、存储设备和主机,通过存储设备接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域;存储设备将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明数据移动方法实施例一的流程图;
图2为本发明数据移动方法实施例二的流程图;
图3为本发明数据移动方法实施例三的流程图;
图4为本发明数据移动方法实施例四的流程图;
图5为本发明应用场景实施例一的示意图;
图6为本发明存储设备实施例一的结构示意图;
图7为本发明主机实施例一的结构示意图;
图8为本发明数据移动系统的结构示意图;
图9为本发明提供的计算节点实施例一的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明数据移动方法实施例一的流程图,如图1所示,本实施例的方法可以包括:
步骤101、存储设备接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度。
本实施例中,在主机与存储设备的交互协议中引入一条专门的“数据移动”命令,使得主机可以将数据移动的意图明确的通知存储设备;当主机访问存储设备时,需要将存储设备中的数据从一个区域移动至另一区域时,则主机向存储设备发送移动命令消息,相应地,存储设备接收主机发送的该移动命令消息,其中,该移动命令消息中包括源逻辑块地址、目的逻辑块地址和待移动的数据长度。
步骤102、存储设备根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域。
存储设备接收到主机发送的移动命令消息后,根据移动命令消息,获取移动命令消息中的源逻辑块地址、目的逻辑块地址和待移动的数据长度,然后将起始地址为源逻辑块地址的区域中待移动的数据长度的数据拷贝至起始地址为目的逻辑块地址的区域中。
步骤103、存储设备将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。
存储设备在将待移动数据从起始地址为源逻辑块地址的区域中拷贝至起始地址为目的逻辑块地址的区域中后,根据移动命令消息,再将起始地址为源逻辑块地址的区域中待移动的数据长度数据标记为无效,使得主机不能再通过起始地址为源逻辑块地址来获取该待移动的数据长度的数据,而使主机在需要获取该待移动的数据长度的数据时通过起始逻辑地址为目的逻辑块地址来获取;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。
本发明实施例一提供的数据移动方法,存储设备通过接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域;将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
图2为本发明数据移动方法实施例二的流程,如图2所示,本实施例的方法可以包括:
步骤201、存储设备接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度。
步骤202、当逻辑块地址与物理块地址的映射表为静态映射表时,存储设备根据移动命令消息和静态映射表,获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址。
具体地,在存储设备上,逻辑块地址和物理块地址都有一定的映射关系,即存储设备会维护一张映射表,其中,该映射表中保存有逻辑块地址和物理块地址的当前映射关系,该映射表包括静态映射表和动态映射表。该静态映射表中保存的逻辑块地址和物理块地址的映射关系是固定的,在存储设备运行时不会改变。而动态映射表中保存的逻辑块地址和物理块地址的映射关系是不固定的,在存储设备运行时,逻辑块地址和物理块地址的映射关系是可以发生变化的。
当逻辑块地址与物理块地址的映射表为静态映射表时,存储设备根据移动命令消息,获取移动命令消息中的源逻辑块地址、目的逻辑块地址和待移动的数据长度,然后从静态映射表中获取源逻辑块地址映射的物理块地址即源物理块地址,还从静态映射表中获取目的逻辑块地址映射的物理块地址即目的物理块地址。
步骤203、存储设备在起始地址为源物理块地址的区域中读取上述数据长度的数据。
具体地,存储设备根据源物理块地址找到起始地址为源物理块地址的区域,并从中读取待移动的数据长度的数据。
步骤204、存储设备将读取的上述数据长度的数据写入至起始地址为目的物理块地址的区域。
具体地,存储设备读取到待移动的数据长度的数据后,再将所读取的待移动的数据长度的数据写入至起始地址为目的物理块地址的区域。
步骤205、存储设备将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。
存储设备在将待移动数据写入至起始地址为目的物理块地址的区域后,根据移动命令消息,再将源逻辑块地址添加一个无效标记,以实现存储设备将起始地址为源逻辑块地址的区域中待移动的数据长度的数据标记为无效。由于源逻辑块地址添加了无效标记,所以主机通过起始地址为该源逻辑块地址只能获取到无效数据,即不能通过起始地址为该源逻辑块地址来获取该待移动的数据长度的数据,而是使主机在需要获取该待移动的数据长度的数据时通过起始地址为目的逻辑块地址来获取;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。
需要说明的是,在基于ATA协议实现数据移动,采用本发明实施例提供的数据移动方法,主机无需分配和释放缓冲区,也无需在主机和存储设备之间传输数据。
本发明实施例二提供的数据移动方法,存储设备通过接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;当逻辑块地址与物理块地址的映射表为静态映射表时,存储设备根据移动命令消息和静态映射表,获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址;在起始地址为源物理块地址的区域中读取上述数据长度的数据;将读取的上述数据长度的数据写入至起始地址为目的物理块地址的区域;将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
图3为本发明数据移动方法实施例三的流程图,如图3所示,本实施例的方法可以包括:
步骤301、存储设备接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度。
步骤302、当逻辑块地址与物理块地址的映射表为动态映射表时,存储设备根据动态映射表,获取源逻辑块地址映射的源物理块地址。
具体地,在存储设备上,逻辑块地址和物理块地址都有一定的映射关系,即存储设备会维护一张映射表,其中,该映射表中保存有逻辑块地址和物理块地址的当前映射关系,该映射表包括静态映射表和动态映射表。该静态映射表中保存的逻辑块地址和物理块地址的映射关系是固定的,在存储设备运行时不会改变。而动态映射表中保存的逻辑块地址和物理块地址的映射关系是不固定的,在存储设备运行时,逻辑块地址和物理块地址的映射关系是可以发生变化的。
当逻辑块地址与物理块地址的映射表为动态映射表时,存储设备根据移动命令消息,获取移动命令消息中的源逻辑块地址、目的逻辑块地址和待移动的数据长度,然后从动态映射表中获取源逻辑块地址映射的物理块地址即源物理块地址,还从动态映射表中获取目的逻辑块地址映射的物理块地址即目的物理块地址。
步骤303、存储设备建立目的逻辑块地址与源物理块地址的映射关系。
具体地,存储设备解除动态映射表中目的逻辑块地址与目的物理块地址的映射关系,再建立目的逻辑块地址与源物理块地址的映射关系,并保存在该动态映射表中。
步骤304、存储设备将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。
在一种可行的实现方式中,步骤304可以为:存储设备将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中待移动的数据长度的数据;即存储设备不改变源逻辑块地址与源物理块地址之间的映射关系,而是将源逻辑块地址添加一个无效标记,以实现存储设备将起始地址为源逻辑块地址的区域中待移动的数据长度的数据标记为无效。由于源逻辑块地址添加了无效标记,所以主机通过始起地址为该源逻辑块地址只能获取到无效数据,即不能通过起始地址为该源逻辑块地址来获取该待移动的数据长度的数据,而是使主机在需要获取该待移动的数据长度的数据时通过起始地址为目的逻辑块地址来获取;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。
在另一种可行的实现方式中,步骤304可以为:存储设备根据源逻辑块地址和动态映射表,将源逻辑块地址映射到无效物理块地址,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。具体地,存储设备解除动态映射表中源逻辑块地址与源物理块地址的映射关系,再建立源逻辑块地址与无效物理块地址的映射关系,并保存在该动态映射表中,所以主机通过起始地址为源逻辑块地址获取数据时,只能获取到源逻辑块地址映射的无效物理块地址的区域中的数据,而无效物理块地址是一个无效地址,所以主机是不能通过起始地址为源逻辑块地址来获取数据,而是使主机在需要获取该待移动的数据长度的数据时通过起始地址为目的逻辑块地址来获取;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。
需要说明的是,在基于ATA协议实现数据移动时,采用本发明实施例提供的数据移动方法,主机无需分配和释放缓冲区,也无需在主机和存储设备之间传输数据。
本发明实施例三提供的数据移动方法,存储设备通过接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;当逻辑块地址与物理块地址的映射表为动态映射表时,存储设备根据动态映射表,获取源逻辑块地址映射的源物理块地址;建立目的逻辑块地址与源物理块地址的映射关系;将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。进一步地,存储设备通过修改映射表来实现数据移动,使得数据移动操作过程简单、可靠,进一步提高了数据移动的效率,同时,不需要对数据进行读写操作,降低了存储设备的损耗。
图4为本发明数据移动方法实施例四的流程图,如图4所示,本实施例的方法可以包括:
步骤401、主机向存储设备发送移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便存储设备根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域,并将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。
本实施例中,在主机与存储设备的交互协议中引入一条专门的“数据移动”命令,使得主机可以将数据移动的意图明确的通知存储设备;当主机访问存储设备时,需要将存储设备中的数据从起始地址为源逻辑块地址的区域移动至起始地址为目的逻辑块地址的区域时,则主机向存储设备发送移动命令消息,其中,该移动命令消息中包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;相应地,存储设备接收主机发送的该移动命令消息,根据移动命令消息,将起始地址为源逻辑块地址的区域中待移动的数据长度的数据拷贝至起始地址为目的逻辑块地址的区域,并将起始地址为源逻辑块地址的区域中待移动的数据长度的数据标记为无效,使得主机不能再通过起始地址为源逻辑块地址来获取该待移动的数据长度的数据,而是使主机在需要获取该待移动的数据长度的数据时通过起始逻辑地址为目的逻辑块地址来获取;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。
本发明实施例四提供的数据移动方法,通过主机向存储设备发送移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便存储设备根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域,并将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
本发明图1~图4所示实施例提供的方法,可以用于图5所示的应用场景中,图5为本发明应用场景实施例一的示意图,图5所示的应用场景中包括存储设备和主机。
具体地,主机向存储设备发送移动命令消息,该移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度。存储设备接收主机发送的移动命令消息之后,根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域。然后该存储设备将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
需要说明的是,在上述各实施例的基础上,进一步地,在一种可行的实现方式中,存储设备在完成将起始地址为源逻辑块地址的区域中待移动的数据长度的数据标记为无效之后,主动向主机发送数据移动成功响应,主机接收到该数据移动成功响应后,可获知数据移动过程已成功完成;或者,存储设备中数据移动过程失败后,存储设备主动向主机发送数据移动失败响应,该数据移动失败响应中携带有失败原因,主机接收到该数据移动失败响应后,根据失败原因执行相应的操作。
在另一种可行的实现方式中,主机在发送完移动命令消息,等待一段时间后主动向存储设备发送查询命令消息,存储设备接收到该查询命令消息,向主机发送查询响应,该查询响应用以向主机反馈正在进行数据移动或者数据移动成功或者数据移动失败。如果存储设备中的数据移动过程还未完成,则存储设备向主机发送数据移动正在进行响应,主机接收到该数据移动正在进行响应,再等待一段时间后主动向存储设备发送查询命令消息;如果存储设备中数据移动过程已经成功完成,则存储设备向主机发送数据移动成功响应,主机接收到该数据移动成功响应后,可获知数据移动过程已成功完成;如果存储设备中数据移动过程失败,则存储设备向主机发送数据移动失败响应,该数据移动失败响应中携带有失败原因,主机接收到该数据移动失败响应后,根据失败原因执行相应的操作,本领域普通技术人员可以理解此过程为现有技术,本发明在此不再赘述。
图6为本发明存储设备实施例一的结构示意图,如图6所示,本实施例的存储设备可以包括:接收单元11、移动单元12和标记单元13,其中,接收单元11用于接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;移动单元12用于根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域;标记单元13用于将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。
本实施例的存储设备,可以用于执行图1所示方法实施例的技术方案,其实现原理类似,详细可以参见上述实施例的记载,此处不再赘述。
本发明实施例一提供的存储设备,通过接收单元接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;移动单元根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域;标记单元将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效,从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
在本发明存储设备实施例二中,在图6所示存储设备结构的基础上,上述的移动单元12具体用于当逻辑块地址与物理块地址的映射表为静态映射表时,根据静态映射表,获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址;在起始地址为源物理块地址的区域中读取上述数据长度的数据;将读取的上述数据长度的数据写入至起始地址为目的物理块地址的区域。上述的标记单元13具体用于将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。
本实施例的存储设备,可以用于执行图2所示方法实施例的技术方案,其实现原理类似,详细可以参见上述实施例的记载,此处不再赘述。
本发明实施例二提供的存储设备,通过接收单元接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;当逻辑块地址与物理块地址的映射表为静态映射表时,移动单元根据静态映射表,获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址,在起始地址为源物理块地址的区域中读取上述数据长度的数据,将读取的上述数据长度的数据写入至起始地址为目的物理块地址的区域;标记单元将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
在本发明存储设备实施例三中,在图6所示存储设备结构的基础上,上述的移动单元12具体用于当逻辑块地址与物理块地址的映射表为动态映射表时,根据动态映射表,获取源逻辑块地址映射的源物理块地址;建立目的逻辑块地址与源物理块地址的映射关系。上述的标记单元13具体用于将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据;或者,具体用于根据源逻辑块地址和动态映射表,将源逻辑块地址映射到无效物理块地址,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。
本实施例的存储设备,可以用于执行图3所示方法实施例的技术方案,其实现原理类似,详细可以参见上述实施例的记载,此处不再赘述。
本发明实施例三提供的存储设备,通过接收单元接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度;当逻辑块地址与物理块地址的映射表为动态映射表时,移动单元根据动态映射表,获取源逻辑块地址映射的源物理块地址,建立目的逻辑块地址与源物理块地址的映射关系;标记单元将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据;或者,标记单元根据源逻辑块地址和动态映射表,将源逻辑块地址映射到无效物理块地址,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。进一步地,存储设备通过修改映射表来实现数据移动,使得数据移动操作过程简单、可靠,进一步提高了数据移动的效率,同时,不需要对数据进行读写操作,降低了存储设备的损耗。
图7为本发明主机实施例一的结构示意图,如图7所示,本实施例的主机可以包括:发送单元21,其中,发送单元21用于向存储设备发送移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便存储设备根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域,并将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。
本实施例的主机,可以用于执行图4所示方法实施例的技术方案,其实现原理类似,详细可以参见上述实施例的记载,此处不再赘述。
本发明实施例一提供的主机,通过发送单元向存储设备发送移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度,以便存储设备根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域,并将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效;从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息,所以主机只需要与存储设备之间进行一次交互,提高了主机对存储设备内的数据进行移动的效率。
图8为本发明数据移动系统的结构示意图,如图8所示,本实施例的系统可以包括:存储设备10和主机20,存储设备10与主机20之间的实线表示存储设备10与主机20之间的通信连接,其中,存储设备10可以采用本发明存储设备实施例一至实施例三中任一装置实施例的结构,其对应地,可以执行图1~图3中任一方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。主机20可以采用图7中装置实施例的结构,其对应地,可以执行图4中方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本发明提供的计算节点实施例一的结构示意图,如图9所示,本实施例提供的计算节点700可以是包含计算能力的主机服务器,或者是个人计算机(Personal Computer;以下简称:PC),或者是可携带的便携式计算机或终端等,本发明在此不做限制,本发明具体实施例并不对计算节点700的具体实现做限定。计算节点700可以包括:处理器(Processor)710、通信接口(Communications Interface)720、存储器(memory)730、通信总线740,其中,处理器710、通信接口720和存储器730通过通信总线740完成各设备之间的通信,处理器710用于与网元750通信,网元750可以为虚拟机管理中心或者共享存储等。
存储器730用于存放程序732。存储器730可以包含高速随机存储器(Random Access Memory;以下简称:RAM),也可以还包括非易失性存储器(Non‑volatile Memory),例如为至少一个磁盘存储器。
处理器710用于执行程序732,具体地,程序732可以包括程序代码,所述程序代码包括计算机操作指令。其中,处理器710可以是一个中央处理器(Central Processing Unit;以下简称为CPU),或者是特定集成电路ASIC(Application Specific Integrated Circuit;以下简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。本实施例中的程序732具体可以用于:
接收单元,用于接收主机发送的移动命令消息,移动命令消息包括源逻辑块地址、目的逻辑块地址和待移动的数据长度。
移动单元,用于根据移动命令消息,将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域,
标记单元,用于将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。
进一步地,移动单元具体用于当逻辑块地址与物理块地址的映射表为静态映射表时,根据静态映射表,获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址;在起始地址为源物理块地址的区域中读取上述数据长度的数据;将读取的上述数据长度的数据写入至起始地址为目的物理块地址的区域。上述的标记单元具体用于将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。
进一步地,移动单元具体用于当逻辑块地址与物理块地址的映射表为动态映射表时,根据动态映射表,获取源逻辑块地址映射的源物理块地址;建立目的逻辑块地址与源物理块地址的映射关系。上述的标记单元具体用于将源逻辑块地址添加一个无效标记,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据;或者,具体用于根据源逻辑块地址和动态映射表,将源逻辑块地址映射到无效物理块地址,以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。
需要说明的是,程序732中各单元的具体实现参见本发明存储设备实施例一~实施例三中的相应单元,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

数据移动方法和系统、存储设备和主机.pdf_第1页
第1页 / 共17页
数据移动方法和系统、存储设备和主机.pdf_第2页
第2页 / 共17页
数据移动方法和系统、存储设备和主机.pdf_第3页
第3页 / 共17页
点击查看更多>>
资源描述

《数据移动方法和系统、存储设备和主机.pdf》由会员分享,可在线阅读,更多相关《数据移动方法和系统、存储设备和主机.pdf(17页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102929792 A (43)申请公布日 2013.02.13 CN 102929792 A *CN102929792A* (21)申请号 201210450261.4 (22)申请日 2012.11.12 G06F 12/02(2006.01) G06F 13/40(2006.01) (71)申请人 华为技术有限公司 地址 518129 广东省深圳市龙岗区坂田华为 总部办公楼 (72)发明人 陈业夫 (74)专利代理机构 北京同立钧成知识产权代理 有限公司 11205 代理人 刘芳 (54) 发明名称 数据移动方法和系统、 存储设备和主机 (57) 摘要 本发明实。

2、施例提供一种数据移动方法和系 统、 存储设备和主机, 该数据移动方法包括 : 接收 主机发送的移动命令消息, 所述移动命令消息包 括源逻辑块地址、 目的逻辑块地址和待移动的数 据长度 ; 根据所述移动命令消息, 将起始地址为 所述源逻辑块地址的区域中所述数据长度的数据 拷贝至起始地址为所述目的逻辑块地址的区域 ; 将起始地址为所述源逻辑块地址的区域中所述数 据长度的数据标记为无效 ; 从而实现了将数据从 起始地址为源逻辑块地址的区域中移动至起始地 址为目的逻辑块地址的区域的过程。由于主机只 向存储设备发送一次移动命令消息, 所以主机只 需要与存储设备之间进行一次交互, 提高了主机 对存储设备内。

3、的数据进行移动的效率。 (51)Int.Cl. 权利要求书 2 页 说明书 11 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 11 页 附图 3 页 1/2 页 2 1. 一种数据移动方法, 其特征在于, 包括 : 接收主机发送的移动命令消息, 所述移动命令消息包括源逻辑块地址、 目的逻辑块地 址和待移动的数据长度 ; 根据所述移动命令消息, 将起始地址为所述源逻辑块地址的区域中所述数据长度的数 据拷贝至起始地址为所述目的逻辑块地址的区域 ; 将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。 2. 根据权利要求 1。

4、 所述的方法, 其特征在于, 当逻辑块地址与物理块地址的映射表为静态映射表时, 所述将起始地址为所述源逻 辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域包 括 : 根据静态映射表, 获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块地址 映射的目的物理块地址 ; 在起始地址为所述源物理块地址的区域中读取所述数据长度的数据 ; 将读取的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。 3. 根据权利要求 1 所述的方法, 其特征在于, 当逻辑块地址与物理块地址的映射表为动态映射表时, 所述将起始地址为所述源逻 辑块地址的区域中所述数据长度的数据拷贝至起。

5、始地址为所述目的逻辑块地址的区域包 括 : 根据动态映射表, 获取所述源逻辑块地址映射的源物理块地址 ; 建立所述目的逻辑块地址与所述源物理块地址的映射关系。 4.根据权利要求2或3所述的方法, 其特征在于, 所述将起始地址为所述源逻辑块地址 的区域中所述数据长度的数据标记为无效包括 : 将所述源逻辑块地址添加一个无效标记, 以使所述主机不能根据所述源逻辑块地址获 取起始地址为所述源物理块地址的区域中所述数据长度的数据。 5. 根据权利要求 3 所述的方法, 其特征在于, 所述将起始地址为所述源逻辑块地址的 区域中所述数据长度的数据标记为无效包括 : 根据所述源逻辑块地址和所述动态映射表, 将。

6、所述源逻辑块地址映射到无效物理块地 址, 以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中 所述数据长度的数据。 6. 一种数据移动方法, 其特征在于, 包括 : 向存储设备发送移动命令消息, 所述移动命令消息包括源逻辑块地址、 目的逻辑块地 址和待移动的数据长度, 以便所述存储设备根据所述移动命令消息, 将起始地址为所述源 逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域, 并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。 7. 一种存储设备, 其特征在于, 包括 : 接收单元, 用于接收主机发送的移动命令消息, 所述。

7、移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度 ; 移动单元, 用于根据所述移动命令消息, 将起始地址为所述源逻辑块地址的区域中所 述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域 ; 权 利 要 求 书 CN 102929792 A 2 2/2 页 3 标记单元, 用于将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为 无效。 8. 根据权利要求 7 所述的存储设备, 其特征在于, 所述移动单元具体用于当逻辑块地址与物理块地址的映射表为静态映射表时, 根据静 态映射表, 获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块地址映射的目的 物理块地址 ; 。

8、在起始地址为所述源物理块地址的区域中读取所述数据长度的数据 ; 将读取 的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。 9. 根据权利要求 7 所述的存储设备, 其特征在于, 所述移动单元具体用于当逻辑块地址与物理块地址的映射表为动态映射表时, 根据动 态映射表, 获取所述源逻辑块地址映射的源物理块地址 ; 建立所述目的逻辑块地址与所述 源物理块地址的映射关系。 10. 根据权利要求 8 或 9 所述的存储设备, 其特征在于, 所述标记单元具体用于将所述源逻辑块地址添加一个无效标记, 以使所述主机不能根 据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中所述数据长度的数据。

9、。 11. 根据权利要求 9 所述的存储设备, 其特征在于, 所述标记单元具体用于根据所述源逻辑块地址和所述动态映射表, 将所述源逻辑块地 址映射到无效物理块地址, 以使所述主机不能根据所述源逻辑块地址获取起始地址为所述 源物理块地址的区域中所述数据长度的数据。 12. 一种主机, 其特征在于, 包括 : 发送单元, 用于向存储设备发送移动命令消息, 所述移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度, 以便所述存储设备根据所述移动命令消息, 将起始 地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑 块地址的区域, 并将起始地址为所述源逻辑块地址的。

10、区域中所述数据长度的数据标记为无 效。 13. 一种数据移动系统, 其特征在于, 包括如权利要求 711 任一项所述的存储设备, 以 及如权利要求 12 所述的主机, 所述存储设备与所述主机通信连接。 权 利 要 求 书 CN 102929792 A 3 1/11 页 4 数据移动方法和系统、 存储设备和主机 技术领域 0001 本发明涉及计算机技术, 尤其涉及数据移动方法和系统、 存储设备和主机。 背景技术 0002 在主机访问存储设备时, 可能会将存储设备中的数据从一个区域移动到另一个区 域, 即将例如 : 将长度 L 的数据的从逻辑块地址 A 的区域移动到逻辑块地址 B 的区域, 现 有。

11、技术主要通过小型计算机系统接口 (SmallComputer System Interface ; 以下简称为 : SCSI) 协议或者高技术配置 (Advanced Technology Attachment ; 以下简称为 : ATA) 协议来 实现。 0003 其中, 通过 SCSI 协议来实现的过程为 : 主机向存储设备发出 copy 命令, 存储设备 在内部将逻辑块地址 A、 长度 L 的数据拷贝至逻辑块地址 B 的区域, 主机等待存储设备拷贝 完成后向设备发出 unmap 命令, 存储设备再将逻辑块地址 A、 长度 L 的数据标志为无效。 0004 通过ATA协议来实现的过程为 :。

12、 主机在本地分配长度L的缓冲区, 再用读命令将存 储设备逻辑块地址 A、 长度 L 的数据读到缓冲区中, 然后主机用写命令将缓冲区中的数据写 到存储设备逻辑块地址 B 的区域, 再释放缓冲区, 最后主机用 TRIM 命令通知存储设备将起 始逻辑 A、 长度 L 的数据标志为无效。 0005 在实现本发明的过程中, 发明人发现, 如果基于 SCSI 协议实现数据移动, 则主机 需要与存储设备之间进行两次交互 ; 如果基于 ATA 协议实现数据移动, 则主机需要与存储 设备之间进行三次交互 ; 从而导致主机对存储设备中数据的移动效率低下。 发明内容 0006 本发明提供一种数据移动方法和系统、 存。

13、储设备和主机, 用以使主机只向存储设 备发送一次移动命令消息, 即可实现将数据从起始地址为源逻辑块地址的区域中移动至起 始地址为目的逻辑块地址的区域的过程。 0007 第一方面, 本发明实施例提供一种数据移动方法, 包括 : 0008 接收主机发送的移动命令消息, 所述移动命令消息包括源逻辑块地址、 目的逻辑 块地址和待移动的数据长度 ; 0009 根据所述移动命令消息, 将起始地址为所述源逻辑块地址的区域中所述数据长度 的数据拷贝至起始地址为所述目的逻辑块地址的区域 ; 0010 将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。 0011 结合第一方面, 在第一方面的第一种。

14、可能的实现方式中, 当逻辑块地址与物理块 地址的映射表为静态映射表时, 所述将起始地址为所述源逻辑块地址的区域中所述数据长 度的数据拷贝至起始地址为所述目的逻辑块地址的区域包括 : 0012 根据静态映射表, 获取所述源逻辑块地址映射的源物理块地址和所述目的逻辑块 地址映射的目的物理块地址 ; 0013 在起始地址为所述源物理块地址的区域中读取所述数据长度的数据 ; 说 明 书 CN 102929792 A 4 2/11 页 5 0014 将读取的所述数据长度的数据写入至起始地址为所述目的物理块地址的区域。 0015 结合第一方面, 在第一方面的第二种可能的实现方式中, 当逻辑块地址与物理块 。

15、地址的映射表为动态映射表时, 所述将起始地址为所述源逻辑块地址的区域中所述数据长 度的数据拷贝至起始地址为所述目的逻辑块地址的区域包括 : 0016 根据动态映射表, 获取所述源逻辑块地址映射的源物理块地址 ; 0017 建立所述目的逻辑块地址与所述源物理块地址的映射关系。 0018 结合第一方面的第一种可能的实现方式或第二种可能的实现方式, 在第一方面的 第三种可能的实现方式中, 所述将起始地址为所述源逻辑块地址的区域中所述数据长度的 数据标记为无效包括 : 0019 将所述源逻辑块地址添加一个无效标记, 以使所述主机不能根据所述源逻辑块地 址获取起始地址为所述源物理块地址的区域中所述数据长。

16、度的数据。 0020 结合第一方面的第二种可能的实现方式, 在第一方面的第四种可能的实现方式 中, 所述将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效包括 : 0021 根据所述源逻辑块地址和所述动态映射表, 将所述源逻辑块地址映射到无效物理 块地址, 以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区 域中所述数据长度的数据。 0022 第二方面, 本发明实施例还提供一种数据移动方法, 包括 : 0023 向存储设备发送移动命令消息, 所述移动命令消息包括源逻辑块地址、 目的逻辑 块地址和待移动的数据长度, 以便所述存储设备根据所述移动命令消息, 将起始。

17、地址为所 述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的 区域, 并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记为无效。 0024 第三方面, 本发明实施例提供一种存储设备, 包括 : 0025 接收单元, 用于接收主机发送的移动命令消息, 所述移动命令消息包括源逻辑块 地址、 目的逻辑块地址和待移动的数据长度 ; 0026 移动单元, 用于根据所述移动命令消息, 将起始地址为所述源逻辑块地址的区域 中所述数据长度的数据拷贝至起始地址为所述目的逻辑块地址的区域 ; 0027 标记单元, 用于将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标 记。

18、为无效。 0028 结合第三方面, 在第三方面的第一种可能的实现方式中, 所述移动单元具体用于 当逻辑块地址与物理块地址的映射表为静态映射表时, 根据静态映射表, 获取所述源逻辑 块地址映射的源物理块地址和所述目的逻辑块地址映射的目的物理块地址 ; 在起始地址为 所述源物理块地址的区域中读取所述数据长度的数据 ; 将读取的所述数据长度的数据写入 至起始地址为所述目的物理块地址的区域。 0029 结合第三方面, 在第三方面的第二种可能的实现方式中, 所述移动单元具体用于 当逻辑块地址与物理块地址的映射表为动态映射表时, 根据动态映射表, 获取所述源逻辑 块地址映射的源物理块地址 ; 建立所述目的。

19、逻辑块地址与所述源物理块地址的映射关系。 0030 结合第三方面的第一种可能的实现方式或第二种可能的实现方式, 在第三方面的 第三种可能的实现方式中, 所述标记单元具体用于将所述源逻辑块地址添加一个无效标 记, 以使所述主机不能根据所述源逻辑块地址获取起始地址为所述源物理块地址的区域中 说 明 书 CN 102929792 A 5 3/11 页 6 所述数据长度的数据。 0031 结合第三方面的第二种可能的实现方式, 在第三方面的第四种可能的实现方式 中, 所述标记单元具体用于根据所述源逻辑块地址和所述动态映射表, 将所述源逻辑块地 址映射到无效物理块地址, 以使所述主机不能根据所述源逻辑块地。

20、址获取起始地址为所述 源物理块地址的区域中所述数据长度的数据。 0032 第四方面, 本发明实施例提供一种主机, 包括 : 0033 发送单元, 用于向存储设备发送移动命令消息, 所述移动命令消息包括源逻辑块 地址、 目的逻辑块地址和待移动的数据长度, 以便所述存储设备根据所述移动命令消息, 将 起始地址为所述源逻辑块地址的区域中所述数据长度的数据拷贝至起始地址为所述目的 逻辑块地址的区域, 并将起始地址为所述源逻辑块地址的区域中所述数据长度的数据标记 为无效。 0034 第五方面, 本发明实施例提供一种数据移动系统, 包括如上所述的存储设备, 以及 如上所述的主机, 所述存储设备与所述主机通。

21、信连接。 0035 本发明实施例提供的数据移动方法和系统、 存储设备和主机, 通过存储设备接收 主机发送的移动命令消息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的 数据长度 ; 根据移动命令消息, 将起始地址为源逻辑块地址的区域中上述数据长度的数据 拷贝至起始地址为目的逻辑块地址的区域 ; 存储设备将起始地址为源逻辑块地址的区域中 上述数据长度的数据标记为无效 ; 从而实现了将数据从起始地址为源逻辑块地址的区域中 移动至起始地址为目的逻辑块地址的区域的过程。 由于主机只向存储设备发送一次移动命 令消息, 所以主机只需要与存储设备之间进行一次交互, 提高了主机对存储设备内的数据 。

22、进行移动的效率。 附图说明 0036 为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施例或现 有技术描述中所需要使用的附图作一简单地介绍, 显而易见地, 下面描述中的附图是本发 明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以 根据这些附图获得其他的附图。 0037 图 1 为本发明数据移动方法实施例一的流程图 ; 0038 图 2 为本发明数据移动方法实施例二的流程图 ; 0039 图 3 为本发明数据移动方法实施例三的流程图 ; 0040 图 4 为本发明数据移动方法实施例四的流程图 ; 0041 图 5 为本发明应用场景实施例一的示。

23、意图 ; 0042 图 6 为本发明存储设备实施例一的结构示意图 ; 0043 图 7 为本发明主机实施例一的结构示意图 ; 0044 图 8 为本发明数据移动系统的结构示意图 ; 0045 图 9 为本发明提供的计算节点实施例一的结构示意图。 具体实施方式 0046 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本发明实施例 说 明 书 CN 102929792 A 6 4/11 页 7 中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描述, 显然, 所描述的实施例是 本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员 在没有作出创。

24、造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。 0047 图1为本发明数据移动方法实施例一的流程图, 如图1所示, 本实施例的方法可以 包括 : 0048 步骤 101、 存储设备接收主机发送的移动命令消息, 移动命令消息包括源逻辑块地 址、 目的逻辑块地址和待移动的数据长度。 0049 本实施例中, 在主机与存储设备的交互协议中引入一条专门的 “数据移动” 命令, 使得主机可以将数据移动的意图明确的通知存储设备 ; 当主机访问存储设备时, 需要将存 储设备中的数据从一个区域移动至另一区域时, 则主机向存储设备发送移动命令消息, 相 应地, 存储设备接收主机发送的该移动命令消。

25、息, 其中, 该移动命令消息中包括源逻辑块地 址、 目的逻辑块地址和待移动的数据长度。 0050 步骤 102、 存储设备根据移动命令消息, 将起始地址为源逻辑块地址的区域中上述 数据长度的数据拷贝至起始地址为目的逻辑块地址的区域。 0051 存储设备接收到主机发送的移动命令消息后, 根据移动命令消息, 获取移动命令 消息中的源逻辑块地址、 目的逻辑块地址和待移动的数据长度, 然后将起始地址为源逻辑 块地址的区域中待移动的数据长度的数据拷贝至起始地址为目的逻辑块地址的区域中。 0052 步骤 103、 存储设备将起始地址为源逻辑块地址的区域中上述数据长度的数据标 记为无效。 0053 存储设备。

26、在将待移动数据从起始地址为源逻辑块地址的区域中拷贝至起始地址 为目的逻辑块地址的区域中后, 根据移动命令消息, 再将起始地址为源逻辑块地址的区域 中待移动的数据长度数据标记为无效, 使得主机不能再通过起始地址为源逻辑块地址来获 取该待移动的数据长度的数据, 而使主机在需要获取该待移动的数据长度的数据时通过起 始逻辑地址为目的逻辑块地址来获取 ; 从而实现了将数据从起始地址为源逻辑块地址的区 域中移动至起始地址为目的逻辑块地址的区域的过程。 0054 本发明实施例一提供的数据移动方法, 存储设备通过接收主机发送的移动命令消 息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度 。

27、; 根据移动命令 消息, 将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻 辑块地址的区域 ; 将起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效 ; 从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地 址的区域的过程。由于主机只向存储设备发送一次移动命令消息, 所以主机只需要与存储 设备之间进行一次交互, 提高了主机对存储设备内的数据进行移动的效率。 0055 图2为本发明数据移动方法实施例二的流程, 如图2所示, 本实施例的方法可以包 括 : 0056 步骤 201、 存储设备接收主机发送的移动命令消息, 移动命令消息包括源逻辑块。

28、地 址、 目的逻辑块地址和待移动的数据长度。 0057 步骤 202、 当逻辑块地址与物理块地址的映射表为静态映射表时, 存储设备根据移 动命令消息和静态映射表, 获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射 的目的物理块地址。 说 明 书 CN 102929792 A 7 5/11 页 8 0058 具体地, 在存储设备上, 逻辑块地址和物理块地址都有一定的映射关系, 即存储设 备会维护一张映射表, 其中, 该映射表中保存有逻辑块地址和物理块地址的当前映射关系, 该映射表包括静态映射表和动态映射表。 该静态映射表中保存的逻辑块地址和物理块地址 的映射关系是固定的, 在存储设备运行时。

29、不会改变。而动态映射表中保存的逻辑块地址和 物理块地址的映射关系是不固定的, 在存储设备运行时, 逻辑块地址和物理块地址的映射 关系是可以发生变化的。 0059 当逻辑块地址与物理块地址的映射表为静态映射表时, 存储设备根据移动命令消 息, 获取移动命令消息中的源逻辑块地址、 目的逻辑块地址和待移动的数据长度, 然后从静 态映射表中获取源逻辑块地址映射的物理块地址即源物理块地址, 还从静态映射表中获取 目的逻辑块地址映射的物理块地址即目的物理块地址。 0060 步骤 203、 存储设备在起始地址为源物理块地址的区域中读取上述数据长度的数 据。 0061 具体地, 存储设备根据源物理块地址找到起。

30、始地址为源物理块地址的区域, 并从 中读取待移动的数据长度的数据。 0062 步骤 204、 存储设备将读取的上述数据长度的数据写入至起始地址为目的物理块 地址的区域。 0063 具体地, 存储设备读取到待移动的数据长度的数据后, 再将所读取的待移动的数 据长度的数据写入至起始地址为目的物理块地址的区域。 0064 步骤 205、 存储设备将源逻辑块地址添加一个无效标记, 以使主机不能根据源逻辑 块地址获取起始地址为源物理块地址的区域中上述数据长度的数据。 0065 存储设备在将待移动数据写入至起始地址为目的物理块地址的区域后, 根据移动 命令消息, 再将源逻辑块地址添加一个无效标记, 以实现。

31、存储设备将起始地址为源逻辑块 地址的区域中待移动的数据长度的数据标记为无效。由于源逻辑块地址添加了无效标记, 所以主机通过起始地址为该源逻辑块地址只能获取到无效数据, 即不能通过起始地址为该 源逻辑块地址来获取该待移动的数据长度的数据, 而是使主机在需要获取该待移动的数据 长度的数据时通过起始地址为目的逻辑块地址来获取 ; 从而实现了将数据从起始地址为源 逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。 0066 需要说明的是, 在基于 ATA 协议实现数据移动, 采用本发明实施例提供的数据移 动方法, 主机无需分配和释放缓冲区, 也无需在主机和存储设备之间传输数据。 0067 。

32、本发明实施例二提供的数据移动方法, 存储设备通过接收主机发送的移动命令消 息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度 ; 当逻辑块地址 与物理块地址的映射表为静态映射表时, 存储设备根据移动命令消息和静态映射表, 获取 源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址 ; 在起始地址 为源物理块地址的区域中读取上述数据长度的数据 ; 将读取的上述数据长度的数据写入至 起始地址为目的物理块地址的区域 ; 将源逻辑块地址添加一个无效标记, 以使主机不能根 据源逻辑块地址获取起始地址为源物理块地址的区域中上述数据长度的数据 ; 从而实现了 将数据从起始地。

33、址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的 过程。由于主机只向存储设备发送一次移动命令消息, 所以主机只需要与存储设备之间进 行一次交互, 提高了主机对存储设备内的数据进行移动的效率。 说 明 书 CN 102929792 A 8 6/11 页 9 0068 图3为本发明数据移动方法实施例三的流程图, 如图3所示, 本实施例的方法可以 包括 : 0069 步骤 301、 存储设备接收主机发送的移动命令消息, 移动命令消息包括源逻辑块地 址、 目的逻辑块地址和待移动的数据长度。 0070 步骤 302、 当逻辑块地址与物理块地址的映射表为动态映射表时, 存储设备根据动 态映射。

34、表, 获取源逻辑块地址映射的源物理块地址。 0071 具体地, 在存储设备上, 逻辑块地址和物理块地址都有一定的映射关系, 即存储设 备会维护一张映射表, 其中, 该映射表中保存有逻辑块地址和物理块地址的当前映射关系, 该映射表包括静态映射表和动态映射表。 该静态映射表中保存的逻辑块地址和物理块地址 的映射关系是固定的, 在存储设备运行时不会改变。而动态映射表中保存的逻辑块地址和 物理块地址的映射关系是不固定的, 在存储设备运行时, 逻辑块地址和物理块地址的映射 关系是可以发生变化的。 0072 当逻辑块地址与物理块地址的映射表为动态映射表时, 存储设备根据移动命令消 息, 获取移动命令消息中。

35、的源逻辑块地址、 目的逻辑块地址和待移动的数据长度, 然后从动 态映射表中获取源逻辑块地址映射的物理块地址即源物理块地址, 还从动态映射表中获取 目的逻辑块地址映射的物理块地址即目的物理块地址。 0073 步骤 303、 存储设备建立目的逻辑块地址与源物理块地址的映射关系。 0074 具体地, 存储设备解除动态映射表中目的逻辑块地址与目的物理块地址的映射关 系, 再建立目的逻辑块地址与源物理块地址的映射关系, 并保存在该动态映射表中。 0075 步骤 304、 存储设备将起始地址为源逻辑块地址的区域中上述数据长度的数据标 记为无效。 0076 在一种可行的实现方式中, 步骤 304 可以为 :。

36、 存储设备将源逻辑块地址添加一个 无效标记, 以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中待移动 的数据长度的数据 ; 即存储设备不改变源逻辑块地址与源物理块地址之间的映射关系, 而 是将源逻辑块地址添加一个无效标记, 以实现存储设备将起始地址为源逻辑块地址的区域 中待移动的数据长度的数据标记为无效。由于源逻辑块地址添加了无效标记, 所以主机通 过始起地址为该源逻辑块地址只能获取到无效数据, 即不能通过起始地址为该源逻辑块地 址来获取该待移动的数据长度的数据, 而是使主机在需要获取该待移动的数据长度的数据 时通过起始地址为目的逻辑块地址来获取 ; 从而实现了将数据从起始地址为。

37、源逻辑块地址 的区域中移动至起始地址为目的逻辑块地址的区域的过程。 0077 在另一种可行的实现方式中, 步骤 304 可以为 : 存储设备根据源逻辑块地址和动 态映射表, 将源逻辑块地址映射到无效物理块地址, 以使主机不能根据源逻辑块地址获取 起始地址为源物理块地址的区域中上述数据长度的数据。具体地, 存储设备解除动态映射 表中源逻辑块地址与源物理块地址的映射关系, 再建立源逻辑块地址与无效物理块地址的 映射关系, 并保存在该动态映射表中, 所以主机通过起始地址为源逻辑块地址获取数据时, 只能获取到源逻辑块地址映射的无效物理块地址的区域中的数据, 而无效物理块地址是一 个无效地址, 所以主机。

38、是不能通过起始地址为源逻辑块地址来获取数据, 而是使主机在需 要获取该待移动的数据长度的数据时通过起始地址为目的逻辑块地址来获取 ; 从而实现了 将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的 说 明 书 CN 102929792 A 9 7/11 页 10 过程。 0078 需要说明的是, 在基于 ATA 协议实现数据移动时, 采用本发明实施例提供的数据 移动方法, 主机无需分配和释放缓冲区, 也无需在主机和存储设备之间传输数据。 0079 本发明实施例三提供的数据移动方法, 存储设备通过接收主机发送的移动命令消 息, 移动命令消息包括源逻辑块地址、 目的逻辑块。

39、地址和待移动的数据长度 ; 当逻辑块地址 与物理块地址的映射表为动态映射表时, 存储设备根据动态映射表, 获取源逻辑块地址映 射的源物理块地址 ; 建立目的逻辑块地址与源物理块地址的映射关系 ; 将起始地址为源逻 辑块地址的区域中上述数据长度的数据标记为无效 ; 从而实现了将数据从起始地址为源逻 辑块地址的区域中移动至起始地址为目的逻辑块地址的区域的过程。 由于主机只向存储设 备发送一次移动命令消息, 所以主机只需要与存储设备之间进行一次交互, 提高了主机对 存储设备内的数据进行移动的效率。 进一步地, 存储设备通过修改映射表来实现数据移动, 使得数据移动操作过程简单、 可靠, 进一步提高了数。

40、据移动的效率, 同时, 不需要对数据进 行读写操作, 降低了存储设备的损耗。 0080 图4为本发明数据移动方法实施例四的流程图, 如图4所示, 本实施例的方法可以 包括 : 0081 步骤 401、 主机向存储设备发送移动命令消息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度, 以便存储设备根据移动命令消息, 将起始地址为源 逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为目的逻辑块地址的区域, 并将 起始地址为源逻辑块地址的区域中上述数据长度的数据标记为无效。 0082 本实施例中, 在主机与存储设备的交互协议中引入一条专门的 “数据移动” 命令, 使得主机可以将。

41、数据移动的意图明确的通知存储设备 ; 当主机访问存储设备时, 需要将存 储设备中的数据从起始地址为源逻辑块地址的区域移动至起始地址为目的逻辑块地址的 区域时, 则主机向存储设备发送移动命令消息, 其中, 该移动命令消息中包括源逻辑块地 址、 目的逻辑块地址和待移动的数据长度 ; 相应地, 存储设备接收主机发送的该移动命令消 息, 根据移动命令消息, 将起始地址为源逻辑块地址的区域中待移动的数据长度的数据拷 贝至起始地址为目的逻辑块地址的区域, 并将起始地址为源逻辑块地址的区域中待移动的 数据长度的数据标记为无效, 使得主机不能再通过起始地址为源逻辑块地址来获取该待移 动的数据长度的数据, 而是。

42、使主机在需要获取该待移动的数据长度的数据时通过起始逻辑 地址为目的逻辑块地址来获取 ; 从而实现了将数据从起始地址为源逻辑块地址的区域中移 动至起始地址为目的逻辑块地址的区域的过程。 0083 本发明实施例四提供的数据移动方法, 通过主机向存储设备发送移动命令消息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度, 以便存储设备根 据移动命令消息, 将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地 址为目的逻辑块地址的区域, 并将起始地址为源逻辑块地址的区域中上述数据长度的数据 标记为无效 ; 从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为目 。

43、的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息, 所以主机只 需要与存储设备之间进行一次交互, 提高了主机对存储设备内的数据进行移动的效率。 0084 本发明图 1 图 4 所示实施例提供的方法, 可以用于图 5 所示的应用场景中, 图 5 为本发明应用场景实施例一的示意图, 图 5 所示的应用场景中包括存储设备和主机。 说 明 书 CN 102929792 A 10 8/11 页 11 0085 具体地, 主机向存储设备发送移动命令消息, 该移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度。存储设备接收主机发送的移动命令消息之后, 根据 移动命令消息, 将。

44、起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址 为目的逻辑块地址的区域。 然后该存储设备将起始地址为源逻辑块地址的区域中上述数据 长度的数据标记为无效 ; 从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起 始地址为目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息, 所以主机只需要与存储设备之间进行一次交互, 提高了主机对存储设备内的数据进行移动 的效率。 0086 需要说明的是, 在上述各实施例的基础上, 进一步地, 在一种可行的实现方式中, 存储设备在完成将起始地址为源逻辑块地址的区域中待移动的数据长度的数据标记为无 效之后, 主动向主机发送数据移。

45、动成功响应, 主机接收到该数据移动成功响应后, 可获知数 据移动过程已成功完成 ; 或者, 存储设备中数据移动过程失败后, 存储设备主动向主机发送 数据移动失败响应, 该数据移动失败响应中携带有失败原因, 主机接收到该数据移动失败 响应后, 根据失败原因执行相应的操作。 0087 在另一种可行的实现方式中, 主机在发送完移动命令消息, 等待一段时间后主动 向存储设备发送查询命令消息, 存储设备接收到该查询命令消息, 向主机发送查询响应, 该 查询响应用以向主机反馈正在进行数据移动或者数据移动成功或者数据移动失败。 如果存 储设备中的数据移动过程还未完成, 则存储设备向主机发送数据移动正在进行响。

46、应, 主机 接收到该数据移动正在进行响应, 再等待一段时间后主动向存储设备发送查询命令消息 ; 如果存储设备中数据移动过程已经成功完成, 则存储设备向主机发送数据移动成功响应, 主机接收到该数据移动成功响应后, 可获知数据移动过程已成功完成 ; 如果存储设备中数 据移动过程失败, 则存储设备向主机发送数据移动失败响应, 该数据移动失败响应中携带 有失败原因, 主机接收到该数据移动失败响应后, 根据失败原因执行相应的操作, 本领域普 通技术人员可以理解此过程为现有技术, 本发明在此不再赘述。 0088 图6为本发明存储设备实施例一的结构示意图, 如图6所示, 本实施例的存储设备 可以包括 : 接。

47、收单元 11、 移动单元 12 和标记单元 13, 其中, 接收单元 11 用于接收主机发送 的移动命令消息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度 ; 移动单元 12 用于根据移动命令消息, 将起始地址为源逻辑块地址的区域中上述数据长度 的数据拷贝至起始地址为目的逻辑块地址的区域 ; 标记单元 13 用于将起始地址为源逻辑 块地址的区域中上述数据长度的数据标记为无效。 0089 本实施例的存储设备, 可以用于执行图 1 所示方法实施例的技术方案, 其实现原 理类似, 详细可以参见上述实施例的记载, 此处不再赘述。 0090 本发明实施例一提供的存储设备, 通过接收。

48、单元接收主机发送的移动命令消息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数据长度 ; 移动单元根据移 动命令消息, 将起始地址为源逻辑块地址的区域中上述数据长度的数据拷贝至起始地址为 目的逻辑块地址的区域 ; 标记单元将起始地址为源逻辑块地址的区域中上述数据长度的数 据标记为无效, 从而实现了将数据从起始地址为源逻辑块地址的区域中移动至起始地址为 目的逻辑块地址的区域的过程。由于主机只向存储设备发送一次移动命令消息, 所以主机 只需要与存储设备之间进行一次交互, 提高了主机对存储设备内的数据进行移动的效率。 说 明 书 CN 102929792 A 11 9/11 页 12 。

49、0091 在本发明存储设备实施例二中, 在图 6 所示存储设备结构的基础上, 上述的移动 单元 12 具体用于当逻辑块地址与物理块地址的映射表为静态映射表时, 根据静态映射表, 获取源逻辑块地址映射的源物理块地址和目的逻辑块地址映射的目的物理块地址 ; 在起始 地址为源物理块地址的区域中读取上述数据长度的数据 ; 将读取的上述数据长度的数据写 入至起始地址为目的物理块地址的区域。上述的标记单元 13 具体用于将源逻辑块地址添 加一个无效标记, 以使主机不能根据源逻辑块地址获取起始地址为源物理块地址的区域中 上述数据长度的数据。 0092 本实施例的存储设备, 可以用于执行图 2 所示方法实施例的技术方案, 其实现原 理类似, 详细可以参见上述实施例的记载, 此处不再赘述。 0093 本发明实施例二提供的存储设备, 通过接收单元接收主机发送的移动命令消息, 移动命令消息包括源逻辑块地址、 目的逻辑块地址和待移动的数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1