CN109240939A - 一种快速处理固态硬盘trim的方法 - Google Patents

一种快速处理固态硬盘trim的方法 Download PDF

Info

Publication number
CN109240939A
CN109240939A CN201810928716.6A CN201810928716A CN109240939A CN 109240939 A CN109240939 A CN 109240939A CN 201810928716 A CN201810928716 A CN 201810928716A CN 109240939 A CN109240939 A CN 109240939A
Authority
CN
China
Prior art keywords
trim
lba
node
state table
state
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.)
Granted
Application number
CN201810928716.6A
Other languages
English (en)
Other versions
CN109240939B (zh
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.)
Hangzhou Amam Technology Co Ltd
Original Assignee
Hangzhou Amam Technology 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 Hangzhou Amam Technology Co Ltd filed Critical Hangzhou Amam Technology Co Ltd
Priority to CN201810928716.6A priority Critical patent/CN109240939B/zh
Publication of CN109240939A publication Critical patent/CN109240939A/zh
Application granted granted Critical
Publication of CN109240939B publication Critical patent/CN109240939B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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
    • 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/0253Garbage collection, i.e. reclamation of unreferenced memory
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种快速处理固态硬盘TRIM的方法。它具体操作步骤如下:(1)TRIM状态表以LBA为索引,代表对应的LBA是否等待TRIM,将k个LBA映射到一个TRIM节点,以TRIM节点为索引建立一个TRIM节点状态表,TRIM节点状态表的内容为每个节点的状态;(2)当主机下发TRIM命令后,SSD控制器根据起始LBA地址和范围将TRIM状态表和TRIM节点状态表更新,将主机所要TRIM的LBA信息记录下来,更新完TRIM状态表和TRIM节点状态表的时候向主机返回TRIM命令;(3)设备表项处理模块在背景上将记录的待TRIM的LBA进行TRIM操作完成。本发明的有益效果是:解决TRIM命令处理延时巨大的问题的方法;在TRIM背景处理过程中优先响应主机IO的表项的请求,使得SSD的性能不受背景TRIM操作的明显影响。

Description

