CN116627355B - 冷热数据标定方法、装置及电子设备 - Google Patents

冷热数据标定方法、装置及电子设备 Download PDF

Info

Publication number
CN116627355B
CN116627355B CN202310898642.7A CN202310898642A CN116627355B CN 116627355 B CN116627355 B CN 116627355B CN 202310898642 A CN202310898642 A CN 202310898642A CN 116627355 B CN116627355 B CN 116627355B
Authority
CN
China
Prior art keywords
data
cold
hot data
hot
current
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
Application number
CN202310898642.7A
Other languages
English (en)
Other versions
CN116627355A (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.)
Beijing Dera Technology Co Ltd
Original Assignee
Beijing Dera 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 Beijing Dera Technology Co Ltd filed Critical Beijing Dera Technology Co Ltd
Priority to CN202310898642.7A priority Critical patent/CN116627355B/zh
Publication of CN116627355A publication Critical patent/CN116627355A/zh
Application granted granted Critical
Publication of CN116627355B publication Critical patent/CN116627355B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

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

本发明涉及数据存储技术领域,提供了一种冷热数据标定方法、装置及电子设备,该方法包括:获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标;获取SSD在不同数据热度指标时对应的当前统计周期的写放大系数;根据上一统计周期的历史冷热数据判决比例计算历史写放大系数;若历史写放大系数与当前统计周期的写放大系数的最小值之间的差值小于或等于调整阈值,则将历史冷热数据判决比例作为最优冷热数据判决比例,根据最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定。本发明能够准确实现对冷热数据的识别和标记,有效减少SSD使用过程中的写放大系数,从而提高SSD的性能和寿命。

Description

