CN109690465B - 一种存储设备管理方法及用户终端 - Google Patents
一种存储设备管理方法及用户终端 Download PDFInfo
- Publication number
- CN109690465B CN109690465B CN201680089211.4A CN201680089211A CN109690465B CN 109690465 B CN109690465 B CN 109690465B CN 201680089211 A CN201680089211 A CN 201680089211A CN 109690465 B CN109690465 B CN 109690465B
- Authority
- CN
- China
- Prior art keywords
- management
- function
- management operation
- garbage collection
- read
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
Abstract
本发明实施例公开了一种存储设备管理方法及用户终端,其中,该方法应用于用户终端的上层管理模块,该方法包括:上层管理模块执行第一管理操作,该第一管理操作用于实现对存储设备进行管理的目标管理功能;上层管理模块通过驱动向存储设备的控制器发送控制指令,该控制指令用于控制控制器取消执行第二管理操作,该第二管理操作用于实现目标管理功能。可见,通过实施本发明实施例所提供的方法,可以满足用户终端的开发者的实际操作需求。
Description
技术领域
本发明实施例涉及终端技术领域,尤其涉及一种存储设备管理方法及用户终端。
背景技术
存储设备(Memory)是现代信息技术中用于保存信息的记忆设备。例如,存储设备可以包括随机存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)和Flash存储器等存储设备。目前,存储设备在很多用户终端(如手机、电脑、相机或穿戴设备等终端)中得到了广泛地使用。
在实际应用中,很多存储设备除包括存储介质之外,还集成了控制器。例如,Flash存储器类型下的嵌入式多媒体卡(Embedded Multi Media Card,eMMC)、安全数码卡(Secure Digital Card,SD card)和通用闪存存储(Universal Flash Storage,UFS)等都集成了控制器。其中,控制器中封装了很多管理功能(如磨损均衡、寿命监控、坏块管理、垃圾回收、I/O调度等功能),用于对存储设备进行管理。这使得用户终端厂商无需开发控制器封装的管理功能,大大降低了用户终端的开发难度以及缩短了向市场推出用户终端的时间。
然而在实践中发现,控制器实现管理功能所执行的管理操作往往不满足用户终端的开发者的实际操作需求。
发明内容
本发明实施例公开了一种存储设备管理方法及用户终端,能够通过用户终端的开发者在上层管理模块自定义的操作来管理存储设备,从而满足用户终端的开发者的实际操作需求。
第一方面,提供了一种存储设备管理方法,应用于用户终端的上层管理模块,该方法包括:上层管理模块执行第一管理操作,该第一管理操作用于实现对存储设备进行管理的目标管理功能;上层管理模块通过驱动向存储设备的控制器发送控制指令,该控制指令用于控制控制器取消执行第二管理操作,该第二管理操作用于实现目标管理功能。其中,第一管理操作可以第一管理操作相同或不同。也就是说,通过执行第一管理操作或第二管理操作中的一种就可实现目标管理功能。因此,通过取消执行第二管理操作,可避免重复地对存储设备进行管理。
可见,通过实施第一方面所提供的方法,用户终端的开发者可在上层管理模块自定义第一管理操作来实现目标管理功能。同时,用户终端的开发者也可在上层管理模块自定义第一管理操作的开始执行时间。因此,通过实施第一方面所提供的方法,可以满足用户终端的开发者的实际操作需求。
作为一种可选的实施方式,该控制指令可用于控制控制器永久取消执行第二管理操作。或者,该控制指令可用于控制控制器在预设时间段内取消执行第二管理操作。或者,该控制指令可用于控制控制器在上层管理模块执行第一管理操作期间取消执行第二管理操作。
作为一种可选的实施方式,上层管理模块为文件系统、输入/输出I/O调度器和块层多队列中的任意一种。
作为一种可选的实施方式,上层管理模块为文件系统,目标管理功能为垃圾回收功能、擦除管理功能、日志记录功能、读合并功能、写合并功能和原子写功能中的任意一种。
作为一种可选的实施方式,当目标管理功能为垃圾回收功能时,第一管理操作为第一垃圾回收操作,第二管理操作为第二垃圾回收操作,上层管理模块执行第一管理操作包括:文件系统在检测到存储设备存储的数据的碎片化程度达到预设值时,执行第一垃圾回收操作。可选的,文件系统除在检测到存储设备存储的文件的碎片化程度达到预设值时,执行第一垃圾回收操作之外,还可在对存储设备进行写操作时,执行第一垃圾回收操作。
作为一种可选的实施方式,当目标管理功能为垃圾回收功能时,第一管理操作为第一垃圾回收操作,第二管理操作为第二垃圾回收操作,上层管理模块执行第一管理操作包括:文件系统以预设时间周期执行第一垃圾回收操作。可选的,文件系统除以预设时间周期执行第一垃圾回收操作之外,还可在对存储设备进行写操作时,执行第一垃圾回收操作。
在现有的实际应用中,在执行写操作的过程中,会判断是否有足够的空闲存储区域,若没有足够的空闲存储区域,则需要进行垃圾回收操作,得到足够的空闲存储区域,然后再向空闲存储区域中写入数据。因此,在现有的实际应用中,控制器一般会在执行写操作的过程中进行垃圾回收。通过该实施方式,在文件系统检测到存储设备存储的数据的碎片化程度达到预设值时,就执行第一垃圾回收操作,或文件系统以预设时间周期执行第一垃圾回收操作,可提前清理出空闲的存储区域,有利于减少在执行写操作的过程中进行垃圾回收操作的时间,从而可缩短写操作的总体时间,提高写操作的性能。同时,由于文件系统和控制器执行垃圾回收操作时,可能根据不同的规则来确定的需要擦除的对象,因此,文件系统和控制器执行垃圾回收操作时确定的需要擦除的对象可能不同。若不取消控制器执行垃圾回收操作,可能导致增加数据的擦除次数。由于数据的擦除次数与存储设备的寿命成正比,因此,通过取消控制器执行第二垃圾回收操作,只由上层模块执行第一垃圾回收操作,有利于延长存储设备的寿命。
作为一种可选的实施方式,上层管理模块为I/O调度器或块层多队列,目标管理功能为读优先功能、前台应用优先功能和特定I/O的限流功能中的任意一种。
作为一种可选的实施方式,当目标管理功能为读优先功能时,第一管理操作为第一读优先操作,第二管理操作为第二读优先操作,上层管理模块执行第一管理操作包括:在I/O调度器或块层多队列接收到安装于用户终端的应用发送的用于执行读优先操作的执行指令时,执行第一读优先操作,执行指令为应用在检测到应用的读操作数量大于预设数量时发送的。
通过实施该实施方式,能够在应用的读操作数量较多时,及时进行读操作,提高读的性能。同时,在I/O调度器或块层多队列执行第一读优先操作时,取消控制器执行第二读优先操作,可避免写操作的延时较大,造成写的严重的卡顿。
第二方面,提供了一种用户终端,该用户终端包括上层管理模块,且该上层管理模块具有实现上述第一方面或第一方面可能的实现方式中上层管理模块行为的功能。基于同一发明构思,由于该用户终端解决问题的原理以及有益效果可以参见上述第一方面和第一方面的各可能的方法实施方式以及所带来的有益效果,因此该用户终端的实施可以参见上述第一方面和第一方面的各可能的方法实施方式,重复之处不再赘述。
第三方面,提供了一种计算机存储介质,用于存储为上述无线充放电设备所用的计算机软件指令,其包含用于执行第一方面、第一方面的任一可能的实现方式中的方法的指令。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种系统架构的示意图;
图2是本发明实施例提供的一种存储设备管理方法的流程示意图。
具体实施方式
为了使本发明的实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施例的技术方案进行描述。
为了便于理解本发明实施例,下面对本发明实施中涉及的专业术语进行介绍:
垃圾回收功能:对内存堆中已经死亡的或者长时间没有使用的对象进行清除和回收。
擦除管理功能:在预设时间周期达到时,并且需要擦除的数据累积到预设大小时向储存器下发擦除指令,使存储器擦除累积的预设大小的数据。
日志记录功能:对日志进行记录的功能。日志是一个为了保障故障后能恢复的机制,通过记录日志,可在故障发生时,复原到前一次记录时的正常状态。
原子写功能:确保写操作不被打断的功能,即确保数据能完整写入,即使失败也能保证写入前的数据不丢失。
读合并功能:当存在多个读操作,一次性读取该多个读操作需要读取的数据。这样可提高读操作的性能。现有的存储器的控制器在检测到存在多个读操作,并且该多个读操作需要读取的数据的存储地址连续时,会一次性读取该多个读操作需要读取的数据。例如,当同时存在读操作1、读操作2和读操作3时,读操作1用于读取存储地址为0000的数据,读操作2用于读取存储地址为0001的数据,读操作3用于读取存储地址为0002的数据。由于0000、0001和0002为连续的存储地址,控制器会一次性读取地址0000~0002连续性地址存储的数据。
写合并功能:当存在多个写操作,将该多个写操作需要写入的数据一次性写入存储设备。这样可提高写操作的性能。现有的存储器的控制器在检测到存在多个写操作,并且该多个写操作需要写入的数据的存储地址连续时,会一次性写入该多个写操作需要写入的数据。例如,同时存在写操作1、写操作2和写操作3。写操作1用于写入数据至存储地址0000,写操作2用于写入数据至存储地址0001,写操作3用于写入数据至存储地址0002。由于0000、0001和0002为连续的存储地址,因此,控制器一次性将三个写操作需要写入的数据写入至存储地址0000~0002。
读优先功能:以一定的优先策略执行读操作。这样可降低读操作的延时,提高读操作的性能。例如,以读操作与写操作的比例为100∶20的优先策略来执行读操作,即先执行完100个读操作再执行20个写操作。
前台应用优先功能:以一定的优先策略执行前台应用的操作。这样可降低前台应用的操作的延时,提高前台应用的操作的性能。例如,通过前台应用操作与后台应用操作的比例为100∶20的优先策略来执行前台应用的操作,即先执行完100个前台应用的操作再执行20个后台应用的操作。
特定I/O(Input/Output,输入/输出)的限流功能:针对不同的I/O类型(如I/O类型可包括读、写、同步和擦除等),为不同类型的I/O设定优先级和对应的带宽,以确保带宽和性能可达到相应类型的I/O的需求。例如,通过读操作、写操作、同步操作、擦除操作的比例为100∶20∶10∶10的优先策略来执行读操作、写操作、同步操作和擦除操作,即先执行完100个读操作再执行20个写操作,执行完20个写操作之后再执行10个同步操作,执行完10个同步操作之后再执行10个擦除操作。
文件系统:操作系统中负责管理和存储文件信息的软件机构称为文件管理系统,简称文件系统。从系统角度来看,文件系统是对存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。具体地说,它负责为用户建立文件,存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时撤销文件等。
I/O调度器(Input/Output Scheduler):I/O调度器是操作系统用来决定块设备上I/O操作提交顺序的方法。存在的目的有两个,一是提高I/O吞吐量,二是降低I/O响应时间。然而I/O吞吐量和I/O响应时间往往是矛盾的,为了尽量平衡这两者,I/O调度器提供了多种调度算法来适应不同的I/O请求场景。
块层多队列(Block Multi Queue,blkmq):可以在多核CPU的情况下,将不同的块层提交队列分配到不同的CPU核上,以更好的平衡I/O的工作负载,大幅提高存储设备的I/O效率。
闪存转换层(Flash Translation Layer,FTL):用于将闪存模拟成为虚拟块设备,从而能够在闪存上实现块设备类文件系统。FTL可包括地址映射、垃圾回收、损耗均衡等功能。
在现有的实际应用中,为降低用户终端的开发难度以及缩短向市场推出用户终端的时间,很多存储设备的控制器封装了管理功能(如上述的垃圾回收功能、擦除管理功能、日志记录功能等)。然而在现有的实际应用中,控制器对于用户终端的开发者来说是一个黑盒子,即控制器内部如何执行管理操作对于用户终端的开发者来说是不可见的。控制器执行的管理操作可能不是用户终端的开发者希望执行的操作,或控制器执行的管理操作的执行时间可能不是用户终端的开发者希望的执行时间。因此,控制器执行的管理操作,可能不满足用户终端的开发者的实际操作需求。
为了能够满足用户终端的开发者的实际操作需求,本发明实施例提供了一种存储设备管理方法以及用户终端。
为了清楚的描述本发明实施例的方案,下面对本发明实施例可能应用的系统架构进行说明。
图1示出了本发明实施例提供的一种可能的系统架构。如图1所示,本发明实施例提供的系统架构包括应用层、文件系统层、块层(Block Layer,BL)、驱动层以及存储设备。其中,应用层、文件系统层、块层、驱动层包括于用户终端。可选的,存储设备可部署在用户终端内部或部署在用户终端外部。图1以存储设备部署于用户终端内部为例。当存储设备部署在用户终端外部时,可选的,存储设备可以为移动硬盘或U盘等。
本发明实施例提供的系统架构中,用户终端可以为手机、可穿戴设备(如智能手表、智能手环等)、平板电脑、个人电脑(Personal Computer,PC)、个人数字助理(PersonalDigital Assistant,PDA)或车载电脑等终端。
本发明实施例提供的系统架构中,应用层的应用可以为安装于用户终端的任意的应用。例如,可以为浏览器应用、阅读器、视频播放类应用、音乐播放类应用、即时通讯应用、电商应用等,本发明实施例不做限定。
本发明实施例提供的系统架构中,文件系统层的文件系统可以为第二代扩展文件系统(First extended filesystem,EXT2)~第四代扩展文件系统(Fourth extendedfilesystem,EXT4)、Google文件系统(Google File System,GFS)、闪存友好的文件系统(Flash Friendly File System,F2FS)、甲骨文集群文件系统(Oracle Cluster FileSystem,OCFS)、btrfs(B-Tree File System)或其他文件系统中的任意一个文件系统。
本发明实施例提供的系统架构中,块层可包括I/O调度器。可选的,块层还可包括块层多队列(Block Multi Queue,blkmq)。图1以块层包括I/O调度器和块层多队列为例。
本发明实施例提供的系统架构中,存储设备可以为随机存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、电可擦除只读存储器(ElectricallyErasable Programmable Read-Only Memory,EEPROM)、非易失性随机访问存储器(Non-Volatile Random Access Memory,NVRAM)、NAND Flash存储器或NOR Flash存储器等其他封装有控制器的存储设备。图1以存储设备为NAND Flash存储器中的eMMC为例。
本发明实施例提供的系统架构中,存储设备包括控制器和存储介质。可选的,控制器还可包括FTL。如图1所示,eMMC包括控制器和存储介质Flash。
请参见图2,图2为本发明实施例提供的一种存储设备管理方法的流程示意图。如图2所示,该存储设备管理方法可以包括201和202部分。其中,201部分可在202部分之前执行,或201部分可在202部分之后执行,本发明实施例不做限定。
201、上层管理模块执行第一管理操作。
其中,该上层管理模块为用户终端中位于驱动层之上的软件模块。例如,上层管理模块可以为图1所示的文件系统、I/O调度器或块层多队列等。
其中,该第一管理操作用于实现对存储设备进行管理的目标管理功能。该目标管理功能可以为对存储设备进行管理的任一管理功能。
202、上层管理模块通过驱动向存储设备的控制器发送控制指令。
其中,该控制指令用于控制控制器取消执行第二管理操作,该第二管理操作也用于实现目标管理功能。也就是说,通过执行第一管理操作或第二管理操作中的一种就可实现目标管理功能。通过取消执行第二管理操作,可避免重复地对存储设备进行管理。
作为一种可选的实施方式,该控制指令可用于控制控制器永久取消执行第二管理操作。或者,该控制指令可用于控制控制器在预设时间段内取消执行第二管理操作。或者,该控制指令可用于控制控制器在上层管理模块执行第一管理操作期间取消执行第二管理操作。
作为一种可选的实施方式,当上层管理模块为文件系统时,目标管理功能为垃圾回收功能、擦除管理功能、日志记录功能、读合并功能、写合并功能、原子写功能中的任意一种。相应地,当目标管理功能为垃圾回收功能时,第一管理操作为第一垃圾回收操作,第二管理操作为第二垃圾回收操作。当目标管理功能为擦除管理功能时,第一管理操作为第一擦除管理操作,第二管理操作为第二擦除管理操作。当目标管理功能为日志记录功能时,第一管理操作为第一日志记录操作,第二管理操作为第二日志记录操作。当目标管理功能为读合并功能时,第一管理操作为第一读合并操作,第二管理操作为第二读合并操作。当目标管理功能为写合并功能时,第一管理操作为第一写合并操作,第二管理操作为第二写合并操作。当目标管理功能为原子写功能时,第一管理操作为第一原子写操作,第二管理操作为第二原子写操作。
作为一种可选的实施方式,当上层管理模块为I/O调度器或块多队列时,目标管理功能可以为读优先功能、前台应用优先功能、特定I/O的限流功能中的任意一种。相应地,目标管理功能为读优先功能时,第一管理操作为第一读优先操作,第二管理操作为第二读优先操作;目标管理功能为前台应用优先功能时,第一管理操作为第一前台应用优先操作,第二管理操作为第二前台应用优先操作;目标管理功能为特定I/O的限流功能时,第一管理操作为第一特定I/O的限流操作,第二管理操作为第二特定I/O的限流操作。
在现有的实际应用中,实现某一管理功能可能有多种不同的具体实现方式,即执行不同的管理操作可实现同一管理功能。因此,本发明实施例中,第一管理操作可以与第二管理操作不相同或相同。
举例来说,目标管理功能为垃圾回收功能,第一管理操作为第一垃圾回收操作,第二管理操作为第二垃圾回收操作,第一垃圾回收操作和第二垃圾回收操作不相同。其中,第一垃圾回收操作和第二垃圾回收操作采用不同的垃圾回收算法执行。第一垃圾回收操作采用复制算法进行垃圾回收,第二垃圾回收操作采用标记-清除(Mark-Sweep)算法进行垃圾回收。
其中,复制算法是把内存空间划分为两个相等的区域,每次只用其中一个。垃圾回收的过程其实就是把存活对象从一个区域拷贝到另外一个区域的过程,而在下一次回收时,两个区域再互换角色。在移动结束后,再更新对象的指针引用。
其中,标记-清除算法依赖于对所有存活对象进行一次全局遍历来确定哪些对象可以回收。遍历的过程从根出发,找到所有可达对象。除此之外,其它不可达的对象就是垃圾对象,可被回收。整个过程分为两个阶段:标记阶段找到所有存活对象;清除阶段清除所有垃圾对象。
再举例来说,目标管理功能为擦除管理功能,第一管理操作为第一擦除管理操作,第二管理操作为第二擦除管理操作,第一擦除管理操作和第二擦除管理操作不相同。第一擦除管理操作为:在预设时间周期5S(秒)到达时,并且需要擦除的数据累积到10MB(MByte)时向储存器下发擦除指令,使存储器擦除累积的10MB数据。第二擦除管理操作为:在预设时间周期10S到达时,并且需要擦除的数据累积到10MB时向储存器下发擦除指令,使存储器擦除累积的10MB数据,即只是预设时间周期与第一擦除管理操作的预设时间周期不同。或者,第二擦除管理操作也可以为:在预设时间周期5S到达时,并且需要擦除的数据累积到20MB时向储存器下发擦除指令,使存储器擦除累积的20MB数据,即只是数据累积大小与第一擦除管理操作的数据累积大小不同。或者,第二擦除管理操作也可以为:在预设时间周期10S到达时,并且需要擦除的数据累积到20MB时向储存器下发擦除指令,使存储器擦除累积的20MB数据,即预设时间周期与第一擦除管理操作的预设时间周期不同,且数据累积大小与第一擦除管理操作的数据累积大小也不同。
再举例来说,目标管理功能为日志记录功能,第一管理操作为第一日志记录操作,第二管理操作为第二日志记录操作,第一日志记录操作和第二日志记录操作不相同。例如,上层管理模块首先将文件A写入0X100的逻辑地址中,在上层管理模块对文件A进行了修改之后,上层管理模块将修改的文件A写入0X300的逻辑地址中,并保持0X100的数据不变,并将0X100的数据标记为待擦除数据。第一日志记录操作可以为:记录在将文件A写入逻辑地址0X100之后,又将文件A的修改版本写入逻辑地址0X300的这一过程。每一个逻辑地址对应一个物理地址。若0X100对应的物理地址为2000,0X300对应的物理地址为5000,则存储器实际将写入逻辑地址0X100中的文件A写入物理地址2000,存储器实际将写入逻辑地址0X300中的文件A的修改版本写入物理地址5000。若通过控制器来实现日志记录功能,则第二日志记录操作可以为:记录在将文件A写入物理地址2000之后,又将文件A的修改版本写入物理地址5000的这一过程。也即是说,第一日志记录操作和第二日志记录操作的区别在于:第一日志记录操作记录的是逻辑地址的变化,而第二日志记录操作记录的是物理地址的变化。通过记录逻辑地址的变化,有利于提高写的性能。因此,通过上层管理模块来进行第一日志管理操作,有利于提高写的性能。
再举例来说,目标管理功能为读优先功能,第一管理操作为第一读优先操作,第二管理操作为第二读优先操作,第一读优先操作和第二读优先操作不相同。第一读优先操作可以为:以读操作与写操作的比例为100∶20的优先策略来执行读操作,即先执行完100个读操作再执行20个写操作。第二读优先操作可以为:以读操作与写操作的比例为50∶20的优先策略来执行读操作,即先执行完50个读操作再执行20个写操作。
再举例来说,目标管理功能为前台应用优先功能,第一管理操作为第一前台应用优先操作,第二管理操作为第二前台应用优先操作,第一前台应用优先操作和第二前台应用优先操作不相同。第一前台应用优先操作可以为:以前台应用操作与后台应用操作的比例为100∶20的优先策略来执行前台应用的操作,即先执行完100个前台应用的操作再执行20个后台应用的操作。第二前台应用优先操作可以为:以前台应用操作与后台应用操作的比例为30∶20的优先策略来执行前台应用的操作,即先执行完30个前台应用的操作再执行20个后台应用的操作。
再举例来说,目标管理功能为特定I/O的限流功能,第一管理操作为第一特定I/O的限流操作,第二管理操作为第二特定I/O的限流操作,第一特定I/O的限流操作和第二特定I/O的限流操作不相同。第一特定I/O的限流操作可以为:通过读操作、写操作、同步操作、擦除操作的比例为100∶20∶10∶10的优先策略来执行读操作、写操作、同步操作和擦除操作,即先执行完100个读操作再执行20个写操作,执行完20个写操作之后再执行10个同步操作,执行完10个同步操作之后再执行10个擦除操作。第二特定I/O的限流操作可以为:通过读操作、写操作、同步操作、擦除操作的比例为50∶20∶10∶5的优先策略来执行读操作、写操作、同步操作和擦除操作,即先执行完50个读操作再执行20个写操作,执行完20个写操作之后再执行10个同步操作,执行完10个同步操作之后再执行5个擦除操作。
本发明实施例中,可存在以下三种情况:
一、第一管理操作的执行时间与第二管理操作的执行时间不相同,但第一管理操作与第二管理操作相同。
二、第一管理操作的执行时间与第二管理操作的执行时间相同,但第一管理操作与第二管理操作不相同。
三、第一管理操作的执行时间与第二管理操作的执行时间不相同,第一管理操作与第二管理操作不相同。
可见,通过实施图2所描述的方法,用户终端的开发者可在上层管理模块自定义第一管理操作来实现目标管理功能。同时,用户终端的开发者也可在上层管理模块自定义第一管理操作的开始执行时间。因此,通过实施图2所描述的方法,可以满足用户终端的开发者的实际操作需求。
作为一种可选的实施方式,当上层管理模块为文件系统,目标管理功能为垃圾回收功能,第一管理操作为第一垃圾回收操作,上层管理模块执行第一管理操作的具体实施方式可以为:文件系统在检测到存储设备存储的文件的碎片化程度达到预设值时,执行第一垃圾回收操作。在该实施方式中,第一垃圾回收操作与第二垃圾回收操作可以相同也可以不同。可选的,文件系统除在检测到存储设备存储的文件的碎片化程度达到预设值时,执行第一垃圾回收操作之外,还可在对存储设备进行写操作时,执行第一垃圾回收操作。
作为一种可选的实施方式,当上层管理模块为文件系统,目标管理功能为垃圾回收功能,第一管理操作为第一垃圾回收操作时,上层管理模块执行第一管理操作得具体实施方式可以为:文件系统以预设时间周期执行第一垃圾回收操作。在该实施方式中,第一垃圾回收操作与第二垃圾回收操作可以相同也可以不同。可选的,文件系统除以预设时间周期执行第一垃圾回收操作之外,还可在对存储设备进行写操作时,执行第一垃圾回收操作。
在现有的实际应用中,在执行写操作的过程中,会判断是否有足够的空闲存储区域,若没有足够的空闲存储区域,则需要进行垃圾回收操作,得到足够的空闲存储区域,然后再向空闲存储区域中写入数据。因此,在现有的实际应用中,控制器一般会在执行写操作的过程中进行垃圾回收。通过该实施方式,在文件系统检测到存储设备存储的数据的碎片化程度达到预设值时,就执行第一垃圾回收操作,或文件系统以预设时间周期执行第一垃圾回收操作,可提前清理出空闲的存储区域,有利于减少在执行写操作的过程中进行垃圾回收操作的时间,从而可缩短写操作的总体时间,提高写操作的性能。同时,由于文件系统和控制器执行垃圾回收操作时,可能根据不同的规则来确定的需要擦除的对象,因此,文件系统和控制器执行垃圾回收操作时确定的需要擦除的对象可能不同。若不取消控制器执行垃圾回收操作,可能导致增加数据的擦除次数。由于数据的擦除次数与存储设备的寿命成正比,因此,通过取消控制器执行第二垃圾回收操作,只由上层模块执行第一垃圾回收操作,有利于延长存储设备的寿命。
作为一种可选的实施方式,当上层管理模块为I/O调度器或块层多队列,目标管理功能为读优先功能,第一管理操作为第一读优先操作,第二管理操作为第二读优先操作时,上层管理模块执行第一管理操作的具体实施方式可以为:在I/O调度器或块层多队列接收到安装于用户终端的应用发送的用于执行读优先操作的执行指令时,执行第一读优先操作。其中,该执行指令为安装于用户终端的应用在检测到应用的读操作数量大于预设数量时发送的。
通过实施该实施方式,能够在应用的读操作数量较多时,及时进行读操作,提高读的性能。同时,在I/O调度器或块层多队列执行第一读优先操作时,取消控制器执行第二读优先操作,可避免写操作的延时较大,造成写的严重的卡顿。
本发明实施还提供了一种用户终端。该用户终端包括上层管理模块。其中,该上层管理模块,用于执行第一管理操作,该第一管理操作用于实现对存储设备进行管理的目标管理功能;该上层管理模块,还用于通过驱动向存储设备的控制器发送控制指令,该控制指令用于控制控制器取消执行第二管理操作,该第二管理操作用于实现目标管理功能。
作为一种可选的实施方式,上层管理模块为文件系统、输入/输出I/O调度器和块层多队列中的任意一种。
作为一种可选的实施方式,上层管理模块为文件系统,目标管理功能为垃圾回收功能、擦除管理功能、日志记录功能、读合并功能、写合并功能和原子写功能中的任意一种。
作为一种可选的实施方式,目标管理功能为垃圾回收功能,第一管理操作为第一垃圾回收操作,第二管理操作为第二垃圾回收操作,上层管理模块执行第一管理操作的方式具体为:文件系统在检测到存储设备存储的数据的碎片化程度达到预设值时,执行第一垃圾回收操作。
作为一种可选的实施方式,目标管理功能为垃圾回收功能,第一管理操作为第一垃圾回收操作,第二管理操作为第二垃圾回收操作,上层管理模块执行第一管理操作的方式具体为:文件系统以预设时间周期执行第一垃圾回收操作。
作为一种可选的实施方式,上层管理模块为I/O调度器或块层多队列,目标管理功能为读优先功能、前台应用优先功能和特定I/O的限流功能中的任意一种。
作为一种可选的实施方式,目标管理功能为读优先功能,第一管理操作为第一读优先操作,第二管理操作为第二读优先操作,上层管理模块执行第一管理操作的方式具体为:在I/O调度器或块层多队列接收到安装于用户终端的应用发送的用于执行读优先操作的执行指令时,执行第一读优先操作,执行指令为应用在检测到应用的读操作数量大于预设数量时发送的。
基于同一发明构思,本发明实施例中提供的用户终端解决问题的原理与本发明方法实施例中的存储设备管理方法相似,因此该设备的实施可以参见方法的实施,为简洁描述,在这里不再赘述。
还需要说明的是,在本发明实施例中,诸如第一、第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或者操作之间存在任何这种实际的关系或者顺序。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种非易失性计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述的具体实施方式,对本发明的实施例的目的、技术方案有益效果进行了进一步详细说明,所应理解的是,不同的实施例可以进行组合,以上所述进而本发明的实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的精神和原则之内,所做的任何组合、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
以上所述的具体实施方式,对本发明的实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明实施例的具体实施方式而已,并不用于限定本发明实施例的保护范围,凡在本发明实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明实施例的保护范围之内。
Claims (12)
1.一种存储设备管理方法,应用于用户终端的上层管理模块,其特征在于,所述方法包括:
所述上层管理模块执行第一管理操作,所述第一管理操作用于实现对存储设备进行管理的目标管理功能,所述上层管理模块为位于所述用户终端的驱动层之上的文件系统、输入/输出I/O调度器和块层多队列中的任意一种;
所述上层管理模块通过驱动向所述存储设备的控制器发送控制指令,所述控制指令用于控制所述控制器在所述上层管理模块执行所述第一管理操作期间取消执行第二管理操作或所述控制指令用于控制所述控制器在预设时间段内取消执行第二管理操作,所述第二管理操作用于实现所述目标管理功能;
其中,所述第一管理操作的执行时间与所述第二管理操作的执行时间不相同,且所述第一管理操作与所述第二管理操作相同;或者,所述第一管理操作的执行时间与所述第二管理操作的执行时间相同,且所述第一管理操作与所述第二管理操作不相同;或者,所述第一管理操作的执行时间与所述第二管理操作的执行时间不相同,且所述第一管理操作与所述第二管理操作不相同。
2.根据权利要求1所述的方法,其特征在于,所述上层管理模块为文件系统,所述目标管理功能为垃圾回收功能、擦除管理功能、日志记录功能、读合并功能、写合并功能和原子写功能中的任意一种。
3.根据权利要求2所述的方法,其特征在于,当所述目标管理功能为垃圾回收功能时,所述第一管理操作为第一垃圾回收操作,所述第二管理操作为第二垃圾回收操作,所述上层管理模块执行第一管理操作包括:
所述文件系统在检测到所述存储设备存储的数据的碎片化程度达到预设值时,执行所述第一垃圾回收操作。
4.根据权利要求2所述的方法,其特征在于,当所述目标管理功能为垃圾回收功能时,所述第一管理操作为第一垃圾回收操作,所述第二管理操作为第二垃圾回收操作,所述上层管理模块执行第一管理操作包括:
所述文件系统以预设时间周期执行所述第一垃圾回收操作。
5.根据权利要求1所述的方法,其特征在于,所述上层管理模块为I/O调度器或块层多队列,所述目标管理功能为读优先功能、前台应用优先功能和特定I/O的限流功能中的任意一种。
6.根据权利要求5所述的方法,其特征在于,当所述目标管理功能为读优先功能时,所述第一管理操作为第一读优先操作,所述第二管理操作为第二读优先操作,所述上层管理模块执行第一管理操作包括:
在所述I/O调度器或块层多队列接收到安装于所述用户终端的应用发送的用于执行读优先操作的执行指令时,执行所述第一读优先操作,所述执行指令为所述应用在检测到所述应用的读操作数量大于预设数量时发送的。
7.一种用户终端,其特征在于,所述用户终端包括:
上层管理模块,用于执行第一管理操作,所述第一管理操作用于实现对存储设备进行管理的目标管理功能,所述上层管理模块为位于所述用户终端的驱动层之上的文件系统、输入/输出I/O调度器和块层多队列中的任意一种;
所述上层管理模块,还用于通过驱动向所述存储设备的控制器发送控制指令,所述控制指令用于控制所述控制器在所述上层管理模块执行所述第一管理操作期间取消执行第二管理操作或所述控制指令用于控制所述控制器在预设时间段内取消执行第二管理操作,所述第二管理操作用于实现所述目标管理功能;
其中,所述第一管理操作的执行时间与所述第二管理操作的执行时间不相同,且所述第一管理操作与所述第二管理操作相同;或者,所述第一管理操作的执行时间与所述第二管理操作的执行时间相同,且所述第一管理操作与所述第二管理操作不相同;或者,所述第一管理操作的执行时间与所述第二管理操作的执行时间不相同,且所述第一管理操作与所述第二管理操作不相同。
8.根据权利要求7所述的用户终端,其特征在于,所述上层管理模块为文件系统,所述目标管理功能为垃圾回收功能、擦除管理功能、日志记录功能、读合并功能、写合并功能和原子写功能中的任意一种。
9.根据权利要求8所述的用户终端,其特征在于,所述目标管理功能为垃圾回收功能,所述第一管理操作为第一垃圾回收操作,所述第二管理操作为第二垃圾回收操作,所述上层管理模块执行第一管理操作的方式具体为:
所述文件系统在检测到所述存储设备存储的数据的碎片化程度达到预设值时,执行所述第一垃圾回收操作。
10.根据权利要求8所述的用户终端,其特征在于,所述目标管理功能为垃圾回收功能,所述第一管理操作为第一垃圾回收操作,所述第二管理操作为第二垃圾回收操作,所述上层管理模块执行第一管理操作的方式具体为:
所述文件系统以预设时间周期执行所述第一垃圾回收操作。
11.根据权利要求7所述的用户终端,其特征在于,所述上层管理模块为I/O调度器或块层多队列,所述目标管理功能为读优先功能、前台应用优先功能和特定I/O的限流功能中的任意一种。
12.根据权利要求11所述的用户终端,其特征在于,所述目标管理功能为读优先功能,所述第一管理操作为第一读优先操作,所述第二管理操作为第二读优先操作,所述上层管理模块执行第一管理操作的方式具体为:
在所述I/O调度器或块层多队列接收到安装于所述用户终端的应用发送的用于执行读优先操作的执行指令时,执行所述第一读优先操作,所述执行指令为所述应用在检测到所述应用的读操作数量大于预设数量时发送的。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/108855 WO2018103010A1 (zh) | 2016-12-07 | 2016-12-07 | 一种存储设备管理方法及用户终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109690465A CN109690465A (zh) | 2019-04-26 |
CN109690465B true CN109690465B (zh) | 2020-10-09 |
Family
ID=62491746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680089211.4A Active CN109690465B (zh) | 2016-12-07 | 2016-12-07 | 一种存储设备管理方法及用户终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109690465B (zh) |
WO (1) | WO2018103010A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110703999A (zh) * | 2019-09-30 | 2020-01-17 | 盛科网络(苏州)有限公司 | 存储器的读操作的调度方法和存储器 |
DE102020110970B3 (de) * | 2020-04-22 | 2021-07-22 | Audi Aktiengesellschaft | Steuergerät für eine Benutzerschnittstelle eines Kraftfahrzeugs, Kraftfahrzeug und Verfahren zum Betrieb eines Steuergeräts für eine Benutzerschnittstelle |
CN113806030A (zh) * | 2020-07-24 | 2021-12-17 | 荣耀终端有限公司 | 应用的调度方法及电子设备 |
CN116028327B (zh) * | 2023-02-20 | 2023-06-13 | 成都佰维存储科技有限公司 | 文件系统读写性能测试方法、装置、可读存储介质及设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313287A (zh) * | 2005-10-13 | 2008-11-26 | 桑迪士克股份有限公司 | 经由嵌入式控制器初始化快闪存储设备 |
CN101398824A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现数据处理后存储的方法 |
CN101496109A (zh) * | 2006-02-28 | 2009-07-29 | 飞思卡尔半导体公司 | 具有多块擦除模式的非易失性存储器及其方法 |
CN102298506A (zh) * | 2010-06-24 | 2011-12-28 | 国际商业机器公司 | 存储系统和用于实现存储系统的方法 |
US10175885B2 (en) * | 2015-01-19 | 2019-01-08 | Toshiba Memory Corporation | Memory device managing data in accordance with command and non-transitory computer readable recording medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011515727A (ja) * | 2008-02-12 | 2011-05-19 | ネットアップ,インコーポレイテッド | ハイブリッド媒体ストレージシステムアーキテクチャ |
CN103777905B (zh) * | 2014-02-14 | 2017-04-12 | 华中科技大学 | 一种软件定义的固态盘融合存储方法 |
CN105224474B (zh) * | 2014-06-03 | 2019-05-31 | 深圳市腾讯计算机系统有限公司 | 固态硬盘闪存转换层的实现系统和闪存转换层的实现装置 |
CN105511806B (zh) * | 2015-11-30 | 2018-09-07 | 华为技术有限公司 | 处理写请求的方法和移动终端 |
-
2016
- 2016-12-07 WO PCT/CN2016/108855 patent/WO2018103010A1/zh active Application Filing
- 2016-12-07 CN CN201680089211.4A patent/CN109690465B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101313287A (zh) * | 2005-10-13 | 2008-11-26 | 桑迪士克股份有限公司 | 经由嵌入式控制器初始化快闪存储设备 |
CN101496109A (zh) * | 2006-02-28 | 2009-07-29 | 飞思卡尔半导体公司 | 具有多块擦除模式的非易失性存储器及其方法 |
CN101398824A (zh) * | 2007-09-26 | 2009-04-01 | 新奥特硅谷视频技术有限责任公司 | 利用虚拟文件系统技术实现数据处理后存储的方法 |
CN102298506A (zh) * | 2010-06-24 | 2011-12-28 | 国际商业机器公司 | 存储系统和用于实现存储系统的方法 |
US10175885B2 (en) * | 2015-01-19 | 2019-01-08 | Toshiba Memory Corporation | Memory device managing data in accordance with command and non-transitory computer readable recording medium |
Also Published As
Publication number | Publication date |
---|---|
CN109690465A (zh) | 2019-04-26 |
WO2018103010A1 (zh) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109496300B (zh) | 一种存储介质垃圾回收方法、存储介质和程序产品 | |
US9128618B2 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
JP5376983B2 (ja) | メモリシステム | |
CN110908925B (zh) | 高效能垃圾收集方法以及数据存储装置及其控制器 | |
TWI515735B (zh) | 資料抹除方法、記憶體控制電路單元及記憶體儲存裝置 | |
US20140129758A1 (en) | Wear leveling in flash memory devices with trim commands | |
US20080195833A1 (en) | Systems, methods and computer program products for operating a data processing system in which a file system's unit of memory allocation is coordinated with a storage system's read/write operation unit | |
CN109690465B (zh) | 一种存储设备管理方法及用户终端 | |
TWI423026B (zh) | 資料寫入方法、記憶體控制器與記憶體儲存裝置 | |
CN111554340B (zh) | 存取管理的方法、记忆装置、控制器、主装置和电子装置 | |
US20110208898A1 (en) | Storage device, computing system, and data management method | |
US20100042775A1 (en) | Block management method for flash memory, and storage system and controller using the same | |
WO2009017368A2 (en) | Input/output control method and apparatus optimized for flash memory | |
CN110879793B (zh) | 存储器管理方法、存储器存储装置及存储器控制电路单元 | |
CN110309077B (zh) | 主机与设备协同工作的闪存转换层构建方法及装置 | |
KR20100056750A (ko) | 불휘발성 메모리 시스템 및 그것의 액세스 방법 | |
US10120583B2 (en) | Performance penalty avoidance for solid state drive | |
CN114442914B (zh) | 存储器系统 | |
JP5183662B2 (ja) | メモリ制御装置及びメモリ制御方法 | |
CN110312986B (zh) | 用于在固态设备上存储数据的流的机会性使用 | |
CN113885808A (zh) | 映射信息记录方法以及存储器控制电路单元与存储装置 | |
TWI805445B (zh) | 借助額外實體位址資訊來進行記憶體裝置之存取控制的方法、記憶體裝置以及記憶體裝置的控制器 | |
US11036414B2 (en) | Data storage device and control method for non-volatile memory with high-efficiency garbage collection | |
US10896004B2 (en) | Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection | |
CN108255437B (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 |