CN110554970A - 显著降低写放大的垃圾回收方法及存储设备 - Google Patents
显著降低写放大的垃圾回收方法及存储设备 Download PDFInfo
- Publication number
- CN110554970A CN110554970A CN201810548653.1A CN201810548653A CN110554970A CN 110554970 A CN110554970 A CN 110554970A CN 201810548653 A CN201810548653 A CN 201810548653A CN 110554970 A CN110554970 A CN 110554970A
- Authority
- CN
- China
- Prior art keywords
- data
- dirty
- data block
- block
- chunk
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 238000011084 recovery Methods 0.000 title claims abstract description 11
- 230000003321 amplification Effects 0.000 title abstract description 4
- 238000003199 nucleic acid amplification method Methods 0.000 title abstract description 4
- 230000009467 reduction Effects 0.000 claims description 25
- 238000004064 recycling Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 16
- 230000008859 change Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 239000000835 fiber Substances 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 241001522296 Erithacus rubecula Species 0.000 description 1
- 238000005299 abrasion Methods 0.000 description 1
- 230000002411 adverse Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 229940044442 onfi Drugs 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/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/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
- G06F12/0646—Configuration or reconfiguration
- G06F12/0653—Configuration or reconfiguration with centralised address assignment
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
Abstract
本申请涉及显著降低写放大的垃圾回收方法及存储设备。所提供的在垃圾回收中选择待回收数据块的方法,包括:根据第一选择策略获取第一待回收数据块;根据第一拒绝策略判断是否要拒绝回收第一待回收数据块;若根据第一拒绝策略判断要拒绝回收第一待回收数据块,则不对第一待回收数据块进行垃圾回收。
Description
技术领域
本申请涉及存储设备,尤其涉及存储设备的垃圾回收。
背景技术
图1展示了存储设备的框图。固态存储设备100同主机相耦合,用于为主机提供存储能力。主机同固态存储设备100之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(SmallComputer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal SerialBus,通用串行总线)、PCIE(Peripheral Component Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备100。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备100包括接口110、控制部件120、一个或多个NVM芯片130以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)140。
NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(MagneticRandom Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
接口110可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
控制部件120用于控制在接口110、NVM芯片130以及DRAM 140之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件120可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件120可以是FPGA(Field-programmable gate array,现场可编程门阵列)、ASIC(Application SpecificIntegrated Circuit,应用专用集成电路)或者其组合的形式。控制部件120也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件120的硬件来处理IO(Input/Output)命令。控制部件120还可以耦合到DRAM 140,并可访问DRAM 140的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。
控制部件120包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片130,并以遵循NVM芯片130的接口协议的方式向NVM芯片130发出命令,以操作NVM芯片130,并接收从NVM芯片130输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,Chip Enable)信号的一个或多个逻辑单元(LUN,Logic UNit)。NAND闪存封装内包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.ashx获得的“Open NAND Flash Interface Specification(Revision3.0)”中,提供了关于目标(target)、逻辑单元(LUN)、平面(Plane)的含义,其为现有技术的一部分。
存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
在固态存储设备中,利用FTL(Flash Translation Layer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。
存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。
图2示出了大块的示意图。大块包括来自多个逻辑单元(称为逻辑单元组)的每个的物理块。优选的,每个逻辑单元为大块提供一个物理块。作为举例,在每16个逻辑单元(LUN)上构造大块。每个大块包括16个物理块,来自16个逻辑单元(LUN)的每一个。在图2的例子中,大块0包括来自16个逻辑单元(LUN)的每个的物理块0,大块1包括来自每个逻辑单元(LUN)的物理块1。也可以有多种其他方式来构造大块。
作为一种可选的方式,在大块中构造页条带,每个逻辑单元(LUN)内相同物理地址的物理页构成了“页条带”。图2中,物理页P0-0、物理页P0-1……与物理页P0-x构成了页条带0,其中物理页P0-0、物理页P0-1……物理页P0-14用于存储用户数据,而物理页P0-15用于存储根据条带内的所有用户数据计算得到的校验数据。类似地,图2中,物理页P2-0、物理页P2-1……与物理页P2-x构成了页条带2。可选地,用于存储校验数据的物理页可以位于页条带中的任意位置。
当逻辑页被重复写入数据,FTL表条目中记录逻辑页地址与最新的物理页地址的对应关系,而曾经被写入数据但不再被引用(例如,FTL表中没有记录)的物理页地址中记录的数据成为“垃圾”(数据)。将已经被写入数据,且被引用(例如,在FTL表中有记录)的数据称为有效数据,而将“垃圾”称为脏数据。将含有脏数据的物理块称为“脏物理块”,将未被写入数据的物理块称为“空闲物理块”。
固态存储设备执行垃圾回收(GC)过程以回收无效数据。图3展示了垃圾回收过程的示意图。物理块0与物理块1被写入了数据。物理块0的物理页310、312、314和316等由网格框所指示的物理页在FTL表中没有记录,其上的数据是脏数据。物理块0的物理页330、332、334与336等由空白方框指示的物理页在FTL表中有记录,其上的数据是有效数据。物理块1的物理页320、322、324与326等由网格框所指示的物理页上的数据是脏数据。物理块1的物理页344、342、346与348等由空白框所指示的物理页上的数据是有效数据。图3中,用网格指示的物理页所容纳的数据是脏数据,而用空白方框指示的物理页所容纳的数据是有效数据。
为进行垃圾回收,扫描脏物理块(例如,物理块0与物理块1),将其中的有效数据读出并写入空闲物理块2,以及在FTL表中记录有效数据的物理页地址的变化。在所有的有效数据都搬移到物理块2后,擦除被扫描的物理块0与物理块1,从而使物理块0与物理块1变为空闲物理块。
固态存储设备还实施磨损均衡过程,以使固态存储设备的多个NVM芯片的多个物理块经历大体上相同的擦除次数。
图4展示了垃圾回收方法的示意图。
脏物理块集合记录了固态存储设备的部分或所有NVM芯片的脏物理块。空闲物理块集合记录了固态存储设备的部分或所有NVM芯片的空闲物理块。
为实施垃圾回收,“垃圾回收”模块(例如,实现于控制部件120或其中的CPU或控制器)从脏物理块集合中获取脏物理块,从空闲物理块集合中获取空闲物理块。扫描脏物理块,将其中的有效数据写入空闲物理块。在获取的脏物理块中的有效数据都被搬移到空闲物理块后,将脏物理块擦除,并在空闲物理块集合中记录擦除后的物理块。
脏物理块集合和空闲物理块集合可以是链表、线性表或其他用于表示集合的数据结构。在集合中记录物理块的地址,以访问物理块。
可选地,以大块为单位(替代以物理块为单位)实施垃圾回收。
存储设备还进行磨损均衡操作以使得存储设备在使用过程中各个物理块经历大体上相同的被擦除次数,从而降低个别物理块的寿命耗尽对存储设备的寿命产生不利影响。
发明内容
由于实施了垃圾回收与磨损均衡过程,数据被反复写入NVM芯片,增加了数据写入量,降低了存储设备的寿命。以及向NVM写入数据的过程占用了存储设备的读写带宽,并会影响用户体验到的性能。需要进一步改进垃圾回收与磨损均衡过程,降低垃圾回收与磨损均衡过程产生的额外写入量。
为达到上述目的,根据本申请的第一方面,提供了根据本申请第一方面的第一在垃圾回收中选择待回收数据块的方法,包括:根据第一选择策略获取第一待回收数据块;根据第一拒绝策略判断是否要拒绝回收第一待回收数据块;若根据第一拒绝策略判断要拒绝回收第一待回收数据块,则不对第一待回收数据块进行垃圾回收。
根据本申请第一方面的第一在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第二在垃圾回收中选择待回收数据块的方法,还包括:若根据第一拒绝策略判断不会拒绝回收第一待回收数据块,则对第一待回收数据块进行垃圾回收。
根据本申请第一方面的第一或第二在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第三在垃圾回收中选择待回收数据块的方法,还包括:再次根据第一选择策略获取第二待回收数据块。
根据本申请第一方面的第一至第三在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第一方面的第四在垃圾回收中选择待回收数据块的方法,其中,所述第一选择策略指示从存储设备的脏数据块中,选择有效数据量最多的脏数据块作为待回收数据块。
根据本申请第一方面的第一至第四在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第一方面的第五在垃圾回收中选择待回收数据块的方法,其中所述第一拒绝策略指示拒绝回收有效数据变化量大于阈值的脏数据块。
根据本申请第一方面的第五在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第六在垃圾回收中选择待回收数据块的方法,其中所述第一拒绝策略指示拒绝回收在指定时间内有效数据变化量大于阈值的脏数据块。
根据本申请第一方面的第五在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第七在垃圾回收中选择待回收数据块的方法,其中所述第一拒绝策略指示拒绝回收有效数据减少量与有效数据量之比大于阈值的脏数据块。
根据本申请第一方面的第五在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第八在垃圾回收中选择待回收数据块的方法,其中所述第一拒绝策略指示拒绝回收所有脏数据块中有效数据减少量排名小于阈值的脏数据块。
根据本申请第一方面的第五在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第九在垃圾回收中选择待回收数据块的方法,其中若第一待回收数据块的有效数据减少量与存储设备的所有数据块的总有效数据减少量之比小于阈值,则所述第一拒绝策略指示拒绝回收第一待回收数据块。
根据本申请第一方面的第五在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第十在垃圾回收中选择待回收数据块的方法,其中若第一待回收数据块的有效数据减少量与存储设备的所有数据块的总有效数据减少量之比在各个脏数据块的有效数据减少量与存储设备的所有数据块的总有效数据减少量之比的排名小于阈值,则所述第一拒绝策略指示拒绝回收第一待回收数据块。
根据本申请第一方面的第一至第十在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第一方面的第十一在垃圾回收中选择待回收数据块的方法,还包括:根据第二选择策略获取第三待回收数据块;以及根据第一拒绝策略判断是否要拒绝回收第三待回收数据块。
根据本申请第一方面的第一至第十一在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第一方面的第十二在垃圾回收中选择待回收数据块的方法,还包括:根据第二拒绝策略判断是否要拒绝回收第一待回收数据块。
根据本申请第一方面的第十二在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第十三在垃圾回收中选择待回收数据块的方法,其中第二拒绝策略指示若第一待回收数据块存储的数据是热数据,则拒绝回收第一待回收数据块。
根据本申请第一方面的第十一在垃圾回收中选择待回收数据块的方法,提供了根据本申请第一方面的第十四在垃圾回收中选择待回收数据块的方法,其中第二选择策略指示从存储设备的脏数据块中,选择擦写次数最大的脏数据块作为待回收数据块。
根据本申请第一方面的第一至第十四在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第一方面的第十五在垃圾回收中选择待回收数据块的方法,还包括:选择第一选择策略与第二选择策略的一种或多种获取待回收数据块。
根据本申请的第二方面,提供了根据本申请第二方面的第一在垃圾回收中选择待回收数据块的方法,包括:根据第一选择策略获取待回收数据块;若根据第一选择策略未获取到待回收数据块,还根据第二选择策略获取待回收数据块。
根据本申请第二方面的第一在垃圾回收中选择待回收数据块的方法,提供了根据本申请第二方面的第二在垃圾回收中选择待回收数据块的方法,其中第一选择策略指示,若存储设备中当前有冷数据,选择存储设备的多个脏大块中,其上存储的数据的年龄最大的脏大块作为待回收大块。
根据本申请第二方面的第二在垃圾回收中选择待回收数据块的方法,提供了根据本申请第二方面的第三在垃圾回收中选择待回收数据块的方法,其中根据冷数据计数器的值识别存储设备中当前是否有冷数据。
根据本申请第二方面的第一至第三在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第二方面的第四在垃圾回收中选择待回收数据块的方法,其中第二选择策略指示从存储设备的脏数据块中,选择有效数据量最多的脏数据块作为待回收数据块。
根据本申请第二方面的第一至第四在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第二方面的第五在垃圾回收中选择待回收数据块的方法,还包括:对待回收数据块的有效数据进行回收;若待回收数据块被设置了冷数据标志,且待回收数据块的擦写次数小于擦写次数阈值,使冷数据计数器递增。
根据本申请第二方面的第五在垃圾回收中选择待回收数据块的方法,提供了根据本申请第二方面的第六在垃圾回收中选择待回收数据块的方法,还包括:若待回收数据块被设置了冷数据标志,且待回收数据块的擦写次数不小于擦写次数阈值,使冷数据计数器递减。
根据本申请第二方面的第五或第六在垃圾回收中选择待回收数据块的方法,提供了根据本申请第二方面的第七在垃圾回收中选择待回收数据块的方法,其中将存储设备的所有大块的平均擦写次数或者存储设备所有脏大块的平均擦写次数作为擦写次数阈值。
根据本申请第二方面的第一至第七在垃圾回收中选择待回收数据块的方法之一,提供了根据本申请第二方面的第八在垃圾回收中选择待回收数据块的方法,还包括:将待回收数据块的有效数据写入空闲数据块,若待回收数据块被设置了冷数据标志,则在所述空闲数据块中也设置冷数据标志。
根据本申请第二方面的第八在垃圾回收中选择待回收数据块的方法,提供了根据本申请第二方面的第九在垃圾回收中选择待回收数据块的方法,其中若待回收数据块被设置了冷数据标志,且冷数据计数器大于指定阈值,则在所述空闲数据块中也设置冷数据标志。
根据本申请第二方面的第九在垃圾回收中选择待回收数据块的方法,提供了根据本申请第二方面的第十在垃圾回收中选择待回收数据块的方法,其中若待回收数据块被设置了冷数据标志,且冷数据计数器不大于指定阈值,则不在所述空闲数据块中设置冷数据标志。
根据本申请的第三方面,提供了一种存储设备,包括控制部件与非易失存储器芯片,所述控制部件用于执行根据本申请第一方面或第二方面的在垃圾回收中选择待回收数据块的方法之一。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域技术人员来讲,还可以根据这些附图获得其他的附图。
图1为存储设备的框图;
图2为大块的示意图;
图3为现有技术的垃圾回收过程的示意图;
图4为现有技术的垃圾回收方法的示意图;
图5是根据本申请实施例的垃圾数据回收过程的示意图;
图6是根据本申请实施例的垃圾回收中选择脏大块的流程图;
图7是根据本申请又一实施例的垃圾回收中选择脏大块的流程图;
图8是根据本申请再一实施例的垃圾回收中选择脏大块的流程图;
图9是根据本申请依然再一实施例的垃圾回收中选择脏大块的流程图;以及
图10是根据本申请依然又一实施例的垃圾回收中选择脏大块的流程图。
具体实施方式
下面结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图5是根据本申请实施例的垃圾数据回收过程的示意图。
本实施例中,空闲大块510是将要或者正在被写入数据的大块。被写入空闲大块510的数据,是用户IO请求所要写入的数据(532、534)或者垃圾回收操作中从脏大块回收的数据(536)。从脏大块回收的数据是从脏大块获取的要回收的数据。由于被写入空闲大块510的数据有多种来源,在步骤30,对用户IO请求所要写入的数据(532、534)或者垃圾回收操作中从脏大块回收的数据(536)的数据进行选择(530),以得到待写入空闲大块510的数据。
介质写入控制单元560将用户写入的数据或者从脏大块回收的数据写入空闲大块510,例如,通过向介质接口控制器580发送写请求,以将数据写入诸如NAND闪存的NVM芯片。
完成了有效数据回收的脏大块被擦除,并作为空闲大块被释放(515)。经释放的空闲大块被记录在空闲大块集合520中。
从空闲大块集合520中获取空闲大块(510),用于承载用户或垃圾回收操作中要写入的数据。作为举例,空闲大块集合520中的空闲大块按擦除次数排序,从空闲大块集合520中获取空闲大块510时,选择擦除次数最低的空闲大块。作为另一个例子,按照空闲大块集合520中的空闲大块按添加到空闲大块集合520的先后排序,从空闲大块集合520中获取空闲大块510时,选择最早被添加到空闲大块集合520的空闲大块。还有多种其他从空闲大块集合520中选择空闲大块的方式。
可选地,用户写入的数据来自至少一个流,例如,访问每个命名空间的用户写请求的数据构成一个流;或者依据用户写请求的流标签,具有相同流标签的用户写请求的数据构成一个流;或者,依据发出用户写请求的应用或虚拟机,来自相同应用和/或虚拟机的用户写请求的数据构成一个流。图5中,附图标记534指示属于流S1的用户IO要写入的数据。可选地,附图标记532指示属于流S2的用户IO要写入的数据。将垃圾回收操作中要写入的数据也视为流(Sg),图5中用附图标记536指示。
脏大块集合中有多个脏大块。根据本申请的实施例,以多种策略选择垃圾回收过程要回收的脏大块,例如,策略542指示选择具有最小擦除次数的脏大块,策略544指示选择具有最大年龄的脏大块,而策略546指示选择具有最高优先级的脏大块。
可选地,对于脏大块,其擦除次数是组成脏大块的所有物理块的平均擦除次数或总擦除次数。依然可选地,脏大块的年龄指其被写入数据时间与当前时间的间隔,或者指其上记录的每份数据被写入的时间与当前时间的间隔的平均值。依然可选地,拥有擦除次数低且有效数据量低(或有效数据量占比低)的脏大块具有高的优先级。例如,优先级是脏大块的有效数据量和脏大块的擦除次数的函数。根据脏大块的擦除次数(或擦除次数与平均擦除次数的差)和有效数据量,得到优先级P。可选地,脏大块的优先级(P)是脏大块的擦除次数或脏大块的擦除次数与脏大块集合中所有脏大块的平均擦除次数的差(记为ΔPE)与脏大块有效数据量(记为V)的函数,即P=f(ΔPE,V)。在另一个例子中,P=f(PE,V)+r,其中r为随机数。
选择策略之一以选择待回收的脏大块(540)。例如,从策略542、策略544与策略546中轮流选择,作为选择待回收块的策略。作为另一个例子,每种策略具有不同的权重,以加权轮转方式,选择策略542、策略544与策略546之一。作为又一个例子,策略的选择同指定条件的发生相关。例如,响应于空闲大块510的擦除次数过大,而选择通过策略542选取脏大块。又例如,响应于年龄最大的脏大块的年龄超过阈值,而临时提升策略544的优先级。
根据本申请的实施例,对步骤540选择出的脏大块,进一步判断被选择脏大块是否满足拒绝策略(548)。若根据拒绝策略,被选择的脏大块被拒绝,返回步骤540重新选择脏大块。若根据拒绝策略,被选择的脏大块没有被拒绝,被选择的脏大块中的有效数据形成垃圾回收数据流(Sg)(536),并进行垃圾回收。
拒绝策略有一种或多种。在一个例子中,拒绝策略R1识别脏大块中的有效数据量的变化情况,并拒绝有效数据量变化过大的脏大块。有效数据量的变化情况是例如指定时间内被选择脏大块的有效数据减少量,或者该有效数据减少量与该脏大块的有效数据总量的比值。可选地,有效数据量的变化情况是前后两次在步骤540选择该脏大块时,该脏大块的有效数据减少量,或者该有效数据减少量与该脏大块的有效数据总量的比值。依然可选地,有效数据量的变化情况是指定时间内被选择的脏大块的有效数据减少量,同该指定时间内,存储设备内有效数据减少量的比值。指定时间内,存储设备内有效数据减少量,也可由该指定时间内,存储设备接收的写命令写入的数据量来表示。
在又一个例子中,拒绝策略R2识别脏大块中的有效数据是否是冷数据,并在一些指定条件下拒绝回收冷数据。例如,将来自垃圾回收数据流(Sg)的数据写入空闲大块时,标记为该空闲大块上记录的数据是冷数据。拒绝回收冷数据的指定条件包括例如指定的计数器小于阈值,或者空闲大块集合的空闲大块数量过少等。作为再一个例子,拒绝策略R2识别脏大块中的有效数据是否是热数据,并在一些指定条件下拒绝回收热数据。
可选地,在步骤548,组合使用多种拒绝策略来确定是否要拒绝被选择的脏大块。
图6是根据本申请实施例的垃圾回收中选择脏大块的流程图。
为进行垃圾回收,从存储设备中选择待回收的脏大块。从多种选择脏大块的策略(参看图5,策略542、544与546)中选择所使用的策略,根据选中的策略进一步选出待回收的脏大块(记为脏大块B)(610)。
对脏大块B应用拒绝策略,判断脏大块B是否满足拒绝策略(620)。若脏大块B满足拒绝策略,不对脏大块B进行回收(630)。若脏大块B不满足拒绝策略,则对脏大块B进行垃圾回收(640)。以及返回步骤610,开始下一轮对待回收脏大块的选择。虽然在步骤630拒绝回收脏大块B,并非意味着永远不对脏大块进行垃圾回收,而是在下一轮或其后的选择脏大块中,继续依据选择脏大块的策略选择脏大块,并且可能再次选出脏大块B。
图7是根据本申请又一实施例的垃圾回收中选择脏大块的流程图。
为进行垃圾回收,从存储设备中选择待回收的脏大块。从多种选择脏大块的策略(参看图5,策略542、544与546)中选择所使用的策略,根据选中的策略进一步选出待回收的脏大块(记为脏大块B)(710)。
获取大块B的有效数据变化量(720)。作为举例,为每个大块或每个脏大块记录维护其有效数据量。例如,空闲大块的有效数据量为0,响应于大块被写入数据,其有效数据量根据被写入的数据量而增加。响应于大块上的有效数据变成了脏数据,其有效数据量相应减少。
作为举例,存储设备响应于收到用户的写命令,根据写命令指示的逻辑地址访问FTL表。若FTL表中记录了同写命令的逻辑地址对应的物理地址,根据物理地址获取具有该物理地址的大块,并减少为该大块记录的有效数据量。作为又一个例子,存储设备响应于收到用户的写命令,根据写命令访问的逻辑地址遍历各个大块以获知哪个大块记录了对应被访问的逻辑地址的有效数据,减少记录了对应被访问的逻辑地址的有效数据的大块的有效数据量,以及还为该大块标记对应该被访问的逻辑地址的数据为无效数据。
为获得大块的有效数据变化量,除了记录大块当前的有效数据量,还记录大块之前的有效数据量。例如,周期性地为每个大块或脏大块备份其当前有效数据量,以及通过比较大块的当前有效数据量与备份的有效数据量的差,得到大块的有效数据变化量。作为又一个例子,周期性地为每个大块或脏大块维护其在一个周期内因用户的写命令而减少的有效数据量。作为再一个例子,每当为了垃圾回收而访问脏大块时,备份其当前有效数据量。
可选地或进一步地,还记录指定时间内存储设备中有效数据量减少的总量。
在步骤730,判断大块B的有效数据变化量是否超出指定阈值,作为对待回收大块B的拒绝策略。根据本申请的实施例,拒绝回收有效数据变化量过大的脏大块。脏大块的有效数据变化量大,意味着该脏大块正在被用户频繁更新,希望推迟对该脏大块的垃圾回收,以期待该脏大块上更多的数据变为无效数据,从而有效降低垃圾回收过程中对有效数据进行回收而引起的写放大。
可选地,作为对待回收大块B的拒绝策略,判断脏大块B的有效数据减少量与脏大块B的有效数据总量的比值是否大于阈值。依然可选地,判断脏大块B的有效数据减少量与存储设备内有效数据减少量的比值是否大于阈值。依然可选地,判断脏大块B的有效数据减少量在存储设备的所有脏大块的有效数据减少量中的排序是否最高或靠前。依然可选地,判断脏大块B的有效数据减少量与脏大块B的有效数据总量的比值在存储设备的所有脏大块的有效数据减少量与其有效数据总量的比值中的排序是否最高或靠前。在上述判断成立的情况下,认为脏大块B满足拒绝策略。
若脏大块B满足拒绝策略,不对脏大块B进行回收(740)。若脏大块B不满足拒绝策略,则对脏大块B进行垃圾回收(750)。以及返回步骤710,开始下一轮对待回收脏大块的选择。
图8是根据本申请再一实施例的垃圾回收中选择脏大块的流程图。
为进行垃圾回收,从存储设备中选择待回收的脏大块。从多种选择脏大块的策略(参看图5,策略542、544与546)中选择所使用的策略,根据选中的策略进一步选出待回收的脏大块(记为脏大块B)(810)。
对脏大块B应用第一拒绝策略,判断脏大块B是否满足第一拒绝策略(820)。第一拒绝策略是例如根据脏大块B的有效数据变化量确定是否拒绝回收脏大块B。若脏大块B满足第一拒绝策略,不对脏大块B进行回收(830)。以及返回步骤810,开始下一轮对待回收脏大块的选择。
若脏大块B不满足第一拒绝策略,则对脏大块B应用第二拒绝策略,判断脏大块B是否满足第二拒绝策略(840)。第二拒绝策略是例如在指定条件下拒绝回收存储了冷数据的脏大块B。若脏大块B满足第二拒绝策略,不对脏大块B进行回收(850)。以及返回步骤810,开始下一轮对待回收脏大块的选择。若脏大块B不满足第二拒绝策略,从脏大块B获取有效数据进行回收(860)。
图9是根据本申请依然再一实施例的垃圾回收中选择脏大块的流程图。
为进行垃圾回收,从存储设备中选择待回收的脏大块。有多种选择脏大块的策略,例如策略1、策略2、策略3等。在每次选择脏大块时,应用一种脏大块选择策略,以及在多个选择脏大块时,组合应用多种脏大块选择策略。从而在垃圾回收过程中选择脏大块的方法可随着对新策略的提出和/或策略本身的改进而得到提升。
参看图9,为选择脏大块,首先应用选择待回收大块策略1来选择待回收的脏大块(910)。通过应用选择待回收大块策略1,得到1个或多个脏大块作为备选的待回收脏大块。可选地或进一步地,应用选择待回收大块策略2来再次选择待回收的脏大块(920)。通过应用选择待回收大块策略2,得到进一步的1个或多个脏大块作为备选的待回收脏大块。
对备选的待回收脏大块,可以进行垃圾回收。
根据本申请的实施例,对备选的待回收脏大块,还应用拒绝策略,来确定是否要拒绝备选的待回收脏大块。有多种拒绝备选脏大块的策略,例如拒绝策略1、拒绝策略2、拒绝策略3等。为了拒绝备选的待回收脏大块,应用一种备选脏大块拒绝策略,可选地组合应用多种备选脏大块拒绝策略。从而在垃圾回收过程中选择脏大块的方法可随着对新拒绝策略的提出和/或拒绝策略本身的改进而得到提升。
继续参看图9,在步骤920之后,应用对选出的备选脏大块,应用拒绝策略1(930),来从备选脏大块中去除一个或多个备选脏大块。在垃圾回收中不回收被去除的备选脏大块。可以理解地,本次被拒绝的备选脏大块,可能在下次应用选择待回收脏大块策略时被再次选中,并再下次应用拒绝脏大块策略时未被拒绝,从而对其进行垃圾回收。
可选地或进一步地,对步骤920之后选出的备选脏大块,或者对步骤930之后剩余的备选脏大块,还应用拒绝策略2(940),来从备选脏大块中去除一个或多个备选脏大块。
在应用了一种或多种拒绝策略后,还可再次应用选择待回收脏大块的策略,例如,应用选择待回收大块策略3(950),以进一步从脏大块集合中选择一个或多个脏大块,以扩充备选脏大块。可选地或进一步地,还再次应用拒绝策略,来从备选脏大块中去除一个或多个备选脏大块(960)。
从而,根据图9的实施例,通过自由组合一种或多种选择待回收脏大块的策略与一种或多种备选脏大块的拒绝策略,来得到最适宜回收的脏大块。
进一步地,在存储设备工作期间,根据存储设备的工作状况,调整选择待回收脏大块的策略和/或备选脏大块的拒绝策略的组合方式。例如,根据存储设备所处的生命周期阶段,而确定选择待回收脏大块的策略和/或备选脏大块的拒绝策略的组合方式;或者根据存储设备的工作负载而选择待回收脏大块的策略和/或备选脏大块的拒绝策略的组合方式。
图10是根据本申请依然又一实施例的垃圾回收中选择脏大块的流程图。
根据图10的实施例,向大块写入数据时,根据写入数据的特点,在大块上设置冷数据标记。例如,若写入数据是来自垃圾回收的有效数据,在承载写入数据的大块上设置冷数据标志。作为又一个例子,若写入数据来自用户的写命令,并且在写命令中指示了要写入的数据是冷数据,在承载写入数据的大块上设置冷数据标志。写命令对写入数据是冷数据的指示可以来自用户或来自存储设备对写命令的处理。
根据图10的实施例的存储设备,还维护冷数据计数器,冷数据计数器的值,指示存储设备的待回收大块中是否存在冷数据。例如,根据冷数据计数器大于指定阈值,确定存储设备的待回收大块中有冷数据;根据冷数据计数器小于阈值,确定存储设备的待回收大块中没有冷数据。
参看图10,作为一种选择待回收的大块的策略,若当前存储设备中有冷数据,选择存储设备的多个脏大块中,其上存储的数据的年龄最大的脏大块作为待回收大块进行垃圾回收(1010)。
若根据步骤1010没有得到待回收脏大块,例如存储设备当前没有冷数据,则通过其他选择待回收大块的策略,来获取待回收的脏大块(1020)。例如,选择脏大块中,具有最低有效数据量的脏大块作为待回收的脏大块。
根据图10的实施例,若步骤1010中选到了待回收的脏大块,则不再执行步骤1020。若步骤1010未选到待回收的脏大块,通过执行步骤1020来获得待回收的脏大块。
无论由步骤1010或步骤1020选择的脏大块,识别选择的脏大块中是否存在冷数据标志(1030)。若选择的脏大块中没有冷数据标志,当前的待回收大块选取的流程结束,并可返回步骤1010开始下次待回收大块的选取流程。
在步骤1030,若识别出选择的脏大块中被设置了冷数据标志,进一步获取选择的脏大块的擦写次数(记为PE1),并识别擦写次数PE1是否小于指定阈值(1040)。若擦写次数PE1小于指定阈值,将冷数据计数器递增(1050);若擦写次数PE1不小于指定阈值,将冷数据计数器递减(1060)。以及返回步骤1010开始下次待回收大块的选取流程。
作为举例,将存储设备的所有大块的平均擦写次数(记为PE2)或者存储设备所有脏大块的平均擦写次数(记为PE3),或者将PE2或PE3减去指定值得到的结果作为步骤1040中使用的指定阈值。
根据图10展示的实施例,利用冷数据计数器来识别存储设备的脏大块中是否存储了冷数据,并通过脏大块上的冷数据标志来指示冷数据的位置。在存储设备中存在冷数据时,携带了冷数据标志的脏大块的有效数据,通过图10展示的处理流程,在通过垃圾回收的过程写入另一大块时,冷数据标志将被保留,从而实现对冷数据的追踪,并在垃圾回收的脏大块选择过程中合理使用冷数据。而一些冷数据会随时间流逝而变为不再是冷数据,例如与春节相关的数据,平时是冷数据,但随着春节的到来而不再是冷数据。随着垃圾回收过程的进行,其上存储的数据不再是冷数据的脏大块会在步骤1020被选出并回收,随着这种垃圾回收的进行,记录这些不再是冷数据的数据的大块的擦写次数会逐步升高,并在步骤1040中被检测出并转向步骤1060,并导致冷数据计数器递减。当冷数据计数器变为足够小,则认为在存储设备中已不存在冷数据,虽然在一些脏大块中还存在冷数据标志。进而,再向空白大块写入数据时,也不再在被写入空白大块中设置冷数据标志。以此方式,通过在垃圾回收过程中使用冷数据标志与冷数据计数器来实现对存储设备中的冷数据的跟踪。
可选地,响应于冷数据计数器小于阈值期间,存储设备被写入的数据量超过了数据量阈值,则重置冷数据计数器,使冷数据计数器大于阈值。
依然可选地,在存储设备首次进行垃圾回收时,也重置冷数据计数器,使冷数据计数器大于阈值。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种在垃圾回收中选择待回收数据块的方法,包括:
根据第一选择策略获取第一待回收数据块;
根据第一拒绝策略判断是否要拒绝回收第一待回收数据块;
若根据第一拒绝策略判断要拒绝回收第一待回收数据块,则不对第一待回收数据块进行垃圾回收。
2.根据权利要求1所述的方法,其中
所述第一拒绝策略指示拒绝回收有效数据变化量大于阈值的脏数据块。
3.根据权利要求2所述的方法,其中
所述第一拒绝策略指示拒绝回收在指定时间内有效数据变化量大于阈值的脏数据块。
4.根据权利要求2所述的方法,其中
若第一待回收数据块的有效数据减少量与存储设备的所有数据块的总有效数据减少量之比小于阈值,则所述第一拒绝策略指示拒绝回收第一待回收数据块。
5.根据权利要求1-4之一所述的方法,还包括:
根据第二选择策略获取第三待回收数据块;以及
根据第一拒绝策略判断是否要拒绝回收第三待回收数据块。
6.一种在垃圾回收中选择待回收数据块的方法,包括:
根据第一选择策略获取待回收数据块;
若根据第一选择策略未获取到待回收数据块,还根据第二选择策略获取待回收数据块。
7.根据权利要求6所述的方法,其中
第一选择策略指示,若存储设备中当前有冷数据,选择存储设备的多个脏大块中,其上存储的数据的年龄最大的脏大块作为待回收大块。
8.根据权利要求6或7所述的方法,还包括:
对待回收数据块的有效数据进行回收;
若待回收数据块被设置了冷数据标志,且待回收数据块的擦写次数小于擦写次数阈值,使冷数据计数器递增。
9.根据权利要求6-8之一所述的方法,还包括:
将待回收数据块的有效数据写入空闲数据块,若待回收数据块被设置了冷数据标志,则在所述空闲数据块中也设置冷数据标志。
10.一种存储设备,包括控制部件与非易失存储器芯片,所述控制部件用于执行根据权利要求1-9之一所述的方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810548653.1A CN110554970A (zh) | 2018-05-31 | 2018-05-31 | 显著降低写放大的垃圾回收方法及存储设备 |
PCT/CN2018/093198 WO2019062231A1 (zh) | 2017-09-27 | 2018-06-27 | 垃圾回收方法及其存储设备 |
US17/044,402 US11416162B2 (en) | 2017-09-27 | 2018-06-27 | Garbage collection method and storage device |
US17/844,513 US20220326872A1 (en) | 2017-09-27 | 2022-06-20 | Method for selecting a data block to be collected in gc and storage device thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810548653.1A CN110554970A (zh) | 2018-05-31 | 2018-05-31 | 显著降低写放大的垃圾回收方法及存储设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110554970A true CN110554970A (zh) | 2019-12-10 |
Family
ID=68735202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810548653.1A Pending CN110554970A (zh) | 2017-09-27 | 2018-05-31 | 显著降低写放大的垃圾回收方法及存储设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110554970A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559388A (zh) * | 2020-12-14 | 2021-03-26 | 杭州宏杉科技股份有限公司 | 数据缓存方法及装置 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799534A (zh) * | 2012-07-18 | 2012-11-28 | 上海宝存信息科技有限公司 | 基于固态存储介质的存储系统及方法、冷热数据识别方法 |
CN104484283A (zh) * | 2014-11-27 | 2015-04-01 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘写放大的方法 |
CN105335100A (zh) * | 2015-09-29 | 2016-02-17 | 华为技术有限公司 | 一种数据处理方法、装置及闪存设备 |
CN105701024A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种存储设备及其垃圾数据回收的方法 |
US20160179386A1 (en) * | 2014-12-17 | 2016-06-23 | Violin Memory, Inc. | Adaptive garbage collection |
CN106293497A (zh) * | 2015-05-27 | 2017-01-04 | 华为技术有限公司 | 瓦记录感知文件系统中垃圾数据的回收方法和装置 |
CN106528438A (zh) * | 2016-10-08 | 2017-03-22 | 华中科技大学 | 一种固态存储设备的分段式垃圾回收方法 |
CN106598878A (zh) * | 2016-12-27 | 2017-04-26 | 湖南国科微电子股份有限公司 | 一种固态硬盘冷热数据分离方法 |
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
US20170160934A1 (en) * | 2015-12-03 | 2017-06-08 | Samsung Electronics Co., Ltd. | Method of operation for a nonvolatile memory system and method of operating a memory controller |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
CN107003809A (zh) * | 2015-11-27 | 2017-08-01 | 华为技术有限公司 | 一种存储设备存储数据的方法及存储设备 |
-
2018
- 2018-05-31 CN CN201810548653.1A patent/CN110554970A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102799534A (zh) * | 2012-07-18 | 2012-11-28 | 上海宝存信息科技有限公司 | 基于固态存储介质的存储系统及方法、冷热数据识别方法 |
CN104484283A (zh) * | 2014-11-27 | 2015-04-01 | 记忆科技(深圳)有限公司 | 一种降低固态硬盘写放大的方法 |
US20160179386A1 (en) * | 2014-12-17 | 2016-06-23 | Violin Memory, Inc. | Adaptive garbage collection |
CN106293497A (zh) * | 2015-05-27 | 2017-01-04 | 华为技术有限公司 | 瓦记录感知文件系统中垃圾数据的回收方法和装置 |
CN105335100A (zh) * | 2015-09-29 | 2016-02-17 | 华为技术有限公司 | 一种数据处理方法、装置及闪存设备 |
CN107003809A (zh) * | 2015-11-27 | 2017-08-01 | 华为技术有限公司 | 一种存储设备存储数据的方法及存储设备 |
US20170160934A1 (en) * | 2015-12-03 | 2017-06-08 | Samsung Electronics Co., Ltd. | Method of operation for a nonvolatile memory system and method of operating a memory controller |
CN105701024A (zh) * | 2015-12-31 | 2016-06-22 | 华为技术有限公司 | 一种存储设备及其垃圾数据回收的方法 |
CN106528438A (zh) * | 2016-10-08 | 2017-03-22 | 华中科技大学 | 一种固态存储设备的分段式垃圾回收方法 |
CN106598878A (zh) * | 2016-12-27 | 2017-04-26 | 湖南国科微电子股份有限公司 | 一种固态硬盘冷热数据分离方法 |
CN106681935A (zh) * | 2016-12-29 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘垃圾回收方法 |
CN106990926A (zh) * | 2017-06-14 | 2017-07-28 | 郑州云海信息技术有限公司 | 一种固态硬盘磨损均衡的处理方法 |
Non-Patent Citations (11)
Title |
---|
史高峰;李小勇;: "SSD数据结构与算法综述", 微型电脑应用, no. 04, 20 April 2012 (2012-04-20) * |
周权彪;张兴军;梁宁静;霍文洁;董小社;: "基于缓存映射项重用距离的闪存地址映射方法", 计算机研究与发展, no. 05, 15 May 2018 (2018-05-15) * |
拓晶;唐磊;: "基于多阈值的闪存磨损均衡算法", 微电子学与计算机, no. 01, 5 January 2018 (2018-01-05) * |
方才华;刘景宁;童薇;高阳;雷霞;蒋瑜;: "全程优化的固态硬盘垃圾回收方法", 计算机应用, no. 05, 10 May 2017 (2017-05-10), pages 2 * |
李恒恒;岳春生;胡泽明;: "一种基于预搜索的自适应闪存垃圾回收算法", 小型微型计算机系统, no. 10, 15 October 2015 (2015-10-15) * |
王晋阳;严华;: "基于逻辑页冷热分离的NAND闪存磨损均衡算法", 计算机应用, no. 05, 10 May 2016 (2016-05-10) * |
胡萍;: "NAND闪存垃圾回收策略改进", 铜仁学院学报, no. 04, 15 July 2012 (2012-07-15) * |
郑文静;李明强;舒继武;: "Flash存储技术", 计算机研究与发展, no. 04, 30 April 2010 (2010-04-30), pages 3 * |
陈旭等: "Android存储系统中NAND闪存性能的改进", 计算机测量与控制, vol. 26, no. 5, 25 May 2018 (2018-05-25), pages 4 * |
雷兵兵;严华;: "基于逻辑区间热度的NAND闪存垃圾回收算法", 计算机应用, no. 04, 10 April 2017 (2017-04-10) * |
黄滨;俞建新;: "大容量闪存的层次型热数据识别框架", 计算机工程, no. 22, 20 November 2008 (2008-11-20) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559388A (zh) * | 2020-12-14 | 2021-03-26 | 杭州宏杉科技股份有限公司 | 数据缓存方法及装置 |
CN112559388B (zh) * | 2020-12-14 | 2022-07-12 | 杭州宏杉科技股份有限公司 | 数据缓存方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10838859B2 (en) | Recency based victim block selection for garbage collection in a solid state device (SSD) | |
CN106448737B (zh) | 读取闪存数据的方法、装置以及固态驱动器 | |
US20220326872A1 (en) | Method for selecting a data block to be collected in gc and storage device thereof | |
CN109558334B (zh) | 垃圾数据回收方法及固态存储设备 | |
CN109144885B (zh) | 固态存储设备的垃圾回收方法与固态存储设备 | |
CN109086219B (zh) | 去分配命令处理方法及其存储设备 | |
KR101811297B1 (ko) | 불휘발성 메모리를 제어하는 메모리 컨트롤러 | |
CN107797934B (zh) | 处理去分配命令的方法与存储设备 | |
CN109558333B (zh) | 具有可变额外存储空间的固态存储设备命名空间 | |
CN107797938B (zh) | 加快去分配命令处理的方法与存储设备 | |
KR102343246B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20220058116A1 (en) | Controller, memory system and data processing system | |
US11269771B2 (en) | Storage device for improving journal replay, operating method thereof, and electronic device including the storage device | |
KR20210028729A (ko) | 논리적 대 물리적 테이블 프래그먼트들 | |
CN109426436B (zh) | 基于可变长大块的垃圾回收方法与装置 | |
CN110554970A (zh) | 显著降低写放大的垃圾回收方法及存储设备 | |
CN106055488B (zh) | 数据储存设备及其操作方法 | |
CN113093987A (zh) | 控制存储器装置的控制器及其操作方法 | |
CN110096452B (zh) | 非易失随机访问存储器及其提供方法 | |
CN111290974A (zh) | 用于存储设备的缓存淘汰方法与存储设备 | |
CN111290975A (zh) | 使用统一缓存处理读命令与预读命令的方法及其存储设备 | |
CN107688435B (zh) | Io流调节方法与装置 | |
CN112181276B (zh) | 提升存储设备服务质量的大块构造、分配方法及其存储设备 | |
CN110968527A (zh) | Ftl提供的缓存 | |
CN111338975A (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 | ||
CB02 | Change of applicant information |
Address after: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Applicant after: Beijing yihengchuangyuan Technology Co.,Ltd. Address before: 100192 room A302, building B-2, Dongsheng Science Park, Zhongguancun, 66 xixiaokou Road, Haidian District, Beijing Applicant before: BEIJING MEMBLAZE TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information |