一种快速处理固态硬盘TRIM的方法
技术领域
本发明涉及固态存储相关技术领域,尤其是指一种快速处理固态硬盘TRIM的方法。
背景技术
固态硬盘(Solid State Drives,SSD) 采用非易失性存储器(Non-VolatileMemory,NVM)作为存储介质。该种介质物理上不支持覆盖写,需要擦除操作之后才能写入数据,而且需按照块(block)的粒度进行擦除,按照页(Page)的粒度进行写入,所以即使当某个块当中的有些页的数据已经无效,也不能将其擦除,而是要通过垃圾回收(GarbageCollection,GC)将有效的页搬移到其他块并修改逻辑页和物理页地址的映射关系(Logical to Physical,L2P),使得该块的有效页计数(Valid Page Counter,VPC)为0,再将其擦除。由于系统读写的物理带宽资源及介质的擦除次数均是有限的,所以GC的行为将直接影响到系统的读写性能和使用寿命。
操作系统在删除一个文件时候,文件系统会把相应的空间标识成空,允许新的数据进行覆盖写, 但是下层的SSD控制器无法感知这些空间已经无效,还会继续将这些已经无效的数据进行搬移,从而影响SSD设备的性能和使用寿命。为此,微软联合各大SSD厂商提出一种TRIM指令:主机通过向SSD设备下发TRIM命令,告诉SSD设备哪些空间将不被再用,使SSD设备可以避免无效数据的搬移。主机每次下发的TRIM命令包含起始逻辑地址(LBA)和范围。SSD控制器在处理每个LBA的TRIM的时候需要将对应页的L2P修改成无效,并将对应块的VPC减1。当主机需要TRIM的LBA范围增加的时候,这种逐个LBA处理的所需的时间呈线性增加,后续所有主机下发的IO命令将会被阻塞,导致巨大的主机IO延时,甚至超时。所以,如何快速地完成TRIM命令显得非常关键,也是SSD控制器设计的一个难点。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够有效解决TRIM命令处理延时的快速处理固态硬盘TRIM的方法。
为了实现上述目的,本发明采用以下技术方案:
一种快速处理固态硬盘TRIM的方法,采用TRIM状态表和TRIM节点状态表记录主机下发的待TRIM的LBA并快速向主机返回TRIM命令,之后通过设备表项处理模块在背景中处理待TRIM的LBA,具体操作步骤如下:
(1)TRIM 状态表以LBA为索引,代表对应的LBA是否等待TRIM,将k个LBA映射到一个TRIM 节点,以TRIM节点为索引建立一个TRIM节点状态表,TRIM节点状态表的内容为每个节点的状态;
(2)当主机下发TRIM命令后,SSD控制器根据起始LBA地址和范围将TRIM状态表和TRIM节点状态表更新,将主机所要TRIM的LBA信息记录下来,更新完TRIM 状态表和TRIM节点状态表的时候向主机返回TRIM命令;
(3)设备表项处理模块在背景上将记录的待TRIM的LBA进行TRIM操作完成。
本发明提出一种通过建立多个TRIM相关表项,快速地将主机TRIM的LBA记录下来并返回TRIM命令,之后在背景中处理TRIM的各个操作,解决TRIM命令处理延时巨大的问题的方法。同时,该方法在TRIM背景处理过程中优先响应主机IO的表项的请求,使得SSD的性能不受背景TRIM操作的明显影响。通过上述方法可以通过少量的TRIM状态表和TRIM节点状态表的修改,就可以记住主机所要TRIM的LBA;随着主机发送的TRIM的LBA范围的增加,所需要修改的表项增加量极小,TRIM返回的时间对TRIM范围不敏感,可以保证任意TRIM范围下SSD控制器快速返回TRIM给主机;由于表项处理模块的处理属于控制面处理,相对于数据面在整个系统中不易成为系统瓶颈,所以系统背景TRIM操作可以很快完成。由于系统在TRIM背景处理过程中,优先响应主机的表项访问,所以背景TRIM的处理过程中,不会对系统性能产生明显的影响。
作为优选,在步骤(1)中,k的取值根据系统调整,通过TRIM节点状态表可以获悉:该节点中是否有LBA待TRIM,是所有LBA待TRIM还是部分LBA待TRIM的信息;如果是部分LBA待TRIM,则可以通过查找该节点中每个LBA对应的TRIM状态表得知哪些LBA待TRIM;初始时,所有的TRIM 状态表设成M0状态,表示对应的LBA不需要TRIM;所有的TIRM节点状态表设成S0,表示对应节点中没有LBA需要TRIM。
作为优选,在步骤(2)中,更新方法如下:LBA范围所覆盖的节点中,中间节点的节点状态一律更新成S1,表示该节点的所有LBA待TRIM,对应的TRIM状态表无需处理;对于头尾节点,如果没有按照节点的粒度对齐,则将其节点状态更新成S2,表示该节点有部分LBA待TRIM,并根据该节点中待TRIM的LBA分布将对应的TRIM状态表更新成M1,表示对应的LBA需要TRIM。
作为优选,在步骤(3)中,具体的TRIM操作如下:设备的表项处理模块在空闲的时候将状态为S1或者S2的TRIM节点逐个处理,如果是S1的节点,先把该节点状态改成S2,所对应的所有的TRIM状态表状态改成M1,然后按照TRIM状态表逐个LBA进行处理,处理完之后退出该节点,并将该节点状态更新成S0;如果是S2的节点,直接按照TRIM状态表逐个LBA进行处理,处理完成后退出该节点,并将该节点状态更新成S0。
作为优选,在步骤(3)中,当有主机IO读写命令下发到设备的时候,如果设备正在处理某一个TRIM节点,设备立即退出当前的节点转而处理主机IO读写所击中的LBA表项操作,待完成后再继续执行背景TRIM;如果主机下发的是IO正好是待TRIM的LBA,那么如果主机下发的是IO读,则直接返回无效;如果主机下发的是IO写,且该LBA是待TRIM的LBA,则更新L2P表和VPC表,更新TRIM状态表为M0。
作为优选,在步骤(3)中,在垃圾回收的时候,SSD控制器先查找TRIM状态表确认将要搬移的LBA是否是待TRIM的LBA,如果是,就不进行搬移,防止搬移无效的数据。
本发明的有益效果是:快速地将主机TRIM的LBA记录下来并返回TRIM命令,之后在背景中处理TRIM的各个操作,解决TRIM命令处理延时巨大的问题的方法;在TRIM背景处理过程中优先响应主机IO的表项的请求,使得SSD的性能不受背景TRIM操作的明显影响。
附图说明
图1是本发明的表项映射关系示意图;
图2是本发明的表项映射关系实例图;
图3是本发明的表项更新示意图;
图4是本发明的TRIM节点状态转换示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
一种快速处理固态硬盘TRIM的方法,采用TRIM状态表和TRIM节点状态表记录主机下发的待TRIM的LBA并快速向主机返回TRIM命令,之后通过设备表项处理模块在背景中处理待TRIM的LBA,具体操作步骤如下:
(1)TRIM 状态表以LBA为索引,代表对应的LBA是否等待TRIM,将k个LBA映射到一个TRIM 节点,以TRIM节点为索引建立一个TRIM节点状态表,TRIM节点状态表的内容为每个节点的状态,如图1所示;k的取值根据系统调整,通过TRIM节点状态表可以获悉:该节点中是否有LBA待TRIM,是所有LBA待TRIM还是部分LBA待TRIM的信息;如果是部分LBA待TRIM,则可以通过查找该节点中每个LBA对应的TRIM状态表得知哪些LBA待TRIM;初始时,所有的TRIM状态表设成M0状态,表示对应的LBA不需要TRIM;所有的TIRM节点状态表设成S0,表示对应节点中没有LBA需要TRIM。
(2)当主机下发TRIM命令后,SSD控制器根据起始LBA地址和范围将TRIM状态表和TRIM节点状态表更新,将主机所要TRIM的LBA信息记录下来,更新完TRIM 状态表和TRIM节点状态表的时候向主机返回TRIM命令;更新方法如下:LBA范围所覆盖的节点中,中间节点的节点状态一律更新成S1,表示该节点的所有LBA待TRIM,对应的TRIM状态表无需处理;对于头尾节点,如果没有按照节点的粒度对齐,则将其节点状态更新成S2,表示该节点有部分LBA待TRIM,并根据该节点中待TRIM的LBA分布将对应的TRIM状态表更新成M1,表示对应的LBA需要TRIM。
(3)设备表项处理模块在背景上将记录的待TRIM的LBA进行TRIM操作完成;具体的TRIM操作如下:设备的表项处理模块在空闲的时候将状态为S1或者S2的TRIM节点逐个处理,如果是S1的节点,先把该节点状态改成S2,所对应的所有的TRIM状态表状态改成M1,然后按照TRIM状态表逐个LBA进行处理,处理完之后退出该节点,并将该节点状态更新成S0;如果是S2的节点,直接按照TRIM状态表逐个LBA进行处理,处理完成后退出该节点,并将该节点状态更新成S0。
当有主机IO读写命令下发到设备的时候,如果设备正在处理某一个TRIM节点,设备立即退出当前的节点转而处理主机IO读写所击中的LBA表项操作,待完成后再继续执行背景TRIM;如果主机下发的是IO正好是待TRIM的LBA,那么如果主机下发的是IO读,则直接返回无效;如果主机下发的是IO写,且该LBA是待TRIM的LBA,则更新L2P表和VPC表,更新TRIM状态表为M0。
在垃圾回收的时候,SSD控制器先查找TRIM状态表确认将要搬移的LBA是否是待TRIM的LBA,如果是,就不进行搬移,防止搬移无效的数据。
本发明的优点在于:可以通过少量的TRIM状态表和TRIM节点状态表的修改,就可以记住主机所要TRIM的LBA;随着主机发送的TRIM的LBA范围的增加,所需要修改的表项增加量极小,TRIM返回的时间对TRIM范围不敏感,可以保证任意TRIM范围下SSD控制器快速返回TRIM给主机;由于表项处理模块的处理属于控制面处理,相对于数据面在整个系统中不易成为系统瓶颈,所以系统背景TRIM操作可以很快完成。由于系统在TRIM背景处理过程中,优先响应主机的表项访问,所以背景TRIM的处理过程中,不会对系统性能产生明显的影响。
以下是本发明的一种具体实例:
如图2所示,每个L2P表位宽32bit,TRIM状态表位宽为1bit,TRIM节点状态表位宽为2bit。32k个TRIM状态表单元以作为一个组映射到一个TRIM节点表的单元。每个LBA的大小为4KB,如果SSD设备的容量为1TB,则L2P表的大小为1GB,TRIM状态表为32MB,TIRM节点状态表为2KB。
TRIM状态表一共有两种状态:0表示无需处理,1表示待TRIM。TIRM节点状态表,一共有3种状态:Idle(2’b00),Pending(2’b01),Dirty(2’b10)。其中Idle表示该节点没有待TRIM的LBA;Pending表示该节点的所有LBA待TRIM;Dirty表示该节点中有部分LBA待TRIM,需要根据TRIM状态表获悉哪些LBA等待被TRIM。
SSD设备上电初始化的时候,所有的TRIM节点状态表都初始化成Idle状态,所有TRIM状态清0。当主机下发TRIM命令后,SSD控制器根据起始LBA地址和范围将对应的TRIM节点状态表更新成pending状态,如果主机下发TRIM的LBA范围没有按照TRIM节点的粒度对齐,则将头尾非对其的LBA所对应的TRIM节点的状态成Dirty并将对应的TRIM状态表置成1,随后向主机返回TRIM命令完成。如图3所示,为主机下发TRIM的LBA范围从LBA(32k-2)~LBA(96k+1),该范围共覆盖的LBA个数为62k+4,涉及两个完成的节点和两个不完整的头尾节点。SSD控制器将节点0和3的节点状态表改成dirty状态,并将相应的TRIM状态表置成1;同时将节点1和2的节点状态表改成pending状态,然后向主机返回TRIM命令。处理该64k+4个LBA的TRIM,SSD控制器只需要头尾TRIM节点各两个TRIM状态表及两个中间接点的TRIM节点状态表,一共2bit+2bit+2x2bit=8bit,就可以返回TRIM命令。
TRIM命令返回后,SSD控制器表项处理模块可以在背景上将主机需要TRIM的LBA真正TRIM掉。每个LBA的TRIM包括:L2P表项的修改、将原数据所在的块的VPC减1等操作。设备的表项处理模块将Pending或者Dirty的节点按照TRIM状态表逐个处理:如果是Pending的节点,先把改节点所对应的TRIM比特表置位并将其状态改为Dirty,然后按照TRIM比特表逐个LBA进行处理,处理完每个LBA的时候将对应的TRIM状态表清0,直至处理完所有LBA后退出该节点,并将该节点状态更新成Idle;如果是Dirty节点,直接按照TRIM状态表逐个LBA进行处理,处理完成后退出该节点,并将该节点状态更新成idle,如图4所示。
SSD控制器在背景上处理待TRIM的LBA的时候,如果主机再下发TRIM命令的时候上一条TRIM命令的背景操作还未完成,同样可以按照上述流程进行处理。
实例中,SSD控制器正在处理TRIM节点0的时候:
如果主机下发了写LBA(100k),SSD控制器立即退出当前的节点0转而处理主机IO写所击中的LBA(100k)的表项操作,由于LBA(100k)不属于待TIRM的LBA,SSD控制器按照正常写来处理LBA(100k)表项操作,然后返回继续处理节点0;如果主机下发写LBA(64k),SSD控制器立即退出节点0,由于LBA(64k)位于节点2,且该节点状态为Pending,SSD控制器先将节点2改成Dirty状态,将该节点所有TRIM状态表置成1,再将LBA(64k)对应TRIM状态表清0,然后再更改L2P表,修改VPC表等操作,然后再继续执行背景TRIM。
如果主机下发了读LBA(100k),SSD控制器立即退出节点0转而处理主机IO读所击中的LBA(100k)的表项操作,由于LBA(100k)不属于待TRIM的LBA,SSD控制器将L2P里面指向的物理地址中的数据返回给主机。如果主机下发读LBA(64k),SSD控制器立即退出节点0,由于LBA(64k)位于节点2,该节点是状态为Pending,SSD控制器将向主机返回无效的数据。然后表项处理模块继续处理背景的TRIM。
SSD控制器在做垃圾回收的时候,先查找将要搬移的LBA是否是待TRIM的LBA,如果是,就不进行搬移,防止搬移无效的数据。