冷热数据标定方法、装置及电子设备
技术领域
本发明涉及数据存储技术领域,尤其涉及一种冷热数据标定方法、装置及电子设备。
背景技术
随着全球互联网程度的不断提高,全球对数据存储的需求也日益增大。当前计算机服务器的主流存储器件主要分为两种:机械硬盘(Hard Disk, HD)和固态硬盘(SolidState Drive,SSD)。固态硬盘和机械硬盘本质上都是用于数据存储的硬件,其本质上的区别在于其存储介质不同。传统的机械硬盘以机械磁盘为存储介质,通过磁臂和磁头、磁盘之间的机械构造进行数据存储和读取;而固态硬盘则是以NAND闪存(非易失性的存储器)作为存储介质,通过存储器内部的电荷数即cell的通断电进行数据的读取和写入进而实现数据存储。
固态硬盘中使用的主要存储介质是NAND闪存颗粒。由于闪存的物理特性,每次写入数据需要先将原有数据擦除,再进行写入操作。而擦除操作会导致闪存块中的所有数据都被删除,而非仅删除其中的一部分。当数据写入过程中频繁地进行擦除操作,会导致闪存块中产生大量的无效数据,从而导致闪存空间的利用率下降。为了避免这种情况的发生,需要对NAND颗粒进行垃圾回收(Garbage Collection, GC),将无效数据清除并释放空间。在进行垃圾回收时,若无法有效进行数据的冷热识别,会造成大量无效垃圾回收操作。
为此,现有技术往往采用阈值对比的方式进行冷热数据的识别判断,但现有技术采用的阈值往往为人为经验值,无法根据当前数据的统计信息进行自适应调整,从而导致现有冷热数据识别和标定方式的适用性较差,无法满足实际场景需求。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的冷热数据标定方法、装置及电子设备。
本发明的一个方面,提供了一种冷热数据标定方法,所述方法包括:
获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,所述数据热度指标包括SSD中目标逻辑区块占总逻辑区块的区块比例和目标区块的写数据频度,所述目标区块为SSD的逻辑区块中写访问次数大于或等于当前的冷热数据预判阈值的逻辑区块;
获取SSD在不同数据热度指标时对应的当前统计周期的写放大系数;
根据上一统计周期的历史冷热数据判决比例计算历史写放大系数,历史冷热数据判决比例为上一统计周期的写放大系数取值最小时对应的数据热度指标中的区块比例;
判断所述历史写放大系数与当前统计周期的写放大系数的最小值之间的差值是否小于或等于预设的调整阈值;
若所述差值小于或等于所述调整阈值,则将所述历史冷热数据判决比例作为最优冷热数据判决比例,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定。
第二方面,本发明还提供了一种冷热数据标定装置,所述装置包括用于实现如上冷热数据标定方法的功能模块。
第三方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上冷热数据标定方法的步骤。
第四方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上冷热数据标定方法的步骤。
本发明实施例提供的冷热数据标定方法、装置及电子设备,基于当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,根据SSD在不同数据热度指标时对应的写放大系数,通过比较上一统计周期的历史冷热数据判决比例对应的历史写放大系数与当前统计周期的写放大系数的最小值之间的差值,当差值小于或等于预设的调整阈值时将历史冷热数据判决比例作为最优冷热数据判决比例,并根据最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定,本发明能够自适应判断当前统计周期的最优冷热数据判决比例,基于最优冷热数据判决比例准确实现对冷热数据的识别和标记,有效减少SSD使用过程中的写放大系数和冷热数据迁移量,从而提高SSD的性能和寿命,减少资源消耗和维护成本。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的冷热数据标定方法的流程图;
图2为适用于本发明提出的冷热数据标定方法的系统架构图;
图3为本发明实施例提供的历史访问信息统计流程的流程图;
图4为本发明实施例提出的根据历史冷热数据判决比例计算当前统计周期的写数据频度的流程图;
图5为本发明一个实施例提出的冷热数据标定流程的流程图;
图6为本发明另一个实施例提出的冷热数据标定流程的流程图;
图7为本发明一个实施例提出的冷热数据标定流程的具体实现流程图;
图8为本发明实施例提供的冷热数据标定装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
图1示意性示出了本发明一个实施例的冷热数据标定方法的流程图。参照图1,本发明实施例的冷热数据标定方法具体包括以下步骤:
S11、获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标。所述数据热度指标包括SSD中目标逻辑区块占总逻辑区块的区块比例和目标区块的写数据频度,所述目标区块为SSD的逻辑区块中写访问次数大于或等于当前的冷热数据预判阈值的逻辑区块。
本实施例中,预先获取当前统计周期内的冷热数据预判阈值为不同取值时对应的数据热度指标,包括SSD中目标逻辑区块占SSD中总逻辑区块的区块比例f和目标区块的写数据频度r。
S12、获取SSD在不同数据热度指标时对应的当前统计周期的写放大系数。
S13、根据上一统计周期的历史冷热数据判决比例计算历史写放大系数,历史冷热数据判决比例为上一统计周期的写放大系数取值最小时对应的数据热度指标中的区块比例。
S14、判断所述历史写放大系数与当前统计周期的写放大系数的最小值之间的差值是否小于或等于预设的调整阈值。
S15、若所述差值小于或等于所述调整阈值,则将所述历史冷热数据判决比例作为最优冷热数据判决比例,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定。
具体的,在根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定时,需要保证,大于CounterThreshold的逻辑区块都要标记为热数据,等于CounterThreshold的部分逻辑区块标记为热数据时,可以从满足预设条件的待选热数据逻辑区块中优先选取上一统计周期被标记为热数据的逻辑区块,以可尽可能避免上一个周期的热数据在当前周期标记为冷数据并迁移至冷数据block,减少迁移量。
本发明实施例提供的冷热数据标定方法,基于当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,根据SSD在不同数据热度指标时对应的写放大系数,通过比较上一统计周期的历史冷热数据判决比例对应的历史写放大系数与当前统计周期的写放大系数的最小值之间的差值,当差值小于或等于预设的调整阈值时将历史冷热数据判决比例作为最优冷热数据判决比例,并根据最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定,本发明能够自适应判断当前统计周期的最优冷热数据判决比例,基于最优冷热数据判决比例准确实现对冷热数据的识别和标记,有效减少SSD使用过程中的写放大系数,从而提高SSD的性能和寿命,减少资源消耗和维护成本。而且采用历史冷热数据判决比例作为最优冷热数据判决比例,在后续根据最优冷热数据判决比例进行冷热数据block计算时,还能够减少冷热数据block改动的频次,减少GC次数。
本发明实施例中,所述获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标包括:获取当前统计周期内SSD中各个逻辑区块的历史访问信息,所述历史访问信息包括写访问次数、用于统计写访问次数的计数器的溢出次数和接收到的用户写次数;当所述用户写次数大于预设的写次数阈值时,根据所述历史访问信息计算冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标。其中,冷热数据预判阈值CounterThreshold的取值集合为 [MaxCounter,MaxCounter-1,…,1,0]。
实际应用中,冷热数据标定最重要的部分就是根据数据的历史访问信息对当前数据进行冷热标记。为实现上述目的,本发明实施例提供了一种适用于本发明提出的冷热数据标定方法的系统架构图。如图2所示,本发明提出的系统架构至少包括如下几个部分:
LBA频度计数器:该计数器的计数信息由LBA地址和对应写访问次数Counter组成,负责记录一段时间内SSD内各个逻辑区块对应的LBA被访问的次数即写访问次数。值得注意的是,上述每个写访问次数Counter可对应1个LBA地址,或一段连续的LBA地址。本发明实施例仅以1个写访问次数Counter对应1个LBA地址为例进行说明,并不对此进行限定。
溢出计数器:统计当前时间段内LBA频度计数器的写访问次数Counter的溢出次数OverFillingNum。
写计数器:统计当前时间段内接收到用户写次数WriteNum。
LBA冷热数据指示器:该指示器由LBA地址和1bit标识信息组成,负责指示当前LBA为热数据还是冷数据。
本实施例中,实现历史访问信息统计的流程图如图3所示,具体流程如下:
查询当前写数据为用户写或GC写。如果是用户写则继续流程,如是GC写则直接结束流程;
获取当前写的逻辑区块的LBA地址对应的Counter数;
判断当前的Counter数是否小于MaxCounter,如是,则Counter += 1;否则,OverFillingNum += 1。其中,MaxCounter和计数器采用的比特数相关,在一个示例中,采用4bit计数器,则MaxCounter = 15;
WriteNum += 1,并判断当前WriteNum是否满足条件WriteNum<= MaxWriteNum,如满足则流程结束;如不满足,则根据历史访问信息计算冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,并进入当前统计周期的冷热数据识别流程。其中,MaxWriteNum为预设的写次数阈值。
本实施例中,在统计写入数据的频度信息时,在当前LBA对应的Counter达到最大值时,通过OverFillingNum参数记录溢出值,以供后续冷热数据识别使用,避免写访问次数的计数器的溢出导致的标定不准确问题。
进一步地,经过如上流程,完成在一定时间内每个LBA的历史访问信息统计。在SSD完成冷热数据标定后会通知统计器归零并进入下一个统计周期,即WriteNum = 0,OverFillingNum = 0;所有LBA对应的Counter = 0。
本发明实施例中,所述获取SSD在不同数据热度指标时对应的当前统计周期的写放大系数包括:根据预设的对应关系表查找在不同的块使用状态系数时与各个数据热度指标对应的写放大系数,所述块使用状态系数包括预留空间比例值和预留空间热数据比例值,所述预留空间比例值为SSD中的OP预留空间中总物理块占SSD中用户可操作的总物理块的比例值,所述预留空间热数据比例值为OP预留空间中标识为热数据的物理块占OP预留空间中总物理块的比例值,所述对应关系表中包括有在不同的块使用状态系数时数据热度指标与SSD使用过程中的写放大系数之间的对应关系。其中,op预留空间(Over-provisioning)是指固态硬盘内部存在的,由主控芯片控制的,用户不可操作的隐藏空间,这部分空间就是用于主控各种优化机制的操作,诸如GC回收,磨损均衡等。
本发明根据写入数据的历史数据热度指标,自适应计算写放大最小的冷热数据判别比例和冷热数据物理block的比例。特别的,计算op中冷热数据block的比例,能够最小化写放大。
本实施例中,当WriteNum>MaxWriteNum时进入冷热数据识别流程,该流程根据上一时间段内统计的历史访问信息,获得最优冷热数据判决比例、当前SSD最优冷热数据block分配比例,同时将每个LBA打上冷热数据标签以供后续写数据时查询,具体实现流程如下:
遍历阈值取值集合CounterThreshold = [MaxCounter,MaxCounter-1,…,1,0],分别计算冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,数据热度指标即Counter大于或等于CounterThreshold的目标辑区块LBA目标占总逻辑区块的区块比例f和对应的写数据频度r。
具体的,可根据第一计算模型,计算SSD中目标逻辑区块占总逻辑区块的区块比例f,第一计算模型如下:
f = length(LBA目标)/Total
可根据第二计算模型,计算目标区块的写数据频度r,第一计算模型如下:
r = [sum(Counter(LBA目标))+OverFillingNum]/WriteNum;
其中,上述公式中LBA目标指的是其对应Counter大于或等于CounterThreshold的逻辑区块LBA,length(LBA目标) 表示当前SSD中LBA目标的数量,Total表示当前SSD中所有LBA的总数;Counter(LBA目标)表示目标逻辑区块LBA目标对应的Counter数。
在上述遍历过程中根据数据热度指标(包括f和r)和SSD的块使用状态系数查询预设的对应关系表以获取对应的理论写放大系数。
本实施例中,预留空间比例值op是一个根据SSD当前状态实时计算的结果。通常来说,随着SSD的使用时间越长,op会逐渐减小。具体的,op的计算方式,即:
op = TotalBlockNum/ UserBlockNum– 1
其中,UserBlockNum为SSD中用户可操作的物理块的数量,TotalBlockNum为SSD中用户可操作的物理块和OP预留空间中的物理块的总数量。
遍历p = [0, 0.1, 0.2, …, 1],查找在不同的块使用状态系数时与各个数据热度指标对应的写放大系数WAF (p,op,r,f)。
需要说明的是,除了采用查表方式获取写放大系数,还可以根据各个参数与写放大系数之间的函数关系利用预设的计算模型根据相关参数获取对应的写放大系数,本发明对此不作具体限定。
进一步地,若历史写放大系数与当前统计周期的写放大系数的最小值之间的差值大于所述调整阈值,则选取当前统计周期的写放大系数取值最小时对应的目标数据热度指标,获取得到所述目标数据热度指标时对应的冷热数据预判阈值,得到最优冷热数据预判阈值;根据所述最优冷热数据预判阈值对SSD中的逻辑区块进行冷热数据标定。具体的,将SSD的逻辑区块中在当前统计周期的写访问次数大于或等于当前的最优冷热数据预判阈值的逻辑区块标记为热数据逻辑区块,将SSD的逻辑区块中在当前统计周期的写访问次数小于当前的最优冷热数据预判阈值的逻辑区块标记为冷数据逻辑区块。
本实施例中的冷热数据标定过程分为两种:一种是根据阈值直接标定;另一种是获取上一统计周期的历史冷热数据判决比例计算当前场景下的r和对应写放大,如果写放大差别不大,则仍然按照上一轮的参数配置。且保持对应的冷热物理块数量不变化,以减少额外的数据搬迁。对应的,需要将所述历史冷热数据判决比例作为最优冷热数据判决比例,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定。
进一步地,当前场景下所述方法还包括:获取写放大系数取值最小时对应的目标数据热度指标中的区块比例,将得到的区块比例作为目标区块比例;获取写放大系数取值最小时对应的预留空间热数据比例值,将得到的预留空间热数据比例值作为目标预留空间热数据比例值;根据目标区块比例和目标预留空间热数据比例值预估当前SSD中待标识为热数据的物理块的数量HotBlockNum和待标识为冷数据的物理块的数量ColdBlockNum,并通知SSD控制器,以供SSD控制器根据上述指示进行冷热数据block的调整。
具体的,经过上述遍历过程,SSD控制器获得最小的WAF_min对应的目标预留空间热数据比例值p目标、目标区块比例f目标和最优冷热数据预判阈值CounterThreshold后,可根据最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定,并根据p目标和f目标预估当前SSD中待标识为热数据的物理块的数量HotBlockNum和待标识为冷数据的物理块的数量ColdBlockNum,计算公式如下:
HotBlockNum=round(f目标*UserBlockNum+p目标*(TotalBlockNum-UserBlockNum));
ColdBlockNum = TotalBlockNum – HotBlockNum;
其中,f目标为目标区块比例,p目标为目标预留空间热数据比例值,UserBlockNum为SSD中用户可操作的物理块的数量,TotalBlockNum为SSD中用户可操作的物理块和OP预留空间中的物理块的总数量,round()为四舍五入函数。
SSD根据上述HotBlockNum和ColdBlockNum进行冷热数据block的调整控制。具体调整控制方式包括:判断SSD中当前标识为热数据的物理块的数量是否等于预估得到的当前SSD中待标识为热数据的物理块的数量HotBlockNum,如不等于则对SSD中的物理块进行控制,以使SSD中的标识为热数据的物理块数量等于预估得到的当前SSD中待标识为热数据的物理块的数量HotBlockNum。例如,假设当前热数据block数量大于计算后的结果,会对SSD的热数据block启动GC,将GC后的空余block标记为冷数据block。需要说明的是,除了GC方式还可以采用其他实现方式实现冷热数据block的调整,本发明对此不作具体限定,且这种调整可以是立即执行,也可以是缓慢执行,即一个时间段只调整一个block。
本发明实施例中,步骤S13中的根据上一统计周期的历史冷热数据判决比例计算历史写放大系数,具体包括以下步骤:根据上一统计周期的历史冷热数据判决比例计算当前统计周期的第二写数据频度,将历史冷热数据判决比例和第二写数据频度作为更新后的数据热度指标;根据更新后的数据热度指标和上一统计周期的历史块使用状态系数查找预设的对应关系表以获取对应的写放大系数,并将其作为历史写放大系数。其中,对应关系表中包括有在不同的块使用状态系数时数据热度指标与SSD使用过程中的写放大系数之间的对应关系。
具体的,如图4所示,根据上一统计周期的历史冷热数据判决比例计算当前统计周期的第二写数据频度的具体实现步骤包括:
选取用于统计写访问次数的计数器可表示的最大数值作为冷热数据预判阈值,并初始化参数n=0,sum_f=0,sum_r =用于统计写访问次数的计数器的溢出次数,即OverFillingNum;
获取当前统计周期的写访问次数为当前的冷热数据预判阈值的第二目标逻辑区块的数量,并计算当前SSD的数据热度指标,得到区块比例f_n和对应写数据频度r_n;
根据区块比例f_n和对应写数据频度r_n更新sum_f和sum_r,其中:
sum_f = sum_f+f_n
sum_r = sum_r+r_n;
判断更新后的sum_f是否小于所述历史冷热数据判决比例;
若是,则更新冷热数据预判阈值和n,其中:
冷热数据预判阈值=冷热数据预判阈值-1,n=n+1;
根据更新后的冷热数据预判阈值计算当前循环周期的区块比例f_n和对应写数据频度r_n,直到更新后的sum_f大于或等于所述历史冷热数据判决比例;
当更新后的sum_f大于或等于所述历史冷热数据判决比例时,根据当前循环周期的sum_f、sum_r、f_n和r_n计算当前统计周期的第二写数据频度公式如下:
其中,fpre为历史冷热数据判决比例。
本实施例中SSD控制器使用上一周期的历史冷热数据判决比例f_pre参数计算f_pre对应的当前周期的写数据频度,以获取该配置下的写放大系数WAF_pre。
判断以下不等式是否成立,WAF_pre–WAF_min<= WAF_threshold;
若成立则仍采用上一周期的f_pre参数作为当前统计周期的最优冷热数据判决比例,此时则不再进行冷热数据block的调整操作。其中,WAF_min为上述获取到的最小的写放大系数,WAF_threshold为预先设定的调整阈值。
通过上述方法,当预测最优冷热数据判决比例的调整所引起的写放大系数变化不大时,通过保持原来的冷热数据判决比例以减少冷热数据block改动的频次,缓解SSD的冷热数据block频繁变动,从而减少GC次数,增加系统鲁棒性。
在本发明实施例中,如图5所示,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定具体包括如下步骤:
S20、根据所述最优冷热数据判决比例计算SSD中的逻辑区块被预判为热数据逻辑区块的数量,得到第一数量TotalHotLBANum,具体公式如下:
TotalHotLBANum = round(f最优* PagesPerSSD)
其中,PagesPerSSD表示用户可见的总SSDpages数,即用户可写入的LBA总数。
S21、选取预设阈值取值集合中的最大值作为冷热数据预判阈值,也即将当前的CounterThreshold值设置为预设阈值取值集合中的MaxCounter。
S22、获取SSD的逻辑区块中在当前统计周期的写访问次数大于当前的冷热数据预判阈值的第一待选热数据逻辑区块的数量,得到第二数量LBANum1;第一待选热数据逻辑区块为SSD的逻辑区块中在当前统计周期的写访问次数大于当前的冷热数据预判阈值的逻辑区块。
若第二数量LBANum1小于或等于第一数量TotalHotLBANum时,执行步骤S23,当第二数量LBANum1大于对应的第一数量TotalHotLBANum时,执行步骤S28;
S23、将第一待选热数据逻辑区块标记为热数据逻辑区块,并根据预设的第一更新模型更新第一数量,所述第一更新模型为:更新后的第一数量=当前第一数量-第二数量;
S24、获取SSD的逻辑区块中在当前统计周期的写访问次数等于当前的冷热数据预判阈值的第二待选热数据逻辑区块的数量,得到第三数量LBANum2。具体的,获取当前Counter数值为CounterThreshold的LBA数量,记为LBANum2,第二待选热数据逻辑区块为SSD的逻辑区块中在当前统计周期的写访问次数等于当前的冷热数据预判阈值的逻辑区块。
当第三数量LBANum2大于更新后的第一数量TotalHotLBANum时,执行步骤S25,当第三数量LBANum2小于或等于更新后的第一数量TotalHotLBANum时,执行步骤S27;
S25、按照预设的选取规则从所述第二待选热数据逻辑区块中根据当前的第一数量选取对应数量个逻辑区块标记为热数据逻辑区块,并将所述第二待选热数据逻辑区块中剩余的其他逻辑区块标记为冷数据逻辑区块,所述选取规则为优先选取第二待选热数据逻辑区块中上一统计周期被标记为热数据的逻辑区块。
S26、将SSD的逻辑区块中写访问次数小于当前冷热数据预判阈值的所有逻辑区块标记为冷数据。
S27、将所述第二待选热数据逻辑区块全部标记为热数据逻辑区块,并根据预设的第二更新模型更新第一数量,根据预设的第三更新模型更新冷热数据预判阈值,并返回步骤S24;
其中,第二更新模型如下:
更新后的第一数量=当前第一数量– 第三数量;
第三更新模型如下:
更新后的冷热数据预判阈值=当前冷热数据预判阈值–1。
S28、判断当前冷热数据预判阈值是否小于历史访问信息中用于统计写访问次数的计数器可表示的最大数值;
若是,则执行步骤S29-1,否则,执行步骤S29-2;
S29-1、根据预设的第四更新模型更新冷热数据预判阈值,并返回步骤S22;其中,第四更新模型如下:更新后的冷热数据预判阈值=当前冷热数据预判阈值+1;
S29-2、从第一待选热数据逻辑区块中根据当前的第一数量随机选取对应数量个逻辑区块标记为热数据逻辑区块。此时,可将SSD中的其他逻辑区块标记为冷数据。
本发明在根据当前统计周期的最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定时,需要保证,大于CounterThreshold的逻辑区块都要标记为热数据,等于CounterThreshold的部分逻辑区块标记为热数据时,可以从满足预设条件的待选热数据逻辑区块中优先选取上一统计周期被标记为热数据的逻辑区块,以可尽可能避免上一个周期的热数据在当前周期标记为冷数据并迁移至冷数据block,减少迁移量。
在本发明另一实施例中,如图6所示,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定具体包括如下步骤:
S30、根据所述最优冷热数据判决比例计算SSD中的逻辑区块被预判为热数据逻辑区块的数量,得到第一数量TotalHotLBANum;
S31、选取预设阈值取值集合中的最大值作为冷热数据预判阈值;
S32、获取SSD的逻辑区块中在当前统计周期的写访问次数大于当前的冷热数据预判阈值的第一待选热数据逻辑区块的数量,得到第二数量LBANum1;第一待选热数据逻辑区块为SSD的逻辑区块中在当前统计周期的写访问次数大于当前的冷热数据预判阈值的逻辑区块。
若第二数量LBANum1小于或等于第一数量TotalHotLBANum时,执行步骤S33,当第二数量LBANum1大于对应的第一数量TotalHotLBANum时,执行步骤S40;
S33、将第一待选热数据逻辑区块标记为热数据逻辑区块,并根据预设的第一更新模型更新第一数量,所述第一更新模型为:更新后的第一数量=当前第一数量-第二数量;
S34、获取SSD的逻辑区块中在当前统计周期的写访问次数等于当前的冷热数据预判阈值的第二待选热数据逻辑区块的数量,得到第三数量LBANum2;第二待选热数据逻辑区块为SSD的逻辑区块中在当前统计周期的写访问次数等于当前的冷热数据预判阈值的逻辑区块。
当第三数量LBANum2大于更新后的第一数量TotalHotLBANum时,执行步骤S35,当第三数量LBANum2小于或等于更新后的第一数量TotalHotLBANum时,执行步骤S40;
S35、统计写访问次数等于当前的冷热数据预判阈值的逻辑区块中在上一统计周期被标记为热数据的逻辑区块的数量,得到第四数量HotLBANum;
判断第四数量HotLBANum是否大于或等于更新后的第一数量TotalHotLBANum,若是,则执行步骤S36,否则执行步骤S37;
S36、根据更新后的第一数量从步骤S35中所述的上一统计周期被标记为热数据的逻辑区块中随机选取对应数量个逻辑区块标记为热数据逻辑区块,并将所述第二待选热数据逻辑区块中剩余的其他逻辑区块标记为冷数据逻辑区块;
S37、将步骤S35中所述的上一统计周期被标记为热数据的逻辑区块全部标记为热数据逻辑区块,并根据更新后的当前的第一数量与第四数量的差值从第二待选热数据逻辑区块中随机选取对应数量的逻辑区块标记为热数据逻辑区块,并将第二待选热数据逻辑区块中剩余的其他逻辑区块标记为冷数据逻辑区块;
S38、将SSD的逻辑区块中写访问次数小于当前冷热数据预判阈值的所有逻辑区块标记为冷数据。
S39、当第三数量LBANum2小于或等于更新后的第一数量TotalHotLBANum时,将所述第二待选热数据逻辑区块全部标记为热数据逻辑区块,并根据预设的第二更新模型更新第一数量,根据预设的第三更新模型更新冷热数据预判阈值,并返回步骤S34;
其中,第二更新模型如下:
更新后的第一数量=当前第一数量– 第二数量;
第三更新模型如下:
更新后的冷热数据预判阈值=当前冷热数据预判阈值–1。
S40、判断当前冷热数据预判阈值是否小于历史访问信息中用于统计写访问次数的计数器可表示的最大数值;
若是,则执行步骤S41-1,否则,执行步骤S41-2;
S41-1、根据预设的第四更新模型更新冷热数据预判阈值,并返回步骤S22;其中,第四更新模型如下:更新后的冷热数据预判阈值=当前冷热数据预判阈值+1;
S41-2、从第一待选热数据逻辑区块中根据当前的第一数量随机选取对应数量个逻辑区块标记为热数据逻辑区块。此时,可将SSD中的其他逻辑区块标记为冷数据。
下面通过一个具体实施例对本发明实施例提出的冷热数据标定流程进行清楚的解释说明,如图7所示,具体流程如下:
1、根据所述最优冷热数据判决比例f最优计算TotalHotLBANum;
TotalHotLBANum = round(f最优* PagesPerSSD)
其中,PagesPerSSD表示用户可见的总SSDpages数,即用户可写入的LBA总数;
2、将当前的CounterThreshold值设置为MaxCounter;
3、获取SSD的逻辑区块中在当前统计周期的Counter数值大于CounterThreshold的逻辑区块的数量,记为LBANum1;
其中,SSD的逻辑区块中在当前统计周期的写访问次数大于当前的冷热数据预判阈值的逻辑区块作为第一待选热数据逻辑区块。
4、若LBANum1大于或等于TotalHotLBANum时,将判断当前冷热数据预判阈值是否小于历史访问信息中用于统计写访问次数的计数器可表示的最大数值;若是,根据预设的第四更新模型更新冷热数据预判阈值,并返回步骤3;其中,第四更新模型如下:更新后的冷热数据预判阈值=当前冷热数据预判阈值+1;否则,从第一待选热数据逻辑区块中根据当前的第一数量随机选取对应数量个逻辑区块标记为热数据逻辑区块。此时,可将SSD中的其他逻辑区块标记为冷数据。
5、若LBANum1小于TotalHotLBANum时,将第一待选热数据逻辑区块标记为热数据逻辑区块,并更新TotalHotLBANum,如下所示:
TotalHotLBANum = TotalHotLBANum– LBANum1;
6、获取SSD的逻辑区块中当前统计周期的Counter数值为CounterThreshold的LBA数量,记为LBANum2;
7、判断LBANum2是否小于或等于TotalHotLBANum。
8、如上述不等式成立,则将当前LBANum2个LBA标记为热数据,同时更新TotalHotLBANum和CounterThreshold,如下所示:
TotalHotLBANum = TotalHotLBANum– LBANum2
CounterThreshold = CounterThreshold– 1
更新完后重复第6,7步骤;
9、如果上述不等式不成立,则进一步统计LBANum2个LBA中在上一周期内被标记为热数据的数量,记为HotLBANum;
10、判断HotLBANum大于等于TotalHotLBANum:
如是,在HotLBANum个数据中随机选择TotalHotLBANum个LBA标记为热数据,其余标记为冷数据;
如否,将HotLBANum个LBA标记为热数据,同时随机选择TotalHotLBANum–HotLBANum个LBA标记为热数据,其余标记为冷数据;
11、将Counter值小于CounterThreshold的所有LBA标记为冷数据。
通过上述方法可尽可能避免上一个周期的热数据在当前周期标记为冷数据并迁移至冷数据block,减少迁移量。
本发明提供的冷热数据标定方法,根据历史数据热度指标和计算出的冷热数据比例标定数据,准确实现对冷热数据的识别和标记,有效减少SSD使用过程中的写放大系数。特别的,在同一个Counter数值下的多个LBA数据中,尽可能不改变其冷热属性以减少迁移数据量。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
此外,本发明实施例还提供了一种冷热数据标定装置,所述装置包括用于实现如上冷热数据标定方法的功能模块。图8示意性示出了本发明一个实施例的冷热数据标定装置的结构示意图。参照图8,本发明实施例的冷热数据标定装置具体包括第一获取模块801、第二获取模块802、计算模块803、判断模块804以及标定模块805,其中:
第一获取模块801、用于获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,所述数据热度指标包括SSD中目标逻辑区块占总逻辑区块的区块比例和目标区块的写数据频度,所述目标区块为SSD的逻辑区块中写访问次数大于或等于当前的冷热数据预判阈值的逻辑区块;
第二获取模块802、用于获取SSD在不同数据热度指标时对应的当前统计周期的写放大系数;
计算模块803、用于根据上一统计周期的历史冷热数据判决比例计算历史写放大系数,历史冷热数据判决比例为上一统计周期的写放大系数取值最小时对应的数据热度指标中的区块比例;
判断模块804,用于判断所述历史写放大系数与当前统计周期的写放大系数的最小值之间的差值是否小于或等于预设的调整阈值;
标定模块805、用于当判断模块804的判断结果为所述差值小于或等于所述调整阈值时,将所述历史冷热数据判决比例作为最优冷热数据判决比例,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可,且具有相应的技术效果。
此外,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如上冷热数据标定方法的步骤。
本实施例中,所述冷热数据标定方法如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
此外,本发明实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上冷热数据标定方法的步骤。例如图1所示的步骤S11~S15。或者,所述处理器执行所述计算机程序时实现上述冷热数据标定装置实施例中各模块/单元的功能,例如图8所示的第一获取模块801、第二获取模块802、计算模块803、判断模块804以及标定模块805第一获取模块801、第二获取模块802、计算模块803、判断模块804以及标定模块805。
在一个具体实施例中,所述电子设备可以是SSD设备。
本发明实施例提供的冷热数据标定方法、装置及电子设备,基于当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,根据SSD在不同数据热度指标时对应的写放大系数,通过比较上一统计周期的历史冷热数据判决比例对应的历史写放大系数与当前统计周期的写放大系数的最小值之间的差值,当差值小于或等于预设的调整阈值时将历史冷热数据判决比例作为最优冷热数据判决比例,并根据最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定,本发明能够自适应判断当前统计周期的最优冷热数据判决比例,基于最优冷热数据判决比例准确实现对冷热数据的识别和标记,有效减少SSD使用过程中的写放大系数,从而提高SSD的性能和寿命,减少资源消耗和维护成本。而且,本发明在进行冷热数据标定时,在同一个Counter数值下的多个LBA数据中,能够尽可能不改变其冷热属性以减少迁移数据量。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种冷热数据标定方法,其特征在于,所述方法包括:
获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标,所述数据热度指标包括SSD中目标逻辑区块占总逻辑区块的区块比例和目标区块的写数据频度,所述目标区块为SSD的逻辑区块中写访问次数大于或等于当前的冷热数据预判阈值的逻辑区块;
获取SSD在不同数据热度指标时对应的当前统计周期的写放大系数,包括:根据预设的对应关系表查找在不同的块使用状态系数时与各个数据热度指标对应的写放大系数,所述块使用状态系数包括预留空间比例值和预留空间热数据比例值,所述预留空间比例值为SSD中的OP预留空间中总物理块占SSD中用户可操作的总物理块的比例值,所述预留空间热数据比例值为OP预留空间中标识为热数据的物理块占OP预留空间中总物理块的比例值,所述对应关系表中包括有在不同的块使用状态系数时数据热度指标与SSD使用过程中的写放大系数之间的对应关系;
根据上一统计周期的历史冷热数据判决比例计算历史写放大系数,包括:根据上一统计周期的历史冷热数据判决比例计算当前统计周期的第二写数据频度,将历史冷热数据判决比例和第二写数据频度作为更新后的数据热度指标;根据更新后的数据热度指标和上一统计周期的历史块使用状态系数查找所述对应关系表以获取对应的写放大系数,并将其作为历史写放大系数,历史冷热数据判决比例为上一统计周期的写放大系数取值最小时对应的数据热度指标中的区块比例;
判断所述历史写放大系数与当前统计周期的写放大系数的最小值之间的差值是否小于或等于预设的调整阈值;
若所述差值小于或等于所述调整阈值,则将所述历史冷热数据判决比例作为最优冷热数据判决比例,根据所述最优冷热数据判决比例对SSD中的逻辑区块进行冷热数据标定,包括:S20、根据所述最优冷热数据判决比例计算SSD中的逻辑区块被预判为热数据逻辑区块的数量,得到第一数量TotalHotLBANum;S21、选取预设阈值取值集合中的最大值作为冷热数据预判阈值;S22、获取SSD的逻辑区块中在当前统计周期的写访问次数大于当前的冷热数据预判阈值的第一待选热数据逻辑区块的数量,得到第二数量LBANum1;若第二数量小于或等于第一数量时,执行步骤S23;S23、将第一待选热数据逻辑区块标记为热数据逻辑区块,并根据预设的第一更新模型更新第一数量,所述第一更新模型为:更新后的第一数量=当前第一数量-第二数量;S24、获取SSD的逻辑区块中在当前统计周期的写访问次数等于当前的冷热数据预判阈值的第二待选热数据逻辑区块的数量,得到第三数量LBANum2;S25、当第三数量大于更新后的第一数量时,按照预设的选取规则从所述第二待选热数据逻辑区块中根据当前的第一数量选取对应数量个逻辑区块标记为热数据逻辑区块,并将所述第二待选热数据逻辑区块中剩余的其他逻辑区块标记为冷数据逻辑区块,所述选取规则为优先选取第二待选热数据逻辑区块中上一统计周期被标记为热数据的逻辑区块;S26、将SSD的逻辑区块中写访问次数小于当前冷热数据预判阈值的所有逻辑区块标记为冷数据;
若所述差值大于所述调整阈值,则选取当前统计周期的写放大系数取值最小时对应的目标数据热度指标,获取得到所述目标数据热度指标时对应的冷热数据预判阈值,得到最优冷热数据预判阈值;根据所述最优冷热数据预判阈值对SSD中的逻辑区块进行冷热数据标定。
2.根据权利要求1所述的方法,其特征在于,所述获取当前统计周期内统计的冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标包括:
获取当前统计周期内SSD中各个逻辑区块的历史访问信息,所述历史访问信息包括写访问次数、用于统计写访问次数的计数器的溢出次数和接收到的用户写次数;
当所述用户写次数大于预设的写次数阈值时,根据所述历史访问信息计算冷热数据预判阈值为预设阈值取值集合中不同取值时SSD的数据热度指标。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取写放大系数取值最小时对应的目标数据热度指标中的区块比例,将得到的区块比例作为目标区块比例;
获取写放大系数取值最小时对应的预留空间热数据比例值,将得到的预留空间热数据比例值作为目标预留空间热数据比例值;
根据所述目标区块比例和目标预留空间热数据比例值预估当前SSD中待标识为热数据的物理块的数量HotBlockNum和待标识为冷数据的物理块的数量ColdBlockNum,计算公式如下:
HotBlockNum=round(f目标*UserBlockNum+p目标*(TotalBlockNum-UserBlockNum));
ColdBlockNum = TotalBlockNum – HotBlockNum;
其中,f目标为目标区块比例,p目标为目标预留空间热数据比例值,UserBlockNum为SSD中用户可操作的物理块的数量,TotalBlockNum为SSD中用户可操作的物理块和OP预留空间中的物理块的总数量,round()为四舍五入函数;
判断SSD中当前标识为热数据的物理块的数量是否等于预估得到的当前SSD中待标识为热数据的物理块的数量HotBlockNum,如不等于则对SSD中的物理块进行控制,以使SSD中的标识为热数据的物理块数量等于预估得到的当前SSD中待标识为热数据的物理块的数量HotBlockNum。
4.根据权利要求1所述的方法,其特征在于,所述根据上一统计周期的历史冷热数据判决比例计算当前统计周期的第二写数据频度,包括:
选取用于统计写访问次数的计数器可表示的最大数值作为冷热数据预判阈值,并初始化参数n=0,sum_f=0,sum_r =用于统计写访问次数的计数器的溢出次数;
获取当前统计周期的写访问次数为当前的冷热数据预判阈值的第二目标逻辑区块的数量,并计算当前SSD的数据热度指标,得到区块比例f_n和对应写数据频度r_n;
根据区块比例f_n和对应写数据频度r_n更新sum_f和sum_r,其中:
sum_f = sum_f+f_n
sum_r = sum_r+r_n;
判断更新后的sum_f是否小于所述历史冷热数据判决比例;
若是,则更新冷热数据预判阈值和n,其中:
冷热数据预判阈值=冷热数据预判阈值-1,n=n+1;
根据更新后的冷热数据预判阈值计算当前循环周期的区块比例f_n和对应写数据频度r_n,直到更新后的sum_f大于或等于所述历史冷热数据判决比例;
当更新后的sum_f大于或等于所述历史冷热数据判决比例时,根据当前循环周期的sum_f、sum_r、f_n和r_n计算当前统计周期的第二写数据频度rfinal,公式如下:
其中,fpre为历史冷热数据判决比例。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
S27、当第三数量小于或等于更新后的第一数量时,将所述第二待选热数据逻辑区块全部标记为热数据逻辑区块,并根据预设的第二更新模型更新第一数量,根据预设的第三更新模型更新冷热数据预判阈值,并返回步骤S24;
其中,第二更新模型如下:
更新后的第一数量=当前第一数量– 第三数量;
第三更新模型如下:
更新后的冷热数据预判阈值=当前冷热数据预判阈值–1。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当第二数量大于第一数量时,判断当前冷热数据预判阈值是否小于历史访问信息中用于统计写访问次数的计数器可表示的最大数值;
若是,则根据预设的第四更新模型更新冷热数据预判阈值,并返回步骤S22;其中,第四更新模型如下:更新后的冷热数据预判阈值=当前冷热数据预判阈值+1;
否则,从第一待选热数据逻辑区块中根据当前的第一数量随机选取对应数量个逻辑区块标记为热数据逻辑区块。
7.根据权利要求1所述的方法,其特征在于,所述按照预设的选取规则从所述待选热数据逻辑中根据当前的第一数量选取对应数量个逻辑区块标记为热数据逻辑区块包括:
统计写访问次数等于当前的冷热数据预判阈值的逻辑区块中在上一统计周期被标记为热数据的逻辑区块的数量,得到第四数量HotLBANum;
判断第四数量是否大于或等于更新后的第一数量;
若第四数量大于或等于当前的第一数量,根据当前的第一数量从上一统计周期被标记为热数据的逻辑区块中随机选取对应数量的逻辑区块标记为热数据逻辑区块,并将所述第二待选热数据逻辑区块中剩余的其他逻辑区块标记为冷数据逻辑区块;
若第四数量小于当前的第一数量,将上一统计周期被标记为热数据的逻辑区块全部标记为热数据逻辑区块,并根据当前的第一数量与第四数量的差值从第二待选热数据逻辑区块中随机选取对应数量的逻辑区块标记为热数据逻辑区块,并将第二待选热数据逻辑区块中剩余的其他逻辑区块标记为冷数据逻辑区块。
8.一种冷热数据标定装置,其特征在于,所述装置包括用于实现如权利要求1-7任一项所述的冷热数据标定方法的功能模块。
9.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述方法的步骤。
CN202310898642.7A 2023-07-21 2023-07-21 冷热数据标定方法、装置及电子设备 Active CN116627355B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310898642.7A CN116627355B (zh) 2023-07-21 2023-07-21 冷热数据标定方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310898642.7A CN116627355B (zh) 2023-07-21 2023-07-21 冷热数据标定方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN116627355A CN116627355A (zh) 2023-08-22
CN116627355B true CN116627355B (zh) 2023-10-13

Family

ID=87636864

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310898642.7A Active CN116627355B (zh) 2023-07-21 2023-07-21 冷热数据标定方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN116627355B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10241722B1 (en) * 2016-05-27 2019-03-26 Pavilion Data Systems, Inc. Proactive scheduling of background operations for solid state drives
CN111142794A (zh) * 2019-12-20 2020-05-12 北京浪潮数据技术有限公司 一种数据分类存储的方法、装置、设备及存储介质
CN116225334A (zh) * 2023-03-10 2023-06-06 郑州云海信息技术有限公司 一种冷热数据存储方法、装置以及介质
CN116303119A (zh) * 2023-05-19 2023-06-23 珠海妙存科技有限公司 冷热数据的识别方法、系统及存储介质
CN116457885A (zh) * 2021-01-30 2023-07-18 华为技术有限公司 一种数据处理方法、装置及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862810B2 (en) * 2012-09-27 2014-10-14 Arkologic Limited Solid state device write operation management system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10241722B1 (en) * 2016-05-27 2019-03-26 Pavilion Data Systems, Inc. Proactive scheduling of background operations for solid state drives
CN111142794A (zh) * 2019-12-20 2020-05-12 北京浪潮数据技术有限公司 一种数据分类存储的方法、装置、设备及存储介质
CN116457885A (zh) * 2021-01-30 2023-07-18 华为技术有限公司 一种数据处理方法、装置及系统
CN116225334A (zh) * 2023-03-10 2023-06-06 郑州云海信息技术有限公司 一种冷热数据存储方法、装置以及介质
CN116303119A (zh) * 2023-05-19 2023-06-23 珠海妙存科技有限公司 冷热数据的识别方法、系统及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于逻辑区间热度的NAND闪存垃圾回收算法;雷兵兵;严华;;计算机应用(04);全文 *
通过重组超级块改善固态硬盘寿命和性能的算法;段星辉;陈仁;;计算机应用(S2);全文 *

Also Published As

Publication number Publication date
CN116627355A (zh) 2023-08-22

Similar Documents

Publication Publication Date Title
CN110245093B (zh) 固态存储驱动器阵列中的工作负荷自适应超额配置
US9898202B2 (en) Enhanced multi-streaming though statistical analysis
US9021185B2 (en) Memory controller and methods for enhancing write performance of a flash device
US10534716B2 (en) Limiting access operations in a data storage device
JP5719013B2 (ja) フラッシュ読取コマンド完了の時間推定に基づくホスト読取コマンドリターンのリオーダリング
KR100881669B1 (ko) 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
US8341350B2 (en) Analyzing sub-LUN granularity for dynamic storage tiering
US20120023144A1 (en) Managing Wear in Flash Memory
US20120054414A1 (en) Solid state drive and data control method thereof
US20080082726A1 (en) Memory Cards with End of Life Recovery and Resizing
US10289317B2 (en) Memory apparatus and methods thereof for write amplification aware wear leveling
US20130339574A1 (en) Variability aware wear leveling
US7934130B2 (en) System and method for managing non-volatile memory based on health
WO2016088234A1 (ja) 異なる特性の不揮発性半導体メモリの寿命を長くするストレージ装置
CN114118439B (zh) 判决电平预测模型的训练数据生成方法、系统及存储介质
CN114020573B (zh) 判决电平预测方法、存储介质及ssd设备
CN111159059B (zh) 一种垃圾回收方法、装置及非易失性的存储设备
CN108269603A (zh) 用于闪速存储器器件的连续自适应校准
CN107748722A (zh) 一种保证固态硬盘中数据持续性的自适应数据刷新方法
CN116627355B (zh) 冷热数据标定方法、装置及电子设备
CN116820351B (zh) 冷热数据标定方法、装置、存储介质及电子设备
US8996786B2 (en) Nonvolatile memory system and block management method
CN111767165B (zh) 数据处理方法、装置及控制设备
TWI598733B (zh) 權重式資料搬遷控制裝置與方法
CN115831194A (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