CN110795034A - 存储***的数据迁移方法、装置、设备及可读存储介质 - Google Patents

存储***的数据迁移方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN110795034A
CN110795034A CN201910995298.7A CN201910995298A CN110795034A CN 110795034 A CN110795034 A CN 110795034A CN 201910995298 A CN201910995298 A CN 201910995298A CN 110795034 A CN110795034 A CN 110795034A
Authority
CN
China
Prior art keywords
data
solid state
hard disk
disk drive
priority threshold
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
Application number
CN201910995298.7A
Other languages
English (en)
Other versions
CN110795034B (zh
Inventor
张孙旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910995298.7A priority Critical patent/CN110795034B/zh
Publication of CN110795034A publication Critical patent/CN110795034A/zh
Application granted granted Critical
Publication of CN110795034B publication Critical patent/CN110795034B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0616Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种存储***的数据迁移方法,包括:当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;分别获取各数据单元连续预设数量个预设周期的访问状态;根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。应用本发明实施例所提供的技术方案,节省了人力成本,较大地减小了数据迁移的频繁度,降低了固态硬盘的损坏几率,提升了整个存储***的寿命。本发明还公开了一种存储***的数据迁移装置、设备及存储介质,具有相应技术效果。

Description

存储***的数据迁移方法、装置、设备及可读存储介质
技术领域
本发明涉及存储技术领域,特别是涉及一种存储***的数据迁移方法、装置、设备及计算机可读存储介质。
背景技术
在大数据时代,数据的存储以及传输的速率对于存储服务器能否正常快速的运转起着重要的作用。而在多层存储***中,必定会存在数据的迁移。随着存储的业务不断地扩大,新的文件和数据不断被创建,不常用的冷数据就必须迁移到读写效率较低、时延较大的硬盘驱动器(HDD,Hard Disk Drive)中,而常用的热数据由于用户访问频繁,需要迁移至读写速率较快、时延较小的固态硬盘(SSD,Solid State Disk)中。每个数据单元的生命周期都经历创建、活跃、冷却、删除等过程,这些数据依靠迁移算法在不同性能的磁盘中迁移。
现有技术中的数据迁移方式一种是通过工人定义存储***中各数据单元的冷和热,选取被迁移的数据单元,需要消耗巨大的人力成本。另一种是使用最近最少使用(LRU,Least Recently Used)算法来计算每个数据单元的冷热,然后对数据单元迁移。但是,大多数的写操作集中在少量的数据单元上,大部分物理页地址在其生命周期中极少被重新写,即用户读操作比写操作更为频繁,因此考虑到固态硬盘存在擦写次数限制的问题,最近最少使用算法对固态硬盘并不是很适合,可能会导致固态硬盘损坏,影响整个存储***的寿命。
综上所述,如何有效地解决人力成本高,固态硬盘损坏几率大,影响整个存储***的寿命等问题,是目前本领域技术人员急需解决的问题。
发明内容
本发明的目的是提供一种存储***的数据迁移方法,该方法节省了人力成本,较大地减小了数据迁移的频繁度,降低了固态硬盘的损坏几率,提升了整个存储***的寿命;本发明的另一目的是提供一种存储***的数据迁移装置、设备及计算机可读存储介质。
为解决上述技术问题,本发明提供如下技术方案:
一种存储***的数据迁移方法,包括:
当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各所述数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;
分别获取各所述数据单元连续预设数量个所述预设周期的访问状态;其中,连续预设数量个所述预设周期以所述当前预设周期为末尾周期;
根据各所述数据单元分别对应的连续预设数量个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级;其中,所述状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;
将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘。
在本发明的一种具体实施方式中,将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,包括:
获取所述固态硬盘中各物理页地址块的擦写次数;其中,各所述物理页地址块为将所述固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到;
按所述擦写次数对各所述物理页地址块进行排序,得到第一排序结果;
将所述硬盘驱动器中达到所述第二优先级阈值的数据单元,按所述第一排序结果中从小到大的优先级迁移到所述固态硬盘中各所述物理页地址块。
在本发明的一种具体实施方式中,在将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘之前,还包括:
统计所述固态硬盘中由达到所述第一优先级阈值的各数据单元构成的第一数据量大小,以及所述硬盘驱动器中由达到所述第二优先级阈值的各数据单元构成的第二数据量大小;
将所述第一数据量大小与所述第二数据量大小进行比较,得到比较结果;
将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,包括:
当所述比较结果为所述第一数据量大小小于所述第二数据量大小时,将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘;
当所述比较结果为所述第一数据量大小大于所述第二数据量大小时,将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,并在所述固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器。
在本发明的一种具体实施方式中,在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘,包括:
分别计算所述硬盘驱动器中达到所述第二优先级阈值的各所述数据单元的数据迁移优先级与所述第二优先级阈值的第一差值,并对各所述第一差值进行大小排序,得到第二排序结果;
在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,从所述第二排序结果中第一差值小的一端选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘;
在所述固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器,包括:
分别计算所述固态硬盘中达到第一优先级阈值的各所述数据单元的数据迁移优先级与所述第一优先级阈值的第二差值,并对各所述第二差值进行大小排序,得到第三排序结果;
在所述固态硬盘中达到第一优先级阈值的数据单元中,从所述第三排序结果中第二差值大的一端选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器。
在本发明的一种具体实施方式中,分别获取各所述数据单元连续预设数量个所述预设周期的访问状态,包括:
分别获取各所述数据单元连续两个所述预设周期的访问状态;
根据各所述数据单元分别对应的连续预设数量个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级,包括:
根据各所述数据单元分别对应的连续两个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级。
一种存储***的数据迁移装置,包括:
访问状态统计模块,用于当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各所述数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;
访问状态获取模块,用于分别获取各所述数据单元连续预设数量个所述预设周期的访问状态;其中,连续预设数量个所述预设周期以所述当前预设周期为末尾周期;
优先级计算模块,用于根据各所述数据单元分别对应的连续预设数量个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级;其中,所述状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;
数据迁移模块,用于将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘。
在本发明的一种具体实施方式中,所述数据迁移模块包括:
擦写次数获取子模块,用于获取所述固态硬盘中各物理页地址块的擦写次数;其中,各所述物理页地址块为将所述固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到;
擦写次数排序子模块,用于按所述擦写次数对各所述物理页地址块进行排序,得到第一排序结果;
数据迁移子模块,用于将所述硬盘驱动器中达到所述第二优先级阈值的数据单元,按所述第一排序结果中从小到大的优先级迁移到所述固态硬盘中各所述物理页地址块。
在本发明的一种具体实施方式中,还包括:
数据量统计模块,用于在将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘之前,统计所述固态硬盘中由达到所述第一优先级阈值的各数据单元构成的第一数据量大小,以及所述硬盘驱动器中由达到所述第二优先级阈值的各数据单元构成的第二数据量大小;
数据量比较模块,用于将所述第一数据量大小与所述第二数据量大小进行比较,得到比较结果;
数据迁移模块具体为当所述比较结果为所述第一数据量大小小于所述第二数据量大小时,将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘;当所述比较结果为所述第一数据量大小大于所述第二数据量大小时,将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,并在所述固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器的模块。
一种存储***的数据迁移设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如前所述存储***的数据迁移方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如前所述存储***的数据迁移方法的步骤。
应用本发明实施例所提供的方法,当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;分别获取各数据单元连续预设数量个预设周期的访问状态;其中,连续预设数量个预设周期以当前预设周期为末尾周期;根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。通过设置状态迁移图,根据各数据单元的访问状态和状态迁移图计算其数据迁移优先级,并设置第一优先级阈值和第二优先级阈值对固态硬盘与硬盘驱动器中的数据进行迁移限制,可以自动完成对数据迁移,节省了人力成本,较大地减小了数据迁移的频繁度,降低了固态硬盘的损坏几率,提升了整个存储***的寿命。
相应的,本发明实施例还提供了与上述存储***的数据迁移方法相对应的存储***的数据迁移装置、设备和计算机可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中存储***的数据迁移方法的一种实施流程图;
图2为本发明实施例中存储***的数据迁移方法的另一种实施流程图;
图3为本发明实施例中一种状态迁移图的结构示意图;
图4为本发明实施例中一种存储***的数据迁移装置的结构框图;
图5为本发明实施例中一种存储***的数据迁移设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一:
参见图1,图1为本发明实施例中存储***的数据迁移方法的一种实施流程图,该方法可以包括以下步骤:
S101:当达到预设周期时,统计在当前预设周期内各数据单元的访问状态。
其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到。
可以对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分,得到多个数据单元,并可以预先设置对各数据单元进行访问状态统计的周期,当达到预设周期时,统计在当前预设周期内各数据单元的访问状态。
需要说明的是,预设周期可以根据实际情况进行设定和调整,本发明实施例对此不做限定,如可以将预设周期设置为1天。
S102:分别获取各数据单元连续预设数量个预设周期的访问状态。
其中,连续预设数量个预设周期以当前预设周期为末尾周期。
可以预先设置计算各数据单元的数据迁移优先级所需的访问状态周期个数,在统计得到在当前预设周期内各数据单元的访问状态之后,可以分别获取各数据单元以当前预设周期为末尾周期连续预设数量个预设周期的访问状态。
S103:根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级。
其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系。
可以预先部署预置有各访问状态与各数据迁移优先级之间的对应关系的状态迁移图。可以根据获取到的各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级。
S104:将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。
由于高性能低时延的固态硬盘中存储的数据为较多访问的热数据,低性能高时延的硬盘驱动器中存储的数据为较少访问的冷数据。可以分别预先设置将固态硬盘中的数据单元迁移到硬盘驱动器中需要达到的第一优先级阈值,以及将硬盘驱动器中的数据单元迁移到固态硬盘中需要达到的第一优先级阈值。在分别计算得到各数据单元的数据迁移优先级之后,可以将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。
需要说明的是,第一优先级阈值与第二优先级阈值可以相同,也可以不同,可以根据实际情况进行设定和调整,本发明实施例对此不做限定。
应用本发明实施例所提供的方法,当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;分别获取各数据单元连续预设数量个预设周期的访问状态;其中,连续预设数量个预设周期以当前预设周期为末尾周期;根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。通过设置状态迁移图,根据各数据单元的访问状态和状态迁移图计算其数据迁移优先级,并设置第一优先级阈值和第二优先级阈值对固态硬盘与硬盘驱动器中的数据进行迁移限制,可以自动完成对数据迁移,节省了人力成本,较大地减小了数据迁移的频繁度,降低了固态硬盘的损坏几率,提升了整个存储***的寿命。
需要说明的是,基于上述实施例一,本发明实施例还提供了相应的改进方案。在后续实施例中涉及与上述实施例一中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在下文的改进实施例中不再一一赘述。
实施例二:
参见图2,图2为本发明实施例中存储***的数据迁移方法的另一种实施流程图,该方法可以包括以下步骤:
S201:当达到预设周期时,统计在当前预设周期内各数据单元的访问状态。
其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到。
S202:分别获取各数据单元连续两个预设周期的访问状态。
可以具体获取各数据单元连续两个预设周期的访问状态,两个预设周期具体为当前预设周期和前一预设周期。每个数据单元如果在一个周期内被读过,记录R=1,否则记录R=0,每个数据单元如果在一个周期内被访问过(读或写),记录A=1,A=0,用一个二元组来表示这个数据单元在一个周期内的访问状态(R,A),那么每个数据单元都通过两个周期内的状态来表示,状态迁移图具体可以用图3来表示。通过将计算各数据单元的数据迁移优先级所需的访问状态周期个数设置为两个,既获得了有效的数据迁移优先级,又简化了数据优先级计算的复杂度。
S203:根据各数据单元分别对应的连续两个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级。
其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系。
可以在状态迁移图中预置各访问状态与各数据迁移优先级之间的对应关系,在分别获取各数据单元连续两个预设周期的访问状态之后,可以根据各数据单元分别对应的连续两个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级。承接上述举例,如图3所示,当某数据单元在连续两个预设周期内均被读过时,其数据迁移优先级为8;当某数据单元在连续两个预设周期内均仅被写过时,其数据迁移优先级为5;当某数据单元在连续两个预设周期内既未被写过,也未被读过时,其数据迁移优先级为0,1,3;当某数据单元在连续两个预设周期内先被写后被读时,其数据迁移优先级为7或8;当某数据单元在连续两个预设周期内先被读后被写时,其数据迁移优先级为5,7,8;当某数据单元在连续两个预设周期内先仅被写后未读未写时,其数据迁移优先级为0,1,2,4。具体的数据迁移优先级可以基于连续两个预设周期的访问状态,以及各数据单元在对该两个预设周期的访问状态统计开始时的数据迁移优先级进行计算。
S204:统计固态硬盘中由达到第一优先级阈值的各数据单元构成的第一数据量大小,以及硬盘驱动器中由达到第二优先级阈值的各数据单元构成的第二数据量大小。
在计算得到各数据单元的数据迁移优先级之后,可以统计固态硬盘中由达到第一优先级阈值的各数据单元构成的第一数据量大小,以及硬盘驱动器中由达到第二优先级阈值的各数据单元构成的第二数据量大小。承接上例,可以将第一优先级阈值设置为5,将第二优先级阈值设置为4,可以统计固态硬盘中由低于优先级为5的各数据单元构成的第一数据量大小,即统计在连续两个预设周期内固态硬盘中由既未被写过,也未被读过,以及先仅被写后未读未写的各数据单元构成的数据量大小。并统计硬盘驱动器中由高于优先级为4的各数据单元构成的第二数据量大小,即统计硬盘驱动器中由在连续两个预设周期内均被读过,均仅被写过,以及先被读后被写的各数据单元构成的数据量大小。
S205:将第一数据量大小与第二数据量大小进行比较,得到比较结果。
在统计得到固态硬盘中由达到第一优先级阈值的各数据单元构成的第一数据量大小,以及硬盘驱动器中由达到第二优先级阈值的各数据单元构成的第二数据量大小之后,可以将第一数据量大小与第二数据量大小进行比较,得到比较结果。
S206:当比较结果为第一数据量大小小于第二数据量大小时,将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器。
当比较结果为第一数据量大小小于第二数据量大小时,说明计算得到的固态硬盘中的冷数据的数据量小于计算得到的硬盘驱动器的热数据的数据量。在这种情况下,可以将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器。
S207:分别计算硬盘驱动器中达到第二优先级阈值的各数据单元的数据迁移优先级与第二优先级阈值的第一差值,并对各第一差值进行大小排序,得到第二排序结果。
由于计算得到的硬盘驱动器的热数据的数据量大于计算得到的固态硬盘中的冷数据的数据量,由于可能存在固态硬盘当前将要存满的状态,若将硬盘驱动器中达到第二优先级阈值的各数据单元均迁移到固态硬盘中,可能会将固态硬盘中原有的热数据删除。在这种情况下,可以分别计算硬盘驱动器中达到第二优先级阈值的各数据单元的数据迁移优先级与第二优先级阈值的第一差值,并对各第一差值进行大小排序,得到第二排序结果。
S208:在硬盘驱动器中达到第二优先级阈值的数据单元中,从第二排序结果中第一差值小的一端选取数据总量小于等于第一数据量的部分数据单元迁移到固态硬盘。
由于与第二优先级阈值的差值越小,对应的数据单元的被访问热度越高,因此,可以在硬盘驱动器中达到第二优先级阈值的数据单元中,从第二排序结果中第一差值小的一端选取数据总量小于等于第一数据量的部分数据单元迁移到固态硬盘。从而保证了固态硬盘中的热数据不被删除。
S209:获取固态硬盘中各物理页地址块的擦写次数。
其中,各物理页地址块为将固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到。
考虑到固态硬盘存在擦写次数限制的问题,如果频繁地写同一块位置,可能会导致固态硬盘损坏,可以将固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到各物理页地址块,可以获取固态硬盘中各物理页地址块的擦写次数。
S210:按擦写次数对各物理页地址块进行排序,得到第一排序结果。
在获取到固态硬盘中各物理页地址块的擦写次数之后,可以按擦写次数对各物理页地址块进行排序,得到第一排序结果。
S211:当比较结果为第一数据量大小大于第二数据量大小时,将硬盘驱动器中达到第二优先级阈值的数据单元按第一排序结果中从小到大的优先级迁移到固态硬盘中各物理页地址块。
在得到固态硬盘中各物理页地址块的擦写次数的第一排序结果之后,当比较结果为第一数据量大小大于第二数据量大小时,说明计算得到的硬盘驱动器的热数据的数据量小于计算得到的固态硬盘中的冷数据的数据量。在这种情况下,可以将硬盘驱动器中达到第二优先级阈值的数据单元按第一排序结果中从小到大的优先级迁移到固态硬盘中各物理页地址块。从而进一步减少了对固态硬盘的磨损,增加了固态硬盘的寿命,提升了整个存储***的寿命。
S212:分别计算固态硬盘中达到第一优先级阈值的各数据单元的数据迁移优先级与第一优先级阈值的第二差值,并对各第二差值进行大小排序,得到第三排序结果。
由于计算得到的固态硬盘中的冷数据的数据量大于计算得到的硬盘驱动器的热数据的数据量,由于固态硬盘中当前存储的访问状态相对较冷的数据单元后续被访问的几率一般会大于硬盘驱动器中当前存储的访问状态相对较冷的数据单元后续被访问的几率,且为进一步减小数据迁移量,可以分别计算固态硬盘中达到第一优先级阈值的各数据单元的数据迁移优先级与第一优先级阈值的第二差值,并对各第二差值进行大小排序,得到第三排序结果。
S213:在固态硬盘中达到第一优先级阈值的数据单元中,从第三排序结果中第二差值大的一端选取数据总量小于等于第二数据量的部分数据单元迁移到硬盘驱动器。
由于与第一优先级阈值的差值越大,对应的数据单元的被访问热度越高,因此,可以在固态硬盘中达到第一优先级阈值的数据单元中,从第三排序结果中第二差值大的一端选取数据总量小于等于第二数据量的部分数据单元迁移到硬盘驱动器。从而减小数据迁移量,进一步减少了对固态硬盘的磨损。
相应于上面的方法实施例,本发明实施例还提供了一种存储***的数据迁移装置,下文描述的存储***的数据迁移装置与上文描述的存储***的数据迁移方法可相互对应参照。
参见图4,图4为本发明实施例中一种存储***的数据迁移装置的结构框图,该装置可以包括:
访问状态统计模块41,用于当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;
访问状态获取模块42,用于分别获取各数据单元连续预设数量个预设周期的访问状态;其中,连续预设数量个预设周期以当前预设周期为末尾周期;
优先级计算模块43,用于根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;
数据迁移模块44,用于将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。
应用本发明实施例所提供的装置,当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;分别获取各数据单元连续预设数量个预设周期的访问状态;其中,连续预设数量个预设周期以当前预设周期为末尾周期;根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。通过设置状态迁移图,根据各数据单元的访问状态和状态迁移图计算其数据迁移优先级,并设置第一优先级阈值和第二优先级阈值对固态硬盘与硬盘驱动器中的数据进行迁移限制,可以自动完成对数据迁移,节省了人力成本,较大地减小了数据迁移的频繁度,降低了固态硬盘的损坏几率,提升了整个存储***的寿命。
在本发明的一种具体实施方式中,数据迁移模块44包括:
擦写次数获取子模块,用于获取固态硬盘中各物理页地址块的擦写次数;其中,各物理页地址块为将固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到;
擦写次数排序子模块,用于按擦写次数对各物理页地址块进行排序,得到第一排序结果;
数据迁移子模块,用于将硬盘驱动器中达到第二优先级阈值的数据单元,按第一排序结果中从小到大的优先级迁移到固态硬盘中各物理页地址块。
在本发明的一种具体实施方式中,该装置还可以包括:
数据量统计模块,用于在将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘之前,统计固态硬盘中由达到第一优先级阈值的各数据单元构成的第一数据量大小,以及硬盘驱动器中由达到第二优先级阈值的各数据单元构成的第二数据量大小;
数据量比较模块,用于将第一数据量大小与第二数据量大小进行比较,得到比较结果;
数据迁移模块44具体为当比较结果为第一数据量大小小于第二数据量大小时,将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并在硬盘驱动器中达到第二优先级阈值的数据单元中,选取数据总量小于等于第一数据量的部分数据单元迁移到固态硬盘;当比较结果为第一数据量大小大于第二数据量大小时,将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘,并在固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于第二数据量的部分数据单元迁移到硬盘驱动器的模块。
相应于上面的方法实施例,参见图5,图5为本发明所提供的存储***的数据迁移设备的示意图,该设备可以包括:
存储器51,用于存储计算机程序;
处理器52,用于执行上述存储器51存储的计算机程序时可实现如下步骤:
当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;分别获取各数据单元连续预设数量个预设周期的访问状态;其中,连续预设数量个预设周期以当前预设周期为末尾周期;根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。
对于本发明提供的设备的介绍请参照上述方法实施例,本发明在此不做赘述。
相应于上面的方法实施例,本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;分别获取各数据单元连续预设数量个预设周期的访问状态;其中,连续预设数量个预设周期以当前预设周期为末尾周期;根据各数据单元分别对应的连续预设数量个预设周期的访问状态及预设的状态迁移图,分别计算各数据单元的数据迁移优先级;其中,状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;将固态硬盘中达到第一优先级阈值的数据单元迁移到硬盘驱动器,并将硬盘驱动器中达到第二优先级阈值的数据单元迁移到固态硬盘。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
对于本发明提供的计算机可读存储介质的介绍请参照上述方法实施例,本发明在此不做赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种存储***的数据迁移方法,其特征在于,包括:
当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各所述数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;
分别获取各所述数据单元连续预设数量个所述预设周期的访问状态;其中,连续预设数量个所述预设周期以所述当前预设周期为末尾周期;
根据各所述数据单元分别对应的连续预设数量个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级;其中,所述状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;
将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘。
2.根据权利要求1所述的存储***的数据迁移方法,其特征在于,将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,包括:
获取所述固态硬盘中各物理页地址块的擦写次数;其中,各所述物理页地址块为将所述固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到;
按所述擦写次数对各所述物理页地址块进行排序,得到第一排序结果;
将所述硬盘驱动器中达到所述第二优先级阈值的数据单元,按所述第一排序结果中从小到大的优先级迁移到所述固态硬盘中各所述物理页地址块。
3.根据权利要求1或2所述的存储***的数据迁移方法,其特征在于,在将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘之前,还包括:
统计所述固态硬盘中由达到所述第一优先级阈值的各数据单元构成的第一数据量大小,以及所述硬盘驱动器中由达到所述第二优先级阈值的各数据单元构成的第二数据量大小;
将所述第一数据量大小与所述第二数据量大小进行比较,得到比较结果;
将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,包括:
当所述比较结果为所述第一数据量大小小于所述第二数据量大小时,将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘;
当所述比较结果为所述第一数据量大小大于所述第二数据量大小时,将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,并在所述固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器。
4.根据权利要求3所述的存储***的数据迁移方法,其特征在于,在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘,包括:
分别计算所述硬盘驱动器中达到所述第二优先级阈值的各所述数据单元的数据迁移优先级与所述第二优先级阈值的第一差值,并对各所述第一差值进行大小排序,得到第二排序结果;
在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,从所述第二排序结果中第一差值小的一端选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘;
在所述固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器,包括:
分别计算所述固态硬盘中达到第一优先级阈值的各所述数据单元的数据迁移优先级与所述第一优先级阈值的第二差值,并对各所述第二差值进行大小排序,得到第三排序结果;
在所述固态硬盘中达到第一优先级阈值的数据单元中,从所述第三排序结果中第二差值大的一端选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器。
5.根据权利要求1所述的存储***的数据迁移方法,其特征在于,分别获取各所述数据单元连续预设数量个所述预设周期的访问状态,包括:
分别获取各所述数据单元连续两个所述预设周期的访问状态;
根据各所述数据单元分别对应的连续预设数量个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级,包括:
根据各所述数据单元分别对应的连续两个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级。
6.一种存储***的数据迁移装置,其特征在于,包括:
访问状态统计模块,用于当达到预设周期时,统计在当前预设周期内各数据单元的访问状态;其中,各所述数据单元为分别对存储***中固态硬盘存储的数据及硬盘驱动器存储的数据进行预先划分得到;
访问状态获取模块,用于分别获取各所述数据单元连续预设数量个所述预设周期的访问状态;其中,连续预设数量个所述预设周期以所述当前预设周期为末尾周期;
优先级计算模块,用于根据各所述数据单元分别对应的连续预设数量个所述预设周期的访问状态及预设的状态迁移图,分别计算各所述数据单元的数据迁移优先级;其中,所述状态迁移图中预置有各访问状态与各数据迁移优先级之间的对应关系;
数据迁移模块,用于将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘。
7.根据权利要求6所述的存储***的数据迁移装置,其特征在于,所述数据迁移模块包括:
擦写次数获取子模块,用于获取所述固态硬盘中各物理页地址块的擦写次数;其中,各所述物理页地址块为将所述固态硬盘的总物理页地址以存储一个数据单元为单位进行划分得到;
擦写次数排序子模块,用于按所述擦写次数对各所述物理页地址块进行排序,得到第一排序结果;
数据迁移子模块,用于将所述硬盘驱动器中达到所述第二优先级阈值的数据单元,按所述第一排序结果中从小到大的优先级迁移到所述固态硬盘中各所述物理页地址块。
8.根据权利要求6或7所述的存储***的数据迁移装置,其特征在于,还包括:
数据量统计模块,用于在将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘之前,统计所述固态硬盘中由达到所述第一优先级阈值的各数据单元构成的第一数据量大小,以及所述硬盘驱动器中由达到所述第二优先级阈值的各数据单元构成的第二数据量大小;
数据量比较模块,用于将所述第一数据量大小与所述第二数据量大小进行比较,得到比较结果;
数据迁移模块具体为当所述比较结果为所述第一数据量大小小于所述第二数据量大小时,将所述固态硬盘中达到第一优先级阈值的数据单元迁移到所述硬盘驱动器,并在所述硬盘驱动器中达到所述第二优先级阈值的数据单元中,选取数据总量小于等于所述第一数据量的部分数据单元迁移到所述固态硬盘;当所述比较结果为所述第一数据量大小大于所述第二数据量大小时,将所述硬盘驱动器中达到所述第二优先级阈值的数据单元迁移到所述固态硬盘,并在所述固态硬盘中达到第一优先级阈值的数据单元中,选取数据总量小于等于所述第二数据量的部分数据单元迁移到所述硬盘驱动器的模块。
9.一种存储***的数据迁移设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述存储***的数据迁移方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述存储***的数据迁移方法的步骤。
CN201910995298.7A 2019-10-18 2019-10-18 存储***的数据迁移方法、装置、设备及可读存储介质 Active CN110795034B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910995298.7A CN110795034B (zh) 2019-10-18 2019-10-18 存储***的数据迁移方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910995298.7A CN110795034B (zh) 2019-10-18 2019-10-18 存储***的数据迁移方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN110795034A true CN110795034A (zh) 2020-02-14
CN110795034B CN110795034B (zh) 2022-07-22

Family

ID=69439421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910995298.7A Active CN110795034B (zh) 2019-10-18 2019-10-18 存储***的数据迁移方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN110795034B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741810A (zh) * 2021-07-30 2021-12-03 苏州浪潮智能科技有限公司 一种数据迁移方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319743A1 (en) * 2008-06-23 2009-12-24 Kevin John Ash Apparatus, system, and method for migrating wear spots
CN109976680A (zh) * 2019-04-11 2019-07-05 苏州浪潮智能科技有限公司 一种数据迁移方法、装置、设备及可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090319743A1 (en) * 2008-06-23 2009-12-24 Kevin John Ash Apparatus, system, and method for migrating wear spots
CN109976680A (zh) * 2019-04-11 2019-07-05 苏州浪潮智能科技有限公司 一种数据迁移方法、装置、设备及可读存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113741810A (zh) * 2021-07-30 2021-12-03 苏州浪潮智能科技有限公司 一种数据迁移方法及装置
CN113741810B (zh) * 2021-07-30 2023-08-11 苏州浪潮智能科技有限公司 一种数据迁移方法及装置

Also Published As

Publication number Publication date
CN110795034B (zh) 2022-07-22

Similar Documents

Publication Publication Date Title
CN107368429B (zh) 数据储存装置、内存控制器及其数据管理方法与数据区块管理方法
CN103838676B (zh) 数据存储***、数据存储方法及pcm桥
Luojie et al. An improved analytic expression for write amplification in NAND flash
CN110673789B (zh) 固态硬盘的元数据存储管理方法、装置、设备及存储介质
CN112684975B (zh) 一种数据存储方法及装置
CN110674056B (zh) 一种垃圾回收方法及装置
CN110968253A (zh) 一种数据存储方法、装置及***
CN110515549B (zh) 一种数据迁移方法及装置
CN104503703A (zh) 缓存的处理方法和装置
CN109343796B (zh) 一种数据处理方法和装置
CN109558456A (zh) 一种文件迁移方法、装置、设备及可读存储介质
CN115576505A (zh) 一种数据存储方法、装置、设备及可读存储介质
WO2019083389A1 (en) MANAGING A FILE SYSTEM IN MULTIPLE LOGIC UNIT NUMBERS (LUN)
CN114968839A (zh) 硬盘垃圾回收方法、装置、设备及计算机可读存储介质
CN104408126B (zh) 一种数据库的持久化写入方法、装置和***
CN104750432A (zh) 一种数据存储方法及装置
CN107229421B (zh) 视频数据存储***的创建、文件写入和读取方法及装置
CN106020717B (zh) 数据处理方法及电子设备
CN110795034B (zh) 存储***的数据迁移方法、装置、设备及可读存储介质
CN105808451B (zh) 一种数据缓存方法以及相关装置
CN107924350B (zh) 电子设备及其数据压缩方法
EP2381354A2 (en) Data recording device
CN110286848B (zh) 数据处理方法及装置
CN112015343A (zh) 存储卷的缓存空间管理方法、装置及电子设备
CN110515562A (zh) 一种磁盘访问方法及装置

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
GR01 Patent grant
GR01 Patent grant