存储器控制器、存储器系统以及操作存储器控制器的方法与流程

文档序号:18214123发布日期:2019-07-19 22:31阅读:247来源:国知局
存储器控制器、存储器系统以及操作存储器控制器的方法与流程

本申请要求于2017年11月30日提交的韩国专利申请号10-2017-0163288的优先权,其全部公开内容通过引用并入本文。

本公开的各种实施例涉及存储器控制器、具有存储器控制器的存储器系统、以及操作存储器控制器的方法。更具体地,本公开的各种实施例涉及可以控制存储器装置的操作的存储器控制器、具有存储器控制器的存储器系统、以及操作存储器控制器的方法。



背景技术:

通常,存储器系统可以包括存储器装置和存储器控制器。

存储器装置可以在存储器控制器的控制下存储数据或输出存储的数据。例如,存储器装置可以实现为其中存储的数据在电源中断时丢失的易失性存储器装置,或者实现为其中存储的数据即使电源中断也被保持的非易失性存储器装置。

存储器控制器可以控制主机与存储器装置之间的数据通信。

主机可以能够使用诸如外围部件互连-快速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)或串行连接scsi(sas)等的接口协议来与存储器系统通信。主机与存储器系统之间的接口协议不限于上述示例。例如,主机可以使用诸如通用串行总线(usb)、多媒体卡(mmc)、增强型小磁盘接口(esdi)或集成驱动电子器件(ide)等的各种接口来与存储器系统通信。



技术实现要素:

本公开的各种实施例涉及存储器控制器、具有存储器控制器的存储器系统、以及操作存储器控制器的方法,其可以根据各种环境来控制存储器装置的操作特性。

本公开的实施例可以提供一种存储器控制器。存储器控制器可以包括:操作环境确定器,其被配置为基于至少一个周围环境感测数据来确定存储器装置的操作环境;以及中央处理单元(cpu),其被配置为确定在所确定的操作环境中所需要的存储器装置的操作特性,根据所确定的操作特性来选择策略,以及基于所选择的策略来控制存储器装置的操作。

本公开的实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,其被配置为存储或输出数据;以及存储器控制器,其被配置为基于至少一个周围环境感测数据来确定存储器装置的操作环境,确定在所确定的操作环境中所需要的存储器装置的操作特性,根据所确定的操作特性来选择策略,以及基于所选择的策略来控制存储器装置的操作。

本公开的实施例可以提供一种操作存储器控制器的方法。该方法可以包括基于存储器装置的周围环境感测数据来确定存储器装置的操作环境,确定在所确定的操作环境中所需要的存储器装置的操作特性,选择实现所确定的操作特性所需要的策略,以及基于所选择的策略来控制存储器装置的操作。

本公开的实施例可以提供一种存储器系统。存储器系统可以包括:存储器装置,其布置在一个地方;以及存储器控制器,其被配置为接收关于该地方的周围环境感测数据,基于周围环境感测数据来确定存储器装置的操作环境,以及基于所确定的操作环境来控制存储器装置的操作。

附图说明

图1a是示出根据本公开的实施例的存储器系统的图。

图1b是示出根据本公开的实施例的存储器控制器的图。

图2a是示出根据本公开的实施例的存储器系统的图。

图2b是示出根据本公开的实施例的存储器控制器的图。

图3是示出可应用本公开的实施例的存储器系统的环境的图。

图4是详细示出根据本公开的实施例的存储器装置的图。

图5是示出具有2d结构的存储器块的图。

图6是示出具有3d结构的存储器块的示例的图。

图7是示出具有3d结构的存储器块的示例的图。

图8是示出根据本公开的实施例的操作存储器控制器的方法的流程图。

图9a至图9c是用于说明根据本公开的实施例的表的图。

图10是示出根据本公开的实施例的应用了针对不同编程模式的策略的存储器装置的图。

图11a至图11c是示出根据本公开的实施例的应用了不同策略的编程方法的图。

图12是示出根据本公开的实施例的应用了不同策略的读取方法的图。

图13a至图13c是用于说明根据本公开的实施例的表的图。

图14是示出根据本公开的实施例的应用了针对不同编程模式的策略的存储器装置的图。

具体实施方式

将参考结合附图描述的实施例来更详细地描述用于实现本发明的优点、特征和方法。因此,本公开不限于以下实施例,而是可以以其他形式实施。相反,这些实施例被提供以使得本公开将彻底和完整,并且将本公开的技术精神完全传达给本领域技术人员。此外,应当注意,对“实施例”的引用不一定仅表示一个实施例,并且对“实施例”的不同引用不一定是相同的实施例。

应当理解,当一个元件被称为“耦合”或“连接”到另一元件时,它可以直接耦合或连接到另一元件,或者在它们之间可以存在中间元件。在说明书中,除非上下文另有明确说明,否则当元件被称为“包括”或“包含”部件时,它不排除另一部件,而是可以进一步包括其他部件。

附图不一定按比例绘制,并且在一些情况下,可能夸大了比例以便清楚地说明实施例的特征。

本文中使用的术语仅用于描述特定实施例的目的,并且不意图限制本发明。

如本文中使用,除非上下文另有明确说明,否则单数形式也可以包括复数形式,反之亦然。

还应当注意,在一些情况下,如相关领域的技术人员将很清楚,除非另有具体说明,否则也称为结合一个实施例描述的特征的元件可以单独使用或与另一实施例的其他元件组合使用。

在下文中,将参考附图描述本发明的实施例。

图1a是示出根据本公开的实施例的存储器系统3000a的图。

参考图1a,存储器系统3000a可以包括存储数据的存储器装置3200a和在主机2000a的控制下控制存储器装置3200a的存储器控制器3100a。

主机2000a可以能够使用诸如外围部件互连-快速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)或串行连接scsi(sas)等的接口协议来与存储器系统3000a通信。主机2000a与存储器系统3000a之间使用的接口协议不限于上述示例,并且也可以使用各种接口,诸如通用串行总线(usb)、多媒体卡(mmc)、增强型小磁盘接口(esdi)或集成驱动电子装置(ide)。