Claims (6)

1.一种快速处理固态硬盘TRIM的方法,其特征是,采用TRIM状态表和TRIM节点状态表记录主机下发的待TRIM的LBA并快速向主机返回TRIM命令,之后通过设备表项处理模块在背景中处理待TRIM的LBA,具体操作步骤如下:
TRIM 状态表以LBA为索引,代表对应的LBA是否等待TRIM,将k个LBA映射到一个TRIM节点,以TRIM节点为索引建立一个TRIM节点状态表,TRIM节点状态表的内容为每个节点的状态;
当主机下发TRIM命令后,SSD控制器根据起始LBA地址和范围将TRIM状态表和TRIM节点状态表更新,将主机所要TRIM的LBA信息记录下来,更新完TRIM 状态表和TRIM节点状态表的时候向主机返回TRIM命令;
设备表项处理模块在背景上将记录的待TRIM的LBA进行TRIM操作完成。
2.根据权利要求1所述的一种快速处理固态硬盘TRIM的方法,其特征是,在步骤(1)中,k的取值根据系统调整,通过TRIM节点状态表可以获悉:该节点中是否有LBA待TRIM,是所有LBA待TRIM还是部分LBA待TRIM的信息;如果是部分LBA待TRIM,则可以通过查找该节点中每个LBA对应的TRIM状态表得知哪些LBA待TRIM;初始时,所有的TRIM 状态表设成M0状态,表示对应的LBA不需要TRIM;所有的TIRM节点状态表设成S0,表示对应节点中没有LBA需要TRIM。
3.根据权利要求2所述的一种快速处理固态硬盘TRIM的方法,其特征是,在步骤(2)中,更新方法如下:LBA范围所覆盖的节点中,中间节点的节点状态一律更新成S1,表示该节点的所有LBA待TRIM,对应的TRIM状态表无需处理;对于头尾节点,如果没有按照节点的粒度对齐,则将其节点状态更新成S2,表示该节点有部分LBA待TRIM,并根据该节点中待TRIM的LBA分布将对应的TRIM状态表更新成M1,表示对应的LBA需要TRIM。
4.根据权利要求3所述的一种快速处理固态硬盘TRIM的方法,其特征是,在步骤(3)中,具体的TRIM操作如下:设备的表项处理模块在空闲的时候将状态为S1或者S2的TRIM节点逐个处理,如果是S1的节点,先把该节点状态改成S2,所对应的所有的TRIM状态表状态改成M1,然后按照TRIM状态表逐个LBA进行处理,处理完之后退出该节点,并将该节点状态更新成S0;如果是S2的节点,直接按照TRIM状态表逐个LBA进行处理,处理完成后退出该节点,并将该节点状态更新成S0。
5.根据权利要求4所述的一种快速处理固态硬盘TRIM的方法,其特征是,在步骤(3)中,当有主机IO读写命令下发到设备的时候,如果设备正在处理某一个TRIM节点,设备立即退出当前的节点转而处理主机IO读写所击中的LBA表项操作,待完成后再继续执行背景TRIM;如果主机下发的是IO正好是待TRIM的LBA,那么如果主机下发的是IO读,则直接返回无效;如果主机下发的是IO写,且该LBA是待TRIM的LBA,则更新L2P表和VPC表,更新TRIM状态表为M0。
6.根据权利要求4或5所述的一种快速处理固态硬盘TRIM的方法,其特征是,在步骤(3)中,在垃圾回收的时候,SSD控制器先查找TRIM状态表确认将要搬移的LBA是否是待TRIM的LBA,如果是,就不进行搬移,防止搬移无效的数据。
CN201810928716.6A 2018-08-15 2018-08-15 一种快速处理固态硬盘trim的方法 Active CN109240939B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810928716.6A CN109240939B (zh) 2018-08-15 2018-08-15 一种快速处理固态硬盘trim的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810928716.6A CN109240939B (zh) 2018-08-15 2018-08-15 一种快速处理固态硬盘trim的方法

