快速恢复FTL表的方法与装置制造方法及图纸

技术编号:18940375 阅读:49 留言:0更新日期:2018-09-15 11:02
本申请提供一种快速恢复FTL表的方法与装置。所提供的快速恢复FTL表的方法包括:第一CPU获取属于第一FTL块的FTL帧,以及获取属于第一FTL块的日志帧,并将属于第一FTL块的FTL帧与目志帧分别存储到存储器的不同区域;第二CPU从所述存储器中获取属于第一FTL块的日志帧,并利用日志帧更新第一FTL块。

Method and device for quickly recovering FTL table

This application provides a method and device for quickly recovering FTL tables. The fast recovery methods provided include: the first CPU obtains FTL frames belonging to the first FTL block, and the log frames belonging to the first FTL block, and stores the FTL frames belonging to the first FTL block and the log frames belonging to the first FTL block into different areas of the memory, respectively; the second CPU obtains the log frames belonging to the first FTL block from the memory, and Update the first FTL block using log frames.

【技术实现步骤摘要】
快速恢复FTL表的方法与装置
本申请涉及计算机
,特别是涉及一种快速恢复FTL表的方法与装置。
技术介绍
随着科技的进步,对于电子设备的存储能力和反应速度提出了越来越高的要求。图1示出了现有技术中的固态存储设备(SolidStorageDevice,SSD)的框图。固态存储设备102同主机相耦合,用于为主机提供存储能力。主机同固态存储设备102之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(SerialAdvancedTechnologyAttachment,串行高级技术附件)、SCSI(SmallComputerSystemInterface,小型计算机系统接口)、SAS(SerialAttachedSCSI,串行连接SCSI)、IDE(IntegratedDriveElectronics,集成驱动器电子)、USB(UniversalSerialBus,通用串行总线)、PCIE(PeripheralComponentInterconnectExpress,PCIe,高速外围组件互联)、NVMe(NVMExpress,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与固态存储设备102。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备102包括接口103、控制部件104、一个或多个NVM(非易失存储器,Non-VolatileMemory)芯片105以及DRAM(DynamicRandomAccessMemory,动态随机访问存储器)110。NAND闪存、相变存储器、FeRAM、MRAM等是常见的NVM。接口103可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。控制部件104用于控制在接口103、NVM芯片105以及固件存储器110之间的数据传输,还用于存储管理、主机逻辑地址到闪存物理地址映射、擦除均衡、坏块管理等。可通过软件、硬件、固件或其组合的多种方式实现控制部件104。控制部件104可以是FPGA(Field-programmablegatearray,现场可编程门阵列)、ASIC(ApplicationSpecificIntegratedCircuit,应用专用集成电路)或者其组合的形式。控制部件104也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件104的硬件来处理主机IO命令。控制部件104还耦合到DRAM110,并可访问DRAM110的数据。在DRAM可存储FTL表和/或缓存的主机IO命令的数据。控制部件104包括闪存接口控制器(或称为闪存通道控制器)。闪存接口控制器耦合到NVM芯片105,并以遵循NVM芯片105的接口协议的方式向NVM芯片105发出命令,以操作NVM芯片105,并接收从NVM芯片105输出的命令执行结果。NVM芯片105的接口协议包括“Toggle”、“ONFI”等公知的接口协议或标准。存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,ChipEnable)信号的一个或多个逻辑单元(LUN,LogicUNit)。每个逻辑单元具有逻辑单元号(LogicUnitNumber)。NAND闪存封装内可包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.ashx获得的“OpenNANDFlashInterfaceSpecification(Revision3.0)”中,提供了关于目标(target)、逻辑单元、LUN、平面(Plane)的含义,其为现有技术的一部分。固态存储设备中包括多个NVM芯片。每个NVM芯片包括一个或多个管芯(DIE)或逻辑单元(LUN,LogicUNit)。管芯或逻辑单元之间可以并行响应读写操作。在同一管芯或逻辑单元上的多个读、写或擦除操作顺序执行。存储介质上通常按页来存储和读取数据。而按块来擦除数据。块包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。物理页中可以包括多个数据帧(dataframe),数据帧具有指定的尺寸,例如4096或4416字节。在固态存储设备中,利用FTL(FlashTranslationLayer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的固态存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。FTL表是固态存储设备中的重要元数据。通常FTL表的数据项记录了固态存储设备中以数据页为单位的地址映射关系。固态存储设备的FTL表具有较大的尺寸,例如若干GB级。而在固态存储设备关闭时,需要完整地保存FTL表,在固态存储设备启动时,需要完成FTL完全加载。FTL表包括多个FTL表条目(或称表项)。在一个实施例中,每个FTL表条目中记录了一个逻辑页地址与一个物理页的对应关系。在另一个例子中,每个FTL表条目中记录了连续的多个逻辑页地址与连续的多个物理页的对应关系。在又一个实施例中,每个FTL表条目中记录了逻辑块地址与物理块地址的对应关系。在依然又一个实施例中,FTL表中记录逻辑块地址与物理块地址的映射关系,和/或逻辑页地址与物理页地址的映射关系。在处理来自主机的读命令时,固态存储设备利用读命令中携带的逻辑地址从FTL表中获得对应的物理地址,并依据物理地址向NVM芯片发出读请求,并接收NVM芯片响应于读请求输出的数据。在处理来自主机的写命令时,固态存储设备为写命令分配物理地址,在FTL表中记录写命令的逻辑地址与分配的物理地址的对应关系,并依据分配的物理地址向NVM芯片发出写请求。现有技术中,在固态存储设备的每个物理页中附加地存储该物理页所对应的逻辑地址。在固态存储设备启动时,需要访问所有物理页,以获得每个物理页所对应的逻辑地址,并重建FTL表。然而这样的操作将需要大量时间,并导致固态存储设备启动过程耗时很长。一些固态存储设备中还提供备用电源,当发生意外断电时,由备用电源向存储设备提供临时的电能,用于备份元数据以及处理尚未完成的命令。备用电源包括超级电容、铝电容、钽聚合物电容、锂电池等。
技术实现思路
有鉴于此,本申请提供一种快速恢复FTL表的方法与装置。根据本专利技术的第一方面,提供了根据本专利技术的第一方面的第一基于FTL表的日志生成方法,包括:记录操作请求对应的逻辑地址与物理地址;依据操作请本文档来自技高网
...

【技术保护点】
1.快速恢复FTL表的方法,其特征在于,包括:第一CPU获取属于第一FTL块的FTL帧,以及获取属于第一FTL块的日志帧,并将属于第一FTL块的FTL帧与日志帧分别存储到存储器的不同区域;第二CPU从所述存储器中获取属于第一FTL块的日志帧,并利用日志帧更新第一FTL块。

【技术特征摘要】
1.快速恢复FTL表的方法,其特征在于,包括:第一CPU获取属于第一FTL块的FTL帧,以及获取属于第一FTL块的日志帧,并将属于第一FTL块的FTL帧与日志帧分别存储到存储器的不同区域;第二CPU从所述存储器中获取属于第一FTL块的日志帧,并利用日志帧更新第一FTL块。2.根据权利要求1所述的方法,其特征在于,还包括:响应于将属于第一FTL块的所有日志帧均存储到存储器中,向第一CPU发送属于第一FTL块的所有日志帧读取完成的消息。3.根据权利要求2或3所述的方法,其特征在于,还包括:响应于将属于第一FTL块的所有FTL帧与所有日志帧均存储到存储器中,第一CPU指示由第二CPU更新第一FTL块。4.根据权利要求1-3之一所述的方法,其特征在于,还包括:响应于将属于第一FTL块的所有日志帧均存储到存储器中,第一CPU指示由第二CPU更新第一FTL块。5.根据权利要求3或4所述的方法,其特征在于,第二CPU对第一FTL块的更新包括:第二CPU从存储器中的属于第一FTL块的所有日志帧中依次提取日志条目;以及第二CPU根据每个日志条目中记录的逻辑地址,在存储器中的第一FTL块中确定与该逻辑地址对应的FTL表条目,并用日志条目中与该逻辑地址对应的物理地址更新所确定的FTL表条目中的物理地址。6.根据权利要求3或4所述的方法,其特征在于,第二CPU对第一FTL块的更新包括:第二CPU...

【专利技术属性】
技术研发人员:孙宝勇居颖轶
申请(专利权)人:北京忆恒创源科技有限公司
类型:发明
国别省市:北京,11

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

1