主机2000a可以从至少一个环境传感器1000a接收周围环境感测数据,并且向存储器控制器3100a传输周围环境感测数据。

至少一个环境传感器1000a可以收集周围环境感测数据,并且可以向主机2000a传输收集的周围环境感测数据。存储器系统3000a可以用在诸如车辆、工厂或家庭等各种环境中,并且至少一个环境传感器1000a可以布置在存储器系统3000a附近以收集周围环境感测数据。

至少一个环境传感器1000a可以包括各种类型的环境传感器。例如,至少一个环境传感器1000a可以包括温度传感器、振动传感器和速度传感器中的至少一种。至少一个环境传感器1000a可以包括多个相同类型的环境传感器。例如,至少一个环境传感器1000a可以包括两个或更多个温度传感器。

至少一个环境传感器1000a可以周期性地或者每当事件发生时向主机2000a传输所收集的周围环境感测数据。这里,事件的发生可以表示当前收集的周围环境感测数据与先前收集的周围环境感测数据不同。例如,当先前收集的温度数据指示25℃并且当前收集的温度数据指示30℃时,可以认为事件已发生。

存储器控制器3100a可以控制存储器系统3000a的整体操作,并且可以控制主机2000a与存储器装置3200a之间的数据交换。例如,存储器控制器3100a可以转换所接收的信息并且存储和输出经转换的信息,使得可以在主机2000a与存储器装置3200a之间传送命令、地址和数据。在编程操作期间,存储器控制器3100a可以向存储器装置3200a传输命令、地址和数据。

存储器控制器3100a可以分析从主机2000a接收的至少一条周围环境感测数据,并且可以基于分析结果来确定存储器装置3200a的操作环境。存储器控制器3100a可以通过将当前接收的周围环境感测数据与设定值进行比较来确定存储器装置3200a的当前时间的操作环境。例如,存储器控制器3100a可以通过将当前接收的速度数据与设定的速度值进行比较来确定存储器装置3200a的当前时间的操作环境。这里,设定值可以是在当前测量的周围环境感测数据之前测量的值或者是设置为默认值的值。存储器控制器3100a可以通过将当前接收的周围环境感测数据与先前接收的周围环境感测数据进行比较来确定存储器装置3200a的后续(即,将来)时间的操作环境。换言之,存储器控制器3100a可以预测将在后续时间操作的存储器装置3100a的环境。例如,存储器控制器3100a可以通过将先前接收的速度数据与当前接收的速度数据进行比较来确定存储器装置3200a的后续时间的操作环境。存储器控制器3100a可以管理用于确定存储器装置3200a的操作环境的表(下文中称为“第一表”)。表的管理可以表示表的生成、存储、修改和删除中的至少一项。第一表可以是其中周围环境感测数据的分析结果被映射到操作环境的表。第一表可以存储在存储器控制器3100a中或者存储在单独的存储空间中。在一个实施例中,存储器控制器3100a可以存储用于确定存储器装置3200a的操作环境的程序代码。程序代码可以是如下程序代码:其中周围环境感测数据、设定值等被使用作为变量并且作为使用相应变量的计算的结果而输出指示特定操作环境的值。

存储器控制器3100a可以检查在所确定的操作环境中所需要的操作特性。所需要的操作特性可以与在存储器装置3200a执行操作时保证或允许数据可靠性的程度或者保证或允许的操作速度的程度相关。也就是说,所需要的操作特性可以是与在存储器装置3200a执行操作时要保证或允许的数据可靠性和操作速度中的至少一个相关的特性。存储器控制器3100a可以管理用于检查所需要的操作特性的表(下文中称为“第二表”)。第二表可以是其中所确定的操作环境被映射到所需要的操作特性的表。第二表可以存储在存储器控制器3100a中或者存储在单独的存储空间中。在一个实施例中,存储器控制器3100a可以存储用于检查第二表中的所需要的操作特性的程序代码。相应的程序代码可以是如下程序代码:其中指示特定操作环境的至少一个值被使用作为变量并且作为使用相应变量的计算的结果而输出指示操作特性的至少一个值。

存储器控制器3100a可以根据检查的操作特性来选择与存储器装置3200a的操作相关的策略(即,操作策略)。这里,策略可以表示各种条件,包括与可以在存储器装置3200a中执行的各种操作相关的算法、电压水平等。根据所选择的策略,存储器装置3200a可以以各种方式执行所选择的操作。例如,基于策略,可以决定编程模式、编程技术、编程电压、读取模式、读取电压、电压施加时间等。这里,编程模式或读取模式可以包括单级单元(下文中称为“slc”)模式或多级单元(下文中称为“mlc”)模式。在slc模式中,一位数据可以存储在单个存储器单元中,而在mlc模式中,两位或更多位数据可以存储在单个存储器单元中。

存储器控制器3100a可以根据周围环境感测数据来决定策略,并且存储器装置3200a可以基于策略来被操作。对于该操作,存储器控制器3100a可以管理用于选择策略的表(下文中称为“策略表”)。在策略表中,可以存储分别与各种策略相对应的代码。这样的策略表可以存储在存储器控制器3100a中或者存储在布置在存储器控制器3100a外部的单独的存储空间中。此外,除了编程操作和读取操作之外,由存储器控制器3100a选择的策略可以包括与是否执行数据压缩以及是否执行回拷贝操作相关的策略。

