智能识别非易失存储介质不可靠块的方法与装置制造方法及图纸

技术编号:38670975 阅读:11 留言:0更新日期:2023-09-02 22:49
本申请涉及存储技术领域,尤其涉及智能识别不可靠块的方法,包括:根据处理编程命令的时间与编程命令所操作的块的擦写次数,查询寿命预测表获得寿命预测值;若寿命预测值达到或超过寿命阈值,则将编程命令所操作的块识别为坏块,并将坏块的标识记录于坏块表中;以及将识别出的坏块上已被写入的数据搬移到其他块。本申请有效的识别或预测存储介质的块的寿命将尽,以避免向寿命将尽的块写入数据,从而减少因擦除操作、编程操作或读操作失败而对存储设备的影响。设备的影响。设备的影响。

【技术实现步骤摘要】
智能识别非易失存储介质不可靠块的方法与装置


[0001]本申请涉及存储
,尤其涉及识别非易失存储介质不可靠块的方法与装置。

技术介绍

[0002]图1展示了现有技术中的存储设备的框图。存储设备100同主机相耦合,用于为主机提供存储能力。主机同存储设备100之间可通过多种方式相耦合,耦合方式包括但不限于通过例如SATA(Serial Advanced Technology Attachment,串行高级技术附件)、SCSI(Small Computer System Interface,小型计算机系统接口)、SAS(Serial Attached SCSI,串行连接SCSI)、IDE(Integrated Drive Electronics,集成驱动器电子)、USB(Universal Serial Bus,通用串行总线)、PCIE(Peripheral Component Interconnect Express,PCIe,高速外围组件互联)、NVMe(NVM Express,高速非易失存储)、以太网、光纤通道、无线通信网络等连接主机与存储设备100。主机可以是能够通过上述方式同存储设备相通信的信息处理设备,例如,个人计算机、平板电脑、服务器、便携式计算机、网络交换机、路由器、蜂窝电话、个人数字助理等。存储设备100包括接口110、控制部件120、一个或多个NVM芯片130以及DRAM(Dynamic Random Access Memory,动态随机访问存储器)140。
[0003]NAND闪存、相变存储器、FeRAM(Ferroelectric RAM,铁电存储器)、MRAM(Magnetic Random Access Memory,磁阻存储器)、RRAM(Resistive Random Access Memory,阻变存储器)等是常见的NVM。
[0004]接口110可适配于通过例如SATA、IDE、USB、PCIE、NVMe、SAS、以太网、光纤通道等方式与主机交换数据。
[0005]控制部件120用于控制在接口110、NVM芯片130以及DRAM 140之间的数据传输,还用于存储管理、主机逻辑地址到NVM芯片的物理地址映射、擦除均衡、坏块管理等。控制部件120可通过软件、硬件、固件或其组合的多种方式实现,例如,控制部件120可以是FPGA(Field

programmable gate array,现场可编程门阵列)、ASIC(Application Specific Integrated Circuit,应用专用集成电路)或者其组合的形式。控制部件120也可以包括处理器或者控制器,在处理器或控制器中执行软件来操纵控制部件120的硬件来处理IO(Input/Output)命令。控制部件120还可以耦合到DRAM 140,并可访问DRAM 140的数据。在DRAM存储FTL表和/或缓存的IO命令的数据。
[0006]控制部件120包括闪存接口控制器(或称为介质接口、介质接口控制器、闪存通道控制器),闪存接口控制器耦合到NVM芯片130,并以遵循NVM芯片130的接口协议的方式向NVM芯片130发出命令,以操作NVM芯片130,并接收从NVM芯片130输出的命令执行结果。已知的NVM芯片接口协议包括“Toggle”、“ONFI”等。
[0007]存储器目标(Target)是NAND闪存封装内的共享芯片使能(CE,Chip Enable)信号的一个或多个逻辑单元(LUN,Logic UNit)。NAND闪存封装内包括一个或多个管芯(Die)。典型地,逻辑单元对应于单一的管芯。逻辑单元可包括多个平面(Plane)。逻辑单元内的多个
平面可以并行存取,而NAND闪存芯片内的多个逻辑单元可以彼此独立地执行命令和报告状态。在可从
[0008]http://www.micron.com/~/media/Documents/Products/Other%20Documents/ONFI3_0Gold.as hx获得的“Open NAND Flash Interface Specification(Revision 3.0)”中,提供了关于目标(target)、逻辑单元(LUN)、平面(Plane)的含义,其为现有技术的一部分。
[0009]NVM存储介质上通常按页来存储和读取数据。而按块来擦除数据。NVM存储介质上的块(也称物理块)包含多个页。存储介质上的页(称为物理页)具有固定的尺寸,例如17664字节。物理页也可以具有其他的尺寸。
[0010]在存储设备中,利用FTL(Flash Translation Layer,闪存转换层)来维护从逻辑地址到物理地址的映射信息。逻辑地址构成了操作系统等上层软件所感知到的存储设备的存储空间。物理地址是用于访问固态存储设备的物理存储单元的地址。在现有技术中还可利用中间地址形态实施地址映射。例如将逻辑地址映射为中间地址,进而将中间地址进一步映射为物理地址。可选地,访问存储设备的主机提供FTL。
[0011]存储了从逻辑地址到物理地址的映射信息的表结构被称为FTL表。通常FTL表的数据项记录了存储设备中以数据页为单位的地址映射关系。
[0012]图2展示了现有技术中的存储设备的控制部件的框图。存储设备的控制部件104包括主机接口210、前端处理模块220、闪存管理模块230以及一个或多个介质接口控制器240。
[0013]主机接口210用于同主机交换命令与数据。闪存管理模块230提供逻辑地址到物理地址映射、磨损均衡、垃圾回收等功能,并生成IO命令发送给介质接口控制器240。介质接口控制器240耦合到NVM芯片105。可选地,介质接口控制器有一个或多个,每个接口控制器耦合到各自的NVM芯片105。介质接口控制器240接收IO命令,并根据IO命令向NVM芯片发出操作NVM芯片的命令(读、编程、擦除等命令)。
[0014]介质接口控制器240包括入港队列242与出港队列244。入港队列242与出港队列244用于耦合闪存管理模块230与介质接口控制器240。介质接口控制器240通过入港队列242接收IO命令,还通过出港队列244输出IO命令处理结果。闪存管理模块230通过入港队列242向介质接口控制器240提交IO命令,并从出港队列244获取IO命令的处理结果。
[0015]NAND闪存读写速度快,写入数据前必须先擦除数据,且擦除是以块(Block)为单位进行的。然而NAND闪存的寿命是有限的,一般来说,NAND闪存的寿命以擦写循环次数(Program and Erase cycle,PE cycle)来定义的。常见的3D TLC NAND闪存的寿命一般在3000次左右,这意味着NAND闪存的块在经历了大约3000次擦写后,其寿命将耗尽,该块将不能再被使用。随着寿命将近,NAND闪存块存储数据的可靠性逐渐降低。包括NAND闪存的存储设备的控制部件记录其NAND闪存的各块是否可用。
...

