CN113805812B - 一种缓存管理方法、装置、设备及存储介质 - Google Patents
一种缓存管理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN113805812B CN113805812B CN202111107678.6A CN202111107678A CN113805812B CN 113805812 B CN113805812 B CN 113805812B CN 202111107678 A CN202111107678 A CN 202111107678A CN 113805812 B CN113805812 B CN 113805812B
- Authority
- CN
- China
- Prior art keywords
- file
- cache
- judging
- type
- application scene
- 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
- 238000007726 management method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 8
- 238000007405 data analysis Methods 0.000 claims description 7
- 239000000872 buffer Substances 0.000 description 12
- 230000003044 adaptive effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0643—Management of files
-
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种缓存管理方法、装置、设备及存储介质,用于管理缓存可调的存储设备,该方法包括:记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;根据所述适配的应用场景调整所述存储设备的缓存大小;不同的应用场景对应不同大小的缓存,使得存储介质的缓存大小可以动态分配,使得用户体验更好,效率更高。
Description
技术领域
本发明涉及存储设备领域,尤其涉及一种缓存管理方法、装置、设备及存储介质。
背景技术
现有SSD(固态硬盘)在硬盘的存储空间中设置一部分作为数据的缓存(buffer)。该缓存主要是从MLC(多层单元)存储区域中划出一部分作为SLC(单层单元)使用,虽然SLC的存储容量小,但能够获得比MLC更快的读写速度。数据写入时可以先放入Buffer中,能够明显提高对此数据的读写速度。当Buffer中数据容量接近Buffer的极限时,则将该数据转移到其他MLC单元中。
其中问题在于Buffer容量设置,现有SSD的buffer都是固定的:如果Buffer过大,会将过多的MLC单元作为SLC单元使用,导致硬盘容量减小;如果Buffer过小,便起不到提高读写速度的作用,而且会频繁进行数据转移,极大浪费硬盘寿命。
发明内容
针对上述问题,本申请提供一种缓存管理方法,用于管理缓存可调的存储设备,包括:
记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;
根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;
根据所述适配的应用场景调整所述存储设备的缓存大小。
进一步的,所述文件的类型的判断方法包括:
在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;
当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件。
进一步的,所述存储设备预先设置有至少两个应用场景,包括:
大文件应用场景,所述存储设备的缓存大小为第一缓存值;
小文件应用场景,所述存储设备的缓存大小为第二缓存值;
所述第一缓存值与所述第二缓存值不相等。
进一步的,所述适配的应用场景的判断方法包括:
记录在所述预设时间范围内大文件的写入次数;
若所述大文件的写入次数大于等于第二预设阈值,则认为所述适配的应用场景为所述大文件应用场景,将所述存储设备的缓存大小调整为第一缓存值;
若所述大文件的写入次数小于第二预设阈值,则认为所述适配的应用场景为所述小文件应用场景,将所述存储设备的缓存大小调整为第二缓存值。
进一步的,还包括:
当所述写入次数到达所述第一预设阈值时,将所述写入次数重置,并记录重置次数;
当所述重置次数到达第三预设阈值,则判断所述文件的类型为超大文件,且所述大文件的写入次数随所述数据写入次数的重置次数累加。
进一步的,还包括:
若所述存储设备的存储空间占用量大于等于预设比例,将所述存储设备的缓存大小设定为固定值;
若所述存储设备的存储空间占用量小于预设比例,则执行所述记录预设时间范围内文件向存储设备中传输的数据,并根据所述数据判断所述文件的类型的操作。
进一步的,本申请的实施例还提供一种缓存管理装置,包括:
数据分析模块,用于记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;
场景判断模块,根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;
设置模块,用于根据所述适配的应用场景调整所述存储设备的缓存大小。
进一步的,所述数据分析模块包括:
计数子模块,用于在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
文件判断子模块,用于当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件。
进一步的,本申请的实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例中任一所述的缓存管理方法。
本申请的实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例中任一所述的缓存管理方法。
本申请通过记录预设时间范围内对存储介质文件传输的数据,并基于所述数据确定文件传输的大小;根据所述文件大小判断所述存储介质的当前文件传输的应用场景;若当前应用场景和当前设置的应用场景不同,则更改当前设置的应用场景;不同的应用场景对应不同大小的缓存。使得存储介质的缓存可以根据用户的实际情况来动态更改,大文件频繁读写的则缓存高一点,否则就少一点,使得存储介质空间利用效率提高,给用户更好的体验。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请一种存储介质缓存管理方法流程示意图;
图2示出了本申请数据文件大小确认方法流程示意图;
图3示出了本申请存储介质存储结构示意图;
图4示出了本申请缓存管理装置结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
在众多种类的存储设备中,比如固态硬盘,为了保证文件的传输速度和读写速度,会在硬盘的闪存芯片中设置缓存区,在存储设备中,会存在多个闪存芯片,该芯片类型可分为单层单元闪存和多层单元闪存,此处以MLC(多层单元)为例。
如图3所示,每个MLC闪存芯片中包含多个页,分别是低位页和高位页,低位页的编程速度快,因为其阈值电压只需要超过使电路能够区分擦除状态的高度即可。
高位页的编程速度慢,因为需要先确认对应的低位页处于0还是1的状态,再根据所需写入的信息,将存储单元的电压精确地置于多种电压状态的一种,由此将高位页置于0或1的状态。
如果只使用低位页进行写入操作,其相当于一个虚拟SLC存储区域,也就是缓存,这种情况下,其读写文件的速度远远高于既使用高位页又使用低位页的存储区域读取速度,采用该缓存的好处在于,当文件传输时,可以由缓存先存储数据,使得数据快速转移到硬盘中,然后在空闲时候再将缓存中的数据转移到硬盘中的其它非虚拟SLC存储区域的闪存区域中保存,保证用户的体验,但是该缓存会占用掉一部分存储空间,因为高位页不工作,进而导致了硬盘存储空间的浪费,因此需要合理的分配缓存大小。
本方案提供一种缓存管理方法,如图1所示。
步骤S100,记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;
本实施例中以固态硬盘为例,当硬盘出厂时有默认设置的缓存,在硬盘装机到用户手上后,其默认的缓存大小不一定能适配用户的应用场景,因此需要判断用户的实际应用场景,因此需要在预设时间范围内判断用户常用状态,是大文件传输居多还是小文件传输居多,因此就需要判断在这个时间段内向存储设备中传输的文件的类型。
文件的类型的判断如图2中的流程图所示,其步骤包括:
步骤S101,在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
文件在传输到硬盘中时,硬盘中的控制器将数据以I/O流的形式写入到硬盘中,并且是分段写入的,根据硬件配置的不同,每段写入的数据大小为4k/8k/16k不等,主机写入数据一般分为顺序写入和随机写入,随机写入用于程序运行时,顺序写入用于文件传输时,因此通过判断顺序写入还是随机写入就可以知道是否是在传输文件。
硬盘可以根据主机在写入数据时的提供的逻辑地址是否连续,判断该写入行为是否为顺序写入。例如,主机写入I/O流数据时,提供的逻辑地址是连续的,则判断其为连续写入;若不连续,则为随机写入。
当判断得知是顺序写入,则开始记录单个文件传输时数据的写入次数,此处的写入次数指的就是上述每段数据大小为4k/8k/16k数据段的写入次数,在一个文件传输完成前,计数器会一直计算该写入次数的大小,且因为每次写入的数据大小是一定的,所以根据写入次数可以计算一个文件的大小。
步骤S102,当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;
在本实施例中会设置一个第一预设阈值,该阈值用于和步骤S101中的数据写入次数进行对比,判断该文件的零散度大小,当传输中的文件在传输完成前,数据的写入次数就大于了第一预设阈值,则认为该文件的零散度小,该文件的类型为大文件,记录下传输的大文件数量,并且重置写入次数的计数,为下个文件计数做准备。
此处第一预设阈值其实相当于一个大文件容量指标,比如当一个文件大于5GB,则认为是大文件,而该硬盘在写入数据时每次写入的数据大小为4KB,则第一预设阈值就为5GB/4KB。
步骤S103,当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件。
类似于步骤S102中的判断方式,若是一个文件在传输完成时,数据写入次数都没有达到第一预设阈值,则判断该文件零散度大,该文件的类型为小文件,小文件不参与到对大文件的数量计数中,然后重置数据写入次数。
步骤S200,根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;
根据上述步骤可知,在预设时间内能够统计得到大文件传输的数量,根据这些大文件数量就可以判断当前的适配的应用场景是如何的。在硬盘中一般会预先设定有多个应用场景,至少包括一个大文件应用场景和一个小文件应用场景,本申请通过预设时间内大文件的传输数量判断硬盘是否处于大文件传输的应用场景,当大文件的传输数量大于等于了第二预设阈值,则认为当前硬盘会频繁传送大文件,因而判断当前的适配的应用场景为大文件应用场景,若在预设时间内大文件的传输数量没有超过第二预设阈值,则认为当前的适配场景是小文件应用场景。
具体的,在系统中设定一个第二预设阈值,以判断在预设时间内大文件的传输数量是否达到该预设值,其中该预设值和与预设时间范围相对应,比如预设时间范围为1小时,则第二预设阈值则会相对小一点,比如3,若是预设时间范围为10小时,则第二预设阈值则会相对大一点,比如10,该值在硬盘出厂时便有默认设置,同时也允许用户进入管理员模式进行自定义设置。
其中,特别的,有些文件很大,比如公司里的工程文件,动辄几十个G的超大文件,将这些文件和其他的七八个G大小的文件同样认为是大文件显然不合理,因此在上述步骤计算写入次数,判断到大文件时,还会重置数据写入次数,以进行循环的计数,从而在面对这些超大文件时,可能会多次重置数据写入次数的同时,每次重置也会增加大文件计数数据,使得一个超大文件会等价于多个大文件,以避免在一个时间段内因为只传输超大文件,却判断为小文件应用场景的问题。
步骤S300,根据所述适配的应用场景调整所述存储设备的缓存大小。
在步骤S200中判断当前的适配的应用场景后,将当前适配的应用场景和当前设置在硬盘中的应用场景进行比对,若相同,则保持当前的缓存大小,若不同,则更改当前设置的应用场景,并将硬盘中的缓存大小调整为应用场景内设定好的缓存值。其中,硬盘中预先设置的多个应用场景分别对应有不同的缓存值。具体的,大文件应用场景下,硬盘会将缓存大小设置成第一缓存值;小文件应用场景下,硬盘会将缓存大小设置成第二缓存值,不同应用场景下对应的硬盘缓存大小不相等,因此硬盘将当前的适配的应用场景选择为对应的应用场景后,会将硬盘的缓存调整为该应用场景下的缓存值。每个应用场景和一个设定好的缓存大小绑定,并且可以根据每个硬盘的不同而有所不同,比如一个256G的存储介质,其大文件应用场景的第一缓存值大小一般设置为20G,小文件应用场景的第二缓存值大小为4G,并且可以上下浮动,一般来讲,大文件应用场景的缓存大小占改硬盘总容量的百分之8至百分之10为合理,小文件应用场景的缓存大小占硬盘总容量的百分之3至百分之5为合理,既考虑到了硬盘容量,不会因为设置太大的缓存空间使得硬盘的存储区域变小,同时也考虑到了文件传输速度,使得缓存大小更为合理。
除了上述的个人应用场景外,位于服务器的硬盘会面临多用户各种不同的应用场景,比如云存储服务,云端服务器会面对数以万计的用户在云端上存储资源,虽然情况更加复杂,但是通过识别用户IP地址,针对不同的用户进行行为模式记录,再利用上述实施例中类似的方法可以给每个用户的应用场景进行识别判断,以此判断在哪些时间段,是哪些种类的用户会高频率的使用服务器,在服务器上进行读写操作,因此可以将对应时间和用户群体对硬盘的缓存大小进行改变,以保证用户们在服务器上的使用体验。
另外,也存在硬盘使用空间过多的情况,当硬盘的使用空间到达了一个预设比例,比如百分之八十,那么这个硬盘占用空间过多,即便是大文件应用场景也不适合有那么大的缓存空间,那么这个时候若是用大文件应用场景的缓存,则会严重影响到程序的运行,会对硬盘的运行产生极大负荷,因此在这种情况下,无论判断当前应用场景是什么,都将硬盘的缓存大小设置为某一固定值,可以使用最低限度的缓存大小,比如硬盘总容量百分之2至百分之3之间的某一值,甚至直接取消缓存设置,以保证程序正常运行为优先。
如果该硬盘的存储空间占用量未达到预设比例,则执行上述步骤S100。
本申请的实施例,通过实时统计预设时间范围内在硬盘中存储的大文件数量,以判断当前的适配的应用场景,通过选择适配的应用场景对应的硬盘预设的应用场景,实现对硬盘缓存的动态调整,并且也设立了保护机制,在硬盘占用量过大的情况下可以直接按照最低限度设置缓存或者取消缓存,使得用户使用硬盘的时候更加智能化和自动化,让用户感觉不到读写大文件和小文件时的体验变化,给用户更好的使用体验。
实施例2
如图4所示,本申请还提供本申请还提供一种缓存设置装置,包括数据分析模块10,场景判断模块20,设置模块30,其中数据分析模块还包括计数子模块11和文件判断子模块12。
数据分析模块10,用于记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;
场景判断模块20,用于根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;
设置模块30,用于根据所述适配的应用场景调整所述存储设备的缓存大小。
写入次数计数子模块11,用于在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
文件判断子模块12,用于当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件。
本申请的实施例还提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述实施例中任一所述的缓存管理方法。
本申请的实施例还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行上述实施例中任一所述的缓存管理方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (6)
1.一种缓存管理方法,其特征在于,用于管理缓存可调的存储设备,包括:
记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;
根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;
根据所述适配的应用场景调整所述存储设备的缓存大小;
所述文件的类型的判断方法包括:
在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;
当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件;
所述存储设备预先设置有至少两个应用场景,包括:
大文件应用场景,所述存储设备的缓存大小为第一缓存值;
小文件应用场景,所述存储设备的缓存大小为第二缓存值;
所述第一缓存值与所述第二缓存值不相等;
所述判断所述存储设备适配的应用场景包括:
记录在所述预设时间范围内大文件的写入次数;
若所述大文件的写入次数大于等于第二预设阈值,则认为所述适配的应用场景为所述大文件应用场景,将所述存储设备的缓存大小调整为第一缓存值;
若所述大文件的写入次数小于第二预设阈值,则认为所述适配的应用场景为所述小文件应用场景,将所述存储设备的缓存大小调整为第二缓存值。
2.根据权利要求1所述的缓存管理方法,其特征在于,还包括:
当所述写入次数到达所述第一预设阈值时,将所述写入次数重置,并记录重置次数;
当所述重置次数到达第三预设阈值,则判断所述文件的类型为超大文件,且所述大文件的写入次数随所述数据写入次数的重置次数累加。
3.根据权利要求1所述的缓存管理方法,其特征在于,还包括:
若所述存储设备的存储空间占用量大于等于预设比例,将所述存储设备的缓存大小设定为固定值;
若所述存储设备的存储空间占用量小于预设比例,则执行所述记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型的操作。
4.一种缓存管理装置,其特征在于,包括:
数据分析模块,用于记录预设时间范围内存储设备中传输的文件数据,并根据所述文件数据判断所述文件的类型;
场景判断模块,用于根据所述文件的类型,从预先设置的若干应用场景中判断所述存储设备适配的应用场景;
设置模块,用于根据所述适配的应用场景调整所述存储设备的缓存大小;
所述数据分析模块包括:
计数子模块,用于在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
文件判断子模块,用于当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件;
所述文件的类型的判断方法包括:
在确定为顺序写入类型时,记录所述文件传输时的数据写入次数;
当所述数据写入次数大于等于第一预设阈值,则判断所述文件的类型为大文件;
当所述数据写入次数小于第一预设阈值且完成传输,则判断所述文件的类型为小文件;
所述存储设备预先设置有至少两个应用场景,包括:
大文件应用场景,所述存储设备的缓存大小为第一缓存值;
小文件应用场景,所述存储设备的缓存大小为第二缓存值;
所述第一缓存值与所述第二缓存值不相等;
所述判断所述存储设备适配的应用场景包括:
记录在所述预设时间范围内大文件的写入次数;
若所述大文件的写入次数大于等于第二预设阈值,则认为所述适配的应用场景为所述大文件应用场景,将所述存储设备的缓存大小调整为第一缓存值;
若所述大文件的写入次数小于第二预设阈值,则认为所述适配的应用场景为所述小文件应用场景,将所述存储设备的缓存大小调整为第二缓存值。
5.一种计算机设备,其特征在于,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行权利要求1至3中任一项所述的缓存管理方法。
6.一种可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至3中任一项所述的缓存管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107678.6A CN113805812B (zh) | 2021-09-22 | 2021-09-22 | 一种缓存管理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111107678.6A CN113805812B (zh) | 2021-09-22 | 2021-09-22 | 一种缓存管理方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113805812A CN113805812A (zh) | 2021-12-17 |
CN113805812B true CN113805812B (zh) | 2024-03-05 |
Family
ID=78939961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111107678.6A Active CN113805812B (zh) | 2021-09-22 | 2021-09-22 | 一种缓存管理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113805812B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344505B (zh) * | 2022-08-01 | 2023-05-09 | 江苏华存电子科技有限公司 | 一种基于感知分类的内存访问方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951182A (zh) * | 2017-02-24 | 2017-07-14 | 深圳市中博睿存信息技术有限公司 | 一种块设备缓存方法和装置 |
CN111538678A (zh) * | 2020-04-20 | 2020-08-14 | 深圳Tcl数字技术有限公司 | 数据缓冲方法、设备及计算机可读存储介质 |
CN113377291A (zh) * | 2021-06-09 | 2021-09-10 | 北京天融信网络安全技术有限公司 | 一种缓存设备的数据处理方法、装置、设备及介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8886911B2 (en) * | 2011-05-31 | 2014-11-11 | Micron Technology, Inc. | Dynamic memory cache size adjustment in a memory device |
US9542328B2 (en) * | 2015-01-26 | 2017-01-10 | International Business Machines Corporation | Dynamically controlling a file system write cache |
-
2021
- 2021-09-22 CN CN202111107678.6A patent/CN113805812B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106951182A (zh) * | 2017-02-24 | 2017-07-14 | 深圳市中博睿存信息技术有限公司 | 一种块设备缓存方法和装置 |
CN111538678A (zh) * | 2020-04-20 | 2020-08-14 | 深圳Tcl数字技术有限公司 | 数据缓冲方法、设备及计算机可读存储介质 |
CN113377291A (zh) * | 2021-06-09 | 2021-09-10 | 北京天融信网络安全技术有限公司 | 一种缓存设备的数据处理方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113805812A (zh) | 2021-12-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104679661B (zh) | 混合存储的控制方法及混合存储系统 | |
US8060719B2 (en) | Hybrid memory management | |
KR101908581B1 (ko) | 저장 디바이스들에서의 웨어 레벨링 | |
US10387062B2 (en) | Storage system with cells changeable between two different level cell modes based on predicted lifetime | |
US10289317B2 (en) | Memory apparatus and methods thereof for write amplification aware wear leveling | |
CN102096556B (zh) | 拷贝数据的方法、读取数据的方法和装置及系统 | |
CN103688248A (zh) | 一种存储阵列的管理方法、装置和控制器 | |
CN103984648A (zh) | 为了改进i/o性能而压制数据高速缓存速率的方法 | |
CN110688256B (zh) | 一种元数据上电恢复方法、装置、电子设备及存储介质 | |
US20210310874A1 (en) | Adaptive throttling | |
US20190065404A1 (en) | Adaptive caching in a storage device | |
KR20190067921A (ko) | 데이터에 대한 메모리 동작 | |
CN114730285A (zh) | 用于固态存储设备的存储器控制器 | |
CN111065997A (zh) | 用于存储介质的协同数据迁移 | |
CN113805812B (zh) | 一种缓存管理方法、装置、设备及存储介质 | |
CN103399783A (zh) | 虚拟机的镜像文件的存储方法和装置 | |
TWI718635B (zh) | 非對稱型平面管理方法以及資料儲存裝置及其控制器 | |
CN101493726B (zh) | 固态硬盘管理方法、装置和系统 | |
Gu et al. | Dynamic file cache optimization for hybrid SSDs with high-density and low-cost flash memory | |
CN103530240A (zh) | 数据块缓存方法和装置 | |
EP3825856B1 (en) | Wear leveling and access method and device for non-volatile memory, and storage medium | |
CN111767165A (zh) | 数据处理方法、装置及控制设备 | |
CN111863109A (zh) | 一种三维闪存层间错误率模型及评估方法 | |
CN111338975A (zh) | 面向多流的垃圾回收方法及其存储设备 | |
CN116774926A (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 |