与编程模式相关的策略可以是用于根据检查的操作特性来决定要应用slc模式和mlc模式中的哪一个模式的策略。例如,在需要高操作速度的环境中,可以选择用于每个存储器单元写入少量位的编程策略,而在需要相对较低操作速度的环境中,可以选择用于每个存储器单元写入大量位的编程策略。例如,当需要第一操作速度时,可以决定用于应用slc模式的策略,而当需要低于第一操作速度的第二操作速度时,可以决定用于应用mlc模式的策略。取决于每个存储器单元存储的位数,mlc模式可以被分类为各种模式。例如,其中两位数据存储在单个存储器单元中的模式可以被定义为mlc模式,其中三位数据存储在单个存储器单元中的模式可以被定义为三级单元(tlc)模式,并且其中四位数据存储在单个存储器单元中的模式可以被定义为四级单元(qlc)模式。因此,当需要低于第二操作速度的第三操作速度时,可以决定用于应用tlc模式的策略。当需要低于第三操作速度的第四操作速度时,可以决定用于应用qlc模式的策略。此外,与编程模式相关的策略可以规定,当需要较高的数据可靠性时,要应用每个单元具有较少的信息位数的编程模式。例如,当需要第一水平的数据可靠性作为与编程模式相关的策略时,可以应用slc模式。当需要低于第一水平的第二水平的数据可靠性时,可以应用mlc模式。当需要低于第二水平的第三水平的数据可靠性时,可以应用tlc模式。当需要低于第三水平的第四水平的数据可靠性时,可以应用qlc模式。

可以基于与编程技术相关的策略来决定各种编程操作条件。例如,在其中编程电压增加阶跃电压的增量阶跃脉冲编程(ispp)操作中,取决于与编程技术相关的策略,可以调整与阶跃电压、编程启动电压和编程循环数中的一个或多个相对应的条件。例如,在与编程技术相关的策略中,当需要较高的数据可靠性时,可以施加较小的阶跃电压,而当需要较低的数据可靠性时,可以施加较大的阶跃电压。此外,当需要较高的数据可靠性时,可以施加较低的编程启动电压,而当需要较低的数据可靠性时,可以施加较高的编程启动电压。此外,在与编程技术相关的策略中,可以根据操作速度来应用编程循环数。例如,当需要高于第一操作速度的第二操作速度时,取决于与编程技术相关的策略,与需要第一操作速度的情况相比,可以应用较少的编程循环数。

在与读取电压相关的策略中,可以确定是应用默认读取电压还是应用已改变的读取电压。例如,可以在需要高数据可靠性和低操作速度时设置与读取电压相关的策略,并且可以根据与读取电压相关的策略来确定是应用默认读取电压还是应用已改变的读取电压。

与是否执行数据压缩相关的策略可以是用于规定是否在所检查的操作特性中执行数据压缩的策略。例如,与是否执行数据压缩相关的策略可以规定,当需要第一操作速度时,不执行数据压缩,并且当需要低于第一操作速度的第二操作速度时,将执行数据压缩。

与是否执行回拷贝操作相关的策略可以是用于规定是否在所检查的操作特性中执行回拷贝操作的策略。例如,与是否执行回拷贝操作相关的策略可以规定,当需要第一操作速度时,不执行回拷贝操作,并且当需要低于第一操作速度的第二操作速度时,将执行回拷贝操作。

存储器控制器3100a可以基于所选择的策略来控制存储器装置3200a的操作。例如,存储器控制器3100a可以基于所选择的策略来生成命令和地址,并且可以向存储器装置3200a传输所生成的命令和地址。

存储器装置3200a可以在存储器控制器3100a的控制下执行编程操作、读取操作、擦除操作、数据压缩操作和回拷贝操作中的至少一种。存储器装置3200a可以实现为其中存储的数据在电源中断时丢失的易失性存储器装置,或者实现为其中存储的数据即使电源中断也被保持的非易失性存储器装置。在下面将描述的实施例中,通过示例描述被包括在非易失性存储器装置中的闪存。在编程操作期间,存储器装置3200a可以基于命令和地址对数据进行编程或输出存储的数据。

图1b是示出根据本公开的实施例的存储器控制器的图,例如,用于说明图1a所示的存储器控制器3100a的图。

参考图1b,存储器控制器3100a可以包括主机接口3110a、操作环境确定器3120a、中央处理单元(cpu)3130a、存储器接口3140a、缓冲存储器3150a、纠错码(ecc)部件3160a和静态随机存取存储器(sram)3170a。上述主机接口3110a、操作环境确定器3120a、存储器接口3140a、缓冲存储器3150a、ecc部件3160a和sram3170a可以由cpu3130a控制。

主机接口3110a可以使用通信协议与主机2000a执行数据交换。主机接口3110a可以向操作环境确定器3120a传输从主机2000a接收的至少一条周围环境感测数据。

操作环境确定器3120a可以分析从主机接口3110a接收的至少一条周围环境感测数据,并且然后可以确定存储器装置3200a的操作环境。操作环境确定器3120a可以通过将当前接收的周围环境感测数据与设定值进行比较来确定存储器装置3200a的当前时间的操作环境。例如,操作环境确定器3120a可以通过将当前接收的速度数据与设定的速度值进行比较来确定存储器装置3200a的当前时间的操作环境。操作环境确定器3120a可以通过将当前接收的周围环境感测数据与先前接收的周围环境感测数据进行比较来确定存储器装置3200a的后续(即,将来)时间的操作环境。例如,操作环境确定器3120a可以通过将先前接收的速度数据与当前接收的速度数据进行比较来确定存储器装置3200a的后续时间的操作环境。操作环境确定器3120a可以管理用于确定存储器装置3200a的操作环境的第一表。表的管理可以表示表的生成、存储、修改和删除中的至少一项。第一表可以是其中周围环境感测数据的分析结果被映射到操作环境的表。第一表可以存储在操作环境确定器3120a中或者存储在单独的存储空间中。在一个实施例中,操作环境确定器3120a可以存储用于确定存储器装置3200a的操作环境的程序代码。程序代码可以是如下程序代码:其中周围环境感测数据、设定值等被使用作为变量并且作为使用相应变量的计算的结果而输出指示特定操作环境的值。

操作环境确定器3120a可以向cpu3130a传输关于所确定的操作环境的信息。

cpu3130a可以执行各种类型的计算或者生成命令和地址以便控制存储器装置3200a。例如,cpu3130a可以生成编程操作、读取操作、擦除操作、数据压缩操作和回拷贝操作所需要的各种命令。

可以向cpu3130a通知由操作环境确定器3120a确定的操作环境,并且cpu3130a可以执行与所确定的操作环境相对应的计算。

