CN117677941A - 存储系统中的数据压缩和重复数据删除感知分层 - Google Patents
存储系统中的数据压缩和重复数据删除感知分层 Download PDFInfo
- Publication number
- CN117677941A CN117677941A CN202180100614.5A CN202180100614A CN117677941A CN 117677941 A CN117677941 A CN 117677941A CN 202180100614 A CN202180100614 A CN 202180100614A CN 117677941 A CN117677941 A CN 117677941A
- Authority
- CN
- China
- Prior art keywords
- data block
- data
- access
- predicted
- normalized
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013144 data compression Methods 0.000 title description 2
- 238000007906 compression Methods 0.000 claims abstract description 97
- 230000006835 compression Effects 0.000 claims abstract description 91
- 238000004458 analytical method Methods 0.000 claims abstract description 11
- 238000013500 data storage Methods 0.000 claims description 133
- 238000000034 method Methods 0.000 claims description 51
- 230000008569 process Effects 0.000 claims description 19
- 238000010801 machine learning Methods 0.000 claims description 9
- 238000007726 management method Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000006978 adaptation Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000004615 ingredient Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010561 standard procedure Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Classifications
-
- 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/18—File system types
- G06F16/185—Hierarchical storage management [HSM] systems, e.g. file migration or policies thereof
Abstract
提供了一种计算设备,用于管理具有慢速访问的较低层级存储设备和具有快速访问的较高层级存储设备。监控对位于较低层级和较高层级上的数据块组的访问模式。针对数据块组计算预测归一化访问参数。预测归一化访问参数使得能够通过考虑数据块组的压缩量与对数据块组的访问预测的组合来比较不同的数据块组。根据指示存储的数据块组的压缩的压缩参数,以及根据基于对访问模式的分析所计算的指示对数据块组的预测访问的预测非归一化访问参数,计算预测归一化访问参数。根据预测归一化访问参数,在较低层级与较高层级之间移动数据块组。
Description
背景技术
本公开内容的一些实施例涉及分层存储管理,更具体地,但不排他性地,涉及改进对存储在分层存储系统上的数据块组(data chunk)的读取访问。
通过在高成本快速存储介质与低成本慢速存储介质之间自动移动数据来管理分层存储系统。虽然理想中是将所有数据存储在提供快速读取访问的快速存储介质上,但在实践中,这种解决方案成本较高。大多数数据存储在成本较低但速度较慢的存储介质上。一些数据被移动到成本较高但速度较快的存储介质,目的是优化访问时间与存储介质成本之间的折衷。成本较高但速度较快的存储介质可以用作成本较低但速度较慢的存储介质的高速缓存。
发明内容
本公开内容的目的是提供一种用于分层存储管理的计算设备、系统、计算机程序产品和方法。
上述和其它目的通过独立权利要求的特征实现。其它实现方式根据从属权利要求、说明书和附图是明显的。
根据第一方面,提供了一种用于分层存储管理的计算设备,用于:监控对位于较低层级数据存储设备和较高层级数据存储设备上的多个数据块组的访问模式;根据压缩参数和基于对访问模式的分析所计算的预测非归一化访问参数,针对多个数据块组中的数据块组计算预测归一化访问参数;以及根据预测归一化访问参数,在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组。
根据第二方面,提供了一种计算机实现的分层存储管理的方法,包括:监控对位于较低层级数据存储设备和较高层级数据存储设备中的多个数据块组的访问模式;根据压缩参数和基于对访问模式的分析所计算的预测非归一化访问参数,针对多个数据块组中的数据块组计算预测归一化访问参数;以及根据预测归一化访问参数,在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组。
根据第三方面,提供了一种存储用于分层存储管理的程序指令的非暂态介质,所述程序指令在由处理器执行时,使处理器:监控对位于较低层级数据存储设备和较高层级数据存储设备上的多个数据块组的访问模式;根据压缩参数和基于对访问模式的分析所计算的预测非归一化访问参数,针对多个数据块组中的数据块组计算预测归一化访问参数;以及根据预测归一化访问参数,在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组。
将访问最活跃(例如读取和/或写入)的数据块组移动到较高层级提高了访问活跃的数据块组的访问性能和/或提高了分层数据存储系统的整体性能。
在第一方面、第二方面和第三方面的另一种实现方式中,预测归一化访问参数是通过将压缩参数乘以预测非归一化访问参数来计算的。
考虑指示数据块组在较高层级数据存储设备中占用的实际空间的压缩参数提高了较高层级数据存储设备的性能。
在第一方面、第二方面和第三方面的另一种实现方式中,当数据块组放置在较高层级数据存储设备中时,压缩参数包括:数据块组在未经压缩时的大小与数据块组在通过压缩过程压缩时的大小之间的压缩比。
由于不同层级之间的压缩方法可能不同,因此使用根据在较高层级中使用的压缩方法计算的压缩参数提供了更准确的预测归一化访问参数。
在第一方面、第二方面和第三方面的另一种实现方式中,压缩参数是根据重复数据删除参数计算的,重复数据删除参数指示数据块组的经重复数据删除的数据占用的空间量。
重复数据删除对数据例如在较高层级数据存储设备中占用的空间量有较大影响。
在第一方面、第二方面和第三方面的另一种实现方式中,数据块组包括多个数据块,以及重复数据删除参数通过以下方式计算:对于未经重复数据删除的每个相应数据块,重复数据删除参数指示相应数据块的大小,对于经重复数据删除的每个相应数据块,重复数据删除参数被计算为相应数据块的压缩大小除以相应块的副本数量。
在第一方面、第二方面和第三方面的另一种实现方式中,当数据块组放置在较高层级数据存储设备上时,基于重复数据删除参数的压缩比被计算为:未应用重复数据删除时的数据块组的大小除以通过重复数据删除过程对数据块组的数据块应用了重复数据删除的数据块组的大小。
压缩比考虑了放置在目标层级时重复数据删除对数据块组的大小的影响。由于不同层级之间的重复数据删除方法可能不同,因此使用根据较高层级(移动到较高层级时)使用的重复数据删除方法计算的压缩参数提供了更准确的预测归一化访问参数。
在第一方面、第二方面和第三方面的另一种实现方式中,压缩参数是在将数据块组移动到较高层级或较低层级之前根据重复数据删除参数计算的。
在移动数据块组之前计算重复数据删除参数有助于避免访问时间过长的情况。
在第一方面、第二方面和第三方面的另一种实现方式中,压缩参数是根据指示数据块组的增量压缩数据占用的空间量的增量压缩参数计算的。
增量压缩可能会对数据例如在较高层级数据存储设备中占用的空间量有显著影响。
在第一方面、第二方面和第三方面的另一种实现方式中,基于增量压缩参数的压缩比被计算为:在未应用增量压缩时数据块组和增量块的原始大小除以数据块组的数据块的增量压缩中使用的数据块组的数据块的总大小。
在第一方面、第二方面和第三方面的另一种实现方式中,当数据块组放置在较高层级数据存储设备中时,根据增量压缩过程计算压缩参数。
在第一方面、第二方面和第三方面的另一种实现方式中,具有高于阈值的预测归一化访问参数的数据块组和/或根据预测归一化访问参数排名最高的数据块组被移动到较高层级数据存储设备,并且具有低于阈值的预测归一化访问参数的数据块组和/或根据预测归一化访问参数排名最低的数据块组被移动到较低层级数据存储设备。
在第一方面、第二方面和第三方面的另一种实现方式中,在每个时间间隔移动预设的最大数量的数据块组。
在第一方面、第二方面和第三方面的另一种实现方式中,数据块组的预测归一化访问参数包括数据块组的预测归一化随机读取次数,其中,具有高于阈值的预测归一化随机读取次数的数据块组和/或根据预测归一化随机读取次数排名最高的数据块组被移动到较高层级数据存储设备。
将具有最高预测随机读取和/或根据预测随机读取排名最高的数据块组移动到较高层级数据存储设备改进了对数据块组的访问时间,和/或提高了包括较低层级数据存储设备和较高层级数据存储设备的数据存储系统的整体性能。
在第一方面、第二方面和第三方面的另一种实现方式中,数据块组的预测归一化访问参数包括数据块组的预测归一化写入和/或归一化顺序读取次数,其中,具有高于阈值的预测归一化写入和/或归一化顺序读取次数的数据块组和/或根据预测归一化写入和/或归一化顺序读取次数排名最高的数据块组被移动到较低层级数据存储设备。
当从较低层级提供服务时,写入和/或顺序读取对性能的影响较小。这样,将具有最高和/或最高排名的预测归一化写入和/或归一化顺序读取次数的数据块组移动到较低层级数据存储设备提高了包括较低层级数据存储设备和较高层级数据存储设备的数据存储系统的整体性能(例如,通过为例如具有高的预测随机读取的其它数据块组释放较高层级存储)。
在第一方面、第二方面和第三方面的另一种实现方式中,预测非归一化访问参数是根据对选自以下的访问模式的分析计算的:读取、顺序读取、读取的大小、写入、顺序写入和写入的大小。
在第一方面、第二方面和第三方面的另一种实现方式中,数据块组的预测非归一化访问参数包括作为在多个记录的训练数据集上训练的机器学习模型的结果而生成的数据块组的预测非归一化随机读取次数,每个记录包括用相应块组的随机读取次数的地面真值标签标记的相应块组。
经训练的ML模型生成结果,该结果指示针对作为输入馈送的目标块组预期的预测随机读取次数。
在第一方面、第二方面和第三方面的另一种实现方式中,还包括在每个时间间隔通过将访问模式的当前参数乘以小于1的衰减值来动态地衰减访问模式,以获得访问模式的适配参数,其中,预测归一化访问参数是使用访问模式的适配参数计算的。
衰减值防止无限增大访问参数的参数值,和/或将访问模式的参数的值保持在能够在合理时间内进行处理的合理状态。
在第一方面、第二方面和第三方面的另一种实现方式中,文件包括多个数据块组,其中,多个数据块组的第一子集位于较高层级,并且多个数据块组的第二子集位于较低层级,其中,根据针对文件的每个单独的数据块组计算的预测归一化访问参数,在较低层级数据存储设备与较高层级数据存储设备之间移动文件的单独的数据块组。
单独考虑针对文件的每个数据块组的最佳层级改进了对相应数据块组的访问和/或对文件的整体访问。
在第一方面、第二方面和第三方面的另一种实现方式中,访问模式包括预取过程的预取模式。
在第一方面、第二方面和第三方面的另一种实现方式中,预取过程计算在当前数据块组被访问的情况下多个候选后续数据块组中的每个候选后续数据块组被访问的概率,并在当前数据块组被访问时预取具有最高概率的后续数据块组。
在第一方面、第二方面和第三方面的另一种实现方式中,针对包括多个顺序存储的数据块的每个数据块组计算访问模式,针对每个数据块组计算预测归一化访问参数,并且针对每个数据块组执行移动。
与使用非常大的数据结构来存储每个块的一个或多个非归一化访问参数相比,计算每个数据块组而不是每个块的预测非归一化访问参数降低了存储需求和/或提高了计算性能(例如,处理器利用率、处理器时间)。
除非另有定义,否则本文所用的所有技术和/或科学术语都具有与本公开内容所属领域的普通技术人员公知的含义相同的含义。虽然与本文描述的方法和材料类似或等效的方法和材料可以用于本公开内容的实施例的实践或测试,但下文描述了示例性方法和/或材料。如有冲突,以本专利说明书(包括定义)为准。此外,这些材料、方法和示例仅是说明性的,并不一定具有限制性。
附图说明
本文仅通过示例的方式参照附图描述了本公开内容的一些实施例。现在详细地具体参照附图,需要强调的是所示的细节只是举例说明和为了本公开内容的实施例的说明性讨论的目的。就此而言,根据附图进行的描述使得可以如何实践本公开内容的实施例对本领域技术人员而言是明显的。
在附图中:
图1是根据一些实施例的根据预测归一化访问参数在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组的方法的流程图;
图2是根据一些实施例的用于根据预测归一化访问参数在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组的系统的部件的框图。
具体实施方式
本公开内容的一些实施例涉及分层存储管理,并且更具体地,但不排他性地,涉及改进存储在分层存储系统上的数据块组的读取访问。
一些实施例的一方面涉及用于管理分层存储系统的系统、方法、计算设备和/或装置和/或计算机程序产品(其存储由一个或更多个处理器可执行的代码指令),分层存储系统包括具有缓慢随机访问时间(但具有对顺序存储的数据的快速访问)的较低层级存储设备和具有快速随机访问时间的较高层级存储设备。监控对位于较低层级数据存储设备和较高层级数据存储设备上的数据块组的访问模式。针对数据块组中的一个或更多个数据块组计算预测归一化访问参数。预测归一化访问参数使得能够通过考虑数据块组的压缩量与对数据块组的访问预测的组合来比较不同的数据块组。根据指示存储的数据块组的压缩的压缩参数,以及根据基于对访问模式的分析所计算的指示对数据块组的预测访问的预测非归一化访问参数,计算预测的归一化访问参数。根据预测归一化访问参数,在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组。例如,高度可压缩和/或预期经常被访问的数据块组被移动到较高层级,该较高层级可以提供较快的访问时间,但具有较少的可用存储空间。可压缩性较低的数据块组被移动到较低层级,该较低层级具有更多可用存储空间,但具有较慢的访问时间。较低层级数据存储设备可以被实现为例如硬盘驱动器(harddisk drive,HDD),并且较高层级数据存储设备可以被实现为例如固态驱动器(solidstate drive,SSD)。
与其它标准方法相比,本文描述的至少一些实现方式改进了对存储在分层存储系统上的数据的访问时间。存储系统包括具有缓慢随机访问时间(但具有对顺序存储的数据的快速访问)的较低层级存储设备和具有快速随机访问时间的较高层级存储设备。但是,与较低层级存储设备相比,较高层级存储设备更昂贵,这限制了较高层级数据存储设备的实际大小。已经提出了用于在较高层级与较低层级之间移动数据的不同方法,以改进访问时间和/或提高数据存储系统(即,较高层级数据存储设备和较低层级数据存储设备的组合)的整体效率。在示例中,做出分层决策的标准方法完全基于数据的活动统计信息,例如读取次数以及读取的顺序。其它已知方法对在完整文件级别使用的经重复数据删除的数据执行分层。当整个文件被视为非活动状态时,整个文件被移动到较低层级。相反,本文描述的将也是最可压缩的(例如,被视为归一化组合)的访问最活跃(例如,读取和/或写入)的数据块组移动到较高层级的至少一些实现方式提高了对访问活跃的数据块组的访问性能,和/或提高了分层数据存储系统的整体性能。分层数据存储系统的性能可以通过其每秒可以服务的输入/输出(input/output,IO)的数量和/或每个IO的平均时延来衡量。在一个示例中,较高层级数据存储层级可以被实现为具有大约0.1毫秒(millisecond,ms)的时延的SSD,而较低层级数据存储装置可以被实现为具有大约5ms至10ms的随机访问时延的HDD。在层级之间移动数据块组。通过从较高层级读取数据块组并写入较低层级,数据块组可以向下层级移动。通过从较低层级读取数据并向较高层级写入数据,数据块组可以向上层级移动。在前一层级读取的数据块组可能会被删除和/或覆盖,以便为其它数据块组腾出空间。
在详细解释本公开内容的至少一个实施例之前,应理解,本公开内容在其应用时并不一定限于以下描述中阐述的和/或附图中所示的和/或示例中的部件和/或方法的构造和设置的细节。本发明能够有其它实施例,或者能够以各种方式实践或执行。
本公开内容可以是一种系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质(或多个介质),其上具有用于使处理器执行本公开内容的各方面的计算机可读程序指令。
计算机可读存储介质可以是能够保留和存储指令以供指令执行设备使用的有形设备。计算机可读存储介质可以为,但不限于,例如,电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或上述设备的任何合适组合。
本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者通过诸如互联网、局域网、广域网和/或无线网络的网络下载到外部计算机或外部存储设备。
计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行;作为独立的软件包部分在用户的计算机上执行且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络连接到用户的计算机,这些网络包括局域网(local area network,LAN)或广域网(wide areanetwork,WAN),还可以(例如,通过使用互联网服务提供商的互联网)连接到外部计算机。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(field-programmable gatearray,FPGA)或可编程逻辑阵列(programmable logic array,PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来个性化电子电路来执行计算机可读程序指令,以执行本公开内容的各方面。
本文参照根据本公开内容的实施例的方法、装置(系统)和计算机程序产品的流程图说明和/或框图来描述本公开内容的各方面。应理解,流程图说明和/或框图的每个框以及流程图说明和/或框图中的框的组合可以由计算机可读程序指令实现。
图中的流程图和框图示出了根据本公开内容的各个实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能以及操作。就此而言,流程图或框图中的每个框可以表示模块、区段或部分指令,其包括用于实现一个或多个指定逻辑功能的一个或更多个可执行指令。在一些替代实现方式中,框中说明的功能可以不按照图中说明的顺序实现。例如,事实上,连续示出的两个框可以几乎同时执行,或者有时候可以按照相反的顺序执行,这取决于所涉及的功能。还需要说明的是,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框组合可以由基于专用硬件的系统实现,这些系统执行特定的功能或动作,或者执行专用硬件和计算机指令的组合。
现在参照图1,图1是根据一些实施例的根据预测归一化访问参数在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组的方法的流程图。还参照图2,图2是根据一些实施例的用于根据预测归一化访问参数在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组的系统200的部件的框图。系统200可以通过执行存储在存储器206中的代码指令(例如,代码206A)的计算设备204的一个或多个处理器202来实现参照图1描述的方法的动作。
计算设备204管理分层存储208,分层存储208至少包括较低层级数据存储设备210和较高层级数据存储设备212。
计算设备204可以使用预取过程206B(例如,存储在存储器206上,由一个或多个处理器202执行)来从较低层级数据存储设备210预取数据,如本文所描述。预取过程206B可以在下一个数据分量被请求之前预测该数据分量的位置,并在请求之前提取下一个数据分量。预取可以从较低层级数据存储设备210执行,从而节省较高层级数据存储设备212上的空间。一些预取过程206B被设计成预测非顺序定位(例如,以跨步模式定位(例如,相对于之前的地址位置增加固定地址位置)和/或以最初可能看起来是随机的恒定地址模式定位))的数据分量的位置。
与较高层级数据存储设备212相比,较低层级数据存储设备210具有相对较慢的随机访问输入/输出(IO)(例如,读取)时间。与较低层级数据存储设备210相比,较高层级数据存储设备212具有相对较快的随机I/O(例如,读取和/或写入)时间。
与较高层级数据存储设备212相比,较低层级数据存储设备210可能成本最高(例如,每兆字节)。
较低层级数据存储设备210可以被实现为例如硬盘驱动器(HDD)。较低层级数据存储设备210可以提供快速的顺序读取和/或写入,但由于寻道时间可能非常高(例如,高达10毫秒),所以对于随机I/O具有较差的性能。
较高层级数据存储设备212可以被实现为例如固态驱动器(SSD)和/或相变存储器(phase-change memory,PCM)等。
较高层级数据存储设备212可以用作较低层级数据存储设备210的高速缓存和/或层级(例如,当数据是易失性的并且在较低层级中具有副本时用作高速缓存,以及/或者当数据是非易失性的和/或可以(例如,仅)保存在较高层级中时用作层级)。
分层存储208与计算系统214通信,计算系统214将数据存储在分层存储208上和/或读取存储在分层存储208上的数据。分层存储208可以集成在计算系统214内,和/或可以被实现为外部存储设备。计算系统214可以通过计算设备204间接连接到分层存储208,即计算系统214可以与计算设备204通信,其中,计算设备204与分层存储208通信,而不是计算系统214直接与分层存储208通信。
例如,计算系统214和/或计算设备204可以被实现为例如以下中的一个或更多个:计算云、云网络、计算机网络、一个或多个虚拟机(例如虚拟机管理程序、虚拟服务器)、网络节点(例如交换机、虚拟网络、路由器、虚拟路由器)、单个计算设备(例如,客户端终端)、并行布置的一组计算设备、网络服务器、web服务器、存储服务器、本地服务器、远程服务器、客户端终端、移动设备、固定设备、信息亭、智能手机、笔记本电脑、平板电脑、可穿戴计算设备、眼镜计算设备、手表计算设备和台式计算机。
可选地,分层存储208专门由诸如计算设备214的单个用户使用。可替选地,分层存储208由多个用户(例如通过网络218访问分层存储208的多个客户端终端216)使用,例如,计算系统214向客户端终端216提供云存储服务和/或虚拟存储服务。
例如,计算设备204可以被实现为例如集成在分层存储208内(例如,作为安装在分层存储208内的硬件和/或软件)、集成在计算系统214内(例如,作为安装在计算系统214内的硬件和/或软件,例如加速器芯片和/或存储在计算系统214的存储器中并由计算系统214的处理器执行的代码),和/或被实现为与分层存储208通信的外部部件(例如,被实现为硬件和/或软件),例如插件部件。可选地,分层存储208和计算设备204被实现为向一个或多个计算系统214公开存储(例如,功能、特征、能力)的一个存储系统。
计算设备204包括一个或多个处理器202,例如,一个或多个处理器202被实现为例如一个或多个中央处理单元(central processing unit,CPU)、一个或多个图形处理单元(graphics processing unit,GPU)、一个或多个现场可编程门阵列(field programmablegate array,FPGA)、一个或多个数字信号处理器(digital signal processor,DSP)、一个或多个专用集成电路(application specific integrated circuit,ASIC)、一个或多个定制电路、用于与其它单元接口的处理器和/或专用硬件加速器。一个或多个处理器202028可以被实现为单个处理器、多核处理器和/或布置用于并行处理的处理器集群(其可以包括同构和/或异构处理器架构)。需要说明的是,一个或多个处理器202可以被设计成在硬件中实现作为代码指令206A和/或206B存储的一个或更多个特征。
存储器206存储可由一个或多个处理器202实现的代码指令,例如随机存取存储器(randomaccess memory,RAM)、只读存储器(read-only memory,ROM)和/或存储设备,例如非易失性存储器、磁性介质、半导体存储设备、硬盘驱动器、可移动存储装置和光学介质(例如DVD、CD-ROM)。存储器206可以存储代码206A和/或存储如本文所描述的预取过程206B的代码,当代码206A由一个或多个处理器208执行时,实现参照图1描述的方法的一个或更多个动作。
计算设备204可以包括数据存储设备220,数据存储设备220用于存储数据,例如,如本文所描述的被监控的访问模式。数据存储设备220可以被实现为例如存储器、本地硬盘驱动器、可移动存储单元、光盘、存储设备和/或远程服务器和/或计算云(例如,使用网络连接来访问)。需要说明的是,可由一个或多个处理器202执行的代码指令可以存储在数据存储设备220中,例如,其中执行部分被加载到存储器206中以便由一个或多个处理器202执行。
计算设备204(和/或计算系统214)可以与向用户呈现数据和/或包括用于输入数据的机制的用户接口222通信,用户接口222例如是触摸屏、显示器、键盘、鼠标、语音激活软件和麦克风中的一个或更多个。
例如,网络218可以被实现为互联网、局域网、虚拟专用网络、虚拟公共网络、无线网络、蜂窝网络、本地总线、点对点链路(例如,有线)和/或上述的组合。
在102处,监控对位于较低层级数据存储设备和/或较高层级数据存储设备上的数据块组的访问模式。访问模式可以是非归一化的,本文称为非归一化访问参数。可以针对每个数据块组独立于其它数据块组和/或独立于数据块组存储的位置来计算非归一化访问参数。
访问模式可以根据收集的数据参数来计算,例如,针对数据块组(例如,针对每个数据块组)计算统计数据参数。用于计算访问模式的数据参数的示例包括:读取、顺序读取、读取的大小、写入、顺序写入和写入的大小。
示例性访问参数是预测非归一化随机读取次数。可以从其它访问模式和/或从收集的数据计算预测非归一化随机读取次数。可以生成数据块组的预测非归一化随机读取次数,作为机器学习(machine learning,ML)模型例如回归器、神经网络、分类器等的结果。经训练的ML模型生成结果,该结果指示针对作为输入馈送的目标块组预期的预测随机读取次数。ML模型可以在记录的训练数据集上训练,其中,每个记录包括用相应块组的随机读取次数的地面真值标签(ground truth label)标记的相应块组。训练数据集可以包括其它访问模式,例如顺序读取、读取的大小、写入、顺序写入和写入的大小。针对目标块组确定的其它访问模式可以作为输入馈送到ML模型中,以获得预测随机读取次数的结果。使用其它访问模式可以提高ML模型生成的预测随机读取次数的准确度。可以使用其它方法来获得预测非归一化随机读取次数,例如一组规则和/或数学预测模型。
可选地,访问模式是动态衰减的。衰减可以在每一个时间间隔通过将访问模式的当前参数乘以小于1的衰减值来执行,以获得访问模式的适配参数。可以使用其它衰减方法,例如线性、对数、动态变化值等。可以使用访问模式的适配参数来计算预测归一化访问参数。衰减值防止无限增大访问参数的参数值,和/或将访问模式的参数的值保持在能够在合理时间内进行处理的合理状态。例如,每5分钟将读取次数(访问模式的参数的示例)乘以0.99,这样,如果当前有100次读取,则在5分钟之后,读取次数减少到99。
可以针对每个单独的数据块组(例如,每个数据块组)计算访问模式,其中,单独的数据块组包括多个顺序存储的数据块。块可以是存储系统操作的最小粒度。用户可以读取和/或写入单个块和/或多个块。块的大小可以在大约0.5千字节至32千字节(kilobyte,kb)之间,或者其它范围。可以针对多个顺序存储的数据块的每个数据块组计算一个或多个预测非归一化访问参数,而不是针对每个块进行计算。块组可以是例如4兆字节(megabyte,MB)或其它值的连续地址空间。与使用非常大的数据结构来存储每个块的一个或多个非归一化访问参数相比,计算每个数据块组而不是每个块的预测非归一化访问参数降低了存储需求和/或提高了计算性能(例如,处理器利用率、处理器时间)。此外,在较低层级,如果数据在地址空间中是连续的,则需要按顺序存储数据(需要说明的是,数据的一部分可以从较高层级读取,而其余部分则从较低层级顺序读取)。可以针对每个数据块组执行移动(例如,如参考106所描述的)。
可选地,访问模式包括预取过程的预取模式。例如,预取模式可以是顺序、步幅(即每次增加固定步长)和/或随机中的一种或其组合。当数据分量尚未存储在较高层级数据存储设备上时,预取过程将预取的数据分量(其非顺序地位于较低层级数据存储设备上)放置在较高层级数据存储设备上。预取过程计算在当前数据块组被访问的情况下多个候选后续数据块组中的每个候选后续数据块组被访问的概率,并在当前数据块组被访问时预取具有最高概率的后续数据块组。计算概率的预取过程使得能够选择获得最高准确度的数据块组,以存储在较高层级数据存储设备上,这提高了较高层级数据存储设备的性能,因为与保存在较低层级数据存储设备上的具有较低概率的其它分量相比,存储的数据块组在未来最有可能实际被访问。
可选地,计算预取模式(例如,每个预取模式)的准确度。预取模式(例如要预取的数据分量)可以如本文中参考下面讨论的信赖高速缓存过程所描述的那样预测。如本文所使用的,术语信赖高速缓存涉及预测接下来的不一定是顺序的一个或多个位置的预取高速缓存。准确度可以计算为:预取模式正确预取正确分量的情况相对于所有预取尝试(包括预取模式无法预取正确分量的尝试)的百分比。可以选择准确度高于阈值的两个或更多个提取模式。例如,阈值可以是20%、25%、30%、40%、45%、50%或其它值。选择两个或更多个准确度最高的预取模式,因为这样的预取模式在未来最有可能被重新选择。
可选地,预取过程基于根据当前访问(例如,读取)位置计算下一个访问(例如,读取)位置的条件概率,有时被称为信赖高速缓存预取。预取过程(例如,信赖高速缓存预取)计算在当前数据分量被访问的情况下多个候选后续数据分量中的每个候选后续数据分量被访问的概率,并在当前数据分量被访问时预取具有最高概率的后续数据分量。预取过程计算预取模式提取多个候选分量中的每个候选分量的概率。
当条件概率高于阈值时,可以从下一个访问位置预取数据。例如,当对数据存储的访问是非顺序的,但是以可重复的模式(例如,以跨步访问(即,每次相对于当前访问将地址增加固定量))和/或以最初可能看起来是随机的另一种可重复模式时,可以使用信赖高速缓存预取。下一个待访问的位置是根据当前和/或之前的位置计算的,当前和/或之前的位置是根据绝对地址位置和/或相对地址位置访问的。现在描述示例性计算:
在第一位置(表示为A)被访问之后,以下存储器位置被访问多次:第二位置(表示为X)被访问10次,第三位置(表示为Y)被访问3次,以及第四位置(表示为Z)被访问5次。
在第五位置(表示为B)被访问之后,以下存储器位置被访问多次:第二位置(表示为X)被访问6次,第三位置(表示为Y)被访问2次,第四位置(表示为Z)被访问4次,以及第六位置(表示为K)被访问7次。
条件概率计算如下:
·p(X|A)=10/18p(Y|A)=3/18p(Z|A)=5/18
·p(X|B)=6/19p(Y|B)=2/19p(Z|B)=4/19p(K|B)=7/19
如果有两个访问(例如IO),依次是A和B,则可以通过计算以下位置X、Y、Z、K中的每个位置的候选概率来计算待预取的数据位置的建议:
CX=p(X|A)+p(X|B)=10/18+6/19=0.87
CY=p(Y|A)+p(Y|B)=0.27
CZ=p(Z|A)+p(Z|B)=0.71
CK=p(K|A)+p(K|B)=0.36
对概率进行分类,以对获得数据预取的最可能的接下来的位置进行排名。一个或更多个预取模式可以被访问,例如,单个预取、两个预取或更多个预取,和/或根据阈值。第一预取来自位置X。第二预取来自位置Z。第三预取来自位置K。如果使用50%的阈值,则数据从位置X和Z预取。
预取位置(即,X、Y、Z、K)可以称为候选。当前访问位置(即A、B)可以称为选举者。
当前位置与接下来的位置之间的关系可以在矩阵中呈现,矩阵可以被称为关系矩阵,例如,如下(例如,curHis:AB)
X | Y | Z | K | |
A | 10 | 3 | 5 | 0 |
B | 6 | 2 | 4 | 7 |
在104处,针对一个或更多个数据块组计算预测归一化访问参数。可以针对单独的数据块组(例如针对每个数据块组)计算预测归一化访问参数。
预测归一化访问参数是根据压缩参数以及根据基于对访问模式的分析所计算的一个或更多个预测非归一化访问参数计算的。
可选地,预测归一化访问参数是通过将压缩参数(例如,压缩比)乘以预测非归一化访问参数计算的。考虑指示数据块组在较高层级数据存储设备中占用的实际空间的压缩参数(例如,压缩比),提高了较高层级数据存储设备的性能。现在提供一个示例,该示例说明了与不考虑压缩参数(即仅使用非归一化访问参数)相比,考虑压缩参数(即,使用预测归一化访问参数)以用于数据块组移动的好处。考虑下表中的三个块组。
在不考虑压缩参数的情况下,并且在最较高层级中有4MB的空间,以及在较低层级中有8MB的空间,则使用标准方法,块组A将放置在较高层级中,以及块组B、块组C将放置在较低层级中。这意味着在14个IO中,6个IO将从较高层级提供服务,而8个IO将从较低层级提供服务。然而,由于数据是可压缩的,所以较高层级中的数据量将是4MB(根据值为1的压缩参数,块组A是不可压缩的),而较低层级中的数据量也是4MB(根据值为2的压缩参数,4MB的两个块组中的每个可压缩为2MB)。因此,最好将块组B和块组C保留在较高层级中,从而获得来自较高层级的8次读取,而不是在将块组A放置在较高层级中的情况下,从较高层级获得6次读取。
现在考虑预测归一化访问参数为读取次数,它指示块组占用的实际空间。如表中所示,块组A的归一化读取次数为6(即计算为1*6),而块组B和块组C的归一化次数为8(即,2*4),因此与块组A相比具有更高的归一化预测读取值的块组B和块组C被移到较高层级。
当数据块组放置在较高层级数据存储设备和/或较低层级数据存储设备中时,压缩参数可以计算为:数据块组在未压缩时的大小与数据块组在通过压缩过程压缩时的大小之间的压缩比。由于不同层级之间的压缩方法可能不同,因此使用根据在较高层级和/或较低层级中使用的压缩方法计算的压缩参数提供了更准确的预测归一化访问参数。例如,在较低层级(例如,HDD)处,可以应用更强的压缩算法和/或压缩块粒度可以更高,以产生更好的压缩比。
压缩参数可以是根据重复数据删除参数计算的,重复数据删除参数指示数据块组的经重复数据删除的数据占用的空间量。重复数据删除对数据例如在较高层级数据存储设备中占用的空间量有很大影响。例如,当数据块组在较高层级数据存储设备上完全经重复数据删除时,即使从未访问过该块组,也没有必要将其移动到较低层级数据存储设备,因为经重复数据删除的块组实际上并不占用较高层级数据存储设备上的空间。当数据块组包括多个数据块时,重复数据删除参数可以如下计算。对于每个未经重复数据删除的相应数据块,重复数据删除参数指示相应数据块的大小。对于每个经重复数据删除的相应数据块,重复数据删除参数被计算为相应数据块的压缩大小除以相应数据块的副本数量。例如,当数据块在数据存储设备上出现10次时,该数据块在该数据块组中占用的空间量被计算为:经压缩的数据块的大小除以10。对于n个数据块的数据块组,可以使用以下数学表示来计算重复数据删除参数: 其中,comp_sizei指示经压缩的数据块的大小,以及#copiesi指示数据块的副本数量。
当数据块组放置在较高层级数据存储设备上时,基于重复数据删除参数的压缩比可以被计算为:未应用重复数据删除时的数据块组的大小除以通过重复数据删除过程对数据块组的数据块应用了重复数据删除的数据块组的大小。压缩比考虑了数据块组放置在目标层级时重复数据删除对数据块组的大小的影响。由于不同层级之间的重复数据删除方法可能不同,因此使用根据较高层级(移动到较高层级时)使用的重复数据删除方法计算的压缩参数提供了更准确的预测归一化访问参数。在一些情况下,例如,当应用的重复数据删除不能提前准确确定和/或不能提前高效地通过计算确定时,可以根据较低层级中的重复数据删除来评估和/或近似(例如,预测)较高层级上的重复数据删除量,直到数据块组实际移动到较高层级。
可以在将数据块组移动到较高层级或较低层级之前,根据重复数据删除参数计算压缩参数。在移动数据块组之前计算重复数据删除参数(例如,压缩比)有助于避免访问时间过长的情况。如果在已经执行重复数据删除之后移动数据块组,则数据可能看起来适合于较低层级,但是,访问经重复数据删除的数据的随机访问时间可能会非常长。
压缩参数可以根据指示数据块组的增量压缩数据占用的空间量的增量压缩参数(例如,压缩比)来计算。增量压缩是数据缩减的另一种形式,它找到相似的块组并将它们压缩在一起。增量压缩可能会对数据例如在较高层级数据存储设备中占用的空间量有显著影响。基于增量压缩参数的压缩比可以被计算为:在未应用增量压缩时数据块组和增量块的原始大小除以数据块组的数据块的增量压缩中使用的数据块组的数据块的总大小。例如,压缩比可以选择为压缩之前要一起压缩的所有块组的大小除以经压缩的块组的大小,即,对于为8千字节(kilobyte,KB)的3个块组(即总共24KB)的压缩,其中,压缩之后的块组的大小为12KB,压缩比为2,因此对于每个8KB,压缩比被定义为2,其中,假设在压缩之后8KB块组占用4KB(实际上,当每个8KB单独被压缩时,可以得到系数1.1作为示例)。当数据块组放置在较高层级数据存储设备中时,可以根据增量压缩过程计算压缩参数。压缩比考虑了数据块组放置在目标层级时增量压缩对数据块组的大小的影响。由于不同层级之间的增量压缩方法可能不同,因此使用根据较高层级(移动到较高层级时)使用的增量压缩方法计算的增量压缩参数提供了更准确的预测归一化访问参数。
在106处,根据预测归一化访问参数,在较低层级数据存储设备与较高层级数据存储设备之间移动数据块组。数据块组可以从较高层级数据存储设备移动到较低层级数据存储设备。替代地,数据块组可以从较低层级数据存储设备移动到较高层级数据存储设备。
具有高于阈值的预测归一化访问参数(例如,预测归一化随机读取次数、预测归一化写入次数、预测归一化顺序读取次数)的数据块组和/或根据预测归一化访问参数(例如,预测归一化随机读取次数、预测归一化写入次数、预测归一化顺序读取次数)排名最高的数据块组被移动到较高层级数据存储设备。将具有最高预测随机读取和/或根据预测随机读取排名最高的数据块组移动到较高层级数据存储设备改进了对数据块组的访问时间,和/或提高了包括较低层级数据存储设备和较高层级数据存储设备的数据存储系统的整体性能。具有低于阈值的预测归一化访问参数(例如,预测归一化随机读取次数、预测归一化写入次数、预测归一化顺序读取次数)的数据块组和/或根据预测归一化访问参数(例如,预测归一化随机读取次数、预测归一化写入次数、预测归一化顺序读取次数)排名最低的数据块组被移动到较低层级数据存储设备。当从较低层级提供服务时,写入和/或顺序读取对性能的影响较小。这样,将具有最高和/或最高排名的预测归一化写入和/或归一化顺序读取次数的数据块组移动到较低层级数据存储设备提高了包括较低层级数据存储设备和较高层级数据存储设备的数据存储系统的整体性能(例如,通过为例如具有高的预测随机读取的其它数据块组释放较高层级存储)。
文件包括多个数据块组。数据块组的第一子集可以位于较高层级,以及数据块组的第二子集可以位于较低层级。根据针对文件的每个单独的数据块组计算的预测归一化访问参数,可以在较低层级数据存储设备与较高层级数据存储设备之间移动文件的单独的数据块组。同一文件的不同数据块组可以存储在不同的层级中,并根据针对每个块组计算的预测归一化访问参数在层级之间移动。单独考虑针对文件的每个数据块组的最佳层级改进了对相应数据块组的访问和/或对文件的整体访问。例如,在层级之间移动同一文件的单独的数据块组与移动整个文件形成对比。
可选地,在每个时间间隔移动预设的最大数量的数据块组。
在108处,例如,可以在多个时间间隔上迭代关于102至106描述的一个或更多个特征,以用于在较高层级与较低层级之间动态移动数据块组。
在研究下文附图和详细描述之后,本公开内容的其它系统、方法、特征和优点对于本领域技术人员来说将是明显的或变得明显的。旨在将所有这些其它系统、方法、特征和优点包括在本说明书中、在本公开内容的范围内,并且受所附权利要求的保护。
对本公开内容的各个实施例的描述只是为了说明的目的,而这些描述并不旨在穷举或限于所公开的实施例。在不脱离所描述的实施例的范围和精神的情况下,许多修改和变化对本领域技术人员而言将是明显的。选择本文使用的术语可最好地解释本实施例的原理、实际应用或相比于市场上存在的技术的技术进步,或使本领域其它技术人员理解本文公开的实施例。
预计在本申请到期的专利有效期内,许多相关的分层存储系统将被开发出来,以及术语分层存储系统的范围旨在先验地包括所有此类新技术。
本文所使用的术语“约”是指±10%。
术语“包括”、“包含”、“含有”、“包括有”、“具有”以及其变化形式表示“包括但不限于”。这个术语包括了术语“由……组成”以及“基本上由……组成”。
短语“基本上由……组成”表示组成物或方法可以包含附加成分和/或步骤,但前提是附加成分和/或步骤不会实质上改变所要求保护的组成物或方法的基本和新颖特性。
除非上下文另有明确说明,否则本文使用的单数形式“一”、“一个”和“该”包括复数含义。例如,术语“复合物”或“至少一种复合物”可以包括多种复合物,包括其混合物。
本文所使用的词语“示例性的”表示“作为示例、实例或说明”。任何被描述为“示例性的”实施例不一定解释为比其它实施例更优选或更有利,和/或排除来自其它实施例的特征的结合。
本文所使用的词语“可选地”表示“在一些实施例中提供且在其它实施例中没有提供”。本公开内容的任何特定实施例都可以包括多个“可选的”特征,除非这些特征有冲突。
在本申请中,本公开内容的各种实施例可以范围格式呈现。应理解,范围格式的描述仅为了方便和简洁起见,并且不应该被解释为对本公开内容的范围的固定限制。因此,对范围的描述应被认为是已经具体地公开所有可能的子范围以及该范围内的单独数值。例如,对于例如从1到6的范围的描述应被认为是已具体公开了从1到3、从1到4、从1到5、从2到4、从2到6、从3到6等的子范围以及该范围内的单个数字,例如1、2、3、4、5和6。不论范围有多广,这都适用。
当本文指示数字范围时,表示包括所指示的范围内的任何所列举的数字(分数或整数)。短语“第一指示数字与第二指示数字之间的变动/范围”以及“从第一指示数字到第二指示数字的变动/范围”在本文中可互换使用,并且表示包括第一指示数字和第二指示数字以及二者之间的所有分数和整数。
应了解,为了描述的简洁性,在单独实施例的上下文中描述的本公开内容的某些特征还可以在单个实施例中组合提供。相反地,为了描述的简洁性,在单个实施例的上下文中描述的本公开内容的各个特征也可以单独地或以任何合适的子组合来提供或作为本公开内容的任何其它描述的实施例合适地提供。在各个实施例的上下文中描述的某些特征不被认为是这些实施例的基本特征,除非在没有这些元件的情况下实施例是不可操作的。
一个或多个申请人的目的是,本说明书中提及的所有出版物、专利和专利申请书都通过全文引用结合在本说明书中,如同每个单独的出版物、专利或专利申请书在提及要通过引用结合在本文中时被具体和单独指出。此外,对本申请的任何参考文献的引用或标识不应该被解释为允许这样的参考文献可用作本公开内容的现有技术。就使用节标题而言,不应该将节标题理解成必要的限定。另外,本申请的任何一个或多个优先权文件的全部内容通过引用结合在本申请中。
Claims (23)
1.一种用于分层存储管理(208)的计算设备(204),其特征在于,用于:
监控对位于较低层级数据存储设备(210)和较高层级数据存储设备(212)上的多个数据块组的访问模式;
根据压缩参数和基于对所述访问模式的分析所计算的预测非归一化访问参数,针对所述多个数据块组中的数据块组计算预测归一化访问参数;以及
根据所述预测归一化访问参数,在所述较低层级数据存储设备与所述较高层级数据存储设备之间移动所述数据块组。
2.根据上述权利要求中任一项所述的计算设备,其特征在于,所述预测归一化访问参数是通过将所述压缩参数乘以所述预测非归一化访问参数来计算的。
3.根据上述权利要求中任一项所述的计算设备,其特征在于,当所述数据块组放置在所述较高层级数据存储设备上时,所述压缩参数包括:所述数据块组在未经压缩时的大小与所述数据块组在通过压缩过程被压缩时的大小之间的压缩比。
4.根据上述权利要求中任一项所述的计算设备,其特征在于,所述压缩参数是根据重复数据删除参数计算的,所述重复数据删除参数指示所述数据块组的经重复数据删除的数据占用的空间量。
5.根据权利要求4所述的计算设备,其特征在于,所述数据块组包括多个数据块,以及所述重复数据删除参数通过以下方式计算:对于未经重复数据删除的每个相应数据块,所述重复数据删除参数指示所述相应数据块的大小,对于经重复数据删除的每个相应数据块,所述重复数据删除参数被计算为所述相应数据块的压缩大小除以所述相应块的副本数量。
6.根据权利要求4或5所述的计算设备,其特征在于,当所述数据块组放置在所述较高层级数据存储设备上时,基于所述重复数据删除参数的所述压缩比被计算为:未应用重复数据删除时的所述数据块组的大小除以通过重复数据删除过程对所述数据块组的数据块应用了重复数据删除的所述数据块组的大小。
7.根据权利要求4至6中任一项所述的计算设备,其特征在于,所述压缩参数是在将所述数据块组移动到所述较高层级或所述较低层级之前根据所述重复数据删除参数计算的。
8.根据上述权利要求中任一项所述的计算设备,其特征在于,所述压缩参数是根据增量压缩参数计算的,所述增量压缩参数指示所述数据块组的增量压缩数据占用的空间量。
9.根据权利要求8所述的计算设备,其特征在于,基于所述增量压缩参数的所述压缩比被计算为:在未应用增量压缩时所述数据块组和增量块的原始大小除以所述数据块组的数据块的所述增量压缩中使用的所述数据块组的数据块的总大小。
10.根据权利要求9所述的计算设备,其特征在于,当所述数据块组放置在所述较高层级数据存储设备中时,根据增量压缩过程计算所述压缩参数。
11.根据上述权利要求中任一项所述的计算设备,其特征在于,具有高于阈值的预测归一化访问参数的数据块组和/或根据预测归一化访问参数排名最高的数据块组被移动到所述较高层级数据存储设备,并且具有低于所述阈值的预测归一化访问参数的数据块组和/或根据预测归一化访问参数排名最低的数据块组被移动到所述较低层级数据存储设备。
12.根据上述权利要求中任一项所述的计算设备,其特征在于,在每个时间间隔移动预设的最大数量的数据块组。
13.根据上述权利要求中任一项所述的计算设备,其特征在于,所述数据块组的所述预测归一化访问参数包括所述数据块组的预测归一化随机读取次数,其中,具有高于阈值的预测归一化随机读取次数的数据块组和/或根据预测归一化随机读取次数排名最高的数据块组被移动到所述较高层级数据存储设备。
14.根据上述权利要求中任一项所述的计算设备,其特征在于,所述数据块组的所述预测归一化访问参数包括所述数据块组的预测归一化写入和/或归一化顺序读取次数,其中,具有高于阈值的预测归一化写入和/或归一化顺序读取次数的数据块组和/或根据预测归一化写入和/或归一化顺序读取次数排名最高的数据块组被移动到所述较低层级数据存储设备。
15.根据上述权利要求中任一项所述的计算设备,其特征在于,所述预测非归一化访问参数是根据对选自以下的访问模式的分析来计算的:读取、顺序读取、读取的大小、写入、顺序写入和写入的大小。
16.根据上述权利要求中任一项所述的计算设备,其特征在于,所述数据块组的所述预测非归一化访问参数包括作为在多个记录的训练数据集上训练的机器学习模型的结果生成的所述数据块组的预测非归一化随机读取次数,每个记录包括用相应块组的随机读取次数的地面真值标签标记的所述相应块组。
17.根据上述权利要求中任一项所述的计算设备,其特征在于,还包括在每个时间间隔通过将所述访问模式的当前参数乘以小于1的衰减值来动态地衰减所述访问模式,以获得所述访问模式的适配参数,其中,所述预测归一化访问参数是使用所述访问模式的所述适配参数计算的。
18.根据上述权利要求中任一项所述的计算设备,其特征在于,文件包括多个数据块组,其中,所述多个数据块组的第一子集位于所述较高层级,并且所述多个数据块组的第二子集位于所述较低层级,其中,根据针对所述文件的每个单独的数据块组计算的所述预测归一化访问参数,在所述较低层级数据存储设备与所述较高层级数据存储设备之间移动所述文件的单独的数据块组。
19.根据上述权利要求中任一项所述的计算设备,其特征在于,所述访问模式包括预取过程(206B)的预取模式。
20.根据权利要求19所述的计算设备,其特征在于,所述预取过程计算在当前数据块组被访问的情况下多个候选后续数据块组中的每个候选后续数据块组被访问的概率,并在所述当前数据块组被访问时预取具有最高概率的所述后续数据块组。
21.根据上述权利要求中任一项所述的计算设备,其特征在于,针对包括多个顺序存储的数据块的每个数据块组计算所述访问模式,针对每个数据块组计算所述预测归一化访问参数,并且针对每个数据块组执行所述移动。
22.一种计算机实现的分层存储管理的方法,其特征在于,包括:
监控对位于较低层级数据存储设备和较高层级数据存储设备上的多个数据块组的访问模式(102);
根据压缩参数和基于对所述访问模式的分析所计算的预测非归一化访问参数,针对所述多个数据块组中的数据块组计算预测归一化访问参数(104);以及
根据所述预测归一化访问参数,在所述较低层级数据存储设备与所述较高层级数据存储设备之间移动所述数据块组(106)。
23.一种非暂态介质(206),其特征在于,存储用于分层存储管理的程序指令(206B),所述程序指令在由处理器(202)执行时,使所述处理器:
监控对位于较低层级数据存储设备和较高层级数据存储设备上的多个数据块组的访问模式;
根据压缩参数和基于对所述访问模式的分析所计算的预测非归一化访问参数,针对所述多个数据块组中的数据块组计算预测归一化访问参数;以及
根据所述预测归一化访问参数,在所述较低层级数据存储设备与所述较高层级数据存储设备之间移动所述数据块组。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/EP2021/081384 WO2023083454A1 (en) | 2021-11-11 | 2021-11-11 | Data compression and deduplication aware tiering in a storage system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117677941A true CN117677941A (zh) | 2024-03-08 |
Family
ID=78695712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180100614.5A Pending CN117677941A (zh) | 2021-11-11 | 2021-11-11 | 存储系统中的数据压缩和重复数据删除感知分层 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117677941A (zh) |
WO (1) | WO2023083454A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116975008B (zh) * | 2023-09-22 | 2023-12-15 | 青岛海联智信息科技有限公司 | 一种船舶气象监测数据优化存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8527467B2 (en) * | 2011-06-30 | 2013-09-03 | International Business Machines Corporation | Compression-aware data storage tiering |
-
2021
- 2021-11-11 CN CN202180100614.5A patent/CN117677941A/zh active Pending
- 2021-11-11 WO PCT/EP2021/081384 patent/WO2023083454A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023083454A1 (en) | 2023-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11797185B2 (en) | Solid-state drive control device and learning-based solid-state drive data access method | |
Desnoyers | Analytic modeling of SSD write performance | |
CN112970006B (zh) | 一种基于递归神经网络的内存访问预测方法和电路 | |
CN112667528A (zh) | 一种数据预取的方法及相关设备 | |
CN113254362A (zh) | 存储设备和存储器控制器的操作方法 | |
US9189408B1 (en) | System and method of offline annotation of future accesses for improving performance of backup storage system | |
CN111033478A (zh) | 使用磁盘高速缓存的动态trim处理 | |
CN115756312A (zh) | 数据访问系统、数据访问方法和存储介质 | |
Chen et al. | A hybrid memory built by SSD and DRAM to support in-memory Big Data analytics | |
CN117677941A (zh) | 存储系统中的数据压缩和重复数据删除感知分层 | |
US10303655B1 (en) | Storage array compression based on the structure of the data being compressed | |
Xu et al. | An efficient resource-optimized learning prefetcher for solid state drives | |
Gholami Taghizadeh et al. | CA-Dedupe: Content-aware deduplication in SSDs | |
CN117916726A (zh) | 数据存储系统的智能碎片整理 | |
US11055622B2 (en) | Data storage apparatus with selective adaptive predictive behavior | |
CN111796757B (zh) | 一种固态硬盘缓存区管理方法和装置 | |
CN117813592A (zh) | 压缩缓存作为缓存层级 | |
CN117203624A (zh) | 可预取数据的智能缓存 | |
US11074173B1 (en) | Method and system to determine an optimal over-provisioning ratio | |
Gu et al. | Hotis: A hot data identification scheme to optimize garbage collection of ssds | |
CN117242439A (zh) | 分层存储上的智能数据放置 | |
Park et al. | A flash-based SSD cache management scheme for high performance home cloud storage | |
CN117235088B (zh) | 一种存储系统的缓存更新方法、装置、设备、介质及平台 | |
Baek et al. | Don’t make cache too complex: A simple probability-based cache management scheme for SSDs | |
US11385798B1 (en) | Method and system for application aware, management of write operations on non-volatile storage |
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 |