CN107957848B - 重删处理方法及存储设备 - Google Patents
重删处理方法及存储设备 Download PDFInfo
- Publication number
- CN107957848B CN107957848B CN201610898862.XA CN201610898862A CN107957848B CN 107957848 B CN107957848 B CN 107957848B CN 201610898862 A CN201610898862 A CN 201610898862A CN 107957848 B CN107957848 B CN 107957848B
- Authority
- CN
- China
- Prior art keywords
- memory
- physical block
- deduplication
- value
- space occupancy
- 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.)
- Active
Links
Images
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
- G06F16/1752—De-duplication implemented within the file system, e.g. based on file segments based on file chunks
-
- 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/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- 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/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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
-
- 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/0673—Single storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种重删处理方法及存储设备,属于存储技术领域。方法应用于存储设备中,所述存储设备包括多个存储器,每个存储器包括至少一个物理块,所述方法包括:获取至少一个存储器的参数信息,所述存储器的参数信息至少包括所述存储器中至少一个物理块的权值和所述存储器的空间占用率中的至少一项,所述物理块的权值用于指示所述物理块的下一个写入时间点;根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值;从所述至少一个存储器中选取重删权值最大的存储器,对选取的存储器中的物理块进行重删处理。本发明选取存储器的过程不需要对样本物理块进行重删处理,简化了选取过程,节省了选取时间,提高了重删处理的效率。
Description
技术领域
本发明涉及存储技术领域,特别涉及一种重删处理方法及存储设备。
背景技术
重删处理是指对存储设备中的重复数据进行删除的处理方式,通过重删处理可以节省存储设备的空间,避免资源浪费。而存储设备包括多个存储器,每个存储器包括至少一个物理块,数据实际上以物理块的形式进行存储,因此,对存储设备进行重删处理实际上是对该多个存储器中的物理块进行重删处理。
该重删处理过程可以包括:该处理器轮询该多个存储器,对于轮询到的每个存储器,将该存储器中的所有物理块搬运到处理器中,从这些物理块中随机选取多个样本物理块,对该多个样本物理块进行重删处理,并根据重删处理的结果计算该多个样本物理块的重删概率,将该重删概率作为该存储器的重删权值。通过上述轮询过程,该处理器可以获取到该多个存储器中每个存储器的重删权值,进而从该多个存储器中选取重删权值最大的存储器,对该重删权值最大的存储器中的物理块进行重删处理,当重删处理完成之后,再选取下一个重删权值最大的存储器,对下一个重删权值最大的存储器中的物理块进行重删处理,以此类推。
在实现本发明的过程中,发明人发现相关技术至少存在以下问题:
需要对每个存储器中的多个样本物理块进行重删处理之后,才能选取出要进行重删处理的存储器,选取存储器的过程非常繁琐,耗费的时间过长,导致重删处理的效率很低。
发明内容
为了解决相关技术的问题,本发明实施例提供了一种重删处理方法及存储设备。所述技术方案如下:
第一方面,提供了一种重删处理方法,应用于存储设备中,所述存储设备包括多个存储器,每个存储器包括至少一个物理块,所述方法包括:
获取至少一个存储器的参数信息,所述存储器的参数信息至少包括所述存储器中至少一个物理块的权值和所述存储器的空间占用率中的至少一项,所述物理块的权值用于指示所述物理块的下一个写入时间点;
根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值;
从所述至少一个存储器中选取重删权值最大的存储器,对选取的存储器中的物理块进行重删处理。
第二方面,提供了一种存储设备,所述存储设备包括多个存储器,每个存储器包括至少一个物理块,所述存储设备包括:
获取模块,用于获取至少一个存储器的参数信息,存储器的参数信息至少包括所述存储器中至少一个物理块的权值和所述存储器的空间占用率中的至少一项,物理块的权值用于指示所述物理块的下一个写入时间点;
计算模块,用于根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值;
选取模块,用于从所述至少一个存储器中选取重删权值最大的存储器;
重删处理模块,用于对选取的存储器中的物理块进行重删处理。
本发明实施例提供的技术方案带来的有益效果是:
通过获取至少一个存储器的参数信息,并根据参数信息计算重删权值,从该至少一个存储器中选取重删权值最大的存储器,对选取的存储器进行重删处理。选取存储器的过程不需要选取样本物理块,也不需要对样本物理块进行重删处理,简化了选取过程,节省了选取时间,提高了重删处理的效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种存储设备的结构示意图;
图2是本发明实施例提供的另一种存储设备的结构示意图;
图3是本发明实施例提供的一种重删处理方法的流程图;
图4是本发明实施例提供的一种计算权值的流程图;
图5是本发明实施例提供的一种计算指定空间占用率的流程图;
图6是本发明实施例提供的一种计算重删权值的流程图;
图7是本发明实施例提供的一种选取一级队列条目的流程图;
图8是本发明实施例提供的一种维护二级队列的流程图;
图9是本发明实施例提供的一种重删处理的流程图;
图10是本发明实施例提供的一种存储设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在对本发明进行详细说明之前,首先对本发明涉及到的概念进行如下解释:
1、存储设备:是指用于存储数据的设备。该存储设备包括处理器和多个存储器,处理器用于对该存储设备的运行进行控制,每个存储器用于存储数据。
2、存储器:存储器包括至少一个物理块,每个物理块包括至少一个扇区,扇区是磁盘读写的基本单位。另外,一个物理块对应一个或者多个逻辑块,该物理块的物理地址与该一个或者多个逻辑块的逻辑地址对应。
其中,物理块的物理地址可以以该物理块中的第一个扇区的标识来表示。
3、重删处理:对重复数据进行删除的处理方式,通过重删处理可以将存储设备中的重复数据删除,以节省存储空间,避免资源浪费。
4、重删处理的调度:是指从至少一个存储器中选取某一存储器的过程,选取存储器后,即可对选取的存储器中的物理块进行重删处理。通过对存储设备中的多个存储器进行调度,可以保证多个存储器有序地进行重删处理。
5、存储器的重删权值:用于衡量存储器进行重删处理的优先程度的数值,存储器的重删权值越大,表示该存储器应当优先进行重删处理。
其中,存储器的重删权值可以根据存储器的空间占用率确定,或者根据存储器中至少一个物理块的权值确定。
6、物理块的权值:用于衡量物理块进行重删处理的优先程度的数值,在同一个存储器中,物理块的权值越大,表示该物理块应当优先进行重删处理。
其中,物理块的权值可以根据该物理块的下一个写入时间点的早晚确定,该物理块的下一个写入时间点越晚,该物理块的权值越大。
7、存储器的空间占用率:是指存储器中存储的数据已占用的空间容量与总容量的比例,用于衡量数据在该存储器中所占空间的比例。
8、一级队列:一个存储器对应于一个一级队列,该一级队列中包括与存储器中的物理块对应的一级队列条目,每个一级队列条目中包括对应物理块的权值和物理地址,根据该一级队列可以对要进行重删处理的物理块进行调度。
9、二级队列:该存储设备具有一个二级队列,该二级队列中包括与每个存储器对应的二级队列条目,每个二级队列条目中包括对应存储器的重删权值和一级队列,根据该二级队列可以对要进行重删处理的存储器进行调度。
本发明实施例提供了一种存储设备,该存储设备包括多个存储器,且每个存储器包括至少一个物理块,在该至少一个物理块中可以存储数据。该存储设备还可以包括处理器,该处理器用于控制该存储设备的运行。
本发明实施例中,该存储设备可以获取该至少一个存储器的参数信息,根据该至少一个存储器的参数信息,计算该至少一个存储器的重删权值,从该至少一个存储器中选取重删权值最大的存储器,以便对选取的存储器中的物理块进行重删处理。其中,存储器的参数信息至少包括该存储器中至少一个物理块的权值和该存储器的空间占用率中的至少一项,物理块的权值用于指示该物理块的下一个写入时间点。
在一种可能的实现方式中,每个存储器的参数信息可以由相应的存储器获取后发送给处理器,由处理器执行计算重删权值、选取存储器和进行重删处理的过程。
参见图1,图1是本发明实施例提供的一种存储设备的结构示意图,该存储设备包括处理器和多个存储器。
该多个存储器中的至少一个存储器可以获取参数信息,向该处理器发送该参数信息,则该处理器可以接收到至少一个存储器的参数信息,并根据接收到的参数信息计算重删权值,再根据计算出的至少一个重删权值选取重删权值最大的存储器,对选取的存储器中的物理块进行重删处理。
进一步地,在图1所示实施例的基础上,图2是本发明实施例提供的一种存储设备的结构示意图,参见图2,该存储设备包括处理器、多个存储器和系统总线,多个存储器通过系统总线与处理器连接。
针对于该处理器,该处理器包括参数配置模块2011、二级决策模块2012和重删处理模块2013。
该参数配置模块2011,用于设置重删处理调度过程中所需的参数,可以包括存储器向处理器发送参数信息的周期、存储器发送该参数信息所采用的指定空间占用率、存储器的一级队列中一级队列条目的最大数量、处理器的二级队列中一级队列条目的最大数量等,本发明实施例对所需的参数不做限定。
该二级决策模块2012,用于裁定多个存储器进行重删处理的顺序,并维护二级队列。该二级队列存储于内存中,每个二级队列条目与一个存储器对应,可以包括该对应存储器的存储器标识、重删权值和一级队列等。在该二级队列中,多个二级队列条目按照重删权值从大到小的顺序进行排列,根据该多个二级队列条目的顺序,确定多个存储器进行重删处理的顺序。
该重删处理模块2013,用于进行实际的重删处理操作。实际上,该重删处理模块2013可以从二级队列条目中提取重删权值最大的二级队列条目,对该提取的二级队列条目对应的存储器中的物理块进行重删处理。
针对于每个存储器,该存储器包括数据存储区域2021、写入分析模块2022和一级决策模块2023。
该数据存储区域2021用于存储数据。
该写入分析模块2022用于跟踪对该数据存储区域2021上每个物理块的写入操作,从而根据检测到的写入操作对每个物理块的下一个写入时间点进行估算,根据估算的下一个写入时间点确定物理块的权值。
该写入分析模块2022由每次的写入操作触发,所有的计算过程在该写入分析模块2022本地完成,计算出的物理块的权值可以作为一级决策的参考量,送入一级决策模块2023,从而影响一级决策的结果,以使该一级决策模块2023根据物理块的权值,对该存储器的多个物理块的重删处理进行调度,能够尽量避免在频繁更新的物理块中反复执行重删处理操作。
该一级决策模块2023用于遴选本地存储器中待进行重删处理的物理块,可以根据一级队列进行。该一级队列是一个有限长度的优先权队列,存储于该存储器本地的内存,每个一级队列条目可以包括物理块的物理地址和权值等,并且多个一级队列条目在一级队列中按照权值的大小顺序排列。因此,对该存储器中的物理块进行重删处理时,可以优先对权值较大的物理块进行重删处理。
当该存储器的空间占用率大于指定空间占用率,或者当前时间点为预设发送时间点时,该存储器可以将包含存储器标识、空间占用率和该一级队列的参数信息发送至该二级决策模块2012,由该二级决策模块2012确定多个存储器进行重删处理的顺序。
在另一种可能的实现方式中,该获取参数信息、计算重删权值、选取存储器和进行重删处理的过程可以由指定处理单元执行,该指定处理单元能够跟踪存储器上执行的写入操作,进而获取到任一存储器的参数信息,而且还可以对存储器中的物理块进行重删处理。其中,该指定处理单元可以为除该处理器和该多个存储器之外的单元,或者可以位于该处理器中,或者可以位于每个存储器中,本发明实施例对该指定处理单元的位置不做限定。
图3是本发明实施例提供的一种重删处理方法的流程图。该重删处理方法应用于上述实施例所示的存储设备中。参见图3,该方法包括:
301、至少一个存储器获取参数信息,向该处理器发送该参数信息。
其中,该存储设备包括多个存储器,获取参数信息的至少一个存储器可以为该多个存储器中的任一个或多个。实际上,该存储设备中的每个存储器均可根据实际需求执行步骤301。
对于每个存储器来说,该存储器可以获取本身的参数信息,发送给该处理器,以便该处理器根据参数信息确定该多个存储器进行重删处理的先后顺序。该参数信息至少包括该存储器中至少一个物理块的权值和该存储器的空间占用率的至少一项。
其中,该至少一个物理块的数目不大于该存储器的物理块的总数目。每个物理块的权值用于指示该每个物理块的下一个写入时间点,物理块的权值越大,表示该物理块的下一个写入时间点越晚,对该物理块进行重删处理的过程中对该物理块执行写入操作的可能性越小,因此该物理块应优先进行重删处理;而物理块的权值越小,表示该物理块的下一个写入时间点越早,对该物理块进行重删处理的过程中对该物理块执行写入操作的可能性越大,因此该物理块应当稍后再进行重删处理,以免对频繁写入的物理块进行重删处理。
其中,该空间占用率根据该存储器中的数据所占空间的容量与总容量的比例确定,该空间占用率越大,表示该存储器中存储了较多的数据,应当进行重删处理以节省空间;而该空间占用率越小,表示该存储器中存储了较少的数据,无需尽快进行重删处理。
另外,该参数信息中还可以包括该存储器的存储器标识或者其他参数,该存储器标识可以为该存储器的地址或者编号等,本发明实施例对此不做限定。
可选地,该存储器获取该参数信息的过程可以包括以下四个步骤:
一、对于该存储器的每个物理块,该存储器获取该物理块的第一时间差。
其中,该第一时间差是根据历史写入时间点估算的该物理块的相邻写入时间点之间的时间差,也即是上一个写入时间点与下一个写入时间点之间的时间差。
在该存储设备的运行过程中,可能会对该物理块进行多次写入操作,每次执行写入操作后可以记录该写入操作对应的写入时间点,则通过对已记录的历史写入时间点进行统计,可以估算得到该第一时间差。具体的统计方式可以为对多组相邻写入时间点之间的时间差求取平均值,或者也可以为与下述三个步骤提供的方式类似的方式,当然也可以为其他方式,本发明实施例对此不做限定。
二、当接收到对该物理块的写入请求时,计算接收到该写入请求时的第一写入时间点与该物理块的上一个写入时间点之间的时间差,作为修正时间差。
实际上,该存储器可能会接收到对该物理块的写入请求,该写入请求中携带待写入的数据,则该存储器执行写入操作,将该写入请求中携带的数据写入到该物理块中。
而考虑到上述第一时间差仅是估算的时间差,可能存在一定的误差,因此为了得到更加精确的时间差,该存储器可以监控对该物理块的写入请求,每当接收到对该物理块的写入请求时,可以获取接收到该写入请求时的第一写入时间点,并获取上一个写入时间点,即在该第一写入时间点之前最后一次执行写入操作的时间点,计算该第一写入时间点与该第二写入时间点之间的时间差,作为修正时间差。
三、计算该第一时间差与该修正时间差的平均值,作为第二时间差。
该修正时间差即为本次写入操作所产生的、相邻写入时间点之间新的时间差,因此该存储器可以计算原来估算的该第一时间差与该修正时间差的平均值,作为第二时间差。该第二时间差由原来的第一时间差和本次产生的新时间差确定,与该第一时间差相比更加精确。
四、计算该第一写入时间点与该第二时间差的和,得到第二写入时间点,根据该第二写入时间点确定该物理块的权值。
计算出该第二时间差之后,可以认为在该第一写入时间点之后,下一个写入时间点与该第一写入时间点之间的时间差很大可能为该第二时间差。因此,计算该第一写入时间点与该第二时间差的和,作为第二写入时间点,该第二写入时间点即为估算的下一个写入时间点。
之后,存储器可以将该第二写入时间点直接作为该物理块的权值,或者获取与该第二写入时间点对应的二进制数值,作为该物理块的权值,在计算该第二写入时间点对应的二进制数值时可以以某一历史时间点为基准,将该第二写入时间点与该历史时间点之间的时间差对应的二进制数值作为该物理块的权值。当然也可以采用其他方式根据该第二写入时间点确定权值,本发明实施例对此不做限定。
需要说明的是,除待写入的数据之外,该写入请求还携带待写入数据的物理块对应的逻辑地址。存储器接收到该写入请求时,查询地址映射表,获取该逻辑地址对应的物理地址,即为该物理块的物理地址,此时可以根据该物理地址将数据写入到该物理块中。其中,一个物理块对应至少一个逻辑块,则该物理块的物理地址对应该至少一个逻辑块的逻辑地址,该地址映射表中包括该物理地址与该至少一个逻辑地址的映射关系。
进一步要说明的是,参见图4,在实际的查询过程中可能会出现两种查询结果:
一种查询结果是,查询物理地址成功:
当存储器接收到该写入请求时,查询地址映射表,如果该地址映射表中包括该逻辑地址对应的物理地址时,查询物理地址成功,该存储器将查询到的物理地址、该第一时间差、该第一写入时间点、该物理块的上一个写入时间点取入内存,之后根据内存中的该第一写入时间点、该第一时间差和上一个写入时间点计算出第二时间差,此时即可将估算的该物理块的相邻写入时间点之间的时间差更新为该第二时间差,将该物理块的上一个写入时间点更新为该第一写入时间点。然后根据该物理地址执行写入操作,将待写入的数据写入至该物理块中,并判断该第二时间差是否为0。如果该第二写入时间差不为0,则根据该第一写入时间点和该第二时间差计算该第二写入时间点,从而根据该第二写入时间点确定该物理块的权值。而如果该第二时间差为0,该存储器结束对该物理块的预测任务,不再对该物理块的第二写入时间点进行预测,不再获取该物理块的权值。
另一种查询结果是,查询物理地址失败:
当存储器接收到该写入请求时,查询地址映射表,如果该地址映射表中不包括该逻辑地址对应的物理地址时,查询物理地址失败,此时存储器为该逻辑地址分配新的物理地址,也即是分配一个新的物理块,将该逻辑地址与该物理地址的映射关系添加到地址映射表中,并将估算的该物理块的相邻写入时间点之间的时间差设置为0,将上一个写入时间点设置为当前的第一写入时间点。之后,根据该物理地址执行写入操作,将待写入的数据写入至该物理块中。
需要注意的是,该物理块为新分配的物理块,该物理块中首次写入数据,因此相邻写入时间点之间的时间差设置为0,此时无法预测该物理块的下一个写入时间点,也不再获取该物理块的权值。当后续过程中再次接收到对该物理块的写入请求时,即可根据多次的写入时间点预测该物理块的下一个写入时间点,从而确定该物理块的权值。
该步骤一至步骤四可以由图2所示的写入分析模块2022执行。
可选地,该参数信息可以在满足特定条件时发送。相应地,该存储设备的所有存储器中,满足特定条件的存储器可以向该处理器发送参数信息,而不满足该特定条件的存储器可以不向该处理器发送参数信息。
例如,该存储器确定指定空间占用率,判断该存储器的空间占用率是否大于指定空间占用率,当该空间占用率大于指定空间占用率时,向该处理器发送该参数信息。或者,该存储器根据设置的发送参数信息的周期确定多个预设发送时间点,判断当前时间点是否为任一预设发送时间点,当前时间点为任一预设发送时间点时,向该处理器发送该参数信息。或者,该存储器在按照预设发送时间点发送参数信息的同时,仍检测空间占用率,一旦该空间占用率大于该指定空间占用率,则向该处理器发送该参数信息,也即是周期性发送的方式和按照该指定空间占用率发送的方式并行执行,两者互不影响。本发明实施例中对发送参数信息的时机不做限定。
进一步可选地,在不同的条件下发送的参数信息可以不同。例如,当该空间占用率大于指定空间占用率时,该存储器向该处理器发送的参数信息包括该空间占用率,而当前时间点为任一预设发送时间点时,该存储器向该处理器发送的参数信息包括至少一个物理块的权值。
其中,该指定空间占用率可以由该处理器预先设定后下发给各个存储器,也可以由该处理器根据获取到的多个存储器的空间占用率动态计算得到后下发给各个存储器。而且,该处理器将计算好的指定空间占用率下发给每个存储器,每经过预设时长之后,该处理器重新计算该指定空间占用率,并下发给每个存储器。每个存储器便以该指定空间占用率为标准,一旦该每个存储器的空间占用率超过该指定空间占用率时,该每个存储器向该处理器发送参数信息。
可选地,动态计算该指定空间占用率的过程可以由图2所示的参数配置模块2011进行。
可选地,动态计算该指定空间占用率的方法可以包括:每个存储器向该处理器发送空间占用率,该处理器获取该多个存储器的空间占用率变化量中的最大变化量;计算第一预设空间占用率与该最大变化量之间的差值;将该差值和第二预设空间占用率中的最小值作为该指定空间占用率,该第二预设空间占用率小于该第一预设空间占用率。其中,空间占用率变化量是指存储器的空间占用率变化时,变化后的空间占用率与变化后的空间占用率之间的差值。
例如,该第一预设空间占用率为100%,该第二预设空间占用率为95%。
参见图5,假设该最大变化量为MA%,该MA%为正数,该第一预设空间占用率为100%,该第二预设空间占用率为95%,则该指定空间占用率为:Min{100%-MA%,95%},当该MA%大于5%,该指定空间占用率为100%-MA%。当MA%不大于5%,该指定空间占用率为95%。例如,当MA%=1%时,该指定空间占用率为95%,当MA%=10%时,该指定空间占用率为90%。
302、该处理器接收该至少一个存储器发送的参数信息,根据该至少一个参数信息计算该至少一个存储器的重删权值。
可选地,对于每个存储器来说,该步骤302可以包括以下三个步骤中任一项:
一、将该空间占用率作为该重删权值,该重删权值中的第一位为第一类型值,其他位为该空间占用率对应的二进制数值。
该处理器可以先确定重删权值的位数,当获取到该存储器的空间占用率时,将该存储器的重删权值的第一位设置为该第一类型值,并获取该空间占用率对应的二进制数值,将剩余的其他位设置为该空间占用率对应的二进制数值。
其中,通过将第一位设置为该第一类型值可以将重删权值设置为有符号整形数,该第一类型值可以为0或1,该第一类型值为0时,表示该重删权值为正数,当该第一类型值为1时,表示该重删权值为负数。
可选地,确定重删权值的位数为32,以W指代重删权值,以e指代该第一类型值,以A指代该空间占用率与100的乘积,则可以应用以下公式计算得到二进制的重删权值:W=e*231+A*106;其中,计算e*231可以将e设置在该重删权值的第一位,而计算A*106可以保证剩余的其他位是与该空间占用率对应的二进制数值,计算出的重删权值与空间占用率呈正相关关系。
二、将该至少一个物理块的权值中的最小权值作为该重删权值,使该重删权值中的第一位为第二类型值,其他位为该最小权值对应的二进制数值。
该处理器可以先确定重删权值的位数,当获取到该存储器的至少一个物理块的权值时,将该存储器的重删权值的第一位设置为该第二类型值,并获取该至少一个物理块的权值中的最小权值,将剩余的其他位设置为该最小权值对应的二进制数值。
其中,通过将第一位设置为该第二类型值可以将重删权值设置为有符号整形数,该第二类型值可以为0或1,该第二类型值为0时,表示该重删权值为正数,当该第二类型值为1时,表示该重删权值为负数。
可选地,确定重删权值的位数为32,以W指代重删权值,以e指代该第二类型值,以w指代该最小权值,则可以应用以下公式计算得到二进制的重删权值:W=e*231+w;其中,计算e*231可以将e设置在该重删权值的第一位,而加上w可以保证剩余的其他位是与该最小权值对应的二进制数值,计算出的重删权值与最小权值呈正相关关系。
三、存储器判断空间占用率是否大于该指定空间占用率。
如果是,将该空间占用率作为该重删权值,该重删权值中的第一位为第一类型值,其他位为该空间占用率对应的二进制数值;
如果否,将该至少一个物理块的权值中的最小权值作为该重删权值,该重删权值中的第一位为第二类型值,其他位为该最小权值对应的二进制数值。
此时,该第一类型值和该第二类型值为0和1中的不同数值,也即是,该第一类型值为0时该第二类型值为1,该第一类型值为1时该第二类型值为0,可以保证针对不同的判断结果所得到的重删权值的正负不同。
参见图6,定义32位的重删权值W,以e指代重删权值的第一位,以w指代其他位,判断空间占用率是否大于该指定空间占用率,当空间占用率大于该指定空间占用率时,将e置为0,将w置为A*106,而当空间占用率不大于该指定空间占用率时,将e置为1,将w置为min{T},即多个物理块的权值T中的最小权值。之后,计算得到重删权值W=e*231+w。
考虑到空间占用率过大会影响存储器写入数据,可以将空间占用率大于该指定空间占用率的情况作为一种紧急情况,对于多个存储器来说,根据重删权值的正负可以获知每个存储器是否处于该紧急情况下,从而能够优先对处于紧急情况的存储器进行重删处理。
例如,该第一类型值为0,该第二类型值为1时,正数的重删权值将位于负数的重删权值之前,该处理器可以根据每个存储器的重删权值,优先对重删权值为正数的存储器进行重删处理,再对重删权值为负数的存储器进行重删处理,也即是优先对空间占用率大于该指定空间占用率的存储器进行重删处理。
该步骤302可以由该处理器中的二级决策模块2012执行。
303、该处理器从该至少一个存储器中选取重删权值最大的存储器,对选取的存储器进行重删处理。
对选取的存储器进行重删处理的过程实际上是对该存储器中多个物理块分别进行重删处理的过程。可选地,以该选取的存储器的参数信息中包括N个物理块为例,该重删处理过程可以包括:
该处理器根据该N个物理块的权值,从该N个物理块中选取权值最大的物理块,对选取的物理块进行重删处理,再根据剩余的N-1个物理块的权值,继续从该剩余的N-1个物理块中选取权值最大的物理块,对选取的物理块进行重删处理,以此类推。
其中,对物理块进行重删处理时,该处理器向该存储器发送对该物理块的重删处理指令,由该存储器对该物理块进行重删处理。
该步骤303中选取存储器的过程可以由图2所示的二级决策模块2012执行,重删处理过程可以由图2所示的重删处理模块2013执行。
本发明实施例提供的方法,通过获取至少一个存储器的参数信息,并根据参数信息计算重删权值,从该至少一个存储器中选取重删权值最大的存储器,对选取的存储器进行重删处理。选取存储器的过程不需要选取样本物理块,也不需要对样本物理块进行重删处理,简化了选取过程,节省了选取时间,提高了重删处理的效率。
进一步地,通过存储设备中的存储器获取参数信息,并将该参数信息发送给处理器,由该处理器根据接收到的参数信息选取存储器。该选取存储器的过程不需要该处理器对每个存储器进行轮询,节省了资源,提高了调度效率,而且只需要传输参数信息,而不需要进行数据搬运,减小了数据传输开销。
在图3所述实施例的基础上,本发明实施例提供了一种按照队列进行调度的方式。具体地,每个存储器可以对应于一个一级队列,在一级队列中存储物理块的权值等信息,该处理器可以具有一个二级队列,在二级队列中存储每个存储器的重删权值等信息。
对于每个存储器,该存储器可以维护一级队列,在发送参数信息时,该参数信息可以包括该一级队列和该空间占用率中的至少一项。相应的,该维护一级队列的过程可以包括以下步骤:
1-1、对于该存储器中的每个物理块,该存储器获取该物理块的权值和物理地址,组成一级队列条目,将该一级队列条目添加至该存储器的一级队列中。
可选地,每个物理块中至少包括一个或多个扇区,每个扇区对应唯一一个标识,扇区的标识可以为该扇区的地址或者编号等。该物理块的物理地址以该物理块中第一个扇区的标识表示,则对该物理块进行重删处理时可以从该物理块中第一个扇区开始进行。
参见图7,对于每个物理块,当该存储器获取到该物理块的权值和物理地址,并组成一级队列条目时,可以先查询该一级队列中是否存在与该物理地址对应的一级队列条目。
如果该一级队列中已存在与该物理地址对应的一级队列条目,则删除该一级队列中已存在的一级队列条目,并将该存储器新获取到的一级队列条目添加至该一级队列中。而如果该一级队列中不存在与该物理地址对应的一级队列条目,则该存储器直接将新获取到的一级队列条目添加至该一级队列中。
1-2、该存储器在该一级队列中按照权值的大小,对多个一级队列条目进行排列。
具体地,该存储器将该一级队列中的多个一级队列条目按权值从大到小的顺序排列,也即是,排在队首的一级队列条目的权值最大,排在队尾的一级队列条目的权值最小。
而当有两个或两个以上的一级队列条目中的权值相等时,则以一级队列条目的在队时长从大到小的顺序进行排列,将在队时长较大的一级队列条目排在前面,将在队时长较小的一级队列条目排在后面。其中,在队时长是指一级队列条目在该一级队列中存储的时长。
进一步地,参见图7,该一级队列设置有最大条目数,该一级队列中的一级队列条目的数量不能超过该最大条目数。当该一级队列中的一级队列条目的数量未达到该最大条目数时,该一级队列中可继续添加新的一级队列条目。当该一级队列中的一级队列条目的数量达到该最大条目数时,每添加一个一级队列条目,则舍弃该一级队列中排在队尾的一级队列条目,也即是舍弃该一级队列中权值最小的一级队列条目,这样便可保证一级队列条目的数量不会超过该最大条目数,而且舍弃权值最小的一级队列条目可以保证后续能优先对权值较大的一级队列条目进行重删处理。
上述步骤1-1和1-2可以由存储器中的一级决策模块2023执行。
对于该处理器,该处理器可以根据接收到的参数信息维护二级队列,维护该二级队列的过程可以包括以下步骤:
2-1、对于该多个存储器中的每个存储器,该处理器接收该存储器的参数信息,该参数信息包括一级队列以及存储器标识和空间占用率等信息,则该处理器根据该参数信息计算该存储器的重删权值,并将该重删权值和该存储器的一级队列组成二级队列条目,将该二级队列条目添加至该处理器的二级队列中。
可选地,该存储器的一级队列中包括多个一级队列条目,且每个一级队列条目包括一个物理块的物理地址,该处理器根据地址映射表,将该一级队列中每个一级队列条目的物理地址替换为对应的逻辑地址,得到由多个映射一级队列条目组成的映射一级队列,将该存储器的重删权值和该映射一级队列组成二级队列条目。
可选地,该处理器可以将存储器的重删权值、映射一级队列和存储器标识组成二级队列条目,在将该二级队列条目添加至该二级队列中之前,该处理器会先查询该二级队列中是否存在与该存储器标识对应的二级队列条目。
若该二级队列中不存在与该存储器标识对应的二级队列条目,则将该新获取到的映射二级队列条目直接添加至该二级队列中。若该二级队列中存在与该存储器标识对应的二级队列条目,则将二级队列中已存在的二级队列条目与新组成的二级队列条目合并,将合并后的二级队列条目添加至该二级队列中。
2-2、在该二级队列中按照重删权值的大小,对多个二级队列条目进行排列。
具体地,该处理器将该二级队列中的多个二级队列条目按权值从大到小的顺序排列,也即是,排在队首的二级队列条目的权值最大,排在队尾的二级队列条目的权值最小。
而当有两个或两个以上的二级队列条目的重删权值相等时,则以二级队列条目的在队时长从大到小的顺序进行排列,将在队时长较大的二级队列条目排在前面,将在队时长较小的二级队列条目排在后面。其中,在队时长是指二级队列条目在该二级队列中存储的时长。
进一步地,该二级队列设置有最大条目数,该二级队列中的二级队列条目的数量不能超过该最大条目数。当该二级队列中的二级队列条目的数量未达到该最大条目数时,该二级队列中可继续添加新的二级队列条目。当该二级队列中的二级队列条目的数量达到该最大条目数时,每添加一个二级队列条目,则舍弃该二级队列中排在队尾的二级队列条目,也即是舍弃该二级队列中重删权值最小的二级队列条目,这样便可保证二级队列条目的数量不会超过该最大条目数,而且舍弃重删权值最小的二级队列条目可以保证后续能优先对权值较大的二级队列条目进行重删处理。
上述步骤2-1和2-2可以由处理器中的二级决策模块2012执行。基于上述步骤2-1和2-2,该处理器的操作流程可以如图8所示。
相应地,该处理器可以根据该二级队列进行重删处理,参见图9,该重删处理过程具体可以包括以下步骤:
3-1、从该二级队列中,提取重删权值最大的二级队列条目。
该处理器从该二级队列中选取重删权值最大的二级队列条目,也即是排在该二级队列首位的二级队列条目,从而对该二级队列条目对应的存储器进行重删处理。在完成对该存储器的重删处理过程后,该处理器继续从该二级队列中剩余的二级队列条目中提取重删权值最大的二级队列条目,进行重删处理,以此类推。
3-2、根据该提取的二级队列条目进行重删处理。
该提取的二级队列条目中包括一级队列,该一级队列中可能包括多个一级队列条目,则提取权值最大的一级队列条目,根据提取的一级队列条目进行重删处理。具体地,获取与提取的一级队列条目中的物理地址对应的逻辑地址,根据该逻辑地址向该存储器发送重删处理指令,则该存储器根据该逻辑地址和地址映射表,确定该逻辑地址对应的物理地址,根据该物理地址,对相应的物理块进行重删处理。
当然,如果提取的二级队列条目中包括映射一级队列,则从该映射一级队列中提取权值最大的映射一级队列条目,直接获取该映射一级队列条目中的逻辑地址,即可根据该逻辑地址,对该逻辑地址对应的物理块进行重删处理。
进一步地,以第一物理块和该第一物理块对应的第一逻辑块为例,当获取到该第一逻辑块对应的逻辑地址时,对该第一逻辑块加写者锁,以表示禁止对该第一逻辑块执行写入操作,之后,计算该第一逻辑块的数据指纹,并将该数据指纹与其它逻辑块的数据指纹进行对比,当该第一逻辑块的数据指纹与第二逻辑块的数据指纹相同时,则说明该第一物理块中的数据与该其第二逻辑块对应的第二物理块中的数据重复。此时,该第二物理块中的数据即为重复数据,则将该重复数据删除,并保留该第一物理块中的数据,并且,将该第二逻辑块的逻辑地址均指向该第一物理块的物理地址,也即是在地址映射表中添加第二物理块的逻辑地址与该第一物理块的物理地址之间的映射关系。之后,对该第一逻辑块进行标记,以指示该第一逻辑块已完成重删处理过程,并解除该第一逻辑块上的写者锁,后续该第一逻辑块便可以执行写入操作。
在该一级队列条目所对应物理块的重删处理过程完成后,该处理器可继续从该一级队列剩余的一级队列条目中,提取权值最大的一级队列条目进行重删处理,直至该一级队列中的多个一级队列条目都完成了重删处理为止,此时,该一级队列所对应存储器的重删处理过程完成。
需要说明的是,在实际应用中,该处理器可以创建重删进程,通过该重删进程进行重删处理。在针对某一二级队列条目进行重删处理的过程中该进程不能被其他二级队列条目抢占。当且仅当比该二级队列条目的重删权值更大的二级队列条目添加到了该二级队列时,可以在该进程对该二级队列条目中的某一个物理块进行重删处理完成后,由该重删权值更大的二级队列条目抢占该进程,通过该进程优先处理重删权值更大的二级队列条目。对该重删权值更大的二级队列条目处理完成后,重新对该二级队列条目中的下一个物理块继续进行重删处理。
上述步骤3-1和3-2可以由处理器中的重删处理模块2013执行。且该调度过程的具体操作流程可以如图9所示。
本发明实施例提供的方法,通过获取至少一个存储器的参数信息,并根据参数信息计算重删权值,从该至少一个存储器中选取重删权值最大的存储器,对选取的存储器进行重删处理。选取存储器的过程不需要选取样本物理块,也不需要对样本物理块进行重删处理,简化了选取过程,节省了选取时间,提高了重删处理的效率。
进一步地,通过存储设备中的存储器获取参数信息,并将该参数信息发送给处理器,由该处理器根据接收到的参数信息选取存储器。该存储器更加了解数据分布的优势,该选取存储器的过程不需要该处理器对每个存储器进行轮询,避免了无用轮询的开销,节省了资源,提高了调度效率,而且只需要传输参数信息,而不需要进行数据搬运,减小了数据传输开销。
进一步地,采用两级调度决策,可满足不同粒度的需求,存储器内的一级调度可以细化至物理块级别,存储器间的二级调度可以实现多存储器的全局重删处理的有序进行。
进一步地,本发明实施例所采用的指定空间占用率等参数均是动态可变的,可以根据实时的存储状态和存储状态的变化趋势,自适应地计算最合适的参数,并配置到调度过程中,提升了调度方法的灵活性和健壮性。
进一步地,相对于传统的调度方法,本发明实施例提供的调度方法基于计算融入存储体系结构而设计,能够在存储器中融入计算单元,从而由该计算单元快速准确地获取相关参数信息,反馈给处理器,能大量减少数据传输开销,提高了调度策略的精准性和有效性。
进一步地,本发明实施例采用了队列来进行调度,数据结构简单且易实现,队列的维护也非常方便。
图10是本发明实施例提供的一种存储设备的结构示意图,参见图10,该存储设备包括多个存储器,每个存储器包括至少一个物理块,该存储设备包括:
获取模块1001,用于执行上述获取参数信息的步骤。
计算模块1002,用于执行上述计算该至少一个存储器的重删权值的步骤。
选取模块1003,用于执行上述从至少一个存储器中选取存储器的步骤。
重删处理模块1004,用于执行上述进行重删处理的步骤。
可选地,该获取模块1001、该计算模块1002、该选取模块1003和该重删处理模块1004位于该存储设备的处理器中。每个存储器用于获取参数信息,向该处理器的获取模块1001发送参数信息,由该获取模块1001接收至少一个存储器发送的参数信息。
可选地,该获取模块1001包括获取单元、计算单元、修正单元。
其中,获取单元用于获取物理块的第一时间差,计算单元用于计算修正时间差,修正单元用于计算第二写入时间点,根据该第二写入时间点获取物理块的权值。
可选地,该存储设备还包括一级队列处理模块,该一级队列处理模块用于组成与物理块对应的一级队列条目,添加到一级队列中,并且还用于在一级队列中按照权值的大小,对至少一个一级队列条目进行排列。
可选地,该存储设备还包括判断模块,该判断模块用于判断当前是否满足获取存储器的参数信息的条件,该条件可以为当前时间点为预设发送时间点,或者为存储器的空间占用率大于指定空间占用率。
可选地,该存储设备还包括确定模块,该确定模块用于确定该指定空间占用率。
需要说明的是:上述实施例提供的存储设备在进行重删处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将存储设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的存储设备与重删处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (25)
1.一种重删处理方法,其特征在于,应用于存储设备中,所述存储设备包括多个存储器,每个存储器包括至少一个物理块,所述方法包括:
获取至少一个存储器的参数信息,所述存储器的参数信息至少包括所述存储器中至少一个物理块的权值和所述存储器的空间占用率中的至少一项,所述物理块的权值用于指示所述物理块的下一个写入时间点,所述物理块的下一个写入时间点越晚,所述物理块的权值越大;
根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值,所述存储器的重删权值与所述存储器中至少一个物理块的权值中的最小权值呈正相关关系,或者,所述存储器的重删权值与所述存储器的空间占用率呈正相关关系;
从所述至少一个存储器中选取重删权值最大的存储器,对选取的存储器中的物理块进行重删处理。
2.根据权利要求1所述的方法,其特征在于,所述获取至少一个存储器的参数信息,包括:
对于每个存储器中的每个物理块,获取所述物理块的第一时间差,所述第一时间差是根据历史写入时间点估算的所述物理块的相邻写入时间点之间的时间差;
当检测到对所述物理块的写入请求时,计算检测到所述写入请求时的第一写入时间点与所述物理块的上一个写入时间点之间的时间差,作为修正时间差;
计算所述第一时间差与所述修正时间差的平均值,作为第二时间差;
计算所述第一写入时间点与所述第二时间差的和,得到第二写入时间点,根据所述第二写入时间点获取所述物理块的权值。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于每个存储器中的每个物理块,获取所述物理块的权值和物理地址,组成一级队列条目,将所述一级队列条目添加至所述存储器的一级队列中;
在所述一级队列中按照权值的大小,对与所述存储器中的至少一个物理块对应的至少一个一级队列条目进行排列;
相应地,所述参数信息包括所述一级队列。
4.根据权利要求1或3所述的方法,其特征在于,所述从所述至少一个存储器中选取重删权值最大的存储器,包括:
对于所述至少一个存储器中的每个存储器,获取所述存储器的重删权值和一级队列,组成二级队列条目,将所述二级队列条目添加至二级队列中;
在所述二级队列中按照重删权值的大小,对与所述至少一个存储器对应的至少一个二级队列条目进行排列;
从所述二级队列中,提取重删权值最大的二级队列条目,将提取的二级队列条目对应的存储器确定为选取的存储器。
5.根据权利要求4所述的方法,其特征在于,每个存储器的一级队列中包括至少一个一级队列条目,且每个一级队列条目包括一个物理块的物理地址,所述获取所述存储器的重删权值和一级队列,组成二级队列条目,包括:
根据地址映射表,将所述一级队列中每个一级队列条目的物理地址替换为对应的逻辑地址,得到由至少一个映射一级队列条目组成的映射一级队列,所述地址映射表包括物理地址与逻辑地址的映射关系;
获取所述存储器的重删权值和所述映射一级队列,组成所述二级队列条目。
6.根据权利要求5所述的方法,其特征在于,每个映射一级队列条目中包括对应物理块的权值,所述对选取的存储器中的物理块进行重删处理,包括:
从提取的二级队列条目中,提取权值最大的映射一级队列条目;
根据提取的映射一级队列条目中的逻辑地址,对所述逻辑地址对应的物理块进行重删处理。
7.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值,包括:
所述存储器的参数信息包括所述至少一个物理块的权值时,将所述至少一个物理块的权值中的最小权值作为所述重删权值,所述重删权值中的第一位为第二类型值,其他位为所述最小权值对应的二进制数值。
8.根据权利要求1所述的方法,其特征在于,所述对选取的存储器中的物理块进行重删处理,包括:
如果所述存储器的参数信息中包括N个物理块的权值,从所述N个物理块中选取权值最大的物理块,对选取的物理块进行重删处理,N为正整数;
根据剩余的N-1个物理块的权值,继续从所述剩余的N-1个物理块中选取权值最大的物理块,对选取的物理块进行重删处理。
9.根据权利要求1所述的方法,其特征在于,所述获取至少一个存储器的参数信息之前,所述方法还包括:
判断当前时间点是否为预设发送时间点;
当前时间点为所述预设发送时间点时,执行将所述至少一个物理块的权值作为所述参数信息的步骤。
10.根据权利要求1所述的方法,其特征在于,所述获取至少一个存储器的参数信息之前,所述方法还包括:
判断任一存储器的空间占用率是否大于指定空间占用率;
当任一存储器的空间占用率大于所述指定空间占用率时,执行将所述空间占用率作为所述存储器的参数信息的步骤。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
获取所述多个存储器的空间占用率变化量中的最大变化量;
计算第一预设空间占用率与所述最大变化量之间的差值;
将所述差值和第二预设空间占用率中的最小值作为所述指定空间占用率,所述第二预设空间占用率小于所述第一预设空间占用率。
12.根据权利要求1所述的方法,其特征在于,所述根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值,包括:
所述存储器的参数信息包括所述空间占用率时,将所述空间占用率作为所述重删权值,所述重删权值中的第一位为第一类型值,其他位为所述空间占用率对应的二进制数值。
13.一种存储设备,其特征在于,所述存储设备包括多个存储器,每个存储器包括至少一个物理块,所述存储设备包括:
获取模块,用于获取至少一个存储器的参数信息,所述存储器的参数信息至少包括所述存储器中至少一个物理块的权值和所述存储器的空间占用率中的至少一项,所述物理块的权值用于指示所述物理块的下一个写入时间点,所述物理块的下一个写入时间点越晚,所述物理块的权值越大;
计算模块,用于根据所述至少一个存储器的参数信息,计算所述至少一个存储器的重删权值,所述存储器的重删权值与所述存储器中至少一个物理块的权值中的最小权值呈正相关关系,或者,所述存储器的重删权值与所述存储器的空间占用率呈正相关关系;
选取模块,用于从所述至少一个存储器中选取重删权值最大的存储器;
重删处理模块,用于对选取的存储器中的物理块进行重删处理。
14.根据权利要求13所述的存储设备,其特征在于,所述获取模块包括:
获取单元,用于对于所述每个存储器中的每个物理块,获取所述物理块的第一时间差,所述第一时间差是根据历史写入时间点估算的所述物理块的相邻写入时间点之间的时间差;
计算单元,用于当检测到对所述物理块的写入请求时,计算检测到所述写入请求时的第一写入时间点与所述物理块的上一个写入时间点之间的时间差,作为修正时间差;
修正单元,用于计算所述第一时间差与所述修正时间差的平均值,作为第二时间差;
所述修正单元,还用于计算所述第一写入时间点与所述第二时间差的和,得到第二写入时间点,根据所述第二写入时间点获取所述物理块的权值。
15.根据权利要求13所述的存储设备,其特征在于,所述存储设备还包括:
一级队列处理模块,用于对于每个存储器中的每个物理块,获取所述物理块的权值和物理地址,组成一级队列条目,将所述一级队列条目添加至所述存储器的一级队列中;在所述一级队列中按照权值的大小,对与所述存储器中的至少一个物理块对应的至少一个一级队列条目进行排列;
相应地,所述参数信息包括所述一级队列。
16.根据权利要求13或15所述的存储设备,其特征在于,所述选取模块,还用于对于所述至少一个存储器中的每个存储器,获取所述存储器的重删权值和一级队列,组成二级队列条目,将所述二级队列条目添加至二级队列中;在所述二级队列中按照重删权值的大小,对与所述至少一个存储器对应的至少一个二级队列条目进行排列;从所述二级队列中,提取重删权值最大的二级队列条目,将提取的二级队列条目对应的存储器确定为选取的存储器。
17.根据权利要求16所述的存储设备,其特征在于,每个存储器的一级队列中包括至少一个一级队列条目,且每个一级队列条目包括一个物理块的物理地址,所述选取模块,还用于根据地址映射表,将所述一级队列中每个一级队列条目的物理地址替换为对应的逻辑地址,得到由至少一个映射一级队列条目组成的映射一级队列,所述地址映射表包括物理地址与逻辑地址的映射关系;获取所述存储器的重删权值和所述映射一级队列,组成所述二级队列条目。
18.根据权利要求17所述的存储设备,其特征在于,所述每个映射一级队列条目中包括对应物理块的权值,所述重删处理模块,用于从提取的二级队列条目中,提取权值最大的映射一级队列条目;根据提取的映射一级队列条目中的逻辑地址,对所述逻辑地址对应的物理块进行重删处理。
19.根据权利要求13所述的存储设备,其特征在于,所述计算模块,还用于所述存储器的参数信息包括所述至少一个物理块的权值时,将所述至少一个物理块的权值中的最小权值作为所述重删权值,所述重删权值中的第一位为第二类型值,其他位为所述最小权值对应的二进制数值。
20.根据权利要求13所述的存储设备,其特征在于,所述重删处理模块,还用于如果所述选取的存储器的参数信息中包括N个物理块的权值,从所述N个物理块中选取权值最大的物理块,对选取的物理块进行重删处理,N为正整数;根据剩余的N-1个物理块的权值,继续从所述剩余的N-1个物理块中选取权值最大的物理块,对选取的物理块进行重删处理。
21.根据权利要求13所述的存储设备,其特征在于,所述存储设备还包括:
判断模块,用于判断当前时间点是否为预设发送时间点;
所述获取模块,还用于当前时间点为所述预设发送时间点时,执行将所述至少一个物理块的权值作为所述参数信息的步骤。
22.根据权利要求13所述的存储设备,其特征在于,所述存储设备还包括:
判断模块,用于判断任一存储器的空间占用率是否大于指定空间占用率;
所述获取模块,还用于当任一存储器的空间占用率大于所述指定空间占用率时,执行将所述空间占用率作为所述存储器的参数信息的步骤。
23.根据权利要求22所述的存储设备,其特征在于,所述存储设备还包括确定模块;
所述计算模块,还用于获取所述多个存储器的空间占用率变化量中的最大变化量;
所述计算模块,还用于计算第一预设空间占用率与所述最大变化量之间的差值;
所述确定模块,用于将所述差值和第二预设空间占用率中的最小值作为所述指定空间占用率,所述第二预设空间占用率小于所述第一预设空间占用率。
24.根据权利要求13所述的存储设备,其特征在于,所述计算模块,还用于所述存储器的参数信息包括所述空间占用率时,将所述空间占用率作为所述重删权值,所述重删权值中的第一位为第一类型值,其他位为所述空间占用率对应的二进制数值。
25.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由处理器加载并执行以实现如权利要求1至12任一权利要求所述的重删处理方法中所执行的操作。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610898862.XA CN107957848B (zh) | 2016-10-14 | 2016-10-14 | 重删处理方法及存储设备 |
PCT/CN2017/105645 WO2018068714A1 (zh) | 2016-10-14 | 2017-10-11 | 重删处理方法及存储设备 |
US16/030,244 US10712945B2 (en) | 2016-10-14 | 2018-07-09 | Deduplication processing method, and storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610898862.XA CN107957848B (zh) | 2016-10-14 | 2016-10-14 | 重删处理方法及存储设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107957848A CN107957848A (zh) | 2018-04-24 |
CN107957848B true CN107957848B (zh) | 2020-01-10 |
Family
ID=61905176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610898862.XA Active CN107957848B (zh) | 2016-10-14 | 2016-10-14 | 重删处理方法及存储设备 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10712945B2 (zh) |
CN (1) | CN107957848B (zh) |
WO (1) | WO2018068714A1 (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3312727B1 (en) * | 2016-03-02 | 2018-11-14 | Huawei Technologies Co., Ltd. | Differential data backup method and device |
US10942650B1 (en) * | 2018-03-05 | 2021-03-09 | Pure Storage, Inc. | Reporting capacity utilization in a storage system |
US11809379B2 (en) | 2019-11-19 | 2023-11-07 | International Business Machines Corporation | Storage tiering for deduplicated storage environments |
CN113255398B (zh) * | 2020-02-10 | 2023-08-18 | 百度在线网络技术(北京)有限公司 | 兴趣点判重方法、装置、设备和存储介质 |
US11681453B2 (en) * | 2020-09-23 | 2023-06-20 | Hewlett Packard Enterprise Development Lp | Data deduplication parameter computation |
CN114124846B (zh) * | 2021-11-15 | 2023-08-11 | 聚好看科技股份有限公司 | 一种业务队列消费方法及服务器 |
CN116821046B (zh) * | 2023-08-28 | 2023-11-24 | 上海燧原智能科技有限公司 | 异构单元间的数据自动同步方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346703A (zh) * | 2005-12-21 | 2009-01-14 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
CN101630290A (zh) * | 2009-08-17 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
CN102033924A (zh) * | 2010-12-08 | 2011-04-27 | 浪潮(北京)电子信息产业有限公司 | 一种数据存储方法和系统 |
CN105488095A (zh) * | 2015-09-30 | 2016-04-13 | 小米科技有限责任公司 | 搜索结果访问方法、装置及系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120159098A1 (en) * | 2010-12-17 | 2012-06-21 | Microsoft Corporation | Garbage collection and hotspots relief for a data deduplication chunk store |
WO2015096847A1 (en) * | 2013-12-23 | 2015-07-02 | Huawei Technologies Co., Ltd. | Method and apparatus for context aware based data de-duplication |
-
2016
- 2016-10-14 CN CN201610898862.XA patent/CN107957848B/zh active Active
-
2017
- 2017-10-11 WO PCT/CN2017/105645 patent/WO2018068714A1/zh active Application Filing
-
2018
- 2018-07-09 US US16/030,244 patent/US10712945B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101346703A (zh) * | 2005-12-21 | 2009-01-14 | Nxp股份有限公司 | 具有可块擦除单元的非易失性存储器 |
CN101630290A (zh) * | 2009-08-17 | 2010-01-20 | 成都市华为赛门铁克科技有限公司 | 重复数据处理方法和装置 |
CN102033924A (zh) * | 2010-12-08 | 2011-04-27 | 浪潮(北京)电子信息产业有限公司 | 一种数据存储方法和系统 |
CN105488095A (zh) * | 2015-09-30 | 2016-04-13 | 小米科技有限责任公司 | 搜索结果访问方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
US10712945B2 (en) | 2020-07-14 |
US20180314435A1 (en) | 2018-11-01 |
WO2018068714A1 (zh) | 2018-04-19 |
CN107957848A (zh) | 2018-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107957848B (zh) | 重删处理方法及存储设备 | |
CN110837410B (zh) | 任务调度方法、装置、电子设备及计算机可读存储介质 | |
US10776263B2 (en) | Non-deterministic window scheduling for data storage systems | |
CN109154917B (zh) | 存储系统和固态硬盘 | |
JP5425286B2 (ja) | データ処理システムのメモリ使用状況を追跡する方法 | |
US9286123B2 (en) | Apparatus and method for managing stream processing tasks | |
US8799913B2 (en) | Computing system, method and computer-readable medium for managing a processing of tasks | |
US8572621B2 (en) | Selection of server for relocation of application program based on largest number of algorithms with identical output using selected server resource criteria | |
CN107656807B (zh) | 一种虚拟资源的自动弹性伸缩方法及装置 | |
CN105900064A (zh) | 调度数据流任务的方法和装置 | |
CN111324427B (zh) | 一种基于dsp的任务调度方法及装置 | |
CN107122130B (zh) | 一种数据重删方法及装置 | |
CN108205469B (zh) | 一种基于MapReduce的资源分配方法及服务器 | |
CN110740164B (zh) | 服务器确定方法、调控方法、装置、设备及存储介质 | |
CN110362275B (zh) | 提升固态硬盘服务质量的方法及固态硬盘 | |
US11481342B2 (en) | Data storage system data access arbitration | |
US11221947B2 (en) | Concurrent garbage collection with minimal graph traversal | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN112799606A (zh) | Io请求的调度方法及装置 | |
CN111488298A (zh) | 优化nvm接口命令执行顺序的方法与装置 | |
CN111586094A (zh) | 一种文件上传方法、装置及计算机设备 | |
CN112035234B (zh) | 分布式批量作业分配方法及装置 | |
KR101950759B1 (ko) | 저장 장치의 메모리 컨트롤러가 수행하는 가비지 컬렉션 방법 및 메모리 컨트롤러 | |
CN115989485A (zh) | 一种数据处理方法、装置及系统 | |
US11194619B2 (en) | Information processing system and non-transitory computer readable medium storing program for multitenant service |
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 |