cpu3130a可以检查在所确定的操作环境中所需要的操作特性。所确定的操作环境中所需要的操作特性可以与在存储器装置3200a执行操作时保证或允许数据可靠性的程度或者保证或允许的操作速度的程度相关。也就是说,所需要的操作特性可以是与在存储器装置3200a执行操作时要保证或允许的数据可靠性和操作速度中的至少一个相关的特性。cpu3130a可以管理用于检查所需要的操作特性的第二表。第二表可以是其中所确定的操作环境被映射到所需要的操作特性的表。第二表可以存储在sram3170a中或者存储在布置在存储器控制器3100a外部的单独的存储空间中。在一个实施例中,cpu3130a可以存储用于检查所需要的操作特性的程序代码。相应的程序代码可以是如下程序代码:其中指示特定操作环境的至少一个值被使用作为变量并且作为使用相应变量的计算的结果而输出指示操作特性的至少一个值。

cpu3130a可以根据检查的操作特性来选择与存储器装置3200a的操作相关的策略。这里,策略可以表示各种条件,包括与可以在存储器装置3200a中执行的各种操作相关的算法、电压水平等。cpu3130a可以管理用于选择策略的策略表。策略表可以是其中实现检查的操作特性所需要的至少一个策略被映射到操作特性的表。策略表可以存储在cpu3130a中或者存储在单独的存储空间中。例如,除了编程操作和读取操作之外,策略可以是与是否执行数据压缩以及是否执行回拷贝操作相关的策略。

cpu3130a可以基于所选择的策略来控制存储器装置3200a的操作。例如,cpu3130a可以基于所选择的策略来生成命令和地址,并且可以向存储器装置3200a传输所生成的命令和地址。

存储器接口3140a可以使用通信协议与存储器装置3200a通信。

缓冲存储器3150a可以在存储器控制器3100a控制存储器装置3200a时临时地存储数据。例如,在编程操作完成之前,从主机2000a接收的数据可以临时存储在缓冲存储器3150a中。此外,在读取操作期间,从存储器装置3200a读取的数据可以临时存储在缓冲存储器3150a中。

ecc部件3160a可以在编程操作或读取操作期间检测数据的错误并且校正检测到的错误。

sram3170a可以用作存储单元,其存储存储器控制器3100a的操作所需要的各种类型的信息。sram3170a可以存储多个表。例如,sram3170a可以包括其中逻辑地址被映射到物理地址的映射表以及用于检查存储器装置3200a的操作特性的第二表。

图2a是示出根据本公开的实施例的存储器系统3000b的图。

在参考图2a描述的实施例中,将省略以上参考图1a描述的实施例的重复描述。

参考图2a,存储器系统3000b可以包括存储数据的存储器装置3200b以及在主机2000b的控制下控制存储器装置3200b的存储器控制器3100b。

至少一个环境传感器1000b可以收集周围环境感测数据,并且可以向存储器控制器3100b传输所收集的周围环境感测数据。

存储器控制器3100b可以从至少一个环境传感器1000b接收至少一条周围环境感测数据。存储器控制器3100b可以通过分析从至少一个环境传感器1000b接收的至少一条周围环境感测数据来确定存储器装置3200b的操作环境。基于分析结果,存储器控制器3100b可以检查在所确定的操作环境中所需要的操作特性,选择与所检查的操作特性相对应的策略,并且然后应用所选择的策略来控制存储器装置3200b的操作。

图2a的本实施例的配置可以与上面参考图1a描述的实施例的实施例基本相同,不同之处在于,周围环境感测数据直接传输给存储器控制器3100b而不通过主机2000b。

图2b是示出根据本公开的实施例的存储器控制器的图,例如,用于说明图2a所示的存储器控制器3100b的图。

在将参考图2b描述的实施例中,将省略以上参考图1b描述的实施例的重复描述。

参考图2b,存储器控制器3100b可以包括主机接口3110b、操作环境确定器3120b、中央处理单元(cpu)3130b、存储器接口3140b、缓冲存储器3150b、纠错码(ecc)部件3160b、静态随机存取存储器(sram)3170b和传感器接口3180b。在一个实施例中,可以省略图2b所示的元件中的至少一个。

传感器接口3180b可以从至少一个环境传感器1000b接收至少一条周围环境感测数据。传感器接口3180b可以向操作环境确定器3120b传输至少一条周围环境感测数据。传感器接口3180b可以使用各种类型的有线和/或无线接口协议中的任何一种与至少一个环境传感器1000b通信。

操作环境确定器3120b可以从传感器接口3180b接收至少一条周围环境感测数据。操作环境确定器3120b可以通过分析来自传感器接口3180b的至少一条周围环境感测数据来确定存储器装置3200b的操作环境。操作环境确定器3120b可以向cpu3130b通知所确定的操作环境。

图2b的本实施例的配置可以与上面参考图1b描述的实施例的实施例基本相同,不同之处在于,通过传感器接口3180b接收周围环境感测数据而不通过主机接口3110b。

图3是用于说明可应用本公开的实施例的存储器系统的环境的示例图。

在图3中,示出了将本公开的实施例应用于车辆30的情况的示例,但是本公开的实施例还可以应用于各种环境,诸如工厂和家庭、以及车辆。

参考图3,存储器系统可以安装在例如布置在车辆30中的黑匣子300中,并且可以通过黑匣子300存储所捕获的图像。

环境传感器102、104、106和108可以安装在车辆30内部或外部,并且然后可以收集周围环境感测数据。环境传感器102、104、106和108可以收集各种类型的周围环境感测数据。例如,环境传感器102可以是用于收集室内温度数据的温度传感器,环境传感器104可以是用于收集室外温度数据的温度传感器,环境传感器106可以是用于收集速度数据的速度传感器,并且环境传感器108可以是用于收集振动数据的振动传感器。周围环境感测数据的收集可以周期性地执行。

环境传感器102、104、106和108可以直接向存储器系统传输所收集的周围环境感测数据。根据实施例,环境传感器102、104、106和108可以通过微控制器单元(mcu)200向存储器系统传输所收集的周围环境感测数据,mcu200安装在车辆30中以控制车辆30的整体操作。这里,mcu200可以是主机,其已经在上面参考图图1a、图1b、图2a和图2b进行了描述。

