CN109240939A - 一种快速处理固态硬盘trim的方法 - Google Patents
一种快速处理固态硬盘trim的方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0891—Addressing 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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的方法。
背景技术
固态硬盘(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,如果是,就不进行搬移,防止搬移无效的数据。
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)
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)
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 |
-
2018
- 2018-08-15 CN CN201810928716.6A patent/CN109240939B/zh active Active
Patent Citations (9)
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)
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 |