CN115269452A - Trim命令处理方法、系统、终端设备及存储介质 - Google Patents

Trim命令处理方法、系统、终端设备及存储介质 Download PDF

Info

Publication number
CN115269452A
CN115269452A CN202210755318.5A CN202210755318A CN115269452A CN 115269452 A CN115269452 A CN 115269452A CN 202210755318 A CN202210755318 A CN 202210755318A CN 115269452 A CN115269452 A CN 115269452A
Authority
CN
China
Prior art keywords
trim
command
host
task
commands
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
Application number
CN202210755318.5A
Other languages
English (en)
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.)
Hefei Zhicun Microelectronics Co ltd
Original Assignee
Hefei Zhicun Microelectronics 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 Hefei Zhicun Microelectronics Co ltd filed Critical Hefei Zhicun Microelectronics Co ltd
Priority to CN202210755318.5A priority Critical patent/CN115269452A/zh
Publication of CN115269452A publication Critical patent/CN115269452A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • 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
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种Trim命令处理方法、系统、终端设备及存储介质,Trim命令处理方法包括以下步骤:当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。本发明可以大幅提升对于连续下发的Trim命令的处理效率。

Description

Trim命令处理方法、系统、终端设备及存储介质
技术领域
本发明涉及存储器技术领域,尤其涉及一种Trim命令处理方法、系统、终端设备及存储介质。
背景技术
近年来,随着闪存技术的飞速发展,闪存存储设备如SSD(Solid State Disk,固态硬盘),由于其在性能、功耗、环境适应性等方面的优秀表现,正逐步替换传统的存储设备。而闪存具有的特性之一为物理块需要擦除后才能写入新的数据,主机的文件系统为了适应这种特性,特地发明了Trim机制,即当主机不再需要闪存存储设备中的一部分数据时,则主机下发一个Trim命令,闪存存储设备根据该Trim命令执行对应的Trim操作。
但是,在主机平台给闪存存储设备连续发Trim命令时,闪存存储设备需要对接收到的Trim命令逐一进行处理,并且还可能有重复读写闪存设备的逻辑地址与物理地址映射表的情况,从而导致对Trim命令的处理效率偏低。
发明内容
本发明的主要目的在于提供一种Trim命令处理方法、终端设备及计算机存储介质,旨在解决在主机平台给闪存设备连续发Trim命令时,对Trim命令的处理效率偏低的技术问题。
为实现上述目的,本发明提供一种Trim命令处理方法,所述Trim命令处理方法包括以下步骤:
当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
进一步地,所述命令信息包括:Trim起始地址和Trim长度,所述根据各所述命令信息创建对应的Trim任务并执行的步骤,包括:
根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间;
根据各所述目标地址区间创建各所述Trim命令对应的Trim任务,并执行所述Trim任务以对所述目标地址区间执行Trim操作。
进一步地,在所述根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间的步骤之后,所述方法包括:
判断各所述Trim命令的目标地址区间是否存在连续或重叠;
若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;
根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
进一步地,所述Trim命令处理方法还包括:
在执行所述Trim任务时,若接收到主机下发的操作命令,则中止执行所述Trim任务;
在执行所述操作命令后,接续执行所述Trim任务。
进一步地,所述当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令的步骤,包括:
判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值;
若所述Trim命令的数量超过预设数量阈值,则记录各所述Trim命令各自的命令信息并向所述主机返回完成命令。
进一步地,在所述判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值的步骤之后,所述方法还包括:
若所述Trim命令的数量不超过所述预设数量阈值,则根据所述Trim命令创建对应的实时Trim任务,并执行所述实时Trim任务。
进一步地,在所述当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令的步骤之后,所述方法还包括:
将所述命令信息存储至预设非易失性存储器中;
所述根据各所述命令信息创建对应的Trim任务并执行的步骤,包括:
从所述预设非易失性存储器中读取各所述命令信息,并根据各所述命令信息创建对应的Trim任务并执行。
此外,为实现上述目的,本发明还提供一种Trim命令处理系统,所述Trim命令处理系统包括:
命令记录模块,用于当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
Trim任务模块,用于在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
此外,为实现上述目的,本发明还提供一种终端设备,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的Trim命令处理程序,所述Trim命令处理程序被所述处理器执行时实现如上述中的Trim命令处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述的Trim命令处理方法的步骤。
本发明提出的Trim命令处理方法、系统、终端设备以及计算机存储介质,通过当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
本发明通过当接收到主机连续下发的各Trim命令时,并不直接逐一执行所述Trim命令,而是记录各所述Trim命令各自的命令信息并向所述主机返回完成命令,以通知主机已完成所述Trim命令,从而使得主机无需花费较长的时间等待所述终端设备逐一完成连续下发的Trim命令。然后在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理,从而完成主机连续下发的各Trim命令。本发明可以避免对主机连续下发的Trim命令逐一进行处理,以及重复读取逻辑地址与物理地址的映射表,并且通过所述终端设备在未接收到所述主机下发的操作命令的空闲状态下,执行所述Trim任务,有效地利用了主机下发操作命令的间隔时间来完成主机连续下发的各Trim命令。因此,本发明可以大幅提升对于连续下发的Trim命令的处理效率。
此外,本发明还通过判断各所述Trim命令的目标地址区间是否存在连续或重叠;若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。本发明通过将目标地址区间连续或重叠的Trim命令整合至同一个Trim任务中,则可以进一步地减少各所述Trim命令的执行时间,进而提升对于主机连续下发的各Trim命令的处理效率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端设备的结构示意图;
图2是本发明一种Trim命令处理方法一实施例的流程示意图;
图3是本发明一种Trim命令处理系统的结构关系示意图。
本发明目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端设备的结构示意图。
本发明实施例终端设备可以是针对以闪存颗粒为存储介质的存储器,执行本发明提供的Trim命令处理方法的设备,该终端设备具体可以是移动终端、数据存储控制终端、PC(Personal Computer,个人计算机)或者便携计算机等终端。
如图1所示,该终端设备可以包括:处理器1001,例如CPU(Central ProcessingUnit,中央处理器),通信总线1002、用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)接口)。存储器1005可以是高速的随机存取存储器(Random Access Memory,RAM),也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对所述终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及Trim命令处理程序。其中,操作系统是管理和控制样本终端设备硬件和软件资源的程序,支持Trim命令处理程序以及其它软件或程序的运行。
在图1所示的终端设备中,用户接口1003主要用于与各个终端进行数据通信;网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;而处理器1001可以用于调用存储器1005中存储的Trim命令处理程序,并执行以下操作:
当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
进一步地,处理器1001可以调用存储器1005中存储的Trim命令处理程序,还执行以下操作:
根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间;
根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
进一步地,处理器1001可以调用存储器1005中存储的Trim命令处理程序,还执行以下操作:
判断各所述Trim命令的目标地址区间是否存在连续或重叠;
若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;
根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
进一步地,处理器1001可以调用存储器1005中存储的Trim命令处理程序,还执行以下操作:
在执行所述Trim任务时,若接收到主机下发的操作命令,则中止执行所述Trim任务;
在执行所述操作命令后,接续执行所述Trim任务。
进一步地,处理器1001可以调用存储器1005中存储的Trim命令处理程序,还执行以下操作:
判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值;
若所述Trim命令的数量超过预设数量阈值,则记录各所述Trim命令各自的命令信息并向所述主机返回完成命令。
进一步地,处理器1001可以调用存储器1005中存储的Trim命令处理程序,还执行以下操作:
若所述Trim命令的数量不超过所述预设数量阈值,则根据所述Trim命令创建对应的实时Trim任务,并执行所述实时Trim任务。
进一步地,处理器1001可以调用存储器1005中存储的Trim命令处理程序,还执行以下操作:
将所述命令信息存储至预设非易失性存储器中;
从所述预设非易失性存储器中读取各所述命令信息,并根据各所述命令信息创建对应的Trim任务并执行。
基于上述的结构,提出本发明Trim命令处理方法的各个实施例。
需要说明的是,在本实施例中,由于近年来,随着闪存技术的飞速发展,闪存存储设备如SSD(Solid State Disk,固态硬盘),由于其在性能、功耗、环境适应性等方面的优秀表现,正逐步替换传统的存储设备。而闪存特性之一为物理块需要擦除后才能写入新的数据,主机的文件系统为了适应这种特性,特地发明了Trim机制,当主机不再需要闪存存储设备中的一部分数据时,则主机下发一个Trim命令,闪存存储设备根据该Trim命令执行对应的Trim操作。
但是,在主机平台给闪存存储设备连续发Trim命令时,闪存存储设备需要对接收到的Trim命令逐一进行处理,并且还可能有重复读写闪存设备的逻辑地址与物理地址映射表的情况,从而导致对Trim命令的处理效率偏低。
针对上述问题,本申请提供一种Trim命令处理方法,通过当接收到主机连续下发的各Trim命令时,并不直接逐一执行所述Trim命令,而是记录各所述Trim命令各自的命令信息并向所述主机返回完成命令,以通知主机已完成所述Trim命令,从而使得主机无需花费较长的时间等待所述终端设备逐一完成连续下发的Trim命令。然后在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理,从而完成主机连续下发的各Trim命令。本发明可以避免对主机连续下发的Trim命令逐一进行处理,以及重复读取逻辑地址与物理地址的映射表,并且通过所述终端设备在未接收到所述主机下发的操作命令的空闲状态下,执行所述Trim任务,有效地利用了主机下发操作命令的间隔时间来完成主机连续下发的各Trim命令。因此,本发明可以大幅提升对于连续下发的Trim命令的处理效率。
此外,本发明还通过判断各所述Trim命令的目标地址区间是否存在连续或重叠;若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。本发明通过将目标地址区间连续或重叠的Trim命令整合至同一个Trim任务中,则可以进一步地减少各所述Trim命令的执行时间,进而提升对于主机连续下发的各Trim命令的处理效率。
请参照图2,图2为本发明Trim命令处理方法第一实施例的流程示意图。
本发明实施例提供了Trim命令处理方法的实施例,本发明实施例Trim命令处理方法应用于上述终端设备。需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例中,本发明Trim命令处理方法包括:
步骤S100,当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
所述主机为用于向所述终端设备下发操作命令的设备,可以是移动终端、PC、便携计算机等设备。Trim命令为主机的操作系统用来通知所述终端设备中指定的逻辑地址不再被占用的命令。当主机不再需要之前写入到所述终端设备中的一部分数据,则主机下发这一部分数据对应的Trim命令,其中Trim命令可以包括Trim起始地址、Trim长度等信息,以使所述终端设备执行该Trim命令。
在接收到主机下发的各Trim命令时,则可以通过下发的Trim命令的下发数量、频率、时间间隔等信息,确定主机是否连续下发了多条Trim命令。当接收到主机连续下发的各Trim命令时,所述终端设备进入连续Trim模式。在所述连续Trim模式下,所述终端设备记录各所述Trim命令各自的命令信息,其中所述命令信息包括但不限于所述Trim命令的Trim起始地址和Trim长度。在记录所述命令信息时,则可以向所述主机返回完成命令。其中所述完成命令用于表示所述Trim命令已完成,当所述主机接收到所述完成命令则可确定所述终端设备已完成下发的Trim命令。从而使得主机无需花费较长的时间等待所述终端设备逐一完成连续下发的Trim命令。
进一步地,步骤S100包括以下步骤:
步骤S110,判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值;
步骤S111,若所述Trim命令的数量超过预设数量阈值,则记录各所述Trim命令各自的命令信息并向所述主机返回完成命令。
具体地,预设时长为预先设置用于判断主机是否连续下发的Trim命令的监测时长,比如2秒、3秒、5秒等。所述预设数量阈值则为预先设置用于判断主机是否连续下发的Trim命令的数量阈值,比如5条、8条、10条等。通过判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值,若在预设时长内主机下发的Trim命令的下发数量超过预设数量阈值,说明主机连续下发的Trim命令可能会使得所述终端设备难以及时、快速地完成连续下发的多条Trim命令,则可以记录各所述Trim命令各自的命令信息并向所述主机返回完成命令,以快速主机的Trim命令作出响应,提高对于连续Trim命令的处理效率。
进一步地,步骤S110之前还包括以下步骤:
步骤S112,若所述Trim命令的数量不超过所述预设数量阈值,则根据所述Trim命令创建对应的实时Trim任务,并执行所述实时Trim任务。
若在预设时长内,主机下发的Trim命令的下发数量不超过预设数量阈值,说明主机并非连续下发了多条Trim命令,所述终端设备可以及时、快速地完成下发的Trim命令,则可无需记录所述Trim命令的命令信息,而是直接根据所述Trim命令,创建对应的实时Trim任务,并执行所述实时Trim任务。从而在主机并非连续下发多条Trim命令下,无需处理多余的流程,保证了非连续下发的Trim命令的处理效率。
步骤S200,在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
在未接收到所述主机下发的操作命令的空闲状态下,可以根据之前记录的命令信息,创建对应的Trim任务,并执行所述Trim任务。所述空闲状态可以是所述终端设备未接收到所述主机下发的操作命令时的状态。所述命令信息可以包括Trim起始地址和Trim长度,从而可以根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间。然后根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。可以理解的是,所述Trim操作为将逻辑地址与物理地址映射表中所述目标地址区间对应的映射信息置为无映射(Nomap)。本实施例中,通过所述终端设备在未接收到所述主机下发的操作命令的空闲状态下,执行所述Trim任务,有效地利用了主机下发操作命令的间隔时间来完成主机连续下发的各Trim命令。因此,本发明可以大幅提升对于连续下发的Trim命令的处理效率。
进一步地,所述命令信息包括Trim起始地址和Trim长度,步骤S200包括以下步骤:
步骤S210,根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间;
步骤S220,根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
具体地,所述Trim起始地址为所述Trim命令期望执行Trim操作的逻辑地址的起始点。所述Trim长度为所述Trim命令期望执行Trim操作的以所述Trim起始地址为起点的长度。因此,根据所述Trim起始地址和Trim长度,确定各所述Trim命令期望执行Trim操作的目标地址区间。根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作,将所述终端设备的逻辑地址与物理地址映射表中所述目标地址区间对应的映射信息置为无映射(Nomap)。可以理解的是,所述目标地址区间对应的映射信息置为无映射(Nomap)后,所述目标地址区间对应的物理块中存储的数据则可以进行擦除,腾出该物理块的存储空间。
更进一步地,步骤S210之后,包括:
步骤S230,判断各所述Trim命令的目标地址区间是否存在连续或重叠;
步骤S231,若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;
步骤S232,根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
在实际使用过程中,各所述Trim命令的目标地址区间可能出现连续或重叠的情况,可以通过判断各所述Trim命令的目标地址区间是否存在连续或重叠,若各所述Trim命令的目标地址区间存在连续或重叠,则将各Trim命令中连续或重叠的所述目标地址区间进行合并,获得组合地址区间。然后在根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。从而可以减少进行Trim操作的次数,进而提升对Trim命令的处理效率。
更进一步地,所述Trim命令处理方法还包括以下步骤:
步骤S221,在执行所述Trim任务时,若接收到主机下发的操作命令,则中止执行所述Trim任务;
步骤S222,在执行所述操作命令后,接续执行所述Trim任务。
具体地,所述操作命令为用于对所述终端设备进行操作的命令,例如读取命令、写入命令、Trim命令等。在执行所述Trim任务时,若接收到主机下发的操作命令,则中止执行所述Trim任务,从而保证对于主机下发的操作命令能够及时响应。在执行所述操作命令后,再接续执行所述Trim任务,以完成创建的所有Trim任务。本实施例,通过在执行所述Trim任务时,监测主机是否下发的操作命令,从而在接收到主机下发的操作命令时,中止执行所述Trim任务,以及时对主机下发的操作命令进行响应,从而避免了对主机的正常操作行为的干扰。
更进一步地,在步骤S100之后,所述方法还包括以下步骤:
步骤S120,将所述命令信息存储至预设非易失性存储器中。
所述根据各所述命令信息创建对应的Trim任务并执行的步骤,包括:
步骤S240,从所述预设非易失性存储器中读取各所述命令信息,并根据各所述命令信息创建对应的Trim任务并执行。
具体地,预设非易失性存储器可以为快闪存储器(flash memory),通过将所述命令信息存储至预设非易失性存储器中,然后可以从所述预设非易失性存储器中读取各所述命令信息,并根据各所述命令信息创建对应的Trim任务并执行。从而可以避免在由于断电或其他突发状况所导致的突然性、意外性关闭所述终端设备的时候,所述命令信息不会丢失,从而保证的所述命令信息的安全性。
此外,请参照图3,本发明实施例还提出一种Trim命令处理系统,所述Trim命令处理系统包括:
命令记录模块10,用于当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
Trim任务模块20,用于在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
更进一步地,Trim任务模块20,还用于
根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间;
根据各所述目标地址区间创建各所述Trim命令对应的Trim任务,并执行所述Trim任务以对所述目标地址区间执行Trim操作。
更进一步地,Trim任务模块20,还用于
判断各所述Trim命令的目标地址区间是否存在连续或重叠;
若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;
根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
更进一步地,所述Trim命令处理系统还包括:中止模块30,用于
在执行所述Trim任务时,若接收到主机下发的操作命令,则中止执行所述Trim任务;
在执行所述操作命令后,接续执行所述Trim任务。
更进一步地,所述Trim命令处理系统还包括:判断模块40,用于
判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值;
若所述Trim命令的数量超过预设数量阈值,则记录各所述Trim命令各自的命令信息并向所述主机返回完成命令。
更进一步地,判断模块40,还用于
若所述Trim命令的数量不超过所述预设数量阈值,则根据所述Trim命令创建对应的实时Trim任务,并执行所述实时Trim任务。
更进一步地,所述Trim命令处理系统还包括:存储模块50,用于
将所述命令信息存储至预设非易失性存储器中;
更进一步地,Trim任务模块20,还用于
从所述预设非易失性存储器中读取各所述命令信息,并根据各所述命令信息创建对应的Trim任务并执行。
此外,本发明实施例还提出一种计算机存储介质,应用于计算机,该计算机存储介质可以为非易失性计算机可读计算机存储介质,该计算机存储介质上存储有Trim命令处理程序,所述Trim命令处理程序被处理器执行时实现如上所述的Trim命令处理方法的步骤。
其中,在所述处理器上运行的Trim命令处理程序被执行时所实现的步骤可参照本发明Trim命令处理方法的各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机存储介质(如Flash存储器、ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)中,用于控制该存储介质进行数据读写操作的控制器执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种Trim命令处理方法,其特征在于,所述Trim命令处理方法包括以下步骤:
当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
2.如权利要求1所述的Trim命令处理方法,其特征在于,所述命令信息包括:Trim起始地址和Trim长度,所述根据各所述命令信息创建对应的Trim任务并执行的步骤,包括:
根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间;
根据各所述目标地址区间创建各所述Trim命令对应的Trim任务,并执行所述Trim任务以对所述目标地址区间执行Trim操作。
3.如权利要求2所述的Trim命令处理方法,其特征在于,在所述根据所述Trim起始地址和Trim长度,确定各所述Trim命令的目标地址区间的步骤之后,所述方法包括:
判断各所述Trim命令的目标地址区间是否存在连续或重叠;
若各所述目标地址区间存在连续或重叠,则将连续或重叠的目标地址区间进行合并得到组合地址区间;
根据所述组合地址区间创建对应的组合Trim任务,并执行所述组合Trim任务以对所述组合地址区间执行Trim操作。
4.如权利要求1所述的Trim命令处理方法,其特征在于,所述Trim命令处理方法还包括:
在执行所述Trim任务时,若接收到主机下发的操作命令,则中止执行所述Trim任务;
在执行所述操作命令后,接续执行所述Trim任务。
5.如权利要求1所述的Trim命令处理方法,其特征在于,所述当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令的步骤,包括:
判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值;
若所述Trim命令的数量超过预设数量阈值,则记录各所述Trim命令各自的命令信息并向所述主机返回完成命令。
6.如权利要求5所述的Trim命令处理方法,其特征在于,在所述判断在预设时长内所述主机连续下发的所述Trim命令的数量是否超过预设数量阈值的步骤之后,所述方法还包括:
若所述Trim命令的数量不超过所述预设数量阈值,则根据所述Trim命令创建对应的实时Trim任务,并执行所述实时Trim任务。
7.如权利要求1至6中任一项所述的Trim命令处理方法,其特征在于,在所述当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令的步骤之后,所述方法还包括:
将所述命令信息存储至预设非易失性存储器中;
所述根据各所述命令信息创建对应的Trim任务并执行的步骤,包括:
从所述预设非易失性存储器中读取各所述命令信息,并根据各所述命令信息创建对应的Trim任务并执行。
8.一种Trim命令处理系统,其特征在于,所述Trim命令处理系统包括:
命令记录模块,用于当接收到主机连续下发的各Trim命令时,记录各所述Trim命令各自的命令信息并向所述主机返回完成命令;
Trim任务模块,用于在未接收到所述主机下发的操作命令的空闲状态下,根据各所述命令信息创建对应的Trim任务并执行,以针对各所述Trim命令进行处理。
9.一种终端设备,其特征在于,所述终端设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的Trim命令处理程序,所述Trim命令处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的Trim命令处理方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的Trim命令处理方法的步骤。
CN202210755318.5A 2022-06-29 2022-06-29 Trim命令处理方法、系统、终端设备及存储介质 Pending CN115269452A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210755318.5A CN115269452A (zh) 2022-06-29 2022-06-29 Trim命令处理方法、系统、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210755318.5A CN115269452A (zh) 2022-06-29 2022-06-29 Trim命令处理方法、系统、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN115269452A true CN115269452A (zh) 2022-11-01