Publications (2)

Publication Number Publication Date
CN109240939A true CN109240939A (zh) 2019-01-18
CN109240939B CN109240939B (zh) 2023-04-07

Family

ID=65069669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810928716.6A Active CN109240939B (zh) 2018-08-15 2018-08-15 一种快速处理固态硬盘trim的方法

Country Status (1)

Country Link
CN (1) CN109240939B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362276A (zh) * 2019-07-10 2019-10-22 深圳忆联信息系统有限公司 基于固态硬盘的Trim执行效率提升方法和装置
CN110568998A (zh) * 2019-09-16 2019-12-13 深圳忆联信息系统有限公司 基于固态硬盘的Trim命令实现方法、装置和计算机设备
CN111462805A (zh) * 2020-03-11 2020-07-28 苏州浪潮智能科技有限公司 一种全面快速测试NVME SSD Trim功能的方法及装置
CN112631953A (zh) * 2020-12-30 2021-04-09 湖南国科微电子股份有限公司 固态硬盘数据trim方法、装置、电子设备及存储介质
CN113031866A (zh) * 2021-03-24 2021-06-25 山东华芯半导体有限公司 一种应用于SSD的Trim管理方法

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103019971A (zh) * 2012-11-25 2013-04-03 向志华 快速响应trim命令的方法、SSD控制器及系统
US20140047210A1 (en) * 2012-08-08 2014-02-13 Lsi Corporation Trim mechanism using multi-level mapping in a solid-state media
US9251067B1 (en) * 2012-11-01 2016-02-02 Western Digital Technologies, Inc. High speed trim command processing in a solid state drive
CN105760311A (zh) * 2016-02-17 2016-07-13 珠海全志科技股份有限公司 trim命令响应方法和系统及操作系统
US20170228162A1 (en) * 2016-02-05 2017-08-10 Phison Electronics Corp. Memory management method, memory control circuit unit and memory storage device
CN107481762A (zh) * 2017-08-29 2017-12-15 郑州云海信息技术有限公司 一种固态硬盘的trim处理方法及装置
CN107632942A (zh) * 2017-08-29 2018-01-26 记忆科技(深圳)有限公司 一种固态硬盘实现lba级别trim命令的方法
CN107797938A (zh) * 2016-09-05 2018-03-13 北京忆恒创源科技有限公司 加快去分配命令处理的方法与存储设备
US20180107400A1 (en) * 2016-10-14 2018-04-19 Smart Modular Technologies, Inc. Flash-based block storage system with trimmed space management and method of operation thereof

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140047210A1 (en) * 2012-08-08 2014-02-13 Lsi Corporation Trim mechanism using multi-level mapping in a solid-state media
US9251067B1 (en) * 2012-11-01 2016-02-02 Western Digital Technologies, Inc. High speed trim command processing in a solid state drive
CN103019971A (zh) * 2012-11-25 2013-04-03 向志华 快速响应trim命令的方法、SSD控制器及系统
US20170228162A1 (en) * 2016-02-05 2017-08-10 Phison Electronics Corp. Memory management method, memory control circuit unit and memory storage device
CN105760311A (zh) * 2016-02-17 2016-07-13 珠海全志科技股份有限公司 trim命令响应方法和系统及操作系统
CN107797938A (zh) * 2016-09-05 2018-03-13 北京忆恒创源科技有限公司 加快去分配命令处理的方法与存储设备
US20180107400A1 (en) * 2016-10-14 2018-04-19 Smart Modular Technologies, Inc. Flash-based block storage system with trimmed space management and method of operation thereof
CN107481762A (zh) * 2017-08-29 2017-12-15 郑州云海信息技术有限公司 一种固态硬盘的trim处理方法及装置
CN107632942A (zh) * 2017-08-29 2018-01-26 记忆科技(深圳)有限公司 一种固态硬盘实现lba级别trim命令的方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110362276A (zh) * 2019-07-10 2019-10-22 深圳忆联信息系统有限公司 基于固态硬盘的Trim执行效率提升方法和装置
CN110568998A (zh) * 2019-09-16 2019-12-13 深圳忆联信息系统有限公司 基于固态硬盘的Trim命令实现方法、装置和计算机设备
CN111462805A (zh) * 2020-03-11 2020-07-28 苏州浪潮智能科技有限公司 一种全面快速测试NVME SSD Trim功能的方法及装置
CN111462805B (zh) * 2020-03-11 2022-10-18 苏州浪潮智能科技有限公司 一种全面快速测试NVME SSD Trim功能的方法及装置
CN112631953A (zh) * 2020-12-30 2021-04-09 湖南国科微电子股份有限公司 固态硬盘数据trim方法、装置、电子设备及存储介质
CN113031866A (zh) * 2021-03-24 2021-06-25 山东华芯半导体有限公司 一种应用于SSD的Trim管理方法

