垃圾数据回收方法及固态存储设备技术

技术编号:20763818 阅读:36 留言:0更新日期:2019-04-03 14:17
本申请提供垃圾数据回收方法与固态存储设备。所提供的垃圾数据回收方法,包括:获取用户写入的数据和/或从脏大块回收的数据;生成写入请求,指示将数据写入空闲大块;根据写入请求,将数据写入空闲大块。

【技术实现步骤摘要】
垃圾数据回收方法及固态存储设备
本申请涉及存储设备,尤其涉及固态存储设备的垃圾回收。
技术介绍
图1展示了存储设备的框图。固态存储设备100同主机相耦合,用于为主机提供存储能力。主机同固态存储设备100之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、SAS(SerialAttachedSCSI,串行连接SCSI)、IDE(IntegratedDriveElectronics,集成驱动器电子)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVMExpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备100。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备100包括接口110、控制部件120、一个或多个NVM芯片130以及DRAM(DynamicRandomAccessMemory,动态随机访问存储器)140。NAND闪存、相变存储器、FeRAM(FerroelectricRAM,铁电存储器)、MRAM(MagneticRandomAccessMemory,磁阻存储器)、RRAM(ResistiveRandomAccessMemory,阻变存储器)等是常见的NVM。接口110可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。控制部件120用于控制在接口110、NVM芯片130以及DRAM140之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。控制部件120可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件120可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件120也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件120的硬件来处理IO(Input/Output)命令。控制部件120还可以耦合到DRAM140,并可访问DRAM140的数据。在DRAM可存储FTL表和/或缓存的IO命令的数据。控制部件120包括闪存接口控制器(或称为介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片130,并以遵循NVM芯片130的接口协议的方式向NVM芯片130发出命令,以操作NVM芯片130,并接收从NVM芯片130输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,ChipEnable)信号的一个或多个逻辑单元(LUN,LogicUNit)。NAND闪存封装内包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.ashx获得的“OpenNANDFlashInterfaceSpecification(Revision3.0)”中,提供了关于目标(target)、逻辑单元(LUN)、平面(Plane)的含义,其为现有技术的一部分。存储介质上通常按页来存储和读取数据。而按块来擦除数据。块(也称物理块)包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。在固态存储设备中,利用FTL(FlashTranslationLayer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。FTL表包括多个FTL表条目(或称表项)。在一个实施例中,每个FTL表条目中记录了一个逻辑页地址与一个物理页的对应关系。在另一个例子中,每个FTL表条目中记录了连续的多个逻辑页地址与连续的多个物理页的对应关系。在又一个实施例中,每个FTL表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一个实施例中,FTL表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。固态存储设备中包括多个NVM芯片。每个NVM芯片包括一个或多个管芯(DIE)或逻辑单元(LUN,LogicUNit)。多个管芯或逻辑单元可以并行响应读写操作。在同一管芯或逻辑单元上的多个读、写或擦除操作顺序执行。图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的物本文档来自技高网...

【技术保护点】
1.一种垃圾数据回收方法,其特征在于,包括:获取用户写入的数据和/或从脏大块回收的数据;生成写入请求,指示将数据写入空闲大块;根据所述写入请求,将数据写入空闲大块。

【技术特征摘要】
1.一种垃圾数据回收方法,其特征在于,包括:获取用户写入的数据和/或从脏大块回收的数据;生成写入请求,指示将数据写入空闲大块;根据所述写入请求,将数据写入空闲大块。2.根据权利要求1所述的垃圾数据回收方法,其特征在于,将用户写入的数据写入第一空闲大块,将从脏大块回收的数据写入第二空闲大块。3.根据权利要求2所述的垃圾数据回收方法,其特征在于,响应于所述第二空闲大块的擦除次数大于第一阈值,若所述从脏大块回收的数据是冷数据,则将所述从脏大块回收的数据写入所述第二空闲大块。4.根据权利要求3所述的垃圾数据回收方法,其特征在于,响应于所述第二空闲大块的擦除次数大于所述第一阈值,若所述从脏大块回收的数据不是冷数据,则将所述从脏大块回收的数据写入所述第一空闲大块。5.根据权利要求2-4中任一项所述的垃圾数据回收方法,其特征在于,采用不同的方式将用户写入的数据和从脏大块回收的数据写入所述第一空闲大块和所述第二空闲大块。6.根据权利要求5所述的垃圾数据回收方法,其特征...

【专利技术属性】
技术研发人员:王金一路向峰
申请(专利权)人:北京忆恒创源科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1