Family

ID=83763933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210755318.5A Pending CN115269452A (zh) 2022-06-29 2022-06-29 Trim命令处理方法、系统、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN115269452A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893853A (zh) * 2023-09-11 2023-10-17 合肥康芯威存储技术有限公司 一种存储设备及擦除指令的处理方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116893853A (zh) * 2023-09-11 2023-10-17 合肥康芯威存储技术有限公司 一种存储设备及擦除指令的处理方法
CN116893853B (zh) * 2023-09-11 2023-12-12 合肥康芯威存储技术有限公司 一种存储设备及擦除指令的处理方法

Similar Documents

Publication Publication Date Title
US7484220B2 (en) Method, software and apparatus for using application state history information when re-launching applications
US8543164B2 (en) Sleep method, wake method and mobile terminal device
US8635422B1 (en) Systems and methods for reclaiming storage space from deleted volumes on thin-provisioned disks
CN111078406B (zh) 内存管理方法、装置、存储介质及电子设备
EP3117316A1 (en) Dynamic resource management for multi-process applications
CN114096953A (zh) 内存管理方法、装置、电子设备和计算机可读介质
CN115269452A (zh) Trim命令处理方法、系统、终端设备及存储介质
CN111290836A (zh) 虚拟机快照创建方法、装置、存储介质及计算机设备
CN113625973A (zh) 数据写入方法、装置、电子设备及计算机可读存储介质
CN111580876A (zh) 应用程序的控制方法、系统及终端
CN112445766A (zh) 一种终端碎片整理方法、装置以及终端
CN108287761B (zh) 内存回收方法及装置、终端设备及计算机可读存储介质
CN111078587B (zh) 内存分配方法、装置、存储介质及电子设备
CN113535341A (zh) Linux下CPU核间中断通信的实现方法及装置
CN109426563B (zh) 一种进程管理方法及装置
CN115344198A (zh) 磁盘的数据读写方法、系统、终端设备及存储介质
CN103870295A (zh) 切换方法和电子设备
CN111258676B (zh) 模块预加载方法、装置、设备及可读存储介质
CN111078405B (zh) 内存分配方法、装置、存储介质及电子设备
CN111562983B (zh) 内存优化方法、装置、电子设备及存储介质
CN114138314A (zh) 一种cpu微码升级方法、系统及相关组件
CN111722855A (zh) 一种基于eMMC的固件烧录系统、方法与集成芯片
CN111782362A (zh) 一种消息任务调度方法、装置及电子设备
CN113032171B (zh) 一种控制方法及装置
CN113703799B (zh) 计算设备及其bios更新方法和介质

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