【技术保护点】

【技术特征摘要】
1.一种识别不可靠块的方法,包括如下步骤:根据处理编程命令的时间与编程命令所操作的块的擦写次数,查询寿命预测表获得寿命预测值;若寿命预测值达到或超过寿命阈值,则将编程命令所操作的块识别为坏块,并将坏块的标识记录于坏块表中;以及将识别出的坏块上已被写入的数据搬移到其他块。2.根据权利要求1所述的识别不可靠块的方法,其中,寿命预测表的行表头记录了擦写循环次数区间,寿命预测表的列表头记录了处理编程命令时间的区间,寿命预测表的数据区记录了同行表头与列表头指示的内容对应情况下的块的寿命。3.根据权利要求1或2所述的识别不可靠块的方法,其中,响应于要获取承载待写入数据的块,查询坏块表以获得可用块;向获得的可用块发出编程命令以写入数据,并记录处理编程命令的时间和编程命令所操作的块的擦写次数。4.根据权利要求1

3之一所述的识别不可靠块的方法,其中,对非易失存储介质的参考块反复实施擦除与编程操作,并记录具有指定擦写循环次数区间的参考块处理编程命令时间的区间,以生成寿命预测表。5.根据权利要求1

4之一所述的识别不可靠块的方法,其中,根据执行失败的编程命令所访问的块的擦写次数在坏块编程时间表的表头确定对应的行/列;依据执行失败的编程命令所访问的块,查询记录了最近的编程命令的执行时间的编程时间表,以获得该块最近的执行成功的编程命令的执行时间;用最近的执行成功的编程命令的执行时间在坏块编程时间表的表头确定对应的列/行;根据确定的坏块编程时间表的行与列,在确定的坏块编程时间表的对应位置记录执行失败次数,以更新坏块编程时间表。6.根据权利要求5所述的识别不可靠块的方法,其中,响应于坏块编程时...

【专利技术属性】
技术研发人员:薛立成
申请(专利权)人:北京忆芯科技有限公司
类型:发明
国别省市:

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

1