图4是示出根据本公开的实施例的存储器装置3200的图。图4所示的存储器装置3200可以应用于图1a、图1b、图2a和图2b所示的存储器系统。

存储器装置3200可以包括控制逻辑3210、外围电路3220和存储器单元阵列3240。外围电路3220可以包括电压生成电路3222、行译码器3224、输入/输出电路3226、列译码器3228、页面缓冲器组3232和电流感测电路3234。

控制逻辑3210可以在存储器控制器(例如,图1b所示的存储器控制器3100a或图2b所示的存储器控制器3100b)的控制下控制外围电路3220。控制逻辑3210可以响应于通过输入/输出电路3226从存储器控制器接收的命令cmd和地址add而控制外围电路3220。例如,控制逻辑3210可以响应于命令cmd和地址add而输出操作信号op_cmd、行地址radd、页面缓冲器控制信号pbsignals和使能位vry_bit<#>。控制逻辑3210可以响应于从电流感测电路3234接收的通过信号pass或失败信号fail而确定验证操作是通过还是失败。

在控制逻辑3210的控制下,外围电路3220可以执行将数据存储在存储器单元阵列3240中的编程操作、输出存储在存储器单元阵列3240中的数据的读取操作、以及擦除存储在存储器单元阵列3240中的数据的擦除操作。此外,外围电路3220可以执行使用奇偶校验数据减少数据容量的数据压缩操作、或者将存储器块的数据拷贝到存储器单元阵列3240中的另一存储器块的回拷贝操作。

电压生成电路3222可以响应于从控制逻辑3210接收的操作信号op_cmd而生成用于编程、读取和/或擦除操作的各种操作电压vop。例如,电压生成电路3222可以生成编程电压、验证电压、通过电压、补偿编程电压、读取电压、擦除电压、导通电压等。

行译码器3224可以响应于从控制逻辑3210接收的行地址radd而向局部线ll传输操作电压vop,局部线ll耦合到从被包括在存储器单元阵列3240中的存储器块中选择的存储器块。局部线ll可以包括局部字线、局部漏极选择线和局部源极选择线。另外,局部线ll可以包括耦合到存储器块的各种线,诸如源极线。

输入/输出电路3226可以向控制逻辑3210传输通过输入/输出(io)线从存储器控制器接收的命令cmd和地址add,或者可以与列译码器3228交换数据。

列译码器3228可以响应于从控制逻辑3210接收的列地址cadd而在输入/输出电路3226与页面缓冲器组3232之间传输数据。例如,列译码器3228可以通过数据线dl与页面缓冲器pb1至pbi交换数据,或者可以通过列线cl与输入/输出电路3226交换数据。

页面缓冲器组3232可以耦合到位线bl1到bli,位线bl1到bli共同耦合到被包括在存储器单元阵列3240中的存储器块。页面缓冲器组3232可以包括分别耦合到位线bl1到bli的多个页面缓冲器pb1到pbi。例如,单个页面缓冲器可以耦合到每个位线。页面缓冲器pb1至pbi可以响应于从控制逻辑3210接收的页面缓冲器控制信号pbsignals而操作。例如,在编程操作期间,页面缓冲器pb1至pbi可以临时存储从存储器控制器接收的编程数据,并且可以基于编程数据来控制要施加给位线bl1至bli的电压。此外,在读取操作期间,页面缓冲器pb1至pbi可以临时存储通过位线bl1至bli接收的数据,或者可以感测位线bl1至bli的电压或电流。在读取或验证操作期间,电流感测电路3234可以响应于从控制逻辑3210接收的使能位vry_bit<#>而生成参考电流,并且可以将通过参考电流生成的参考电压与从页面缓冲器组3232接收的感测电压vpb相比较,并且然后输出通过信号pass或失败信号fail。

存储器单元阵列3240可以包括存储数据的多个存储器块mb1至mbk。在存储器块mb1至mbk中,可以存储用户数据和存储器装置3200的操作所需要的各种类型的信息。存储器块mb1至mbk均可以实现为二维(2d)结构或三维(3d)结构,并且可以同等地配置。

图5是示出具有2d结构的存储器块的图。

为方便起见,图4中描述的存储器单元阵列3240中包括的多个存储器块mb1至mbk中的任何一个存储器块mbk在图5中示出。

存储器块mbk可以包括耦合在位线bl1至bli与源极线sl之间的多个单元串st。单元串st可以分别耦合到位线bl1至bli,并且可以共同耦合到源极线sl。由于单元串st可以具有类似的结构,因此下面将作为示例描述耦合到第一位线bl1的单元串st。

单元串st可以包括串联耦合在源极线sl与第一位线bl1之间的源极选择晶体管sst、第一存储器单元f1至第n存储器单元fn(其中n是正整数)以及漏极选择晶体管dst。源极选择晶体管sst的数目和漏极选择晶体管dst的数目不限于图5所示的特定数目。

源极选择晶体管sst可以耦合在源极线sl与第一存储器单元f1之间。第一存储器单元f1至第n存储器单元fn可以串联耦合在源极选择晶体管sst与漏极选择晶体管dst之间。漏极选择晶体管dst可以耦合在第n存储器单元fn与第一位线bl1之间。虽然未在图中示出,但是虚拟单元也可以耦合在存储器单元f1至fn之间或者耦合在源极选择晶体管sst与漏极选择晶体管dst之间。

被包括在各个单元串st中的源极选择晶体管sst的栅极可以耦合到源极选择线ssl。第一存储器单元f1至第n存储器单元fn的栅极可以分别耦合到第一字线wl1至第n字线wln。漏极选择晶体管dst的栅极可以耦合到漏极选择线dsl。这里,耦合到字线wl1至wln中的每个字线的一组存储器单元可以被称为“物理页面(ppg)”。例如,在被包括在不同单元串st中的存储器单元f1至fn中,耦合到第一字线wl1的一组第一存储器单元f1可以是单个物理页面ppg。当使用多级单元(mlc)方案时,多个逻辑页面可以被包括在单个物理页面ppg中。

图6是示出具有3d结构的存储器块的示例的图。

为方便起见,图4中描述的存储器单元阵列3240中包括的多个存储器块mb1至mbk中的任何一个存储器块mbk在图6中示出。

参考图6,具有3d结构的存储器块mbk可以在垂直于衬底的方向(即,z方向)上以i形状形成在衬底上。存储器块mbk可以包括布置在位线bl与源极线sl之间的多个单元串st。在一个实施例中,可以形成阱而不是源极线sl。这种结构可以称为“位成本可扩展(bics)结构”。例如,在源极线sl水平地形成在衬底上的情况下,具有bics结构的单元串st可以在垂直于衬底的方向(即,z方向)上形成在源极线sl上。

详细地,单元串st可以在第一方向(即,x方向)和第二方向(即,y方向)上单独布置。单元串st可以包括在彼此间隔开的同时堆叠的源极选择线ssl、字线wl和漏极选择线dsl。源极选择线ssl的数目、字线wl的数目和漏极选择线dsl的数目不限于图中所示的数目,并且可以根据实施例而变化。单元串st可以包括垂直沟道层ch和位线bl。垂直沟道层ch可以被形成为垂直穿过源极选择线ssl、字线wl和漏极选择线dsl。位线bl可以与垂直沟道层ch的从漏极选择线dsl向上突出的顶部接触,并且可以在第二方向(即,y方向)上延伸。存储器单元可以形成在字线wl与垂直沟道层ch之间。接触插塞ct也可以形成在位线bl与垂直沟道层ch之间。

图7是示出具有3d结构的存储器块的示例的图。

为方便起见,被包括在存储器单元阵列中的多个存储器块中的任何一个存储器块mbk在图7中示出。

参考图7,具有3d结构的存储器块mbk可以在垂直于衬底的方向(即,z方向)上以u形状形成在衬底上。存储器块mbk可以包括耦合在位线bl与源极线sl之间并且形成成对的源极串st_s和漏极串st_d。每个源极串st_s和相应的漏极串st_d可以通过管道栅极pg彼此耦合以形成u形状。管道栅极pg可以形成在管线pl中。更详细地,源极串st_s可以被形成为在源极线sl与管线pl之间垂直于衬底,并且漏极串st_d可以被形成为在位线bl与管线pl之间垂直于衬底。这种结构可以称为“管状位成本可扩展(p-bics)结构”。

详细地,漏极串st_d和源极串st_s可以在第一方向(即,x方向)和第二方向(即,y方向)上单独布置。漏极串st_d和源极串st_s可以沿第二方向(即,y方向)交替布置。每个漏极串st_d可以包括在彼此间隔开的同时堆叠的字线wl和漏极选择线dsl。每个漏极串st_d可以包括被形成为垂直穿过字线wl和漏极选择线dsl的漏极垂直沟道层d_ch。每个源极串st_s可以包括在彼此间隔开的同时堆叠的字线wl和源极选择线ssl。每个源极串st_s可以包括被形成为垂直穿过字线wl和源极选择线ssl的源极垂直沟道层s_ch。漏极垂直沟道层d_ch和源极垂直沟道层s_ch可以经由管线pl中的相应管道栅极pg彼此耦合。位线bl可以与漏极垂直沟道层d_ch的从漏极选择线dsl向上突出的顶部接触,并且可以在第二方向(即,y方向)上延伸。

图8是示出根据本公开的实施例的控制存储器装置的操作的方法的流程图。

将参考图8描述的实施例可以应用于如以上参考图1a至图7描述的存储器系统。

在步骤801,例如图1b的操作环境确定器3120a或图2b的操作环境确定器3120b可以接收至少一条周围环境感测数据。周围环境感测数据可以包括从存储器系统的外围收集的环境数据。在各种实施例中,周围环境感测数据可以包括温度数据、速度数据和振动数据中的至少一项。周围环境感测数据可以周期性地或者在事件发生时被接收。周围环境感测数据可以如图2b所示从收集周围环境感测数据的环境传感器直接接收,或者可以如图1b所示通过主机来接收。

在步骤803,操作环境确定器可以基于所接收的周围环境感测数据来确定例如图1b的存储器装置3200a或图2b的存储器装置3200b的操作环境。操作环境确定器可以通过将当前接收的周围环境感测数据与设定值进行比较来确定存储器装置的当前时间的操作环境。操作环境确定器还可以通过将当前接收的周围环境感测数据与先前接收的周围环境感测数据进行比较来确定存储器装置的后续(即,将来)时间的操作环境。操作环境确定器可以管理用于确定存储器装置的操作环境的第一表。操作环境确定器可以向例如图1b的中央处理单元(cpu)3130a或图2b的中央处理单元(cpu)3130b传输关于所确定的操作环境的信息。

在步骤805,cpu可以检查在所确定的操作环境中所需要的存储器装置的操作特性。所需要的操作特性可以与在存储器装置执行操作时保证或允许数据可靠性的程度或者保证或允许的操作速度的程度相关。cpu可以管理用于检查所需要的操作特性的第二表。例如,第二表可以存储在例如图1b的静态随机存取存储器(sram)3170a或图2b的静态随机存取存储器(sram)3170b中,并且cpu可以管理存储在sram中的第二表。

在步骤807,cpu可以选择实现所检查的操作特性所需要的策略。策略可以规定与所需要的操作特性相对应的操作条件。cpu可以管理用于选择策略的策略表。策略表可以是其中实现检查的操作特性所需要的至少一个策略被映射到操作特性的表。策略可以包括与编程模式、编程技术、读取电压、是否执行数据压缩以及是否执行回拷贝操作相关的策略。

在步骤809,cpu可以基于所选择的策略来控制存储器装置的操作。cpu可以基于所选择的策略来生成用于控制存储器装置的操作的命令和地址,并且可以向存储器装置传输所生成的命令和地址。

图9a至图9c是用于说明根据本公开的实施例的表的图。

在图9a中,示出了用于确定例如图4的存储器装置3200的操作环境的第一表的示例。

参考图9a,在第一表中,可以将周围环境感测数据的分析结果映射到存储器装置的操作环境。例如,在第一表中,可以存储周围环境感测数据的速度数据和用于确定与其相对应的操作环境的信息。例如,在当前速度大于设定速度值时,可以选择与第一操作环境相对应的策略(或代码),而在当前速度小于或等于设定速度值时,可以选择与第二操作环境相对应的策略(或代码)。

在图9b中,示出了用于检查例如图4的存储器装置3200的所需要的操作特性的第二表的示例。

参考图9b,在第二表中,所确定的操作环境可以映射到所需要的操作特性。例如,根据环境特性而需要的操作特性和关于与操作特性相对应的存储器装置的操作速度的信息可以存储在第二表中。例如,在第一操作环境中,可能需要高操作速度,而在第二操作环境中,可能需要低操作速度。因此,借助于第二表,可以在第一操作环境中选择与高操作速度相对应的策略(或代码),而在第二操作环境中,可以选择与低操作速度相对应的策略(或代码)。高操作速度的要求可以表示需要高于设定值的操作速度,或者可以表示需要高于其他操作环境中的操作速度的操作速度。

在图9c中,示出了用于针对例如图4的存储器装置3200选择策略的策略表的示例。

参考图9c,在策略表中,与所需要的操作特性相对应的至少一个策略可以映射到操作特性。例如,在策略表中,可以存储与编程模式、编程技术、读取电压、是否执行数据压缩以及是否执行回拷贝操作相关的策略信息。例如,当需要高操作速度时,可以选择并且输出指示应用slc模式、大阶跃电压、高编程启动电压和默认读取电压并且不执行数据压缩和回拷贝操作的策略(或代码)。当需要低操作速度时,可以选择并且输出指示mlc模式、小阶跃电压、低编程启动电压和默认读取电压并且要执行数据压缩和回拷贝操作的策略(或代码)。当选择策略时,可以仅选择多个规定策略中的一个,或者可以选择两个或更多个策略。

图10是示出根据本公开的实施例的应用了针对不同编程模式的策略的存储器装置的图。

参考图10,存储器系统可以包括多个存储器装置1至n。

第一存储器装置1至第m存储器装置m可以以slc模式操作(下文中称为“slc存储器装置”)。第(m+1)存储器装置m+1至第n存储器装置n可以以mlc模式操作(下文中称为“mlc存储器装置”)。

如果选择slc模式策略,则可以选择slc存储器装置。在所选择的slc存储器装置上,可以执行编程操作、读取操作或擦除操作。

如果选择mlc模式策略,则可以选择mlc存储器装置。在所选择的mlc存储器装置上,可以执行编程操作、读取操作或擦除操作。

图11a至图11c是用于解释根据本公开的实施例的应用了不同编程技术的策略的情况的示例图。为了说明,示出了应用了增量阶跃脉冲编程(ispp)技术的策略的情况的示例。

在图11a中,示出了其中在ispp技术中使用的所有变量的值是默认值的示例。向耦合到所选择的页面的所选择的字线施加编程电压的步骤和向所选择的字线施加验证电压vf的步骤可以配置单个编程循环。在第一编程循环中使用的编程电压可以被定义为第一编程启动电压vpgm1。每当重复编程循环时,编程电压增加第一阶跃电压δv1,并且由于增加的编程电压,耦合到所选择的页面的所选择的存储器单元的阈值电压可以增加。

在图11b中,示出了其中选择用于增加阶跃电压的策略的情况的示例。每当重复编程循环时,编程电压增加第二阶跃电压δv2,并且可以执行使用增加的编程电压的编程操作。这里,第二阶跃电压δv2可以是大于第一阶跃电压δv1的阶跃电压,第一阶跃电压δv1是上面参考图11a描述的默认阶跃电压。

在图11c中,示出了其中选择用于增加编程启动电压的策略的情况的示例。在图11c中,可以执行使用大于第一编程启动电压vpgm1的第二编程启动电压vpgm2的编程操作,第一编程启动电压vpgm1是上面参考图11a描述的默认编程启动电压。

图12是用于说明根据本公开的实施例的应用了针对不同读取电压的策略的情况的图。

参考图12,在多级单元(mlc)型编程操作期间,多位数据可以存储在单个存储器单元中,并且因此存储器单元可以被编程为多个编程状态。例如,存储器单元可以各自处于擦除状态e0或者可以被编程为第一编程状态p1、第二编程状态p2或第三编程状态p3。

以这种方式,随着存储在单个存储器单元中的位数增加,存储器单元的阈值电压之间的裕度可以减小,并且应当在读取操作中考虑到这个裕度而设置读取电压。

读取操作可以使用向所选择的字线施加读取电压以及感测位线的电压或电流的方法来执行,位线的电压或电流随着由于读取电压而导通或截止的存储器单元而变化。然而,由于感测电压或电流可以根据存储器装置的环境变化(例如,温度变化)而变化,因此读取操作的可靠性可能劣化。

因此,在本实施例中,可以根据环境变化来改变读取电压、感测电压或感测电流。例如,当第一编程状态p1中的默认读取电压被设置为第一读取电压vr1时,在具有的温度低于室温的环境中,可以设置低于第一读取电压vr1的第二读取电压vr2,并且在具有的温度高于室温的环境中,可以设置高于第一读取电压vr1的第三读取电压vr3。

如果选择规定要施加默认读取电压的策略,则可以设置第一读取电压vr1。如果选择规定要施加低于默认读取电压的读取电压的策略,则可以设置第二读取电压vr2。如果选择规定要施加高于默认读取电压的读取电压的策略,则可以设置第三读取电压vr3。

图13a至图13c是用于说明根据本公开的实施例的表的示例图。

在图13a至图13c中,示出了使用多种类型的周围环境感测数据并且需要多个操作特性的情况的示例。

在图13a中,示出了用于确定存储器装置的操作环境的第一表的示例,并且存储器装置可以布置在诸如车辆等环境中。在第一表中,周围环境感测数据的分析结果可以映射到存储器装置的操作环境。在图13a中,作为示例,示出了在周围环境感测数据之中使用存储器装置所在的车辆的速度数据、振动数据和温度数据来确定存储器装置的操作环境的情况。而且,在图13a中,作为示例示出了使用先前速度数据和当前速度数据来确定存储器装置的操作环境的情况。参考图13a,在当前速度等于或大于先前速度并且当前外部温度不是室温时,操作环境被定义为第一操作环境。室温可以表示当前外部温度等于或大于第一设定外部温度值并且小于或等于第二设定外部温度值的情况。第二设定外部温度值可以是高于第一设定外部温度值的值。例如,第一设定外部温度值可以是10℃,并且第二设定外部温度值可以是30℃。在这种情况下,10℃到30℃的范围可以被视为室温范围,并且小于10℃或大于30℃的温度范围可以被视为室温以外的温度范围。因此,图13a的第一操作环境可以表示当前速度等于或大于先前速度并且当前外部温度小于10℃或大于30℃的情况。根据实施例,可以不同地设置室温的范围。同时,可以看出,在当前振动大于设定振动值并且当前外部温度不是室温时,操作环境被定义为第二操作环境。同时,可以看出,在当前速度等于或大于先前速度并且当前外部温度是室温时,操作环境被定义为第三操作环境。同时,可以看出,在当前速度为0或小于先前速度并且当前振动小于或等于设定振动值时,操作环境被定义为第四操作环境。

在图13b中,示出了用于检查所需要的操作特性的第二表的示例。在第二表中,所确定的操作环境可以映射到所需要的操作特性。在图13b中,作为示例示出了所需要的操作特性与存储器装置的操作速度和数据可靠性相关的情况。参考图13b,在第一操作环境中,需要高数据可靠性和高操作速度。在第二操作环境中,需要高数据可靠性和低操作速度。在第三操作环境中,需要低数据可靠性和高操作速度。在第四操作环境中,需要低数据可靠性和低操作速度。高数据可靠性的要求可以表示需要高于设定值的数据可靠性,或者可以表示需要高于其他操作环境中的数据可靠性的数据可靠性。高操作速度的要求可以表示需要高于设定值的操作速度,或者可以表示需要高于其他操作环境中的操作速度的操作速度。

在图13c中,示出了用于选择策略的策略表的示例。在策略表中,与所需要的操作特性相对应的至少一个策略可以映射到操作特性。在图13c中,作为示例示出了规定与编程模式、编程技术、读取电压、是否执行数据压缩以及是否执行回拷贝操作相关的策略的情况。参考图13c,当需要高数据可靠性和高操作速度时,规定要应用单级单元(slc)模式、小阶跃电压、小编程循环数和默认读取电压并且不执行数据压缩和回拷贝操作的策略被映射到所需要的操作特性。当需要高数据可靠性和低操作速度时,规定要应用小阶跃电压、大编程循环数和已改变的读取电压并且要执行数据压缩和回拷贝操作的策略被映射到所需要的操作特性。当需要低数据可靠性和高操作速度时,规定要应用大阶跃电压、高编程启动电压、小编程循环数和默认读取电压并且不执行数据压缩和回拷贝操作的策略被映射到所需要的操作特性。当需要低数据可靠性和低操作速度时,规定要应用大阶跃电压、高编程启动电压、大编程循环数和默认读取电压并且要执行数据压缩和回拷贝操作的策略被映射到所需要的操作特性。

在策略表中,用于应用其中因为需要较高数据可靠性而每个单元具有较少数目的信息位的编程模式的策略可以被规定。此外,用于应用其中因为需要较高操作速度而每个单元具有较少数目的信息位的编程模式的策略可以被规定。

根据一个实施例,用于考虑所需要的数据可靠性和所需要的操作速度来应用编程模式的策略可以被规定。例如,策略可以被规定,使得当需要高数据可靠性和高操作速度时,选择单级单元(slc)模式,slc模式是其中每个单元具有最小数目的信息位的编程模式。当需要高数据可靠性和低操作速度时,选择其中每个单元具有次最小数目的信息位的2位多级单元(mlc)模式。当需要低数据可靠性和低操作速度时,选择4位mlc模式,4位mlc模式是其中每个单元具有最大数目的信息位的编程模式。当需要低数据可靠性和高操作速度时,选择其中每个单元具有次最大数目的信息位的3位mlc模式。

此外,在策略表中,可以根据所需要的操作特性来规定与编程技术的变量值、是否改变读取电压、是否执行数据压缩以及是否执行回拷贝操作相关的各种策略。

图14是示出根据本公开的实施例的应用了针对不同编程模式的策略的存储器装置的图。

参考图14,存储器系统可以包括多个存储器装置1至n。多个存储器装置中的每个存储器装置可以包括以单级单元(slc)模式操作的存储器块(即,slc块)、以2位多级单元(mlc)模式操作的存储器块(即,2位mlc块)、以3位mlc模式操作的存储器模块(即,3位mlc块)、以及以4位mlc模式操作的存储器模块(即,4位mlc块)。以3位mlc模式操作的存储器块(即,3位mlc块)可以是tlc存储器块,并且以4位mlc模式操作的存储器块可以是qlc存储器块。当选择用于规定要在slc模式中操作存储器块的策略时,可以执行要对slc块执行的操作,例如,编程操作、读取操作或擦除操作。

当选择用于规定要在2位mlc模式中操作存储器块的策略时,可以执行要对2位mlc块执行的操作,例如,编程操作、读取操作或擦除操作。

当选择用于规定要在3位mlc模式中操作存储器块的策略时,可以执行要对3位mlc块执行的操作,例如,编程操作、读取操作或擦除操作。

当选择用于规定要在4位mlc模式中操作存储器块的策略时,可以执行要对4位mlc块执行的操作,例如,编程操作、读取操作或擦除操作。

根据本公开,可以考虑存储器装置操作的环境来控制存储器系统,并且因此可以提高存储器系统的可靠性。

尽管出于说明性目的已公开了本公开的示例性实施例,但是本领域技术人员将理解,可以进行各种修改、添加和替换。因此,本公开的范围必须由所附权利要求和权利要求的等同物限定,而不是由前面的描述限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1