Also Published As

Publication number Publication date
CN109240939B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN109240939A (zh) 一种快速处理固态硬盘trim的方法
CN104903872B (zh) 用于自适应持久化的系统、方法和接口
US9183136B2 (en) Storage control apparatus and storage control method
JP5431453B2 (ja) 記憶要求を追加データ記憶コマンドに変換するための装置、システム及び方法
KR100772863B1 (ko) 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치
JP6224253B2 (ja) フラッシュメモリ内に記憶されたデータの推測的プリフェッチ
WO2018072420A1 (zh) 存储管理方法及存储设备
US9940040B2 (en) Systems, solid-state mass storage devices, and methods for host-assisted garbage collection
US8392670B2 (en) Performance management of access to flash memory in a storage device
US20100011154A1 (en) Data accessing method for flash memory and storage system and controller using the same
CN103019971A (zh) 快速响应trim命令的方法、SSD控制器及系统
KR20110048486A (ko) 멀티-프로세서/멀티-스레드 환경에서 저장 요청을 조정하는 장치, 시스템 및 방법
CN106909314A (zh) 存储器系统及控制方法
KR20110039417A (ko) 가상 주소 및 물리적 주소를 효율적으로 매핑시키는 장치, 시스템 및 방법
JP2013152676A (ja) 不揮発性記憶装置
CN103902475B (zh) 一种基于队列管理机制的固态硬盘并行访问方法及装置
CN112231244B (zh) 应用于SoftSIM的SIM卡文件擦写系统、方法和可读存储介质
CN110362499B (zh) 电子机器及其控制方法、计算机系统及其控制方法以及主机的控制方法
CN103514249A (zh) 一种数据自精简方法和系统及存储装置
CN105718206A (zh) 能够感知raid的闪存转换层及其实现方法
CN103514095A (zh) 一种数据库写入ssd 的方法和系统
WO2023124571A1 (zh) 一种存储介质失效的处理方法、装置和固态硬盘
CN102520885B (zh) 一种混合硬盘的数据管理系统
CN102880553B (zh) 一种基于mcu的片外flash文件系统的读写方法
US11126624B2 (en) Trie search engine

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