CN111913835A - 基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质 - Google Patents
基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111913835A CN111913835A CN202010751533.9A CN202010751533A CN111913835A CN 111913835 A CN111913835 A CN 111913835A CN 202010751533 A CN202010751533 A CN 202010751533A CN 111913835 A CN111913835 A CN 111913835A
- Authority
- CN
- China
- Prior art keywords
- data
- backup
- lba
- data area
- reading
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
Abstract
本发明涉及一种基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质,方法包括以下步骤:在存储设备的用户数据区之外建立至少一个备份数据区;获取来自主机的数据写入命令;解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA;根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。本发明在维持原始数据逻辑地址LBA的映射关系的基础上,实现用户数据的多备份管理,多备份对外部不可见,在发生原始数据损失时,起到还原、挽救原始数据的作用,同时避免了用户层或者协议层的混乱。
Description
技术领域
本发明涉及数据存储备份领域,更具体地说是指一种基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质。
背景技术
在存储数据领域,常见的数据备份方式包括以下三种:
1)用户主动进行的多文件备份,即新建原文件副本。
2)配合操作系统实现的磁盘阵列RAID,如RAID1模式。用多颗硬盘组成,写入硬盘的数据被复制成与硬盘相同数量的份数,分别写入数组中的各颗硬盘。这样每个硬盘内都拥有着同份数据的不同拷贝,只要阵列中有一个硬盘完好,那么数据就不会遗失。
3)在单个硬盘的情况,特别是消费级硬盘领域,为确保数据不会丢失。以SSD为例,主要依靠对NAND本身bit数据的维护(如retry table,LDPC)内部算法(如RAID算法,通过设定不同的stripe进行异或运算得到raid parity存入flash)来解决。
上述的数据备份方法是在用户数据映射关系的外围进行的。上述用户数据映射关系,是指数据主机端的逻辑地址LBA与存储物理地址之间的映射关系。前两种方案是从用户层面通过主动或者借助操作系统的多磁盘阵列角度,而第三种方案是单纯存储设备本身进行数据保护必备的保护手段,对所有数据一视同仁。
内部管理单元FTL内部也有一些多备份的操作,通常针对系统数据,即维护固件自身工作的内部管理数据,采用了保存多个不同拷贝到多个物理地址的方式;但并不涉及用户数据。
公开于该背景技术部分的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
发明内容
本发明的目的在于克服现有技术的缺陷,提供一种基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:
第一方面,本发明提出一种基于交叉映射的数据多备份存储方法,包括数据备份流程,数据备份流程包括以下步骤:
在存储设备的用户数据区之外建立至少一个备份数据区;
获取来自主机的数据写入命令;
解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA;
根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。
第二方面,本发明提出一种基于交叉映射的数据多备份存储装置,包括:
备份扩展单元,用于在存储设备用户数据区之外建立至少一个备份数据区;
第一获取单元们勇于获取来自主机的数据写入命令;
解析生成单元,用于解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA;
数据备份单元,用于根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。
第三方面,本发明提出一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的基于交叉映射的数据多备份存储方法。
第四方面,本发明提出一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如上所述的基于交叉映射的数据多备份存储方法。
本发明与现有技术相比的有益效果是:本发明在维持原始数据逻辑地址LBA的映射关系的基础上,实现用户数据的多备份管理,多备份管理过程对外部不可见,只在发生原始数据损失时,让备份项起到还原、挽救原始数据的作用,同时避免了用户层或者协议层的混乱。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种基于交叉映射的数据多备份存储方法的数据备份流程示意图;
图2为本发明实施例提供的一种基于交叉映射的数据多备份存储方法的数据备份读取流程示意图;
图3为本发明另一实施例提供的一种基于交叉映射的数据多备份存储方法的子流程示意图;
图4为本发明实施例用户数据区与备份数据区结构原理图;
图5为本发明实施例用户数据区与备份数据区结构原理图;
图6为本发明实施例提供的一种基于交叉映射的数据多备份存储装置的示意性框图;
图7为本发明实施例提供的一种基于交叉映射的数据多备份存储装置的备份扩展单元的示意性框图;
图8为本发明实施例提供的一种基于交叉映射的数据多备份存储装置的数据读取单元的示意性框图;
图9为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
图1是本发明实施例提供的一种基于交叉映射的数据多备份存储方法的数据备份流程示意图。如图1所示,该方法包括以下步骤S110至S140。
S110、在存储设备的用户数据区之外建立至少一个备份数据区。
在本实施例中,在存储设备的常规用户数据区之外建立至少一个备份数据区,用于独自存放于原始数据对应的备份数据,避免存放于用户数据区的原始数据发生错误时,导致原始数据无法找回,给用户造成不必要的麻烦。
具体的,备份数据区数量可以为1个,2个,3个等等,可以根据存储设备容量和数据的重要程度设置。在本方案中,备份数据区的存储大小远小于用户数据区,本方案的备份数据区主要用于存储关键数据的备份,这样就不会因为存储多个备份数据而导致存储设备的存储空间不足,在保证数据安全的前提下,不影响存储设备的正常使用。
在一实施例中,步骤S110包括步骤S111。
S111、在存储设备的用户数据区延伸出至少一个数据区作为备份数据区。
在本实施例中,如图4所示,通过存储管理单元在存储设备的原有的用户数据区的基础上分隔/延伸至少一段data区间作为备份数据区,备份数据区用于存储与原始数据相同的备份数据,备份数据区与扩展LBA对应。
在一实施例中,步骤S110包括步骤S112。
S112、在存储设备的用户数据区之外新建至少一个数据区作为备份数据区。
在本实施例中,如图5所示,通过存储管理单元在存储设备的原有的用户数据区之外,扩张出至少一段data区间并新建为备份数据区,备份数据区用于存储与原始数据相同的备份数据,备份数据区与扩展LBA对应。
S120、获取来自主机的数据写入命令。
S130、解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA。
在存储技术领域中,主机与存储设备通过逻辑地址LBA作为接口进行数据传递,通常主机以约定的格式(SATA、NVMe协议)将一段LBA地址的数据及数据内存发送给存储设备;随后存储设备根据内部管理单元FTL安排存储设备上LBA范围写入的物理地址VPN,从而建立映射表(Mapping table/PMT,page mapping table)。默认情况下,存储设备的用户数据区覆盖LBA0~LBA N,其中N的大小取决于存储设备的容量,为固定值。
其中,LBA(Logical Block Address,逻辑区块地址)。
在本实施例中,在数据写入时,获取来自主机的数据写入命令,并解析数据写入命令,得到其携带的待写入数据的目标LBA,并基于目标LBA和已有的备份数据区,生成与目标LBA对应的扩展LBA,其中每一份扩展LBA与备份数据区一一对应。
在一具体实施例中,接收到数据写入命令后,会判断待写入数据是否为关键数据,对于一般用户数据仍然按照常规的写入方式进行处理,对于关键数据则会先基于目标LBA和备份数据区生成对应的扩展LBA。并分别为目标LBA_x和扩展LBA_x’分配各自的PMT_x和PMT_x’,然后将同一份待写入数据分别写入NAND的不同位置中。备份数据和原始数据写入位置不同,不位于同一存储设备的RAID block中,以使原始数据和备份数据尽可能不会同时发生数据错误。
S140、根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。
在一实施例中,每个LBA数据都会经过存储管理单元FTL形成各自的映射表,从而写入数据,由主机发送数据经过存储管理单元FTL根据LBA分配物理地址写入存储设备。本方案中,根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表,也就写入了一份原始数据以及至少一份备份数据,只要存在一份备份数据完整,即使原始数据和其他备份数据被损坏,也可以基于完整的备份数据进行数据读取,以及数据恢复,提高原始数据和备份数据的安全性。
具体的,所有LBA与物理地址VPN都是一对一的映射关系,当数据被更新时,存储管理单元FTL会分配新的物理地址VPN写入,旧的VPN位置被废弃,以此形成最新数据维护。另外,为了保证数据安全,在存储管理单元FTL和NAND两个层面上加入下述保护手段
a)引入RAID算法恢复电路原因导致的错误;
b)建立错误模型改进非电路原因形成的错误;
c)纠错和校验手段等。
这些保护手段对任何一个LBA都是等同的,其数据都经过了完整路径的保护。当然虽然存储设备做了很多数据安全性的考虑,但在某些恶劣情况下仍然是不够的,数据丢失就会发生。对于一些较普通的数据,偶有丢失可能不会引起严重问题,但是对一些关键数据,如系统数据、用户关注的重点数据等,一旦出现丢失可能会带来非常不理的后果,因此需要更加严格的保护手段。
图2是本发明实施例提供的一种基于交叉映射的数据多备份存储方法的流程示意图。如图2所示,本实施例的基于交叉映射的数据多备份存储方法还包括数据备份读取流程,具体的,数据备份读取流程步骤S210-S240。
S210、获取主机的数据读取命令。
S220、解析数据读取命令,得到待读取数据的目标LBA和扩展LBA。
在本实施例中,在读取数据时,获取来自主机的数据读取命令,并解析数据读取命令,得到其携带的待读取数据的目标LBA,以及对应的备份数据的扩展LBA,并基于目标LBA读取原始数据,以及根据扩展LBA读取对应的备份数据。
S230、根据目标LBA或者扩展LBA查询对应的映射表,得到对应的目标LBA映射信息或者扩展LBA映射信息。
在本实施例中,映射表中存储有LBA与物理地址VPN的映射关系,根据目标LBA可以获取到目标LBA映射信息,根据不同的扩展LBA可以获取到扩展LBA映射信息,映射信息中包括有对应数据的存储物理地址,后续可以基于存储物理地址读取对应的数据,例如原始数据和备份数据。
S240、根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据,或者,根据扩展LBA映射信息从对应的备份数据区对应的物理位置中读回备份数据。
在本实施例中,用户数据区存储有原始数据,备份数据区存储有备份数据,备份数据和原始数据相同,均可以作为数据读取的对象,因此,可以根据目标LBA映射信息或者扩展LBA映射信息,从存储设备中读取到想要的数据,并返回主机。多备份的数据保存方式可以保证原始数据或者部分备份数据损坏时,可以基于剩余的备份数据完成数据读取并进行恢复,提高数据的安全性。
参考图3,在一实施例中,步骤S240包括步骤S241-S246。
S241、根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据。
S242、判断原始数据是否读取成功。
S243、若读取成功,则返回成功读取信号给主机。
在本实施例中,本方案优先基于目标LBA映射信息读取原始数据,并在读取流程执行完毕之后,判断原始数据是否成功,若成功,则返回成功读取信号和原始数据给到主机,并完成数据读取。
S244、若读取不成功,则根据扩展LBA映射信息从对应备份数据区对应的物理位置中读回备份数据。
在本实施例中,在原始数据因为各种原因读取不成功时,基于扩展LBA映射信息从对应备份数据区对应的物理位置中读回备份数据,并在读取操作完成之后,进一步判断备份数据是否读取成功,在原始数据读取不成功时,表示在常规读失败已无法补救时,才读取备份数据,保证原始数据的安全性。
S245、判断备份数据是否读取成功。
S246、若读取成功,则返回成功读取信号给主机,将备份数据区上的备份数据重新赋值给用户数据区的LBA,重新构造映射表,并将备份数据恢复到用户数据区作为新的原始数据。
在本实施例中,如果备份数据读取成功,则将备份数据作为读取数据返回主机,同时,将备份数据同步恢复到用户数据区,更新其LBA映射信息以重新构造映射表,并将备份数据写入用户数据区新的物理位置中作为新的原始数据,进行数据恢复,提高数据安全性。
图6是本发明实施例提供的一种基于交叉映射的数据多备份存储装置的示意性框图。如图6所示,对应于以上基于交叉映射的数据多备份存储方法,本发明还提供一种基于交叉映射的数据多备份存储装置。该基于交叉映射的数据多备份存储装置包括用于执行上述基于交叉映射的数据多备份存储方法的单元,该装置可以被配置于台式电脑、平板电脑、手提电脑、等终端中。具体地,请参阅图6,该基于交叉映射的数据多备份存储装置包括备份扩展单元10,第一获取单元20,解析生成单元30,数据备份单元40,第二获取单元50,命令解析单元60,映射查询单元70和数据读取单元80。
备份扩展单元10,用于在存储设备用户数据区之外建立至少一个备份数据区。
在本实施例中,在存储设备的常规用户数据区之外建立至少一个备份数据区,用于独自存放于原始数据对应的备份数据,避免存放于用户数据区的原始数据发生错误时,导致原始数据无法找回,给用户造成不必要的麻烦。
具体的,备份数据区数量可以为1个,2个,3个等等,可以根据存储设备容量和数据的重要程度设置。在本方案中,备份数据区的存储大小远小于用户数据区,本方案的备份数据区主要用于存储关键数据的备份,这样就不会因为存储多个备份数据而导致存储设备的存储空间不足,在保证数据安全的前提下,不影响存储设备的正常使用。
参考图7,在一实施例中,备份扩展单元10包括备份延伸模块11和备份新建模块12。
备份延伸模块11,用于在存储设备的用户数据区延伸出至少一个数据区作为备份数据区。
在本实施例中,如图4所示,通过存储管理单元在存储设备的原有的用户数据区的基础上分隔/延伸至少一段data区间作为备份数据区,备份数据区用于存储与原始数据相同的备份数据,备份数据区与扩展LBA对应。
备份新建模块12,用于在存储设备的用户数据区之外新建至少一个数据区作为备份数据区。
在本实施例中,如图5所示,通过存储管理单元在存储设备的原有的用户数据区之外,扩张出至少一段data区间并新建为备份数据区,备份数据区用于存储与原始数据相同的备份数据,备份数据区与扩展LBA对应。
第一获取单元20,用于获取来自主机的数据写入命令。
解析生成单元30,用于解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA。
在存储技术领域中,主机与存储设备通过逻辑地址LBA作为接口进行数据传递,通常主机以约定的格式(SATA、NVMe协议)将一段LBA地址的数据及数据内存发送给存储设备;随后存储设备根据内部管理单元FTL安排存储设备上LBA范围写入的物理地址VPN,从而建立映射表(Mapping table/PMT,pagemapping table)。默认情况下,存储设备的用户数据区覆盖LBA0~LBA N,其中N的大小取决于存储设备的容量,为固定值。
在本实施例中,在数据写入时,获取来自主机的数据写入命令,并解析数据写入命令,得到其携带的待写入数据的目标LBA,并基于目标LBA和已有的备份数据区,生成与目标LBA对应的扩展LBA,其中每一份扩展LBA与备份数据区一一对应。
在一具体实施例中,接收到数据写入命令后,会判断待写入数据是否为关键数据,对于一般用户数据仍然按照常规的写入方式进行处理,对于关键数据则会先基于目标LBA和备份数据区生成对应的扩展LBA。并分别为目标LBA_x和扩展LBA_x’分配各自的PMT_x和PMT_x’,然后将同一份待写入数据分别写入NAND的不同位置中。备份数据和原始数据写入位置不同,不位于同一存储设备的RAID block中,以使原始数据和备份数据尽可能不会同时发生数据错误。
数据备份单元40,用于根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。
在一实施例中,每个LBA数据都会经过存储管理单元FTL形成各自的映射表,从而写入数据,由主机发送数据经过存储管理单元FTL根据LBA分配物理地址写入存储设备。本方案中,根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表,也就写入了一份原始数据以及至少一份备份数据,只要存在一份备份数据完整,即使原始数据和其他备份数据被损坏,也可以基于完整的备份数据进行数据读取,以及数据恢复,提高原始数据和备份数据的安全性。
具体的,所有LBA与物理地址VPN都是一对一的映射关系,当数据被更新时,存储管理单元FTL会分配新的物理地址VPN写入,旧的VPN位置被废弃,以此形成最新数据维护。另外,为了保证数据安全,在存储管理单元FTL和NAND两个层面上加入下述保护手段
a)引入RAID算法恢复电路原因导致的错误;
b)建立错误模型改进非电路原因形成的错误;
c)纠错和校验手段等。
这些保护手段对任何一个LBA都是等同的,其数据都经过了完整路径的保护。当然虽然存储设备做了很多数据安全性的考虑,但在某些恶劣情况下仍然是不够的,数据丢失就会发生。对于一些较普通的数据,偶有丢失可能不会引起严重问题,但是对一些关键数据,如系统数据、用户关注的重点数据等,一旦出现丢失可能会带来非常不理的后果,因此需要更加严格的保护手段。
第二获取单元50,用于获取主机的数据读取命令。
命令解析单元60,用于解析数据读取命令,得到待读取数据的目标LBA和扩展LBA。
在本实施例中,在读取数据时,获取来自主机的数据读取命令,并解析数据读取命令,得到其携带的待读取数据的目标LBA,以及对应的备份数据的扩展LBA,并基于目标LBA读取原始数据,以及根据扩展LBA读取对应的备份数据。
映射查询单元70,用于根据目标LBA或者扩展LBA查询对应的映射表,得到对应的目标LBA映射信息或者扩展LBA映射信息。
在本实施例中,映射表中存储有LBA与物理地址VPN的映射关系,根据目标LBA可以获取到目标LBA映射信息,根据不同的扩展LBA可以获取到扩展LBA映射信息,映射信息中包括有对应数据的存储物理地址,后续可以基于存储物理地址读取对应的数据,例如原始数据和备份数据。
数据读取单元80,用于根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据,或者,根据扩展LBA映射信息从对应的备份数据区对应的物理位置中读回备份数据。
在本实施例中,用户数据区存储有原始数据,备份数据区存储有备份数据,备份数据和原始数据相同,均可以作为数据读取的对象,因此,可以根据目标LBA映射信息或者扩展LBA映射信息,从存储设备中读取到想要的数据,并返回主机。多备份的数据保存方式可以保证原始数据或者部分备份数据损坏时,可以基于剩余的备份数据完成数据读取并进行恢复,提高数据的安全性。
参考图8,在一实施例中,数据读取单元80包括第一读取模块81,第一判断模块82,读取反馈模块83,第二读取模块84,第二判断模块85和数据恢复模块86。
第一读取模块81,用于根据目标LBA映射信息从用户数据区对应的物理位置中读回数据.
第一判断模块82,用于判断原始数据是否读取成功。
读取反馈模块83,用于在读取成功时,返回成功读取信号给主机。
在本实施例中,本方案优先基于目标LBA映射信息读取原始数据,并在读取流程执行完毕之后,判断原始数据是否成功,若成功,则返回成功读取信号和原始数据给到主机,并完成数据读取。
第二读取模块84,用于在读取不成功时,根据扩展LBA映射信息从对应备份数据区对应的物理位置中读回备份数据。
在本实施例中,在原始数据因为各种原因读取不成功时,基于扩展LBA映射信息从对应备份数据区对应的物理位置中读回备份数据,并在读取操作完成之后,进一步判断备份数据是否读取成功,在原始数据读取不成功时,表示在常规读失败已无法补救时,才读取备份数据,保证原始数据的安全性。
第二判断模块85,用于判断备份数据是否读取成功;
数据恢复模块86,用于在读取成功时,返回成功读取信号给主机,将备份数据区上的备份数据重新赋值给用户数据区的LBA,重新构造映射表,并将备份数据恢复写入到用户数据区作为新的原始数据。
在本实施例中,如果备份数据读取成功,则将备份数据作为读取数据返回主机,同时,将备份数据同步恢复到用户数据区,更新其LBA映射信息以重新构造映射表,并将备份数据写入用户数据区新的物理位置中作为新的原始数据,进行数据恢复,提高数据安全性。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述基于交叉映射的数据多备份存储装置和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端,也可以是服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图9,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种基于交叉映射的数据多备份存储方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种基于交叉映射的数据多备份存储方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种基于交叉映射的数据多备份存储方法,其特征在于,包括数据备份流程,数据备份流程包括以下步骤:
在存储设备的用户数据区之外建立至少一个备份数据区;
获取来自主机的数据写入命令;
解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA;
根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。
2.根据权利要求1所述的基于交叉映射的数据多备份存储方法,其特征在于,还包括数据备份读取流程,数据备份读取流程包括以下步骤:
获取主机的数据读取命令;
解析数据读取命令,得到待读取数据的目标LBA和扩展LBA;
根据目标LBA或者扩展LBA查询对应的映射表,得到对应的目标LBA映射信息或者扩展LBA映射信息;
根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据,或者,根据扩展LBA映射信息从对应的备份数据区对应的物理位置中读回备份数据。
3.根据权利要求1所述的基于交叉映射的数据多备份存储方法,其特征在于,所述在存储设备的用户数据区之外建立至少一个备份数据区的步骤,包括;
在存储设备的用户数据区延伸出至少一个数据区作为备份数据区;或者,
在存储设备的用户数据区之外新建至少一个数据区作为备份数据区。
4.根据权利要求2所述的基于交叉映射的数据多备份存储方法,其特征在于,所述根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据,或者,根据扩展LBA映射信息从对应的备份数据区对应的物理位置中读回备份数据的步骤,包括;
根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据;
判断原始数据是否读取成功;
若读取成功,则返回成功读取信号给主机;
若读取不成功,则根据扩展LBA映射信息从对应备份数据区对应的物理位置中读回备份数据;
判断备份数据是否读取成功;
若读取成功,则返回成功读取信号给主机,将备份数据区上的备份数据重新赋值给用户数据区的LBA,重新构造映射表,并将备份数据恢复到用户数据区作为新的原始数据。
5.一种基于交叉映射的数据多备份存储装置,其特征在于,包括:
备份扩展单元,用于在存储设备用户数据区之外建立至少一个备份数据区;
第一获取单元,用于获取来自主机的数据写入命令;
解析生成单元,用于解析数据写入命令,得到待写入数据的目标LBA,并基于目标LBA生成至少一份扩展LBA;
数据备份单元,用于根据目标LBA将写入数据写入用户数据区的物理位置中作为原始数据,同时,根据不同扩展LBA将写入数据写入对应的备份数据区的物理位置中作为备份数据,并建立对应的映射表。
6.根据权利要求5所述的基于交叉映射的数据多备份存储装置,其特征在于,还包括:
第二获取单元,用于获取主机的数据读取命令;
命令解析单元,用于解析数据读取命令,得到待读取数据的目标LBA和扩展LBA;
映射查询单元,用于根据目标LBA或者扩展LBA查询对应的映射表,得到对应的目标LBA映射信息或者扩展LBA映射信息;
数据读取单元,用于根据目标LBA映射信息从用户数据区对应的物理位置中读回原始数据,或者,根据扩展LBA映射信息从对应的备份数据区对应的物理位置中读回备份数据。
7.根据权利要求5所述的基于交叉映射的数据多备份存储装置,其特征在于,所述备份扩展单元包括备份延伸模块和备份新建模块;
所述备份延伸模块,用于在存储设备的用户数据区延伸出至少一个数据区作为备份数据区;
所述备份新建模块,用于在存储设备的用户数据区之外新建至少一个数据区作为备份数据区。
8.根据权利要求6所述的基于交叉映射的数据多备份存储装置,其特征在于,所述数据读取单元包括第一读取模块,第一判断模块,读取反馈模块,第二读取模块,第二判断模块和数据恢复模块;
所述第一读取模块,用于根据目标LBA映射信息从用户数据区对应的物理位置中读回数据;
所述第一判断模块,用于判断原始数据是否读取成功;
所述读取反馈模块,用于在读取成功时,返回成功读取信号给主机;
所述第二读取模块,用于在读取不成功时,根据扩展LBA映射信息从对应备份数据区对应的物理位置中读回备份数据;
所述第二判断模块,用于判断备份数据是否读取成功;
所述数据恢复模块,用于在读取成功时,返回成功读取信号给主机,将备份数据区上的备份数据重新赋值给用户数据区的LBA,重新构造映射表,并将备份数据恢复到用户数据区作为新的原始数据。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至4中任一项所述的基于交叉映射的数据多备份存储方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至4中任一项所述的基于交叉映射的数据多备份存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010751533.9A CN111913835A (zh) | 2020-07-30 | 2020-07-30 | 基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010751533.9A CN111913835A (zh) | 2020-07-30 | 2020-07-30 | 基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111913835A true CN111913835A (zh) | 2020-11-10 |
Family
ID=73288149
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010751533.9A Pending CN111913835A (zh) | 2020-07-30 | 2020-07-30 | 基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111913835A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010107A (zh) * | 2021-02-26 | 2021-06-22 | 深圳忆联信息系统有限公司 | 数据存储管理方法、装置、计算机设备及存储介质 |
CN113495746A (zh) * | 2021-05-31 | 2021-10-12 | 杭州华橙软件技术有限公司 | 一种程序升级方法、装置、介质和电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436152A (zh) * | 2008-12-02 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种数据备份的方法和装置 |
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
CN101782875A (zh) * | 2010-01-29 | 2010-07-21 | 成都市华为赛门铁克科技有限公司 | 存储设备和数据存储方法 |
US20150095737A1 (en) * | 2013-09-28 | 2015-04-02 | Knut Grimsrud | Apparatus and method to manage high capacity storage devices |
CN105159800A (zh) * | 2015-09-10 | 2015-12-16 | 华为技术有限公司 | 数据恢复方法、数据备份方法及相关设备、系统 |
US20160062883A1 (en) * | 2014-08-26 | 2016-03-03 | SK Hynix Inc. | Data storage device and operating method thereof |
US20180357142A1 (en) * | 2017-06-09 | 2018-12-13 | International Business Machines Corporation | Reporting defects in a flash memory back-up system |
CN110187999A (zh) * | 2019-05-09 | 2019-08-30 | 新华三技术有限公司 | 地址映射数据备份方法及装置 |
CN110275800A (zh) * | 2019-06-20 | 2019-09-24 | 深圳忆联信息系统有限公司 | Ssd数据物理备份方法、装置、计算机设备及存储介质 |
CN110609660A (zh) * | 2019-09-10 | 2019-12-24 | 深圳忆联信息系统有限公司 | Ssd阵列的主机端映射方法、装置、计算机设备及存储介质 |
-
2020
- 2020-07-30 CN CN202010751533.9A patent/CN111913835A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101436152A (zh) * | 2008-12-02 | 2009-05-20 | 成都市华为赛门铁克科技有限公司 | 一种数据备份的方法和装置 |
CN101777013A (zh) * | 2009-01-12 | 2010-07-14 | 成都市华为赛门铁克科技有限公司 | 一种固态硬盘及数据读写方法 |
CN101782875A (zh) * | 2010-01-29 | 2010-07-21 | 成都市华为赛门铁克科技有限公司 | 存储设备和数据存储方法 |
US20150095737A1 (en) * | 2013-09-28 | 2015-04-02 | Knut Grimsrud | Apparatus and method to manage high capacity storage devices |
US20160062883A1 (en) * | 2014-08-26 | 2016-03-03 | SK Hynix Inc. | Data storage device and operating method thereof |
CN105159800A (zh) * | 2015-09-10 | 2015-12-16 | 华为技术有限公司 | 数据恢复方法、数据备份方法及相关设备、系统 |
US20180357142A1 (en) * | 2017-06-09 | 2018-12-13 | International Business Machines Corporation | Reporting defects in a flash memory back-up system |
CN110187999A (zh) * | 2019-05-09 | 2019-08-30 | 新华三技术有限公司 | 地址映射数据备份方法及装置 |
CN110275800A (zh) * | 2019-06-20 | 2019-09-24 | 深圳忆联信息系统有限公司 | Ssd数据物理备份方法、装置、计算机设备及存储介质 |
CN110609660A (zh) * | 2019-09-10 | 2019-12-24 | 深圳忆联信息系统有限公司 | Ssd阵列的主机端映射方法、装置、计算机设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
寇大海: ""一种系统灾难性恢复方法的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010107A (zh) * | 2021-02-26 | 2021-06-22 | 深圳忆联信息系统有限公司 | 数据存储管理方法、装置、计算机设备及存储介质 |
CN113010107B (zh) * | 2021-02-26 | 2023-08-29 | 深圳忆联信息系统有限公司 | 数据存储管理方法、装置、计算机设备及存储介质 |
CN113495746A (zh) * | 2021-05-31 | 2021-10-12 | 杭州华橙软件技术有限公司 | 一种程序升级方法、装置、介质和电子设备 |
CN113495746B (zh) * | 2021-05-31 | 2024-02-02 | 杭州华橙软件技术有限公司 | 一种程序升级方法、装置、介质和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2017228544B2 (en) | Nonvolatile media dirty region tracking | |
US9377960B2 (en) | System and method of using stripes for recovering data in a flash storage system | |
US8799745B2 (en) | Storage control apparatus and error correction method | |
JP4385215B2 (ja) | スナップショットシミュレーション機能を有するディスクアレイ装置 | |
CN106776147B (zh) | 一种差异数据备份方法和差异数据备份装置 | |
US10860447B2 (en) | Database cluster architecture based on dual port solid state disk | |
CN109522154B (zh) | 数据恢复方法及相关设备与系统 | |
CN113391947B (zh) | Ssd raid条带掉电快速恢复方法、装置、计算机设备及存储介质 | |
WO2022016900A1 (zh) | 一种存储介质中数据恢复方法、数据恢复系统及相关设备 | |
CN107133132B (zh) | 数据发送方法、数据接收方法和存储设备 | |
CN111913835A (zh) | 基于交叉映射的数据多备份存储方法、装置、计算机设备及存储介质 | |
WO2018113322A1 (zh) | 数据读取方法及设备 | |
JP6824929B2 (ja) | 記憶制御システム及び記憶制御方法 | |
EP3596606B1 (en) | Storage system control | |
CN112119380A (zh) | 带有旁路的奇偶校验记录 | |
US10740189B2 (en) | Distributed storage system | |
US10810082B2 (en) | Networked storage redundancy scheme | |
US8935488B2 (en) | Storage system and storage control method | |
WO2020231553A1 (en) | Efficient recovery of resilient spaces | |
US20230385148A1 (en) | Proactive loss notification and handling in data storage devices | |
US11822829B2 (en) | Method, device, and program product for data rebuilding | |
CN109343986B (zh) | 处理内存故障的方法与计算机系统 | |
CN116301654A (zh) | 数据迁移方法、装置、电子设备及存储介质 | |
CN115599756A (zh) | 数据库的数据写盘方法、存储介质与设备 | |
US20190205044A1 (en) | Device for restoring lost data due to failure of storage drive |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |