CN107092443A - 数据迁移方法及装置 - Google Patents
数据迁移方法及装置 Download PDFInfo
- Publication number
- CN107092443A CN107092443A CN201710296420.2A CN201710296420A CN107092443A CN 107092443 A CN107092443 A CN 107092443A CN 201710296420 A CN201710296420 A CN 201710296420A CN 107092443 A CN107092443 A CN 107092443A
- Authority
- CN
- China
- Prior art keywords
- memory space
- accumulation layer
- data
- memory
- capacity
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据迁移方法及装置,方法包括:当接收到写请求时,将写请求中的数据写入写请求中的LBA起始地址对应的存储空间;当存储空间所属存储层的实时迁移开关为开启状态时,判断上一存储层中是否存在与存储空间的第一容量相同的可用存储空间;若是,从上一存储层中获取第一容量的可用存储空间,并将存储空间中的数据迁移至获取的可用存储空间中;否则,将存储空间所属存储层的实时迁移开关置为关闭状态。本申请尽量将新写入数据立即迁移至性能更高的存储层,这样新写入数据再次被访问时,IO响应速度快,可提升LUN创建初期的整体性能。此外,通过各存储层的实时迁移开关的关闭和开启状态可以清晰确定各存储层的存储空间的使用情况。
Description
技术领域
本申请涉及存储技术领域,尤其涉及一种数据迁移方法及装置。
背景技术
对于目前存储设备中的存储介质,根据其性能差异可以将存储空间分为多种存储层,例如,通常分为三层,分别是高性能层、次高性能层和低性能层。通常高性能层采用SSD(Solid State Drive,固态硬盘),次高性能层采用SAS(Serial Attached SCSI,串行连接SCSI)盘,低性能层采用SATA(Serial Advanced Technology Attachment,串口硬盘)。
在相关技术中,存储设备通常将各存储层的RAID(Redundant Arrays ofIndependent Disks,磁盘阵列)放在同一个存储池中,并在存储池中启动自动分层功能,从而在该存储池中创建的LUN也具有自动分层功能,存储设备通过一个索引表记录该LUN的LBA(Logical Block Address,逻辑区块地址)地址与分配的存储空间的对应关系,并且为LUN预先分配的存储空间随机分布在各个存储层上,在该LUN初始接收到读写请求时,根据读写请求中的LBA地址从索引表中找到对应的存储空间,并将读写请求发到存储空间对应的RAID上。同时,存储设备会对存储池中所有存储空间中的数据进行热度统计,并根据热度动态迁移数据的位置并修改相应的索引表,这样在下次收到读写请求时,将根据新的索引表找到对应的存储空间。然而考虑到数据访问的持续性,刚刚写入的数据通常会被立即访问,而被访问的数据初始可能位于低性能层,由于低性能层存储空间的读写速度慢,从而会导致LUN在处理初始IO时响应慢的问题,进而影响LUN的整体性能,只有经过一段时间的热度统计过程,将数据迁移到具有高性能的存储层后,LUN的整体性能才可得到提升。
发明内容
有鉴于此,本申请提供一种数据迁移方法及装置,以解决现有迁移方式会影响LUN整体性能的问题。
根据本申请实施例的第一方面,提供一种数据迁移方法,所述方法应用于存储设备,所述存储设备包括多个存储层的存储空间,所述方法包括:
当接收到写请求时,将所述写请求中的数据写入所述写请求中的LBA起始地址对应的存储空间中;
当所述存储空间所属存储层的实时迁移开关的状态为开启状态时,判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间;
若存在,则从所述上一存储层中获取所述第一容量的可用存储空间,并将所述存储空间中的数据迁移至获取的可用存储空间中;
否则,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。
根据本申请实施例的第二方面,提供一种数据迁移装置,所述装置应用于存储设备,所述存储设备包括多个存储层的存储空间,所述装置包括:
写入模块,用于当接收到写请求时,将所述写请求中的数据写入所述写请求中的LBA起始地址对应的存储空间中;
判断模块,用于当所述存储空间所属存储层的实时迁移开关的状态为开启状态时,判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间;
迁移模块,用于在判断结果为存在时,从所述上一存储层中获取所述第一容量的可用存储空间,并将所述存储空间中的数据迁移至获取的可用存储空间中;
管理模块,用于在判断结果为不存在时,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。
应用本申请实施例,存储设备在接收到写请求时,可以先将写请求中的数据写入写请求中的LBA起始地址对应的存储空间中,然后若该存储空间所属存储层的实时迁移开关的状态为开启状态,再判断上一存储层中是否存在与该存储空间的第一容量相同的可用存储空间;若存在,则从上一存储层中获取第一容量的可用存储空间,并将该存储空间中的数据迁移至获取的可用存储空间中;否则,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。基于上述实现方式,存储设备尽量将新写入的数据立即迁移至性能更高的存储层,这样新写入数据再次被访问时,IO响应速度快,从而可以提升LUN创建初期的整体性能。此外,通过各存储层的实时迁移开关的关闭和开启状态可以清晰确定各存储层的存储空间的使用情况,在初始化时,各存储层的实时迁移开关均为开启状态,在上一存储层的可用存储空间不足以数据向上迁移时,将本存储层的实时迁移开关的状态置为关闭状态,从而达到实时迁移开关能够动态关闭的目的。
附图说明
图1A为本申请根据一示例性实施例示出的一种数据迁移方法的实施例流程图;
图1B为本申请根据图1A所示实施例示出的一种RAID的块表示意图;
图1C为本申请根据图1A所示实施例示出的一种LUN标识对应的索引表示意图;
图2为本申请根据一示例性实施例示出的一种存储设备的硬件结构图;
图3为本申请根据一示例性实施例示出的一种数据迁移装置的实施例结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1A为本申请根据一示例性实施例示出的一种数据迁移方法的实施例流程图;图1B为本申请根据图1A所示实施例示出的一种RAID的块表示意图;图1C为本申请根据图1A所示实施例示出的一种LUN标识对应的索引表示意图,该数据迁移方法可以应用于存储设备,该存储设备包括多个存储层的存储空间,存储层越高,其读写性能越高。这些存储空间组成一个存储池,从而该存储池具有自动分层的功能,存储设备在该存储池中创建自动分层LUN时,为LUN分配的存储空间随机分布在不同的存储层上。如图1A所示,该数据迁移方法包括如下步骤:
步骤101:当接收到写请求时,将写请求中的数据写入写请求中的LBA起始地址对应的存储空间中。
在一实施例中,存储设备在创建LUN时,可以为LUN设置LUN标识,用于唯一标识LUN,并为LUN建立对应的索引表,索引表包括有LBA起始地址对应的映射单元,而映射单元中记录有为LUN分配的存储空间标识,针对自动分层的特性,存储设备通常采用块式管理存储空间,即每个RAID对应有一个块表,用于表示RAID中每个存储块是否被占用(在块表中用bit位表示,“1”为已占用,“0”为未占用),因此映射单元中记录的存储空间标识可以为存储块标识,进而LBA起始地址对应的存储空间,即为LBA起始地址对应的存储块。
需要说明的是,写请求中的LBA起始地址指的是写请求中的数据从该LBA起始地址开始写入该LBA起始地址对应的LUN已分配存储空间中。存储设备在获取写请求中的LBA起始地址对应的存储块存时,由于写请求中的数据可能需要多个存储块存放,因此可以根据写请求中数据总大小和LBA起始地址获取对应的存储块。若写请求中数据总大小和LBA起始地址在对应索引表中的映射单元中未完全记录存储块的标识,则可以从可用存储空间中为未记录存储块标识的映射单元分配存储块,并将分配的存储块标识记录到未记录存储块标识的映射单元中。
在一示例性场景中,假设写请求携带的LBA起始地址为128KB,数据的总大小为250KB,LUN标识为LUN1,存储块的大小均为128KB,因此需要2个存储块来存放250KB大小的数据。如图1B所示,RAID1的块表中的存储块0和存储块1已占用,其他存储块均未占用,如图1C所示,LUN1对应的索引表中的映射单元0中记录有RAID1中的存储块0的标识,映射单元1中记录有RAID1中的存储块1的标识,映射单元0对应的LBA地址为0KB至127KB,映射单元1对应的LBA地址为128KB至255KB。由于写请求中的LBA起始地址为128KB,数据总大小为250KB,LUN标识为LUN1,因此可得在索引表中对应两个映射单元,分别为映射单元1和映射单元2,而映射单元2中未记录存储块标识,需要从RAID1的块表中选取一个未占用的存储块,如存储块2,并分配给映射单元2。进而,存储设备可以将250KB的数据中128KB的数据写入存储块1,122KB的数据写入存储块2。
步骤102:当该存储空间所属存储层的实时迁移开关的状态为开启状态时,判断上一存储层中是否存在与该存储空间的第一容量相同的可用存储空间,如果存在,则执行步骤103,否则,执行步骤104。
在一实施例中,存储设备中各存储层的实时迁移开关在初始化时,默认为开启状态。只要实时迁移开关处于开启状态,表示对应的存储层中仍然有可用存储空间。
在一实施例中,在新写入数据的存储空间所属存储层的实时迁移开关为开启状态前提条件下,存储设备可以判断上一存储层中是否存在第一容量的未占用的存储空间;若存在,则确定上一存储层中存在与存储空间的第一容量相同的可用存储空间;若不存在,则获取上一存储层中未占用的存储空间的第二容量,并获取第一容量与第二容量的差值,并判断上一存储层中是否存在该差值大小的已占用但未写入数据的存储空间;若是,则确定上一存储层中存在与存储空间的第一容量相同的可用存储空间,否则,确定上一存储层中不存在与存储空间的第一容量相同的可用存储空间。
其中,可用存储空间可以是未占用的存储空间,也可以是已占用但未写入数据的存储空间,还可以是未占用的存储空间与已占用但未写入数据的存储空间的组合,未占用的存储空间表示该存储空间还未分配给LUN,已占用但未写入数据的存储空间表示该存储空间已分配给LUN但还未写入数据。基于上述步骤101所述,已占用和未占用可以通过相应的块表中的比特位确定,而是否写入数据可以通过为存储空间设置的标识确定,本领域技术人员可以理解的是,该标识可以是数字或者字符,也可以是数字与字符的组合,只要可以区分是否写入数据两种状态即可,本申请在此不进行限制。
需要说明的是,在新写入数据所在存储空间所属的存储层并不是最高存储层情况下,存储设备可以判断上一存储层中是否存在与该存储空间的第一容量相同的可用存储空间,如果新写入数据所在存储空间所属的存储层为最高存储层,则存储设备不需要判断上一存储层中是否存在于该存储空间的第一容量相同的可用存储空间。
步骤103:从上一存储层中获取第一容量的可用存储空间,并将该存储空间中的数据迁移至上一存储层的可用存储空间中。
在一实施例中,除了将新写入的数据立即迁移至性能比较高的上一存储层之外,存储设备也可以每隔一定的时间周期进行一次热点数据的迁移,即通过在该周期中统计出来的数据的热度确定热点数据,并将确定出来的热点数据尽量迁移至性能更高的存储层上。基于此,如果更高存储层的存储空间中已有数据+待迁移入的热点数据的总大小超过该存储层的存储空间的容量,则可以从已有数据+待迁移入的热点数据中选择热度最低的数据迁移到下一存储层,直到更高存储层的存储空间中已有数据+待迁移入的热点数据的总大小等于该存储层的存储空间的容量为止。这样,即保证新写入数据再次被访问时,IO响应速度快,并且也保证经过一段时间之后,各存储层中的热点数据能够被迁移至性能更高的存储层,进而提高LUN的整体性能。
在另一实施例中,为了合理利用性能比较高的存储层的存储空间,可以将冷点数据尽量迁移至性能比较低的存储层,以将当前存储层的存储空间释放出来,给其他IO使用。因此存储设备可以在预设时间周期内,对各存储空间中数据的热度进行统计,并将热度为第一预设数值的存储空间对应的持续周期数加1,以及热度不为第一预设数值且对应的持续周期数不为0的存储空间的持续周期数减1,然后再将持续周期数高于第二预设数值的存储空间中的数据确定为冷点数据,并将确定的冷点数据优先迁移至最低存储层的可用存储空间中,从而实现将冷点数据迁移至性能比较低的存储层,使高性能存储层的存储空间得到合理的利用。此外,通过持续周期数与阈值的比较来确定真正的冷点数据,可以避免因非工作时段导致数据被误判为冷点数据。
其中,第一预设数值可以根据实际应用需求进行设置,例如,将热度为0的数据一个预设时间周期的冷点数据,第一预设数值可以设置为0。第二预设数值可以根据预设时间周期和实际应用需求进行设置,例如,针对日常办公场景,预设时间周期可以是1天,第二预设数值可以为7天,如果7天都没有访问某一存储空间中的数据,即持续周期数高于7天,表示该数据即为冷点数据。
需要说明的是,针对将确定的冷点数据优先迁移至最低存储层的可用存储空间中的过程,存储设备首先判断最低存储层中是否存在与冷点数据所在存储空间的容量相同的存储空间,如果存在,从最低存储层中获取可用存储空间,并将冷点数据迁移至获取的可用存储空间中,如果不存在,确定最低存储层中缺少的存储空间容量,并判断次低存储层中是否存在缺少的存储空间容量的存储空间,以此类推,直到将冷点数据全部迁移至性能比较低的存储层中。
在又一实施例中,在将刚写入的数据迁移至比当前所在存储层性能高一些的存储层(上一存储层)之后,为了保证数据热度的实时性,需要将数据当前的热度继承到上一存储层。因此存储设备在将存储空间中的数据迁移至获取的可用存储空间中之后,可以将获取的可用存储空间对应的热度置为该存储空间对应的热度,并将该存储空间对应的热度置为0。
此外,在将冷点数据迁移至性能比较低的存储层之后,也需要将数据当前的热度继承到迁移后的存储层中。因此存储设备在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,将冷点数据当前所在存储层的可用存储空间对应的热度置为冷点数据之前所在存储空间对应的热度,并将所述冷点数据之前所在存储空间对应的热度置为0。
在又一实施例中,为了实现通过各存储层的存储空间的使用情况,动态打开或关闭该存储层的实时迁移开关的目的,在将存储空间中的数据迁移至获取的可用存储空间中之后,释放该存储空间,若该存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态。此外,在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,释放冷点数据之前所在存储空间,若该存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态。
其中,基于上述步骤101所述,释放存储空间即为释放存储块,通过将存储块所在RAID的块表中的对应bit位置0。此外,还可以将存储块的是否写入数据的标识置为未写入数据状态,从而实现释放。
值得说明的是,在某一LUN被删除后,表示该LUN占用的存储空间被释放,如果被释放的存储空间所在存储层的下一存储层的实时迁移开关为关闭状态,则自动将该实时迁移开关置为开启状态,这样删除LUN后释放的存储空间,可以给新的IO使用。
步骤104:将该存储空间所属存储层的实时迁移开关的状态置为关闭状态。
由上述实施例可知,存储设备在接收到写请求时,可以先将写请求中的数据写入写请求中的LBA起始地址对应的存储空间中,然后若该存储空间所属存储层的实时迁移开关为开启状态,再判断上一存储层中是否存在与该存储空间的第一容量相同的可用存储空间;若存在,则从上一存储层中获取第一容量的可用存储空间,并将该存储空间中的数据迁移至获取的可用存储空间中;否则,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。基于上述实现方式,存储设备尽量将新写入的数据立即迁移至性能更高的存储层,这样新写入数据再次被访问时,IO响应速度快,从而可以提升LUN创建初期的整体性能。此外,通过各存储层的实时迁移开关可以清晰确定各存储层的存储空间的使用情况,在初始化时,各存储层的实时迁移开关均为开启状态,在上一存储层的可用存储空间不足以数据向上迁移时,将本存储层的实时迁移开关的状态置为关闭状态,从而达到实时迁移开关能够动态关闭的目的。
与前述数据迁移方法的实施例相对应,本申请还提供了数据迁移装置的实施例。
本申请数据迁移装置的实施例可以应用在存储设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本申请根据一实施例性实施例示出的一种存储设备的硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常根据该设备的实际功能,还可以包括其他硬件,对此不再赘述。
图3为本申请根据一示例性实施例示出的一种数据迁移装置的实施例结构图,该数据迁移装置可以应用于存储设备,该存储设备包括多个存储层的存储空间,该数据迁移装置包括:写入模块31、判断模块32、迁移模块33、管理模块34。
其中,写入模块31,用于当接收到写请求时,将所述写请求中的数据写入所述写请求中的LBA起始地址对应的存储空间中;
判断模块32,用于当所述存储空间所属存储层的实时迁移开关的状态为开启状态时,判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间;
迁移模块33,用于在判断结果为存在时,从所述上一存储层中获取所述第一容量的可用存储空间,并将所述存储空间中的数据迁移至获取的可用存储空间中;
管理模块34,用于在判断结果为不存在时,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。
在一可选的实现方式中,所述判断模块32,具体用于在判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间过程中,判断所述上一存储层中是否存在所述第一容量的未占用的存储空间;若存在,则确定所述上一存储层中存在与所述存储空间的第一容量相同的可用存储空间;若不存在,则获取所述上一存储层中未占用的存储空间的第二容量,并获取所述第一容量与所述第二容量的差值,并判断所述上一存储层中是否存在所述差值大小的已占用但未写入数据的存储空间;若是,则确定所述上一存储层中存在与所述存储空间的第一容量相同的可用存储空间,否则,确定所述上一存储层中不存在与所述存储空间的第一容量相同的可用存储空间。
在一可选的实现方式中,所述装置还包括(图3中未示出):
冷点迁移模块,用于在预设时间周期内,对各存储空间中数据的热度进行统计,并将热度为第一预设数值的存储空间对应的持续周期数加1,以及热度不为第一预设数值且对应的持续周期数不为0的存储空间的持续周期数减1;将持续周期数高于第二预设数值的存储空间中的数据确定为冷点数据,并将确定的冷点数据优先迁移至最低存储层的可用存储空间中。
在一可选的实现方式中,所述装置还包括(图3中未示出):
热度迁移模块,用于在将所述存储空间中的数据迁移至获取的可用存储空间中之后,将所述获取的可用存储空间对应的热度置为所述存储空间对应的热度,并将所述存储空间对应的热度置为0;在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,将所述冷点数据当前所在存储层的可用存储空间对应的热度置为所述冷点数据之前所在存储空间对应的热度,并将所述冷点数据之前所在存储空间对应的热度置为0。
在一可选的实现方式中,所述装置还包括(图3中未示出):
释放模块,用于在将所述存储空间中的数据迁移至获取的可用存储空间中之后,释放所述存储空间,若所述存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态;在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,释放所述冷点数据之前所在存储空间,若所述存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种数据迁移方法,其特征在于,所述方法应用于存储设备,所述存储设备包括多个存储层的存储空间,所述方法包括:
当接收到写请求时,将所述写请求中的数据写入所述写请求中的LBA起始地址对应的存储空间中;
当所述存储空间所属存储层的实时迁移开关的状态为开启状态时,判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间;
若存在,则从所述上一存储层中获取所述第一容量的可用存储空间,并将所述存储空间中的数据迁移至获取的可用存储空间中;
否则,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。
2.根据权利要求1所述的方法,其特征在于,所述判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间,包括:
判断所述上一存储层中是否存在所述第一容量的未占用的存储空间;
若存在,则确定所述上一存储层中存在与所述存储空间的第一容量相同的可用存储空间;
若不存在,则获取所述上一存储层中未占用的存储空间的第二容量,并获取所述第一容量与所述第二容量的差值,并判断所述上一存储层中是否存在所述差值大小的已占用但未写入数据的存储空间;
若是,则确定所述上一存储层中存在与所述存储空间的第一容量相同的可用存储空间,否则,确定所述上一存储层中不存在与所述存储空间的第一容量相同的可用存储空间。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在预设时间周期内,对各存储空间中数据的热度进行统计,并将热度为第一预设数值的存储空间对应的持续周期数加1,以及热度不为第一预设数值且对应的持续周期数不为0的存储空间的持续周期数减1;
将持续周期数高于第二预设数值的存储空间中的数据确定为冷点数据,并将确定的冷点数据优先迁移至最低存储层的可用存储空间中。
4.根据权利要求3所述的方法,其特征在于,所述方法包括:
在将所述存储空间中的数据迁移至获取的可用存储空间中之后,将所述获取的可用存储空间对应的热度置为所述存储空间对应的热度,并将所述存储空间对应的热度置为0;
在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,将所述冷点数据当前所在存储层的可用存储空间对应的热度置为所述冷点数据之前所在存储空间对应的热度,并将所述冷点数据之前所在存储空间对应的热度置为0。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在将所述存储空间中的数据迁移至获取的可用存储空间中之后,释放所述存储空间,若所述存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态;
在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,释放所述冷点数据之前所在存储空间,若所述存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态。
6.一种数据迁移装置,其特征在于,所述装置应用于存储设备,所述存储设备包括多个存储层的存储空间,所述装置包括:
写入模块,用于当接收到写请求时,将所述写请求中的数据写入所述写请求中的LBA起始地址对应的存储空间中;
判断模块,用于当所述存储空间所属存储层的实时迁移开关的状态为开启状态时,判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间;
迁移模块,用于在判断结果为存在时,从所述上一存储层中获取所述第一容量的可用存储空间,并将所述存储空间中的数据迁移至获取的可用存储空间中;
管理模块,用于在判断结果为不存在时,将所述存储空间所属存储层的实时迁移开关的状态置为关闭状态。
7.根据权利要求6所述的装置,其特征在于,所述判断模块,具体用于在判断上一存储层中是否存在与所述存储空间的第一容量相同的可用存储空间过程中,判断所述上一存储层中是否存在所述第一容量的未占用的存储空间;若存在,则确定所述上一存储层中存在与所述存储空间的第一容量相同的可用存储空间;若不存在,则获取所述上一存储层中未占用的存储空间的第二容量,并获取所述第一容量与所述第二容量的差值,并判断所述上一存储层中是否存在所述差值大小的已占用但未写入数据的存储空间;若是,则确定所述上一存储层中存在与所述存储空间的第一容量相同的可用存储空间,否则,确定所述上一存储层中不存在与所述存储空间的第一容量相同的可用存储空间。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
冷点迁移模块,用于在预设时间周期内,对各存储空间中数据的热度进行统计,并将热度为第一预设数值的存储空间对应的持续周期数加1,以及热度不为第一预设数值且对应的持续周期数不为0的存储空间的持续周期数减1;将持续周期数高于第二预设数值的存储空间中的数据确定为冷点数据,并将确定的冷点数据优先迁移至最低存储层的可用存储空间中。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
热度迁移模块,用于在将所述存储空间中的数据迁移至获取的可用存储空间中之后,将所述获取的可用存储空间对应的热度置为所述存储空间对应的热度,并将所述存储空间对应的热度置为0;在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,将所述冷点数据当前所在存储层的可用存储空间对应的热度置为所述冷点数据之前所在存储空间对应的热度,并将所述冷点数据之前所在存储空间对应的热度置为0。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
释放模块,用于在将所述存储空间中的数据迁移至获取的可用存储空间中之后,释放所述存储空间,若所述存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态;在将确定的冷点数据优先迁移至最低存储层的可用存储空间中之后,释放所述冷点数据之前所在存储空间,若所述存储空间所属存储层的下一存储层的实时迁移开关的状态为关闭状态,则将该实时迁移开关的状态置为开启状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296420.2A CN107092443B (zh) | 2017-04-28 | 2017-04-28 | 数据迁移方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710296420.2A CN107092443B (zh) | 2017-04-28 | 2017-04-28 | 数据迁移方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107092443A true CN107092443A (zh) | 2017-08-25 |
CN107092443B CN107092443B (zh) | 2020-04-07 |
Family
ID=59638676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710296420.2A Active CN107092443B (zh) | 2017-04-28 | 2017-04-28 | 数据迁移方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107092443B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874311A (zh) * | 2018-05-29 | 2018-11-23 | 北京盛和大地数据科技有限公司 | 融合存储系统中的数据迁移方法和装置 |
CN110704488A (zh) * | 2019-09-29 | 2020-01-17 | 北京元年科技股份有限公司 | 用于管理数据的方法及相应的系统、计算机设备和介质 |
CN110716697A (zh) * | 2019-09-29 | 2020-01-21 | 联想(北京)有限公司 | 一种信息处理方法和设备 |
CN112015343A (zh) * | 2020-08-27 | 2020-12-01 | 杭州宏杉科技股份有限公司 | 存储卷的缓存空间管理方法、装置及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087845A1 (en) * | 1997-08-01 | 2002-07-04 | Dowling Eric M. | Embedded-DRAM-DSP architecture |
CN102122303A (zh) * | 2011-03-15 | 2011-07-13 | 浪潮(北京)电子信息产业有限公司 | 一种进行数据迁移的方法及服务系统及服务器设备 |
CN102841931A (zh) * | 2012-08-03 | 2012-12-26 | 中兴通讯股份有限公司 | 分布式文件系统的存储方法及装置 |
CN103500073A (zh) * | 2013-10-08 | 2014-01-08 | 浪潮(北京)电子信息产业有限公司 | 一种数据块迁移方法及装置 |
CN104205780A (zh) * | 2014-01-23 | 2014-12-10 | 华为技术有限公司 | 一种存储数据的方法和装置 |
CN105808620A (zh) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | 一种管理磁盘文件的方法和装置 |
CN105988842A (zh) * | 2015-02-12 | 2016-10-05 | 广东欧珀移动通信有限公司 | 一种转移应用程序的方法及终端 |
CN106227466A (zh) * | 2016-07-15 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种数据段迁移方法及系统 |
CN106469029A (zh) * | 2011-12-31 | 2017-03-01 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN106598500A (zh) * | 2016-12-16 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种分层存储动态迁移方法 |
-
2017
- 2017-04-28 CN CN201710296420.2A patent/CN107092443B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087845A1 (en) * | 1997-08-01 | 2002-07-04 | Dowling Eric M. | Embedded-DRAM-DSP architecture |
CN102122303A (zh) * | 2011-03-15 | 2011-07-13 | 浪潮(北京)电子信息产业有限公司 | 一种进行数据迁移的方法及服务系统及服务器设备 |
CN106469029A (zh) * | 2011-12-31 | 2017-03-01 | 华为数字技术(成都)有限公司 | 数据分层存储处理方法、装置和存储设备 |
CN102841931A (zh) * | 2012-08-03 | 2012-12-26 | 中兴通讯股份有限公司 | 分布式文件系统的存储方法及装置 |
CN103500073A (zh) * | 2013-10-08 | 2014-01-08 | 浪潮(北京)电子信息产业有限公司 | 一种数据块迁移方法及装置 |
CN104205780A (zh) * | 2014-01-23 | 2014-12-10 | 华为技术有限公司 | 一种存储数据的方法和装置 |
CN105808620A (zh) * | 2014-12-31 | 2016-07-27 | 华为技术有限公司 | 一种管理磁盘文件的方法和装置 |
CN105988842A (zh) * | 2015-02-12 | 2016-10-05 | 广东欧珀移动通信有限公司 | 一种转移应用程序的方法及终端 |
CN106227466A (zh) * | 2016-07-15 | 2016-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种数据段迁移方法及系统 |
CN106598500A (zh) * | 2016-12-16 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种分层存储动态迁移方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108874311A (zh) * | 2018-05-29 | 2018-11-23 | 北京盛和大地数据科技有限公司 | 融合存储系统中的数据迁移方法和装置 |
CN110704488A (zh) * | 2019-09-29 | 2020-01-17 | 北京元年科技股份有限公司 | 用于管理数据的方法及相应的系统、计算机设备和介质 |
CN110716697A (zh) * | 2019-09-29 | 2020-01-21 | 联想(北京)有限公司 | 一种信息处理方法和设备 |
CN112015343A (zh) * | 2020-08-27 | 2020-12-01 | 杭州宏杉科技股份有限公司 | 存储卷的缓存空间管理方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN107092443B (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9665293B2 (en) | Method for a storage device processing data and storage device | |
JP4053987B2 (ja) | 取り外し可能なランダム・アクセス・データ・ストレージ・メディアのシミュレートされた順次データに対する同時読み取りおよび書き込みアクセス | |
US9274723B2 (en) | Storage apparatus and its control method | |
US8019965B2 (en) | Data migration | |
CN106970765A (zh) | 数据存储方法及装置 | |
CN100514270C (zh) | 虚拟带服务器中虚拟卷数据的动态载入 | |
CN107092443A (zh) | 数据迁移方法及装置 | |
US20070079078A1 (en) | Centralized storage management method | |
US7424582B2 (en) | Storage system, formatting method and computer program to enable high speed physical formatting | |
US20120303889A1 (en) | SMR storage device with user controls and access to status information and parameter settings | |
US20090198748A1 (en) | Apparatus, system, and method for relocating storage pool hot spots | |
US8234464B2 (en) | Hybrid storage data migration by selective data removal | |
CN107704211B (zh) | 一种磁光电混合光盘库及其管理方法和管理系统 | |
US20060155944A1 (en) | System and method for data migration and shredding | |
US8478939B2 (en) | Relative heat index based hot data determination for block based storage tiering | |
CN107092442A (zh) | 存储系统资源分配方法及装置 | |
JP2005301980A5 (zh) | ||
CN109558457A (zh) | 一种数据写入方法、装置、设备及存储介质 | |
JP6042346B2 (ja) | 記憶媒体のホスト設定を用いてデータを記憶するためのシステムおよび方法 | |
CN101997919B (zh) | 一种存储资源的管理方法及管理装置 | |
IE20160095A1 (en) | Realm partitioning in hard drives | |
CN106919342A (zh) | 基于自动精简配置的存储资源分配方法和装置 | |
JP4079244B2 (ja) | 追記型記憶媒体ボリュームの再編成処理方法 | |
JP3725375B2 (ja) | 記憶媒体ライブラリにおけるデータ再編成方法 | |
US9257144B1 (en) | Shingled magnetic record hard disk drive and method for creating a logical disk from physical tracks |
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 |