CN111880745A - 基于固态盘阵列的数据处理方法、装置、设备及存储介质 - Google Patents
基于固态盘阵列的数据处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN111880745A CN111880745A CN202010746837.6A CN202010746837A CN111880745A CN 111880745 A CN111880745 A CN 111880745A CN 202010746837 A CN202010746837 A CN 202010746837A CN 111880745 A CN111880745 A CN 111880745A
- Authority
- CN
- China
- Prior art keywords
- data
- solid
- state disk
- disk array
- heat level
- 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.)
- Withdrawn
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/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
-
- 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/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/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
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种基于固态盘阵列的数据处理方法,该方法包括以下步骤:在有目标数据要由内存写入固态盘阵列时,确定目标数据的写访问频度;根据写访问频度,确定目标数据的热度等级;针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。应用本申请所提供的技术方案,可以缓解固态盘阵列中写放大问题,减少垃圾回收过程中的数据迁移,提高固态盘阵列性能。本申请还公开了一种基于固态盘阵列的数据处理装置、设备及存储介质,具有相应技术效果。
Description
技术领域
本申请涉及计算机应用技术领域,特别是涉及一种基于固态盘阵列的数据处理方法、装置、设备及存储介质。
背景技术
随着计算机技术的快速发展及固态盘成本的降低,固态盘在存储系统中的应用越来越广泛。基于闪存的固态盘具有高性能、低能耗等优点。为了进一步提高存储性能和数据可靠性,常常把固态盘组成阵列来使用。
将固态盘组成阵列后,存在两个层级的写放大:一是在阵列级,在有数据更新时,需要执行读-校验计算-写流程,形成了写放大;二是在固态盘内部,因为固态盘基本的读写单位是页面(page),而垃圾回收的基本单位是块(block),一个block通常是由整数个page组成,垃圾回收时形成写放大。这两个层级的写放大都会引起垃圾回收过程中大量数据迁移,造成性能下降。
所以,如何缓解固态盘阵列中写放大问题,减少垃圾回收过程中的数据迁移,提高固态盘阵列性能,是目前本领域技术人员急需解决的技术问题。
发明内容
本申请的目的是提供一种基于固态盘阵列的数据处理方法、装置、设备及存储介质,以缓解固态盘阵列中写放大问题,减少垃圾回收过程中的数据迁移,提高固态盘阵列性能。
为解决上述技术问题,本申请提供如下技术方案:
一种基于固态盘阵列的数据处理方法,包括:
在有目标数据要由内存写入固态盘阵列时,确定所述目标数据的写访问频度;
根据所述写访问频度,确定所述目标数据的热度等级;
针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入所述固态盘阵列的该热度等级对应的数据块中。
在本申请的一种具体实施方式中,所述根据所述写访问频度,确定所述目标数据的热度等级,包括:
将所述写访问频度分别与每个热度等级对应的频度范围进行比较;
根据比较结果,确定所述目标数据的热度等级。
在本申请的一种具体实施方式中,所述在该热度等级的数据组成满条带时,将满条带数据写入所述固态盘阵列的该热度等级对应的数据块中,包括:
在该热度等级的数据组成满条带时,确定所述固态盘阵列中是否存在该热度等级对应的数据块;
如果存在,则将满条带数据写入该数据块中。
在本申请的一种具体实施方式中,还包括:
如果所述固态盘阵列中不存在该热度等级对应的数据块,则在所述固态盘阵列的各个固态盘中选择数据块,确定为该热度等级对应的数据块,则将满条带数据写入该数据块中。
在本申请的一种具体实施方式中,所述在所述固态盘阵列的各个固态盘中选择数据块,确定为该热度等级对应的数据块,包括:
将所述固态盘阵列的各个固态盘空闲的同一逻辑块号的数据块确定为该热度等级对应的数据块。
在本申请的一种具体实施方式中,还包括:
将所述固态盘阵列中所述目标数据对应的旧数据标记为无效数据。
在本申请的一种具体实施方式中,还包括:
在达到设定的垃圾回收触发条件时,回收所述固态盘阵列中满条带均标记为无效数据的数据。
一种基于固态盘阵列的数据处理装置,包括:
写访问频度确定模块,用于在有目标数据要由内存写入固态盘阵列时,确定所述目标数据的写访问频度;
热度等级确定模块,用于根据所述写访问频度,确定所述目标数据的热度等级;
满条带数据写入模块,用于针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入所述固态盘阵列的该热度等级对应的数据块中。
一种基于固态盘阵列的数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述任一项所述基于固态盘阵列的数据处理方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述基于固态盘阵列的数据处理方法的步骤。
应用本申请实施例所提供的技术方案,在有目标数据要由内存写入固态盘阵列时,根据目标数据的写访问频度确定目标数据的热度等级,进行热度感知,针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。如果在固态盘阵列中存储有满条带数据对应的旧数据,并不会对这些旧数据更新,而是直接将满条带数据写入固态盘阵列新的数据块中,这样可以缓解因数据更新带来的写放大问题。另外,将相同热度等级的数据凑成满条带后再写入固态盘阵列与热度等级对应的数据块中,不但能够利用固态盘阵列的并发写性能,而且可以使得垃圾数据主要集中在较高热度等级对应的数据块中,可以减少垃圾回收过程中对冷数据的迁移,进而减少垃圾回收过程中总体的数据迁移,提高固态盘阵列的性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中一种基于固态盘阵列的数据处理方法的实施流程图;
图2为本申请实施例中一种固态盘中阵列数据布局示意图;
图3为本申请实施例中一种基于固态盘阵列的数据处理装置的结构示意图;
图4为本申请实施例中一种基于固态盘阵列的数据处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面结合附图和具体实施方式对本申请作进一步的详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,为本申请实施例所提供的一种基于固态盘阵列的数据处理方法的实施流程图,该方法可以包括以下步骤:
S110:在有目标数据要由内存写入固态盘阵列时,确定目标数据的写访问频度。
在实际应用中,在固态盘阵列中,数据以条带方式存储。条带(stripe)是把连续的数据分割成多个相同大小的数据段,把每个数据段分别写入到固态盘阵列中的不同磁盘上。
在有目标数据要由内存写入固态盘阵列时,可以先确定目标数据的写访问频度。目标数据可以为要由内存写入固态盘阵列的任意一个数据。
存储系统可以在内存中统计每个要写入固态盘阵列的数据的写访问频度。
S120:根据写访问频度,确定目标数据的热度等级。
在有目标数据要由内存写入固态盘阵列,确定目标数据的写访问频度后,可以根据写访问频度,确定目标数据的热度等级。
在本申请的一种具体实施方式中,该步骤可以包括以下步骤:
步骤一:将写访问频度分别与每个热度等级对应的频度范围进行比较;
步骤二:根据比较结果,确定目标数据的热度等级。
为便于描述,将上述两个步骤结合起来进行说明。
在本申请实施例中,可以预先设定多个热度等级,并设定每个热度等级对应的频度范围。比如,设定两个热度等级,第一热度等级和第二热度等级,第一热度等级对应的频度范围为(0,1],第二热度等级对应的频度范围为(1,+∞),第一热度等级对应的数据为冷数据,第二热度等级对应的数据为热数据。再比如,设定三个热度等级,第一热度等级、第二热度等级和第三热度等级,第一热度等级对应的频度范围为(0,1],第二热度等级对应的频度范围为(1,10],第三热度等级对应的频度范围为(10,+∞),第一热度等级对应的数据为冷数据,第二热度等级对应的数据为温数据,第三热度等级对应的数据为热数据。当然,还可以根据实际情况和对历史数据的分析,设定更多的热度等级及其对应的频度范围。
在确定目标数据的写访问频度后,可以将写访问频度分别与每个热度等级对应的频度范围进行比较,根据比较结果,可以确定目标数据的热度等级。
以上述的设定两个热度等级为例,假设目标数据的写访问频度为1,则将其与两个热度等级对应的频度范围进行比较,可以确定目标数据的热度等级为第一热度等级,为冷数据。假设目标数据的写访问频度大于1,则将其与两个热度等级对应的频度范围进行比较,可以确定目标数据的热度等级为第二热度等级,为热数据。
S130:针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。
在本申请实施例中,不同热度等级可以对应固态盘阵列的不同数据块。
针对每个要由内存写入固态盘阵列的数据,均通过该数据的写访问频度,确定该数据的热度等级。针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。
具体的,在该热度等级的数据组成满条带时,可以确定固态盘阵列中是否存在该热度等级对应的数据块,如果存在,则可以将满条带数据写入该数据块中,如果不存在,则在固态盘阵列的各个固态盘中选择数据块,确定为该热度等级对应的数据块,将满条带数据写入该数据块中。
在实际应用中,可以预先在固态盘阵列的固态盘中为每个热度等级分配相应的数据块,并进行相应的热度等级的标记。
针对每个热度等级,在该热度等级的数据组成满条带时,确定固态盘阵列中是否存在该热度等级对应的数据块。
如果存在,则可以认为之前已经分配好该热度等级对应的数据块,并且该热度等级对应的数据块还有剩余存储空间,可以直接将满条带数据写入该数据块中。
如果不存在,则可以认为之前没有分配好该热度等级对应的数据块,或者该热度等级对应的数据块没有剩余存储空间。在这种情况下,可以在固态盘阵列的各个固态盘中选择数据块,如选择空闲数据块,将选择出的这些数据块确定为该热度等级对应的数据块,并进行相应标记,然后将满条带数据写入该数据块中。
具体的,可以将固态盘阵列的各个固态盘空闲的同一逻辑块号的数据块确定为该热度等级对应的数据块。这样选择有利于进行数据块管理。
为便于理解,以设定两个热度等级为例,参见图2的固态盘阵列数据布局对本申请实施例进行说明。
在有目标数据要由内存写入固态盘阵列时,根据目标数据的写访问频度,确定目标数据的热度等级。如果写访问频度为1,则为第一热度等级,目标数据为冷数据,如果写访问频度大于1,则为第二热度等级,目标数据为热数据。
在冷数据组成满条带时,如果固态盘阵列未分配冷数据块,冷数据块为第一热度等级对应的数据块,则将固态盘阵列中各个固态盘中空闲的同一逻辑块号的数据块同时分配,如图2中SSD0~SSD3中的Block 0,并将这些数据块标记为冷数据块,即第一热度等级对应的数据块,然后将满条带冷数据写入冷数据块。若固态盘阵列已分配冷数据块,则将满条带冷数据直接写入冷数据块。
同样,在热数据组成满条带时,如果固态盘阵列未分配热数据块,则将固态盘阵列中各个固态盘中空闲的同一逻辑块号的数据块同时分配,如图2中SSD0~SSD3中的Block1,并将这些数据块标记为热数据块,即第二热度等级对应的数据块,然后将满条带热数据写入热数据块。若固态盘阵列已分配热数据块,则将满条带热数据写入热数据块。
也就是说,冷数据组成的条带总是存放在固态盘阵列的冷数据块中,热数据组成的条带总是存放在固态盘阵列的热数据块中。可以使得垃圾数据集中在热数据块中,减少垃圾回收过程中的数据迁移,提高固态盘阵列的性能。
应用本申请实施例所提供的方法,在有目标数据要由内存写入固态盘阵列时,根据目标数据的写访问频度确定目标数据的热度等级,进行热度感知,针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。如果在固态盘阵列中存储有满条带数据对应的旧数据,并不会对这些旧数据更新,而是直接将满条带数据写入固态盘阵列新的数据块中,这样可以缓解因数据更新带来的写放大问题。另外,将相同热度等级的数据凑成满条带后再写入固态盘阵列与热度等级对应的数据块中,不但能够利用固态盘阵列的并发写性能,而且可以使得垃圾数据主要集中在较高热度等级对应的数据块中,可以减少垃圾回收过程中对冷数据的迁移,进而减少垃圾回收过程中总体的数据迁移,提高固态盘阵列的性能。
在本申请的一个实施例中,该方法还可以包括以下步骤:
将固态盘阵列中目标数据对应的旧数据标记为无效数据。
在本申请实施例中,在有目标数据要由内存写入固态盘阵列时,根据目标数据的写访问频度,确定出目标数据的热度等级,针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。如果在固态盘阵列中存在目标数据对应的旧数据,则可以将其对应的旧数据标记为无效数据。这样可以避免使用旧数据导致的处理结果不准确的问题。
在实际应用中,可以设定垃圾回收触发条件。如在达到设定时间间隔时认为达到垃圾回收触发条件,或者在有垃圾回收指令时,认为达到垃圾回收触发条件,或者在固态盘阵列剩余存储空间小于设定阈值时,认为达到垃圾回收触发条件。
在达到设定的垃圾回收触发条件时,可以回收固态盘阵列中满条带均标记为无效数据的数据。这样可以提高数据回收效率,释放存储空间。
相应于上面的方法实施例,本申请实施例还提供了一种基于固态盘阵列的数据处理装置,下文描述的基于固态盘阵列的数据处理装置与上文描述的基于固态盘阵列的数据处理方法可相互对应参照。
参见图3所示,该装置可以包括以下模块:
写访问频度确定模块310,用于在有目标数据要由内存写入固态盘阵列时,确定目标数据的写访问频度;
热度等级确定模块320,用于根据写访问频度,确定目标数据的热度等级;
满条带数据写入模块330,用于针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。
应用本申请实施例所提供的装置,在有目标数据要由内存写入固态盘阵列时,根据目标数据的写访问频度确定目标数据的热度等级,进行热度感知,针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。如果在固态盘阵列中存储有满条带数据对应的旧数据,并不会对这些旧数据更新,而是直接将满条带数据写入固态盘阵列新的数据块中,这样可以缓解因数据更新带来的写放大问题。另外,将相同热度等级的数据凑成满条带后再写入固态盘阵列与热度等级对应的数据块中,不但能够利用固态盘阵列的并发写性能,而且可以使得垃圾数据主要集中在较高热度等级对应的数据块中,可以减少垃圾回收过程中对冷数据的迁移,进而减少垃圾回收过程中总体的数据迁移,提高固态盘阵列的性能。
在本申请的一种具体实施方式中,热度等级确定模块320,用于:
将写访问频度分别与每个热度等级对应的频度范围进行比较;
根据比较结果,确定目标数据的热度等级。
在本申请的一种具体实施方式中,满条带数据写入模块330,用于:
在该热度等级的数据组成满条带时,确定固态盘阵列中是否存在该热度等级对应的数据块;
如果存在,则将满条带数据写入该数据块中。
在本申请的一种具体实施方式中,满条带数据写入模块330,还用于:
如果固态盘阵列中不存在该热度等级对应的数据块,则在固态盘阵列的各个固态盘中选择数据块,确定为该热度等级对应的数据块,则将满条带数据写入该数据块中。
在本申请的一种具体实施方式中,满条带数据写入模块330,用于:
将固态盘阵列的各个固态盘空闲的同一逻辑块号的数据块确定为该热度等级对应的数据块。
在本申请的一种具体实施方式中,还包括无效数据标记模块,用于:
将固态盘阵列中目标数据对应的旧数据标记为无效数据。
在本申请的一种具体实施方式中,还包括垃圾回收模块,用于:
在达到设定的垃圾回收触发条件时,回收固态盘阵列中满条带均标记为无效数据的数据。
相应于上面的方法实施例,本申请实施例还提供了一种基于固态盘阵列的数据处理设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述基于固态盘阵列的数据处理方法的步骤。
如图4所示,为基于固态盘阵列的数据处理设备的组成结构示意图,基于固态盘阵列的数据处理设备可以包括:处理器10、存储器11、通信接口12和通信总线13。处理器10、存储器11、通信接口12均通过通信总线13完成相互间的通信。
在本申请实施例中,处理器10可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件等。
处理器10可以调用存储器11中存储的程序,具体的,处理器10可以执行基于固态盘阵列的数据处理方法的实施例中的操作。
存储器11中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器11中至少存储有用于实现以下功能的程序:
在有目标数据要由内存写入固态盘阵列时,确定目标数据的写访问频度;
根据写访问频度,确定目标数据的热度等级;
针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入固态盘阵列的该热度等级对应的数据块中。
在一种可能的实现方式中,存储器11可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能(比如对比功能、写入功能)所需的应用程序等;存储数据区可存储使用过程中所创建的数据,如写访问频度数据、热度等级数据等。
此外,存储器11可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件或其他易失性固态存储器件。
通信接口13可以为通信模块的接口,用于与其他设备或者系统连接。
当然,需要说明的是,图4所示的结构并不构成对本申请实施例中基于固态盘阵列的数据处理设备的限定,在实际应用中基于固态盘阵列的数据处理设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
相应于上面的方法实施例,本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述基于固态盘阵列的数据处理方法的步骤。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
Claims (10)
1.一种基于固态盘阵列的数据处理方法,其特征在于,包括:
在有目标数据要由内存写入固态盘阵列时,确定所述目标数据的写访问频度;
根据所述写访问频度,确定所述目标数据的热度等级;
针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入所述固态盘阵列的该热度等级对应的数据块中。
2.根据权利要求1所述的方法,其特征在于,所述根据所述写访问频度,确定所述目标数据的热度等级,包括:
将所述写访问频度分别与每个热度等级对应的频度范围进行比较;
根据比较结果,确定所述目标数据的热度等级。
3.根据权利要求1所述的方法,其特征在于,所述在该热度等级的数据组成满条带时,将满条带数据写入所述固态盘阵列的该热度等级对应的数据块中,包括:
在该热度等级的数据组成满条带时,确定所述固态盘阵列中是否存在该热度等级对应的数据块;
如果存在,则将满条带数据写入该数据块中。
4.根据权利要求3所述的方法,其特征在于,还包括:
如果所述固态盘阵列中不存在该热度等级对应的数据块,则在所述固态盘阵列的各个固态盘中选择数据块,确定为该热度等级对应的数据块,则将满条带数据写入该数据块中。
5.根据权利要求4所述的方法,其特征在于,所述在所述固态盘阵列的各个固态盘中选择数据块,确定为该热度等级对应的数据块,包括:
将所述固态盘阵列的各个固态盘空闲的同一逻辑块号的数据块确定为该热度等级对应的数据块。
6.根据权利要求1至5之中任一项所述的方法,其特征在于,还包括:
将所述固态盘阵列中所述目标数据对应的旧数据标记为无效数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
在达到设定的垃圾回收触发条件时,回收所述固态盘阵列中满条带均标记为无效数据的数据。
8.一种基于固态盘阵列的数据处理装置,其特征在于,包括:
写访问频度确定模块,用于在有目标数据要由内存写入固态盘阵列时,确定所述目标数据的写访问频度;
热度等级确定模块,用于根据所述写访问频度,确定所述目标数据的热度等级;
满条带数据写入模块,用于针对每个热度等级,在该热度等级的数据组成满条带时,将满条带数据写入所述固态盘阵列的该热度等级对应的数据块中。
9.一种基于固态盘阵列的数据处理设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述基于固态盘阵列的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述基于固态盘阵列的数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010746837.6A CN111880745A (zh) | 2020-07-29 | 2020-07-29 | 基于固态盘阵列的数据处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010746837.6A CN111880745A (zh) | 2020-07-29 | 2020-07-29 | 基于固态盘阵列的数据处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111880745A true CN111880745A (zh) | 2020-11-03 |
Family
ID=73201189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010746837.6A Withdrawn CN111880745A (zh) | 2020-07-29 | 2020-07-29 | 基于固态盘阵列的数据处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111880745A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835534A (zh) * | 2021-02-26 | 2021-05-25 | 上海交通大学 | 一种基于存储阵列数据访问的垃圾回收优化方法及装置 |
WO2022199258A1 (zh) * | 2021-03-26 | 2022-09-29 | 华为技术有限公司 | 一种缓存管理方法及存储设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488583A (zh) * | 2013-09-09 | 2014-01-01 | 华中科技大学 | 一种高性能高可靠的固态盘实现方法 |
CN105138277A (zh) * | 2015-07-23 | 2015-12-09 | 厦门大学 | 一种固态盘阵列的缓存管理方法 |
CN107885620A (zh) * | 2017-11-22 | 2018-04-06 | 华中科技大学 | 一种提高固态盘阵列性能和可靠性的方法及系统 |
-
2020
- 2020-07-29 CN CN202010746837.6A patent/CN111880745A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103488583A (zh) * | 2013-09-09 | 2014-01-01 | 华中科技大学 | 一种高性能高可靠的固态盘实现方法 |
CN105138277A (zh) * | 2015-07-23 | 2015-12-09 | 厦门大学 | 一种固态盘阵列的缓存管理方法 |
CN107885620A (zh) * | 2017-11-22 | 2018-04-06 | 华中科技大学 | 一种提高固态盘阵列性能和可靠性的方法及系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835534A (zh) * | 2021-02-26 | 2021-05-25 | 上海交通大学 | 一种基于存储阵列数据访问的垃圾回收优化方法及装置 |
WO2022199258A1 (zh) * | 2021-03-26 | 2022-09-29 | 华为技术有限公司 | 一种缓存管理方法及存储设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9778881B2 (en) | Techniques for automatically freeing space in a log-structured storage system based on segment fragmentation | |
CN109783017B (zh) | 一种存储设备坏块的处理方法、装置及存储设备 | |
CN108776614B (zh) | 存储块的回收方法和装置 | |
CN109597571B (zh) | 数据存储方法、数据读取方法、装置和计算机设备 | |
US20130227346A1 (en) | Controlling nonvolatile memory device and nonvolatile memory system | |
RU2319227C2 (ru) | Способ запоминания с двойным протоколированием и носитель данных для него | |
WO2016044520A1 (en) | Self-accumulating exclusive or program | |
CN108897492B (zh) | 一种数据写入方法和装置 | |
CN111880745A (zh) | 基于固态盘阵列的数据处理方法、装置、设备及存储介质 | |
CN114356248B (zh) | 一种数据处理方法和装置 | |
CN109213450B (zh) | 一种基于闪存阵列的关联元数据删除方法、装置及设备 | |
KR100643287B1 (ko) | 플래시 메모리의 데이터 처리 장치 및 방법 | |
CN112306408A (zh) | 一种存储块处理方法、装置、设备及存储介质 | |
JP2014220021A (ja) | 情報処理装置、制御回路、制御プログラム、および制御方法 | |
CN107203436B (zh) | 一种Nand Flash数据校验的方法与装置 | |
CN108228340B (zh) | 终端控制方法及装置、终端设备及计算机可读存储介质 | |
CN111984651A (zh) | 一种基于持久性内存的列式存储方法、装置及设备 | |
CN114924911B (zh) | Windows操作系统有效数据备份方法、装置、设备和存储介质 | |
CN116301614A (zh) | 存储器数据存取方法、系统、设备和存储介质 | |
CN115617504A (zh) | 一种内存管理系统、泄露检测方法及存储介质 | |
CN111880735B (zh) | 一种存储系统中数据迁移方法、装置、设备及存储介质 | |
CN112015791B (zh) | 数据处理方法、装置、电子设备及计算机存储介质 | |
CN110007874B (zh) | 一种三维闪存的数据写入方法、装置及可读存储介质 | |
CN109960611B (zh) | 数据恢复的方法、装置、电子设备及机器可读存储介质 | |
CN109144399B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20201103 |
|
WW01 | Invention patent application withdrawn after publication |