自适应读取清理的制作方法

文档序号:32373770发布日期:2022-11-29 23:54阅读:26来源:国知局
自适应读取清理的制作方法

1.本公开的实施例总体上是关于例如固态驱动器(solid state drive;ssd)、嵌入式存储器存储装置、移动存储器存储装置以及自动存储器存储装置的数据存储装置的冗余数据逐出策略。


背景技术:

2.在例如ssd的数据存储装置的操作期间,数据逐出由于读取清理扫描或由于主机装置或内部数据读取期间的高位误差率(bit error rate;ber)阈值交叉通知而发生。数据逐出包含读取来自数据存储装置的一个位置的数据和将数据编程到数据存储装置的另一位置。在许多情况下,数据逐出由于异常环境条件而发生,例如过热或过冷温度(即,数据存储装置的正常操作温度之外的温度)、数据保持、或编程数据时和读取数据时温度之间的显著温度增量。
3.为防止潜在数据丢失且确保数据可靠性,数据存储装置可实施各种对策,例如验证数据逐出的需要或重新获取页/块层级最佳读取层级。当发生异常环境条件时,由于以相同条件写入的数据群之间的块/块或字线(wordline;wl)/wl差异,因此潜在数据丢失的报告可能有数万个。数据存储装置可能无法验证每一或每个页或wl以确定高ber通知是否是由于异常环境条件而引起的或固有ber是否确实较高。此外,如果数据存储装置逐出数据段或整个块,那么逐出将变得可见且可能降低数据存储装置的性能。额外的负面效果包含影响装置耐久性的写入放大和由逐出影响装置性能的数据片段引起的数据片段。
4.因此,在本领域中需要改进的数据逐出策略。


技术实现要素:

5.本公开总体上是关于例如固态驱动器(ssd)的数据存储装置的数据逐出策略。数据存储装置包含存储器装置和耦合到存储器装置的控制器。控制器配置成:从主机装置接收读取命令,收集存储器装置的环境数据,对与读取命令相关联的数据进行解码,确定所解码的数据的位误差率(ber),比较ber与阈值,以及确定是否将重定位与读取命令相关联的数据。环境数据包含温度、编程/擦除循环的数目、生长缺陷的量、过去重定位的数目、装置过去可能已通过的数据保持效果的指示以及自从上次数据重定位以来的时间。控制器进一步配置成基于所收集的环境数据和自从上次重定位读取命令数据以来经过的时间量来动态地调整阈值。
6.在一个实施例中,数据存储装置包含存储器装置和耦合到存储器装置的控制器。控制器配置成:从主机装置接收读取命令;收集存储器装置的环境数据,其中环境数据包括温度、编程/擦除循环的数目、生长缺陷的量、过去重定位的数目以及自从上次数据重定位以来的时间;对与读取命令相关联的数据进行解码;确定经解码数据具有位误差率(ber);比较ber与阈值;以及确定与读取命令相关联的数据是否将重定位。
7.在另一实施例中,数据存储装置包含存储器装置和耦合到存储器装置的控制器。
控制器配置成:从主机装置接收读取命令,收集存储器装置的环境数据,基于所收集的环境数据和自从上次重定位读取命令的数据以来经过的时间量来动态地调整位误差率(ber)阈值,以及确定是否重定位数据。
8.在另一实施例中,数据存储装置包含存储器构件和耦合到存储器构件的控制器。控制器配置成:从主机装置接收读取命令;计算与读取命令相关联的数据的位误差率(ber);比较ber与阈值,其中阈值随存储器构件的环境条件和自从读取命令的数据已重定位以来的时间而变;以及将数据重定位到存储器构件中的不同位置。
附图说明
9.为了可以详细理解本公开的上述特征的方式,可通过参考实施例来更加具体地描述上文简要概括的本公开,所述实施例中的部分在附图中示出。然而,应注意,附图仅示出本公开的典型实施例,且因此不应视为限制本公开的范围,因为本公开可承认其它同等有效的实施例。
10.图1是示出根据某些实施例的数据存储装置可充当主机装置的存储装置的存储系统的示意性框图。
11.图2是示出根据某些实施例的包含控制器和数据存储装置的cmos有界阵列(cmos bounded array;cba)的控制器系统的示意性框图。
12.图3是示出根据某些实施例的数据收集的方法的示意性流程图。
13.图4是示出根据某些实施例的高位误差率(ber)通知处理调整的方法的示意性流程图。
14.图5是示出根据某些实施例的数据逐出策略的方法的示意性流程图。
15.图6是示出根据某些实施例的数据逐出策略的方法的示意性流程图。
16.为了促进理解,在可能的情况下,已使用相同附图标号来表示图式中共有的相同元件。经考虑一个实施例中所公开的元件可有利地在其它实施例中利用而不需具体叙述。
具体实施方式
17.在下文中,参考本公开的实施例。然而,应理解,本公开不限于具体描述的实施例。实际上,不管是否与不同实施例相关,都涵盖以下特征和元件的任何组合来实施和实践本公开。此外,尽管本公开的实施例可实现优于其它可能解决方案和/或优于现有技术的优点,但特定优点是否由给定实施例实现并不限制本公开。因此,以下方面、特征、实施例以及优点仅为说明性的且不认为是所附权利要求书的要素或限制,除非明确地叙述于权利要求中。同样,对“本公开”的提及不应解释为本文中所公开的任何发明性主题的一般化,且不应视为所附权利要求书的要素或限制,除非明确地叙述于权利要求中。
18.本公开总体上是关于例如固态驱动器(ssd)的数据存储装置的数据逐出策略。数据存储装置包含存储器装置和耦合到存储器装置的控制器。控制器配置成:从主机装置接收读取命令,收集存储器装置的环境数据,对与读取命令相关联的数据进行解码,确定所解码的数据的位误差率(ber),比较ber与阈值,以及确定是否将重定位与读取命令相关联的数据。环境数据包含温度、编程/擦除循环的数目、生长缺陷的量、过去重定位的数目以及自从上次数据重定位以来的时间。控制器进一步配置成基于所收集的环境数据和自从上次重
定位读取命令数据以来经过的时间量来动态地调整阈值。
19.图1是示出根据某些实施例的主机装置104与数据存储装置106通信的存储系统100的示意性框图。举例来说,主机装置104可利用包含在数据存储装置106中的非易失性存储器(non-volatile memory;nvm)110来存储和检索数据。主机装置104包括主机dram 138。在一些实例中,存储系统100可包含可作为存储阵列操作的多个存储装置,例如数据存储装置106。举例来说,存储系统100可包含配置为廉价/独立磁盘冗余阵列(redundant array of inexpensive/independent disk;raid)的多个数据存储装置106,其共同充当用于主机装置104的大容量存储装置。
20.主机装置104可将数据存储到例如数据存储装置106的一或多个储存装置和/或从一或多个储存装置检索数据。如图1中所示出,主机装置104可经由接口114与数据存储装置106通信。主机装置104可包括多种装置中的任何一种,包含计算机服务器、网络连接存储(network attached storage;nas)单元、台式计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手持机、所谓的“智能”板、电视机、摄像机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或能够从数据存储装置发送或接收数据的其它装置。
21.数据存储装置106包含控制器108、nvm 110、电力供应器111、易失性存储器112、接口114以及写入缓冲器116。在一些实例中,为清晰起见,数据存储装置106可包含图1中未展示的额外组件。举例来说,数据存储装置106可包含印刷电路板(printed circuit board;pcb),数据存储装置106的组件以机械方式附接到印刷电路板且印刷电路板包含电互连数据存储装置106的组件的导电迹线等。在一些实例中,数据存储装置106的物理尺寸和连接器配置可符合一或多个标准形状因数。一些实例标准形状因数包含但不限于3.5”数据存储装置(例如,hdd或ssd)、2.5”数据存储装置、1.8”数据存储装置、外围组件互连(peripheral component interconnect;pci)、pci扩展(pci-extended;pci-x)、pci高速(pci express;pcie)(例如,pcie
×
1、
×
4、
×
8、
×
16、pcie微型卡、minipci等)。在一些实例中,数据存储装置106可直接耦合(例如,直接焊接或插入到连接器)到主机装置104的主板。
22.接口114可包含用于与主机装置104交换数据的数据总线和用于与主机装置104交换命令的控制总线中的一个或两个。接口114可根据任何合适的协议操作。举例来说,接口114可根据以下协议中的一或多个操作:高级技术附件(advanced technology attachment;ata)(例如,串行ata(serial-ata;sata)和并行ata(parallel-ata;pata))、光纤通道协议(fibre channel protocol;fcp)、小型计算机系统接口(small computer system interface;scsi)、串行连接的scsi(serially attached scsi;sas)、pci和pcie、非易失性存储器高速(non-volatile memory express;nvme)、opencapi、genz、高速缓存相干接口加速器(cache coherent interface accelerator;ccix)、开放通道ssd(open channel ssd;ocssd)等。将接口114(例如,数据总线、控制总线或这两者)电连接到控制器108,在主机装置104与控制器108之间提供电连接,使得数据在主机装置104与控制器108之间进行交换。在一些实例中,接口114的电连接还可准许数据存储装置106从主机装置104接收电力。举例来说,如图1中所示出,电力供应器111可经由接口114从主机装置104接收电力。
23.nvm 110可包含多个存储器装置或存储器单元。nvm 110可配置成存储和/或检索
数据。举例来说,nvm 110的存储器单元可从控制器108接收数据和指示存储器单元存储数据的信息。类似地,存储器单元可从控制器108接收指示存储器单元检索数据的信息。在一些实例中,存储器单元中的每一个可以称为裸片。在一些实例中,nvm 110可包含多个裸片(即,多个存储器单元)。在一些实例中,每一存储器单元可配置成存储相对大量的数据(例如,128mb、256mb、512mb、1gb、2gb、4gb、8gb、16gb、32gb、64gb、128gb、256gb、512gb、1tb等)。
24.在一些实例中,每一存储器单元可包含任何类型的非易失性存储器装置,例如快闪存储器装置、相变存储器(phase-change memory;pcm)装置、电阻式随机存取存储器(resistive random-access memory;reram)装置、磁阻式随机存取存储器(magneto-resistive random-access memory;mram)装置、铁电随机存取存储器(ferroelectric random-access memory;f-ram)、全息存储器装置以及任何其它类型的非易失性存储器装置。
25.nvm 110可包括多个快闪存储器装置或存储器单元。快闪存储器装置可包含基于nand或nor的快闪存储器装置,且可基于用于每一快闪存储器单元的晶体管的浮动栅极中所含有的电荷而存储数据。在nvm快闪存储器装置中,快闪存储器装置可划分成多个裸片,其中多个裸片中的每一裸片包含可进一步划分成多个页的多个块。特定存储器装置内的多个块中的每一块可包含多个nvm单元。nand单元的行可使用字线进行电连接以限定多个页中的一页。多个页中的每一个中的相应单元可电连接到相应位线。此外,nvm快闪存储器装置可为2d或3d装置且可为单层级单元(single level cell;slc)、多层级单元(multi-level cell;mlc)、三层级单元(triple level cell;tlc)或四层级单元(quad level cell;qlc)。控制器108可将数据写入到页层级处的nvm快闪存储器装置且从页层级处的nvm快闪存储器装置读取数据,以及从块层级处的nvm快闪存储器装置擦除数据。
26.电力供应器111可向数据存储装置106的一或多个组件提供电力。当在标准模式下操作时,电力供应器111可使用由例如主机装置104的外部装置提供的电力来向一或多个组件提供电力。举例来说,电力供应器111可使用经由接口114从主机装置104接收的电力来向一或多个组件提供电力。在一些实例中,电力供应器111可包含一或多个电力存储组件,所述电力存储组件配置成当在断电模式下操作时(例如,停止从外部装置接收电力时),向一或多个组件提供电力。以此方式,电力供应器111可充当车载备用电源。一或多个电力存储组件的一些实例包含但不限于电容器、超级电容器、电池等。在一些实例中,可由一或多个电力存储组件存储的电力量可随一或多个电力存储组件的成本和/或大小(例如,面积/体积)而变。换句话说,在一或多个电力存储组件存储的电力量增加时,一或多个电力存储组件的成本和/或大小也增加。
27.易失性存储器112可由控制器108使用以存储信息。易失性存储器112可包含一或多个易失性存储器装置。在一些实例中,控制器108可使用易失性存储器112作为高速缓存器。举例来说,控制器108可将高速缓存的信息存储在易失性存储器112中直到高速缓存的信息写入到nvm 110。如图1中所示出,易失性存储器112可能消耗从电力供应器111接收的电力。易失性存储器112的实例包含但不限于随机存取存储器(random-access memory;ram)、动态随机存取存储器(dynamic random access memory;dram)、静态ram(static ram;sram)以及同步动态ram(synchronous dynamic ram;sdram(例如,ddr1、ddr2、ddr3、ddr3l、lpddr3、ddr4、lpddr4等))。
28.控制器108可处理数据存储装置106的一或多个操作。举例来说,控制器108可管理从nvm 110读取数据和/或向nvm 110写入数据。在一些实施例中,当数据存储装置106从主机装置104接收写入命令时,控制器108可启动将数据存储到nvm 110的数据存储命令且监测数据存储命令的进程。控制器108可确定存储系统100的至少一个操作特性且将至少一个操作特性存储在nvm 110中。在一些实施例中,当数据存储装置106从主机装置104接收写入命令时,控制器108在将与写入命令相关联的数据发送到nvm110之前,将所述数据临时存储在内部存储器或写入缓冲器116中。
29.图2是示出根据某些实施例的包含控制器202和数据存储装置(例如,图1的数据存储装置106)的cmos有界阵列(cba)204的控制器系统200的示意性框图。控制器202包含环境数据收集单元206和高位误差率(ber)通知处理调整逻辑单元208。cba 204包含高ber通知处理单元210和低密度奇偶校验(low-density parity-check;ldpc)解码器212。在一些实施例中,控制器202也可包含高ber通知处理单元210和ldpc解码器212。应理解,数据存储装置可能不包含cba基础结构等,且本文中的实施例可仍适用于控制器202。cba 204为可定位邻近于与例如图1的nvm 110的nvm的多个存储器装置的一或多个存储器装置的逻辑层。在一些实施例中,cba 204可能实际为阵列下cmos(cmos under array;cua)或阵列上cmos(cmos above array;caa)。应理解,单元206、单元208以及单元210可为由控制器202和/或cba204执行的固件。
30.当读取命令是由控制器202接收时,控制器202可将读取命令转送到相应的cba204,以便cba204执行读取命令。cba204可使用将数据的逻辑块地址(logical block address;lba)映射到数据的物理块地址(physical block address;pba)的逻辑到物理(logical to physical;l2p)表来定位相关数据。lba由例如图1的主机装置104的主机装置在读取命令中提供,其中lba用于确定数据存储在相关存储器装置中的位置。
31.在定位数据和从nvm 110的位置读取数据之后,cba 204利用ldpc解码器212对数据进行解码。可在将数据存储于nvm 110中之前对数据进行编码,以保护数据在存储时或在将数据存储于nvm 110中期间不受生长错误的影响。所编码的数据需要进行解码以便由主机装置或任何其它相关装置(包含控制器202)读取。在解码过程期间,ldpc解码器212可确定数据中是否存在任何位误差。由于数据的各种大小,位误差的数目可表征或计算为ber。在对数据进行解码之后,向控制器202提供所解码的数据且可向高ber通知处理单元210提供ber。
32.与由cba204处理读取命令同时或在由cba 204处理读取命令时,控制器202可利用环境数据收集单元206来收集关于数据存储装置的环境条件的数据。环境数据包含温度、编程/擦除循环的数目、生长缺陷的量、过去重定位的数目以及自从上次数据重定位以来的时间。环境数据的收集可在执行或处理读取命令之前,在处理读取命令时,或在已由cba 204处理读取命令之后完成。应理解,环境数据收集单元206可收集关于数据存储装置或数据存储装置的一或多个存储器装置的环境数据。举例来说,如果与读取命令相关联的数据存储在多个存储器装置中的第一存储器装置中,那么环境数据收集206可收集数据存储装置的环境数据或收集第一存储器装置和/或邻近存储器装置的环境数据。
33.将由环境数据收集单元206收集的环境数据传送到高ber通知处理调整逻辑单元208。高ber通知处理调整逻辑单元208可确定一或多个ber阈值将基于所收集的环境数据和
自从上次重定位相关存储块或存储器装置的数据以来的时间进行调整。下表1示出一或多个高ber阈值的实施例,其中ber层级描述失败位计数(failed bit count;fbc)、校验子权重(syndrome weight;sw)等。fbc是数个失败位,例如不再能够保留电荷的位或具有错误电荷的位(即,错误位值)。sw是读取码字的属性(即,被编码、写入到存储器装置,现在从存储器装置读取以及解码的数据)。
[0034][0035]
表1
[0036]
各种ber阈值可基于所收集的环境数据动态地调整且可适用于所有存储器装置或一或多个存储器装置。当ber层级小于“n”时,ber的严重程度指示为“绿色”,其中数据存储装置可正常操作。然而,当ber层级大于或等于“n”时,由于ber超出阈值,数据存储装置可能需要额外的操作。此外,不是如表1所展示设置ber层级的数目,而是可安排更多或更少的ber层级。
[0037]
举例来说,当ber层级在“n”与“m”之间(或大于或等于“n”,但小于“m”)时,严重程度指示为“蓝色”,其中“蓝色”指示可能存在较小性能问题。当ber层级在“m”与“k”之间(或大于或等于“m”,但小于“k”)时,严重程度指示为“黄色”,其中“黄色”指示可能存在主要性能问题。当ber层级在“k”与“p”之间(或大于或等于“k”,但小于“p”)时,严重程度指示为“橙色”,其中“橙色”指示可能存在轻微可靠性(rel)问题。当ber层级大于“p”(或大于或等于“p”)时,严重程度指示为“红色”,其中“红色”指示可能存在严重rel问题。各种颜色指示符并不意欲是限制性的,而是提供可能的实施例的实例。
[0038]
各种颜色指示符反映数据存储装置可能需要启动的不同操作条件。这些主动操作优化数据读取操作,以提供较好且适配良好的读取电压、时间标签读取参数、温度补偿等。在一个实施例中,操作使得切换模式(toggle mode;tm)速度降低以在读取操作期间具有较好信号完整性且接着减少读取和读取传送失败的位计数等。举例来说,当严重程度是“蓝色”时,控制器202可启动对一或多个存储器装置的周期性监测、,收集关于数据存储装置和/或一或多个存储器装置的环境数据以及视需要调整周期性活动。当严重程度是“黄色”时,控制器202可启动可包含读取层级的优先级更新,收集环境数据,准备将数据移动到安全裸片并行度等的异步动作。当严重程度是“橙色”时,控制器202可在后台中启动数据分析,以便更仔细的分析具有ber的数据。此外,当严重程度是“橙色”时,阈值的单个交叉(即,大于或等于“k”,但小于“p”)可能不会导致任何主动的数据可靠性处理,而阈值的多个交叉可向控制器202指示可能需要补救的ber趋势。这类补救措施可包含数据逐出、紧急参数更
新、离群值跟踪等。当严重程度是“红色”时,由控制器202接收的每一报告启动数据恢复/逐出过程。控制器202可立即服务于报告中的每一个或将报告放置在优先级较高的队列中。
[0039]
如先前所陈述,一或多个ber阈值可由高ber通知调整逻辑单元208基于从环境数据收集单元206收集的环境数据进行调适,同时考虑自从上次重定位相关存储块或存储器装置的数据以来的时间。高ber通知调整逻辑单元208可指示关于ber阈值的策略,例如,如果temp》x[c],那么修改来自表1的n、m、k以及p,或改变不同ber阈值和/或类别的数目。将更新的或改变的ber阈值(例如,表1)发送到高ber通知处理单元210。应理解,一或多个ber阈值可特定于热区、数据的类型、数据的新鲜度(即,数据最近多久被编程)等。举例来说,可在确定可包含自从先前重定位数据以来的时间的环境条件不足以证明重定位数据后增加一或多个ber阈值。可持续地或响应于高ber通知而收集环境条件。
[0040]
高ber通知处理调整逻辑单元208可为学习控制系统,例如强化学习(reinforcement learning;rl)系统,其通过利用多个量化ber状态(或阈值)以及数据存储装置和/或一或多个存储器装置的环境数据(例如,温度和编程/擦除循环(program/erase cycles;pec))来即时学习最佳读取清理策略(即,数据保持/逐出策略)。举例来说,学习控制系统可优化控制器202的延迟长期奖励,以便控制器202可通过导出关于成功和失败的重定位的结论来增加执行重定位请求的时间帧或减少执行重定位请求的时间帧从而优化推迟重定位。因此,可基于学习控制系统动态地调整一或多个ber阈值。
[0041]
优化可能是由于环境条件以及自从上次重定位相关存储块或存储器装置的数据以来时间。学习控制系统可提供具有延迟奖励的最佳读取清理策略,以便在较长时间周期内提供最佳性能且在数据存储装置的操作期间改变/调适策略。通过优化策略,“失败重定位”的数目可能降低,其中每一“失败重定位”可能不利地增加块的写入放大(write amplification;wa),且数据存储装置的性能可能提高。
[0042]
高ber通知处理单元210接收从ldpc解码器212接收ber,且比较ber与一或多个ber阈值。基于ber与一或多个ber阈值之间的比较,控制器202可在必要时启动数据恢复/逐出策略,例如表1中所描述的那些。高ber通知处理单元210也可等待比较ber与一或多个ber阈值,直到从高ber通知处理调整逻辑单元208接收到更新的或改变的ber阈值之后。
[0043]
图3是示出根据某些实施例的数据收集的方法300的示意性流程图。方法300可由图2的控制器系统200执行且可出于示例性目的参考控制器系统200的各方面。在块302处,数据收集框架开始。当执行从例如图1的nvm 110的nvm读取数据的读取命令时,可开始数据收集框架。在块304处,通过ldpc解码器212检测高ber层级。在各个实施例中,高ber层级可经由主机装置(例如图1的主机装置104)、读取操作、解码与读取命令相关联的数据的ldpc解码器212或主动读取清理算法来检测。当检测高ber层级时,将ber传送到高ber通知处理单元210。
[0044]
在块306处,高ber通知处理单元210处理高ber检测报告。处理可包含在给定条件下决定是否应排空数据,视需要重新获取最佳读取层级,更新数据逐出和/或回收量,以及更新高ber/数据回收报告的统计计数器。在块308处,环境数据收集单元206收集数据存储装置和/或一或多个存储器装置的环境统计或环境数据。所收集的环境统计或环境数据可包含数据存储装置和/或一或多个存储器装置的温度、数据保持指示以及数据存储装置健康度量(和/或一或多个存储器装置的健康度量)。健康度量可包含编程/擦除循环的数目、
生长缺陷的量、重新链接的数目等。在块310处,更新给定条件下的数据回收量。数据回收可参考存储器装置的回收存储空间,其中过时或无效的数据已擦除。具体来说,数据回收可为由于数据可靠性问题而在不同位置中逐出和编程的数据量。在块312处,数据收集框架结束。
[0045]
经考虑,在块304、306以及308处提供的列表不是限制性的且其它实施例和/或组合可适用于上文所描述的那些。
[0046]
图4是示出根据某些实施例的高ber通知处理调整的方法400的示意性流程图。方法400可由图2的控制器系统200执行且可出于示例性目的参考控制器系统200的各方面。在块402处,高ber通知处理调整开始。高ber通知处理调整可由高ber通知调整逻辑单元208完成。
[0047]
在块404处,高ber通知调整逻辑单元208分析所聚集的环境特性(例如,在方法300的块308处收集的环境统计和/或环境数据)。分析可包含分析数据保持指示、温度条件、在不同条件下写入和读取的数据量以及数据回收量(即,由于数据可靠性问题而在不同位置中逐出和编程的数据量)。在块406处,高ber通知调整逻辑单元208分析关于高ber报告和逐出的统计数据。分析可包含分析根据环境条件已超出高ber阈值的时间量、已重新获取用于读取优化的最佳读取层级的时间量、在具体热/环境条件下出现数据逐出的时间量、每组条件成功/失败的数据逐出率以及自从上次重定位相关存储块或存储器装置的数据以来的时间。
[0048]
经考虑,在块404和406处提供的列表不是限制性的且其它实施例和/或组合可适用于上文所描述的那些。
[0049]
在块408处,高ber通知处理调整逻辑单元208确定环境条件是否太极端。举例来说,极端环境条件可包含正常操作温度范围之外的操作温度。如果环境条件不太极端,那么高ber通知处理调整逻辑单元208将在块410处恢复高ber阈值和数据逐出策略,例如保持与先前操作中的策略相同的策略或返回到预定义的策略集。在块410处恢复高ber阈值和数据逐出策略之后,在块416处完成高ber通知处理调整。
[0050]
然而,如果高ber通知处理调整逻辑单元208确定环境条件太极端,那么在块412处,高ber通知处理调整逻辑单元208将确定数据逐出量是否过高。举例来说,高数据逐出量可对应于多个失败重定位或近期发生的重定位,例如在阈值时间帧内。如果在块412处的数据逐出量不太高,那么方法400在块416处完成。然而,如果在块412处的数据逐出量太高,那么在块414处,将高ber阈值、数据验证以及逐出策略适用于极端条件。调适可包含调整一或多个ber阈值、添加或去除一或多个ber阈值等。举例来说,可在确定可包含自从先前重定位数据以来的时间的环境条件不足以证明重定位数据后增加一或多个ber阈值。在块416处,高ber通知处理调整完成且可将一或多个ber阈值提供到高ber通知处理单元210。
[0051]
图5是示出根据某些实施例的数据逐出策略的方法500的示意性流程图。方法500可由图2的控制器系统200执行且可出于示例性目的参考控制器系统200的各方面。在块502处,高ber通知处理单元210确定对应于读取命令的数据的ber至少大于最低ber阈值,其中最低ber阈值对应于小于如上表1中所描绘的“n”的ber层级。
[0052]
在块504处,高ber通知处理210通过比较ber与一或多个ber阈值来确定ber的严重程度。一或多个ber阈值可为上表1中描绘的阈值。举例来说,可能触发“蓝色”严重程度的响
应指示的数据的ber可大于或等于“n”但小于“m”。此外,可通过高ber通知处理调整逻辑单元208设置一或多个ber阈值,其中在解码与读取命令相关联的读取数据之前或期间,一或多个阈值基于由环境数据收集单元206收集环境数据而进行调整。
[0053]
在块506处,高ber通知处理单元210确定近期是否已重定位数据。如果近期已在块506处重定位数据,那么在块508处,例如数据逐出的重定位活动将推迟。推迟重定位活动可进一步包含重新收集环境数据和分析环境数据。然而,如果近期506没有重定位数据,那么数据将在块510处作为数据逐出策略的一部分重定位。
[0054]
应理解,近期是否已重定位数据可基于由用户设置或由数据存储装置预设的预定阈值。此外,阈值可随着数据存储装置老化或用户改变阈值而进行调整。应理解,数据的重定位可不仅基于ber,且还基于自从上次数据重定位以来的时间。因此,数据重定位可基于ber率、自从数据重定位以来的时间、或ber率与自从数据重定位以来的时间的组合。
[0055]
图6是示出根据某些实施例的数据逐出策略的方法600的示意性流程图。方法600可由图2的控制器系统200执行且可出于示例性目的参考控制器系统200的各方面。在块602处,控制器202从例如图1的主机装置104的主机装置接收读取命令。在块604处,收集存储器装置的环境数据。在一些实施例中,收集数据存储装置的环境数据。在其它实施例中,收集例如定位成邻近于目标存储器装置的存储器装置的一或多个存储器装置的环境数据。可通过环境数据收集单元206完成环境数据的收集。
[0056]
在块606处,基于由高ber通知处理调整逻辑单元208收集的环境数据来调整一或多个ber阈值。一或多个ber阈值也可根据自从上次相关存储块或存储器装置的数据重定位以来的时间进行调整。举例来说,可在确定可包含自从先前重定位数据以来的时间的环境条件不足以证明重定位数据后增加一或多个ber阈值。通过两个因素确定重定位的条件:具体报告的实际ber严重程度和系统环境条件。
[0057]
关于ber严重程度,在

红色’严重程度或最大严重程度的情况下,即使此前不久已发生重定位,也将重定位数据而不管环境条件如何。相反,在中等或

黄色’或低于最大严重程度的情况下,报告系统将聚集计数器,且一旦计数器到达预定限制,将发出优化过程。如果

黄色’报告甚至在之后继续,且环境条件变得正常,那么系统将触发数据的重定位。换句话说,所述过程不考虑时间限制。此外,在一些实施例中,调整可包含添加或去除一或多个ber阈值在块608处,与读取命令相关联的数据由ldpc解码器212进行解码。应理解,在块604处的环境数据收集和在块606处的一或多个ber阈值的调整可在解码与读取命令相关联的数据之前,在解码与读取命令相关联的数据时,或在确定解码的数据具有大于阈值的ber之后完成。在块610处,由ldpc解码器212确定所解码的数据的ber。
[0058]
在块612处,高ber通知处理单元210基于所调整的一或多个ber阈值来确定ber严重级别。举例来说,所调整的一或多个ber阈值可为上表1中描绘的阈值。在块614处,高ber通知处理单元210确定ber严重级别是否大于最小阈值。举例来说,触发来自控制器202或cba204的响应的最小阈值可为大于或等于“n”的ber层级。此外,如果高ber通知处理单元210确定ber层级大于或等于“n”但小于“p”,那么在块616处,可不逐出数据,但实际上会受到更仔细的监测。
[0059]
在一些情况下,在数据重定位之间的时间可为有益的且可以考虑。举例来说,如果数据是由于温度变化而从第一位置重定位到第二位置且不久再次由于温度变化而从第二
位置重定位回到第一位置,那么可考虑重定位之间的时间以及环境因素,以指示存在需要解决的问题。或者,如果由于温度变化而发生从第一位置到第二位置的重定位且之后不久由于温度变化而发生从第二位置到第三位置的重定位,那么重定位之间的时间通常是不相关的。
[0060]
通过基于所收集的环境和自从上次重定位相关存储块或存储器装置的数据以来的时间来调适读取清理策略和/或数据逐出策略的一或多个ber阈值,冗余或不必要的数据重定位可能减少,这可能减小由于过高ber通知而引起的数据片段量。此外,可减少系统的总ber,这可能导致较高吞吐量、较低功耗以及较好耐久性,其结果为存储器装置的较少编程/擦除循环和较低写入放大。
[0061]
在一个实施例中,数据存储装置包含存储器装置和耦合到存储器装置的控制器。控制器配置成:从主机装置接收读取命令;收集存储器装置的环境数据,其中环境数据包括温度、编程/擦除循环的数目、生长缺陷的量、过去重定位的数目以及自从上次数据重定位以来的时间;对与读取命令相关联的数据进行解码;确定解码的数据具有位误差率(ber);比较ber与阈值;以及确定是否将重定位读取命令数据。
[0062]
收集环境数据是响应于确定ber大于阈值。收集环境数据发生在数据解码之前或期间。阈值是动态的。控制器进一步配置成基于自从先前数据重定位以来经过的时间量而调整阈值。控制器包含配置成触发收集环境数据的ber通知处理单元。控制器进一步包含配置成基于环境数据来调整阈值的ber通知调整单元。ber通知调整单元是固件。控制器进一步包含用于收集环境数据的环境数据收集单元,其中环境数据收集单元是固件。
[0063]
在另一实施例中,数据存储装置包含存储器装置和耦合到存储器装置的控制器。控制器配置成:从主机装置接收读取命令,收集存储器装置的环境数据,基于所收集的环境数据和自从上次重定位读取命令的数据以来经过的时间量来动态地调整位误差率(ber)阈值,以及确定是否重定位数据。
[0064]
控制器进一步配置成在特定环境条件下更新高ber/数据回收报告的统计计数器。控制器配置成响应于确定与读取命令相关联的所解码的数据具有大于ber阈值中的第一ber阈值的ber而收集环境数据。控制器进一步配置成针对数据保持指示、温度条件、在不同条件下写入和读取的数据量、数据回收量或其组合而分析环境数据。控制器进一步配置成分析关于超出ber阈值的量和对应的环境条件的所收集的数据。控制器进一步配置成分析关于具体热和/或环境条件下的数据逐出量的所收集的数据。控制器进一步配置成分析关于每具体热和/或环境条件的成功或失败的数据逐出率的所收集的数据。
[0065]
在另一实施例中,数据存储装置包含存储器构件和耦合到存储器构件的控制器。控制器配置成:从主机装置接收读取命令;计算与读取命令相关联的数据的位误差率(ber);比较ber与阈值,其中阈值随存储器构件的环境条件和自从读取命令的数据已重定位以来的时间而变;以及将数据重定位到存储器构件中的不同位置。
[0066]
在比较ber与阈值后,控制器进一步配置成执行周期性监测、收集环境条件以及调整装置活动。控制器进一步配置成在确定环境条件不足以证明重定位数据后增加阈值。控制器进一步配置成在确定超出阈值后重定位数据。
[0067]
虽然前述内容涉及本公开的实施例,但在不脱离本公开的基本范围的情况下,可设计本公开的其它和另外实施例,且由所附权利要求书确定本公开的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1