首页 / 专利库 / 物理 / 温度 / 存储器的温度变化补偿

存储器温度变化补偿

阅读:461发布:2021-04-07

专利汇可以提供存储器温度变化补偿专利检索,专利查询,专利分析的服务。并且数据存储设备经配置以响应于确定与将数据写入 存储器 相关联的第一测量 温度 超过第一 阈值 而标记数据以用于更新。数据存储设备进一步经配置以响应于确定与存储器相关联的第二测量温度低于第二阈值而更新标记的数据。,下面是存储器温度变化补偿专利的具体信息内容。

1.一种设备,包括:
存储器;和
控制器,其耦合到所述存储器,所述控制器经配置以响应于确定与将数据写入所述存储器相关联的第一测量温度超过第一阈值,而标记所述数据以用于更新,所述控制器进一步经配置以响应于确定与所述存储器相关联的第二测量温度低于第二阈值,而更新标记的所述数据。
2.根据权利要求1所述的设备,其中所述控制器经配置以通过将所述数据的指示添加到标记的数据列表来标记所述数据。
3.根据权利要求2所述的设备,其中所述控制器经配置以访问所述标记的数据列表并且响应于检测到所述第二测量温度低于所述第二阈值来启动数据更新操作。
4.根据权利要求1所述的设备,进一步包括温度传感器,所述温度传感器经配置以向所述控制器指示所述第一测量温度和所述第二测量温度。
5.一种设备,包括:
存储器;和
控制器,其耦合到所述存储器,所述控制器经配置以将数据写入所述存储器的,并且响应于在将所述数据写入所述块之后检测到温度变化超过块变化阈值,而将所述块对所述块未使用部分的附加写入操作关闭。
6.根据权利要求5所述的设备,其中所述控制器经配置以在关闭所述块之前将虚拟数据写入所述块的字线。
7.一种设备,包括:
存储器;和
控制器,其耦合到所述存储器,所述控制器经配置以将存储在所述存储器中的第一数据与第一组指示符相关联并且将第一存储器访问参数值与所述第一组指示符相关联,其中响应于检测到温度变化超过与所述第一组指示符相关联的组温度阈值,所述控制器经配置以将将要存储在所述存储器中的第二数据与第二组指示符相关联并且将第二存储器访问参数值与所述第二组指示符相关联,所述第二存储器访问参数值不同于所述第一存储器访问参数值。
8.根据权利要求7所述的设备,其中所述控制器经配置以保持组指示符指针指示将要与将要被写入所述存储器的数据相关联的组指示符,并且其中响应于检测到所述温度变化,所述控制器经配置以更新所述组指示符指针以指示所述第二组指示符。
9.一种设备,包括:
存储器;和
控制器,其耦合到所述存储器,所述控制器经配置以存储读取电压的默认值并且确定从所述存储器读取数据的经调整的读取电压,所述经调整的读取电压基于所述默认值并且基于数据结构被确定,所述数据结构将读取电压偏移值映射到写入温度与读取温度之间的差值。
10.根据权利要求9所述的设备,其中所述数据结构包括表格,并且其中所述表格的每个条目根据写入温度范围和读取温度范围可访问。
11.根据权利要求9所述的设备,其中所述表格省略对应于匹配写入温度范围和读取温度范围的条目的读取电压偏移值。
12.一种设备,包括:
存储器;和
控制器,其耦合到所述存储器,所述控制器经配置以从所述存储器读取数据的多个编码字,并且响应于检测到对于阈值数量的所述编码字,错误率超过阈值错误率,来启动温度补偿操作,所述温度补偿操作基于第一温度与第二温度之间的温度差值修改一个或更多个存储器访问参数。
13.根据权利要求12所述的设备,其中所述第一温度与第一时间段相关联,所述第一时间段包括将多个编码字写入所述存储器的写入操作,并且所述第二温度与第二时间段相关联,所述第二时间时段包括从所述存储器读取多个编码字的读取操作。
14.根据权利要求12所述的设备,进一步包括纠错编码引擎即ECC引擎,并且其中所述阈值错误率小于所述ECC引擎的阈值可纠正错误率。
15.一种设备,包括:
存储器,其包括:
第一存储器裸片,其包括第一温度传感器;和
第二存储器裸片,其包括第二温度传感器;和
控制器,其耦合到所述存储器,所述控制器经配置以接收来自所述第一温度传感器的第一温度的第一指示符和来自所述第二温度传感器的第二温度的第二指示符,其中所述控制器经配置以基于所述第一温度和所述第二温度的平均值确定温度范围。
16.根据权利要求15所述的设备,其中所述存储器包括存储器裸片的堆叠,其中所述第一存储器裸片为所述堆叠的顶部裸片,并且其中所述第二存储器裸片为所述堆叠的中央裸片。
17.一种方法,包括:
在包括耦合到非易失性存储器的控制器的数据存储设备处,执行:
响应于确定与将数据写入所述非易失性存储器相关联的第一测量温度超过第一阈值,而标记存储在所述非易失性存储器处的所述数据以用于更新;和
响应于确定与所述非易失性存储器相关联的第二测量温度低于第二阈值,而更新标记的所述数据。
18.根据权利要求17所述的方法,其中标记所述数据包括将所述数据的指示添加到标记的数据列表。
19.根据权利要求18所述的方法,进一步包括在标记所述数据之后:
访问所述标记的数据列表;和
响应于检测到所述第二测量温度低于所述第二阈值,启动数据更新操作。
20.一种方法,包括:
在包括耦合到非易失性存储器的控制器的数据存储设备处,执行:
将数据写入所述非易失性存储器的块;和
响应于在将所述数据写入所述块之后检测到温度变化超过块变化阈值,关闭所述块。
21.根据权利要求20所述的方法,其进一步包括在关闭所述块之前将虚拟数据写入所述块的字线。
22.根据权利要求20所述的方法,其中关闭所述块防止对所述块的未使用部分进行写入操作。
23.一种方法,包括:
在包括耦合到非易失性存储器的控制器的数据存储设备处,执行:
将存储在所述非易失性存储器中的第一数据与第一组指示符相关联;
将第一存储器访问参数值与所述第一组指示符相关联;
响应于检测到温度变化超过与所述第一组指示符相关联的组温度阈值:
将将要存储在所述非易失性存储器中的第二数据与第二组指示符相关联;和将第二存储器访问参数与所述第二组指示符相关联。
24.根据权利要求23所述的方法,进一步包括:
存储指示组指示符的组指示符指针,所述组指示符将要与将要被写入所述非易失性存储器的数据相关联;和
响应于检测到所述温度变化,更新所述组指示符指针以指示所述第二组指示符。
25.一种方法,包括:
在包括耦合到非易失性存储器的控制器的数据存储设备处,执行:
基于将读取电压偏移值映射到写入温度和读取温度之间的差值的数据结构来确定读取电压偏移值;和
确定与从所述非易失性存储器读取数据相关联的读取电压的调整值,所述调整值基于所述读取电压的默认值并且基于所述读取电压偏移值被确定。
26.根据权利要求25所述的方法,其中所述数据结构包括表格,并且其中所述表格的每个条目根据写入温度范围和读取温度范围可访问。
27.根据权利要求26所述的方法,其中所述表格省略对应于匹配写入温度范围和读取温度范围的条目的读取电压偏移值。
28.一种方法,包括:
在包括耦合到非易失性存储器的控制器的数据存储设备处,执行:
从所述非易失性存储器读取数据的多个编码字;和
响应于检测到针对阈值数量的所述编码字,错误率超过阈值错误率,来启动温度补偿操作,所述温度补偿操作基于第一温度与第二温度之间的温度差值修改一个或更多个存储器访问参数。
29.根据权利要求28所述的方法,其中所述第一温度与第一时间段相关联,所述第一时间段包括将多个编码字写入所述存储器的写入操作,并且所述第二温度与第二时间段相关联,所述第二时间时段包括从所述存储器读取所述多个编码字的读取操作。
30.根据权利要求28所述的方法,其中所述阈值错误率小于所述数据存储设备的纠错编码引擎即ECC引擎的阈值可纠正错误率。
31.一种方法,包括:
在包括耦合到非易失性存储器的控制器的数据存储设备处,执行:
从所述非易失性存储器的第一裸片的第一温度传感器接收第一温度的第一指示符;
从所述非易失性存储器的第二裸片的第二温度传感器接收第二温度的第二指示符;和基于所述第一温度和所述第二温度的平均值来确定温度范围。
32.根据权利要求31所述的方法,其中所述非易失性存储器包括存储器裸片的堆叠,其中所述第一裸片为所述堆叠的顶部裸片,并且其中所述第二裸片为所述堆叠的中央裸片。

说明书全文

存储器温度变化补偿

[0001] 相关申请的交叉引用
[0002] 本申请要求2016年5月27日提交的美国申请第15/167,316号的优先权,其要求于2016年3月4日提交的美国临时申请第62/303,891号的权益,其每一者的内容通过引用整体并入本文。

技术领域

[0003] 本公开大体涉及数据存储设备,并且更具体地涉及温度变化补偿技术。

背景技术

[0004] 非易失性数据存储设备(例如快闪固态驱动器(SSD)存储器设备或可移除存储卡)允许数据和软件应用程序的便携性提高。快闪存储器设备能够通过在每个快闪存储器单元中存储多个位来增强数据存储密度。例如,多级单元(MLC)快闪存储器设备通过存储每单元2位、每单元3位、每单元4位或更多位来提供增加的存储密度。尽管增加每个单元的位的数量并且减小设备特征尺寸可以增加存储器设备的存储密度,但是存储在存储器设备处的数据的误码率(BER)也可能增加。
[0005] 另外,由于编程温度(例如,当数据被写入存储器时的存储器温度)和随后的读取温度(例如,当从存储器读取数据时的存储器温度)之间的温度变化导致的BER增加成为最近多代存储器中越来越重要的问题。因为非易失性数据存储设备的每个存储单元可以具有不同的交叉温度系数,所以每个存储单元可以呈现不同阈值电压(Vt)漂移,这是由于温度变化导致的,所述温度变化与存储单元被编程时的温度和存储单元被验证时的温度有关。每个存储单元的Vt漂移是温度差值的函数。结果,在与一页的编程温度不同的温度下读取该页导致存储设备的不同状态的单元电压分布(CVD)的漂移和扩大,并且导致BER增加。CVD的漂移和扩大以及BER增加出现在两个温度变化方向中,例如当在与将数据写入存储单元相比更高的温度下从存储单元读取数据时,以及当在与将数据写入存储单元相比更低的温度下从存储单元读取数据时。
附图说明
[0006] 图1是系统的说明性示例的框图,该系统包括经配置以基于温度调整存储器访问参数的数据存储设备;
[0007] 图2的图说明了与图1的数据存储设备相关联的温度范围的具体示例;
[0008] 图3的图说明可以由图1的数据存储设备使用的表格的具体示例;
[0009] 图4的图说明图1的数据存储设备的多个存储器裸片的第一配置的具体示例;
[0010] 图5的图说明图1的数据存储设备的多个存储器裸片的第二配置的具体示例;
[0011] 图6是图1的数据存储设备的说明性示例的框图;
[0012] 图7是图1的数据存储设备的另一个说明性示例的框图;
[0013] 图8是图1的数据存储设备的存储器设备的配置的具体示例的图;
[0014] 图9是可以由图1的数据存储设备执行的更新数据的方法的具体示例的流程图
[0015] 图10是可以由图1的数据存储设备执行的基于温度的控制方法的具体示例的流程图;
[0016] 图11是可以由图1的数据存储设备执行的基于温度的控制方法的另一个具体示例的流程图;
[0017] 图12是可以由图1的数据存储设备执行的确定读取电压值的方法的另一个具体示例的流程图;
[0018] 图13是可以由图1的数据存储设备执行的基于温度的控制方法的另一个具体示例的流程图;和
[0019] 图14是可以由图1的数据存储设备执行的确定温度范围的方法的另一个具体示例的流程图。

具体实施方式

[0020] 设备和方法提供对Vt电平的漂移和扩大的补偿,该Vt电平的漂移和扩大是由于将编程温度与读取温度变化比较的差值导致的。例如,可以在数据编程期间测量并存储“写入温度”。为了说明,作为非限制性示例,对于每个编程(例如NAND快闪存储器的擦除块),或者对于每个编程字线(WL),可以存储一次写入温度。在一些实施方式中,如果编程温度处于“异常”范围内,则可以执行补偿方案。
[0021] 在一些实施方式中,在读取数据期间,可以测量每个读取块或WL的“读取温度”。作为说明性的、非限制性的示例,一个或更多个存储器访问参数(诸如读取阈值电压)可以基于跟踪CVD、基于BER、基于根据写入温度与读取温度之间的差值的表格或其任何组合被调整。
[0022] 在一些实施方式中,当检测到“异常”编程温度时,可以执行多个补偿方案中的一个或更多个。例如,“异常”编程数据可以被标记以用于“紧急”更新。为了说明,响应于检测到存储器温度已经返回到“正常”温度范围,将数据标记以用于“紧急”更新可以致使数据存储设备作为高优先级任务更新标记的数据。如另一个示例,可以使用更慢和更可靠的修整(例如,导致以增加的准确性写入数据的写入参数的集合)来存储“异常”编程数据。如其他示例,可以使用SLC模式而不是使用MLC模式来存储“异常”编程数据、可以将“异常”编程数据存储为多个冗余副本、可以使用更多数量的奇偶校验位来保护“异常”编程数据、或以上任意的组合。
[0023] 在一些实施方式中,可以通过调整读取阈值来补偿非易失性存储器(NVM)单元Vt漂移。可以基于将读取期间测量的温度与编程期间记录的温度(可以每个块或每个字线(WL)被测量和存储)比较,两者之间的差值来执行调整读取阈值。当在低温下与在高温下编程的漂移不同的情况下,读取阈值调整值也可以是所记录的编程温度(而不仅仅是温度差值)的函数。按照温度差值的函数并且可选地按照编程温度的函数,可以使用预定义表格来执行读取阈值调整。可替换地,可以通过在代表性的一个或更多个页上运行读取阈值校准算法(例如CVD跟踪或BER估计扫描(BES))来执行读取阈值调整,该代表性的一个或更多个页来自在相同温度下被编程的一个或更多个块。
[0024] 如果“极端”温度差值是罕见事件,则前台CVD跟踪或BES方法可以提供具有相对低复杂性的准确结果,因为可以忽略记录和管理每个WL或每个块的编程温度。如果预料到更频繁地发生这样的极端温度差值,则与执行前台CVD跟踪或BES操作相比,通过测量和存储写入温度并针对温度差值进行调整,可以提供具有增强性能的准确结果。可替换地,大致在相同时间和温度下编程的块或WL组可以与具体时间和温度标签相关联,对于该时间和温度标签可以保持适当的读取或存储器访问参数集合。与给定时间和温度标签相关联的组的读取或存储器访问参数可以时常通过在来自组的一个或更多个代表性页上运行读取阈值校准算法(例如CVD跟踪或BES)而进行调整。这可以作为后台维护过程被执行,或者当遇到次优读取或存储器访问参数(例如,在主机读取期间遇到高BER)时被触发。
[0025] 以上操作(例如,CVD跟踪、BES操作、存储写入温度和基于温度变化来调整读取电压)可以用于针对由于编程与读取温度差值而导致的Vt漂移来进行补偿。但是,由于Vt分布扩大,使用这些操作仍然可以导致BER增加。如下示例所示,可以补偿Vt分布扩大。
[0026] 在Vt分布扩大补偿的示例性实施方式中,存储器允许的最大温度差值为80摄氏度(80℃)。由于最大允许温度差值为80℃,即使在读取阈值调整/漂移后,也无法保证成功读取经历写入/读取温度差值高于80℃的任何数据。在这种情况下,“正常”操作温度范围可以定义为从5℃至65℃的温度范围。在该正常温度范围以外的编程的任何事物都会接受“特殊处理”,例如上述一种或更多种操作(例如,标记为紧急更新、使用更慢和更可靠的修整来存储、使用SLC模式而不是使用MLC模式来存储、存储为多个冗余副本、使用更多数量的奇偶校验位进行保护)。因为在“正常”温度范围之外的编程数据可以被预料到是罕见的事件,所以可以针对小部分业务量(traffic)实施“特殊处理”,并因此对设备性能具有微小的整体影响。
[0027] 如果数据在“正常”温度范围之外的温度下进行编程,数据将受到上述选项之一的更仔细的保护(或在温度回到正常范围后立即更新)。另一方面,如果数据在“正常”温度范围内的温度下编程,即使数据是在正常范围之外的极端温度下读取的(例如,在-25℃或85℃),写入数据和读取数据之间的最大温度差值不超过允许的80℃差值。
[0028] 可以实施另外的温度范围。例如,可以存在一个“正常”温度范围和若干个“异常”温度范围,包括从略微超出范围的温度到极端超出范围的温度。当在“正常”温度范围之外进行编程时采取的对策(“特殊处理”)可以基于具体温度范围(即,基于它与“正常”温度范围有多不同)来进行调整。例如,当处于“正常”温度范围时,可以使用名义上的编程修整(“修整0”)进行编程。在略微“异常”的温度范围内时,可以使用较慢和较精细的修整(“修整1”)进行编程。当处于极端“异常”温度范围内时,可以使用更慢和更精细的修整(“修整2”)进行编程。
[0029] 温度范围(“正常”和“异常”两者)可以被预定义。可替换地,它们可以,按照存储器的每个区域或者适应性地由存储器的控制器,被动态地调整。例如,控制器可以跟踪温度范围,在该温度范围下大部分业务量正在被编程,并且控制器可以将该范围定义为“正常”温度范围。
[0030] 可选地,如果在“极端”温度下写入的数据量相对较小,则可以使用混合分区来存储在“极端”温度下存储的数据的另外一个或更多个副本,而不是移动数据。包括纠错编码(ECC)引擎的解码器可以用于解码两个或更多个副本并且获取数据。解码器的LLR输入可以基于两个副本,诸如将两个副本的LLR相加。这相当于为两个副本一致的位分配高可靠性,并且当两个副本不一致时,分配低可靠性(或者零可靠性,如果两个副本具有相同的可靠性)。
[0031] 在一些实施方式中,为了防止块内的广的编程温度变化,响应于编程温度变化中一个变化高于某个值,可以关闭部分写入开放块。将块关闭避免了在各种温度下编程的数据的混合,在各种温度下编程的数据的混合可能是有问题的,并且尤其是在异常温度区域中,例如参照图4和图5的进一步详细描述。如参照图4所描述的,可以通过写入虚拟数据来“填充”边界字线/串线(string line),该虚拟数据隔离边界WL,从而保护边界WL免受温度交叉影响。可选地,在做出提前关闭具有高优先级的块的决定之后,可以立即或在短时间内撤销受影响的边界串线/WL。
[0032] 在一些实施方式中,不是存储对应于具体温度或温度范围的存储器访问参数(例如,读取电压),而是可以使用偏移值。例如,当在给定温度下编程数据时,存在一个读取参数集合,其对于给定温度下的读取数据是“最佳”的。该温度可以在系统级被记录,并且还可以计算或确定“最佳”读取条件(例如,通过CVD跟踪或BES)。读取数据时,可以测量读取温度。如果写入温度和读取温度之间的温度差值大于阈值,则可以将读取偏移应用到原始读取条件(例如,作为从“最佳”读取参数进行的调整),使得作为结果的读取参数能够实现基于温度差值的更准确的数据读取。如果温度差值相对较小,则可以在没有任何偏移补偿的情况下以原始读取条件访问数据。
[0033] 在基于温度差值生成经调整的读取参数并读取数据之后,可以确定数据的BER。如果BER高于阈值(例如,超过编码数据的ECC方案的纠错能),则原始读取条件可能不足,或者偏移可能不足。在这种情况下,可以通过CVD跟踪或BES来校准读取参数,并且可以使用校准参数再次读取数据并减少错误数量。
[0034] 在一些实施方式中,当从存储器读取的数据的BER造成数据不可解码时,温度补偿可以不被应用(除了在“冒险”期间)。在这种情况下,基于温度差值来读取参数的偏移值的应用可以使得将要被读取的数据具有降低的BER成为可能。在一些实施方式中,响应于在读取操作序列期间检测到相对高BER的范本,可以应用温度补偿。例如,如参照图7的进一步详细描述,响应于从存储器的读取的序列导致高BER(但仍然可纠正),存储器控制器可以读取与数据相关联的写入温度,并且可以基于温度差值来应用读取电压偏移,用于该序列的剩余的读取操作。
[0035] 下面参照附图描述根据本公开的具体示例。在描述中,共同的特征用共同的参考数字表示。如本文所使用的,“示例性”可以指示示例、实施方式和/或方面,并且不应该被解释为限制或者指示优选或者优选实施方式。此外,应该理解的是,可以提供某些序数术语(例如,“第一”或“第二”)以用于识别和易于参考,其不一定意味着物理特征或排序。因此,如本文所使用的,用于修饰元素(诸如结构、组件、操作等)的序数术语(例如,“第一”、“第二”、“第三”等)不一定指示该元素相对于另一个元素的优先级或顺序,而是将该元素与具有相同名称(除去使用的序数术语之外)的其他元素区分开来。此外,如本文所使用的,不定冠词(“一个(a/an)”)可以指示“一个或更多个”而不是“一个”。如本文所使用的,“包括”或“包含”元素的结构或者操作可以包括未明确记载的一个或更多个其他元素。此外,“基于”条件或事件执行的操作也可以基于未明确记载的一个或更多个其他条件或事件来执行。
[0036] 图1描绘了系统100的说明性示例,系统100包括数据存储设备102和访问设备180(例如,主机设备或另一设备)。数据存储设备102包括基于温度的调整器122,其经配置以基于将数据写入存储器104和从存储器104读取数据之间的温度差值来执行补偿。基于温度的调整器122还经配置以基于处于“正常”温度范围之外的编程温度(例如,就在数据被写入存储器104之前、期间或之后测量的存储器104的温度)执行补偿。
[0037] 数据存储设备102和访问设备180可以经由诸如总线或无线连接的连接(例如,通信路径)被耦合。数据存储设备102可以包括第一接口124(例如,访问设备或主机接口),该第一接口124使得能够经由数据存储设备102和访问设备180之间的通信路径进行通信。
[0038] 数据存储设备102可以包括或者对应于固态驱动器(SSD),该固态驱动器(SSD)可以被包括在访问设备180中或者与访问设备180不同(并且可以被其访问)。例如,作为说明性的、非限制性的示例,数据存储设备102可以包括或对应于SSD,该SSD可用作嵌入式存储驱动器(例如,移动嵌入式存储驱动器)、企业存储驱动器(ESD)、客户端存储设备或存储驱动器。在一些实施方式中,数据存储设备102(例如,经由网络)间接耦合到访问设备180。例如,网络可以包括数据中心存储系统网络、企业存储系统网络、存储区域网络、云存储网络、局域网(LAN)、广域网(WAN)、因特网和/或另一个网络。在一些实施方式中,数据存储设备102可以是数据中心存储系统、企业存储系统或者存储区域网络的网络附加存储(NAS)设备或者组件(例如,固态驱动器(SSD)设备)。
[0039] 在一些实施方式中,例如根据联合电子设备工程委员会(JEDEC)固态技术协会通用闪存(UFS)配置,数据存储设备102可以被嵌入在访问设备180内。例如,作为说明性示例,数据存储设备102可以经配置以作为嵌入式存储器(诸如 (弗吉尼亚(Virginia)的阿灵顿(Arlington)的JEDEC固态技术协会的商标)和eSD)耦合到访问设备180。为了说明,数据存储设备102可以对应于eMMC(嵌入式多媒体卡)设备。如另一个示例,数据存储设备102可以对应于存储器卡,诸如安全数字 卡、 卡、miniSDTM卡(特拉华(Delaware)的威明顿(Wilmington)的SD-3C有限责任公司(SD-3C LLC)的商标)、MultiMediaCardTM(MMCTM)卡(弗吉尼亚(Virginia)的阿灵顿(Arlington)的JEDEC固态技术协会的商标)或 (CF)卡(加利福尼亚州(California)的米尔皮塔斯
(Milpitas)的SanDisk公司(SanDisk Corporation)的商标)。可替换地,数据存储设备102可以从访问设备180移除(即,“可移除地”耦合到访问设备180)。如一个示例,数据存储设备
102可以根据可移除通用串行总线(USB)配置可移除地耦合到访问设备180。
[0040] 数据存储设备102可以按照行业规范进行操作。例如,数据存储设备102可以包括SSD并且可以经配置以使用小型计算机系统接口(SCSI)类型协议(诸如串行连接的SCSI(SAS)协议)与访问设备180通信。如其他示例,数据存储设备102可以经配置以使用NVM Express(NVMe)协议或串行高级技术附件(SATA)协议与访问设备180通信。作为说明性的、非限制性示例,在其他示例中,数据存储设备102可以根据JEDEC eMMC规范、JEDEC通用闪存(UFS)规范、一个或更多个其他规范或其组合进行操作,并且可以经配置以使用一个或更多个协议,诸如eMMC协议、通用闪存(UFS)协议、通用串行总线(USB)协议和/或另一种协议等进行通信。
[0041] 访问设备180可以包括存储器接口(未示出),并且可以经配置以经由存储器接口与数据存储设备102通信,以从数据存储设备102的存储器设备103读取数据和将数据写入数据存储设备102的存储器设备103。例如,访问设备180可以经配置以使用SAS、SATA或NVMe协议与数据存储设备102通信。如其他示例,访问设备180可以根据联合电子设备工程委员会(JEDEC)行业规范(诸如通用闪存(UFS)访问控制器接口规范)进行操作。访问设备180可以根据任何其他合适的通信协议与存储器设备103通信。
[0042] 访问设备180可以包括处理器和存储器。存储器可以经配置以存储可以由处理器执行的数据和/或指令。存储器可以是单个存储器或可以包括多个存储器,诸如一个或更多个非易失性存储器、一个或更多个易失性存储器或其组合。访问设备180可以向数据存储设备102发出一个或更多个命令,诸如用于擦除数据、从数据存储设备102的存储器设备103读取数据或向其写入数据的一个或更多个请求。例如,访问设备180可以经配置以提供将要被存储在存储器设备103处的数据(例如数据182),或请求将要从存储器设备103被读取的数据。作为说明性的、非限制性示例,访问设备180可以包括移动电话、计算机(例如,膝上型计算机,平板电脑笔记本电脑)、音乐播放器、视频播放器、游戏设备或控制台、电子书阅读器、个人数字助理(PDA)、便携式导航设备、计算机,诸如膝上型计算机或笔记本电脑计算机、网络计算机、服务器、任何其他电子设备或其任何组合。
[0043] 数据存储设备102的存储器设备103可以包括一个或更多个存储器裸片(例如,一个存储器裸片、两个存储器裸片、八个存储器裸片或另一数量的存储器裸片)。存储器设备103包括存储器104,诸如包括在存储器设备103的存储器裸片中的存储单元的非易失性存储器。例如,作为说明性的、非限制性示例,存储器104可以包括诸如NAND闪存的闪存,或者诸如电阻随机存取存储器(ReRAM)的电阻式存储器。在一些实施方式中,存储器104可以包括或者对应于存储器设备103的存储器裸片。存储器104可以具有三维(3D)存储器配置。
如一个示例,存储器104可以具有3D垂直位线(VBL)配置。在一个具体实施方式中,存储器
104是具有3D存储器配置的非易失性存储器,其单片式地形成在存储器单元阵列的一个或更多个物理层中,该存储器单元阵列具有设置在衬底上方的有源区。可替换地,存储器
104可以具有另一配置,例如二维(2D)存储器配置或非单片3D存储器配置(例如,堆叠裸片
3D存储器配置)。
[0044] 尽管数据存储设备102被说明为包括存储器设备103,但是在其他实施方式中,数据存储设备102可以包括多个存储器设备,该多个存储器设备可以以与关于存储器设备103所描述的相似的方式配置。例如,数据存储设备102可以包括多个存储器设备,每个存储器设备包括一个或更多个存储器裸片封装,每个存储器裸片封装包括一个或更多个存储器,例如存储器104。关于存储器104的页而描述的数据条带化和错误恢复可以被扩展为包括跨越多个裸片、跨越多个封装、跨越多个存储器设备或其任何组合的数据条带化和错误恢复。
[0045] 存储器104可以包括一个或更多个块,诸如存储单元的NAND快闪擦除组。存储器104的每个存储单元可以被编程为指示一个或更多个值的状态(例如,快闪配置中的阈值电压或电阻式存储器配置中的电阻状态)。存储器104的每个块可以包括一个或更多个字线。
每个字线可以包括一个或更多个页,例如一个或更多个物理页。在一些实施方式中,每个页可以经配置以存储编码字。作为说明性的、非限制性示例,字线可以经配置以作为单级单元(SLC)字线、作为多级单元(MLC)字线或作为三级单元(TLC)字线来操作。
[0046] 存储器设备103可以包括支持电路(例如读取/写入电路105)以支持存储器设备103的一个或更多个存储器裸片的操作。虽然描绘为单个组件,但读取/写入电路105可以被划分成存储器设备103的单独组件,诸如读取电路和写入电路。读取/写入电路105可以在存储器设备103的一个或更多个裸片的外部。可替换地,存储器设备103的一个或更多个单独的存储器裸片可以包括对应的读取/写入电路,其可操作为独立于任何其他存储器裸片上的任何其他读取操作和/或写入操作,从存储单元读取数据和/或向存储单元写入数据,该存储单元在单独的存储器裸片中。
[0047] 控制器120经由总线、接口(例如,接口电路)、另一结构或其组合而耦合到存储器设备103。例如,总线可以包括一个或更多个通道以使控制器120能够与存储器设备的单个存储器裸片通信。如另一示例,总线可以包括多个不同的通道,以使控制器120能够与存储器设备103的每个存储器裸片通信,该通信并行且独立于与存储器设备103的其他存储器裸片的通信。
[0048] 控制器120经配置以从访问设备180接收数据和指令,并且将数据发送到访问设备180。例如,控制器120可以经由第一接口124向访问设备180发送数据,并且控制器120可以经由第一接口124从访问设备180接收数据。控制器120经配置以向存储器104发送数据和命令并且从存储器104接收数据。例如,控制器120经配置以发送数据以及写入命令,以致使存储器104将数据存储到存储器104的指定地址。写入命令可以指定存储器104的一部分的物理地址(例如,存储器104的字线的物理地址)以存储数据。作为说明性的、非限制性示例,控制器120还可以经配置以将与后台扫描操作、垃圾收集操作和/或耗损均衡操作等相关联的数据和命令发送到存储器104。控制器120经配置以向存储器104发送读取命令以从存储器
104的指定地址访问数据。读取命令可以指定存储器104的一部分的物理地址(例如,存储器
104的字线的物理地址)。
[0049] 存储器设备103还可以包括温度传感器112。例如,温度传感器112可以经配置以测量温度并且可以经配置以向控制器120提供测量的温度的指示,诸如读取温度162。例如,温度传感器112可以响应于一个或更多个命令160,诸如测量温度的命令。存储器设备103可以包括单个温度传感器112,或者可以包括多个温度传感器。例如,在一个实施方式中,存储器设备103包括多个存储器裸片,多个存储器裸片中的每一个可以包括单独的温度传感器112,诸如参照图8的描述。每个温度传感器112可以由控制器120独立地轮询,以提供相关联的存储器裸片的相应的温度162。
[0050] 存储器104被说明为包括代表性数据106。例如,数据106可以包括经编码的数据,诸如ECC编码字,其被写入存储器104的一个或更多个块中的一个或更多个字线。存储器104还可以存储与数据106相关联的写入温度108。例如,写入温度108可以指示,在数据106被写入存储器104时,对应于存储器设备103的温度测量。例如,可以在将数据106编程到存储器104之时、之前或之后确定写入温度108。写入温度108可以作为块头或字线头中的元数据被存储在块或字线中。
[0051] 存储器104还包括与数据106相关联的更新标志110。如下面进一步的详细讨论,更新标志110可以指示当存储器104处的温度处于异常温度范围时存储数据106。当存储器104的温度下降到一个具体阈值温度以下时,更新标志110可以由控制器120访问,以将数据106识别为更新的目标。
[0052] 控制器120包括基于温度的调整器122、标记的数据列表126、ECC引擎170、温度历史130以及将温度差值与读取电压参数相关联的数据结构(例如,表格148)。ECC引擎170经配置以接收将要被存储到存储器104的数据并生成编码字。例如,ECC引擎170可以包括编码器,其经配置以使用ECC方案对数据进行编码,ECC方案诸如里德索罗编码器(Reed Solomon encoder)、Bose-Chaudhuri-Hocquenghem(BCH)编码器、低密度奇偶校验(LDPC)编码器、Turbo码编码器、经配置以对一个或更多个其他ECC编码方案进行编码的编码器或其任何组合。ECC引擎170可以包括一个或更多个解码器,其经配置以对从存储器104读取的数据进行解码,以检测和纠正(取决于ECC方案的纠错能力)数据中可能存在的任何位错误。
[0053] 基于温度的调整器122经配置以执行一个或更多个操作以调整将数据写入存储器104的写入温度和/或从存储器104读取数据的读取温度之间的差值。例如,基于温度的调整器122包括比较器132,其经配置以将测量温度140与一个或更多个阈值进行比较,如第一阈值142和第二阈值144所说明的。例如,当测量温度140对应于将数据写入存储器104时的温度时(诸如响应于在控制器120处接收到将要被写入存储器设备103的数据106,从温度传感器122获取的温度),响应于比较器132确定测量温度140超过第一阈值132,异常温度引擎
134可以被启动。
[0054] 异常温度引擎134可以经配置以当存储器104的温度处于异常范围内时,执行与将数据写入存储器104相关联的一个或更多个操作。例如,异常温度引擎134可以响应于比较器132来添加更新标志110,该更新标志110将结合数据106一起被存储在存储器104处,以将数据106的指示存储到标记的数据列表126、以发起一个或更多个其他动作或其任何组合。例如,可以由异常温度引擎134发起的一个或更多个其他动作可以对应于指定:与当温度不在异常温度范围内时所存储的数据相比,将要被存储的数据需要在ECC引擎170处使用更高数量的奇偶校验位来编码。可替换地或附加地,异常温度引擎134可以致使数据以单级单元(SLC)模式而不是多级单元(MLC)模式被存储在存储器104中,该存储具有数据的多个副本而不是单个副本,和/或具有更慢和更可靠的修整,例如编程脉冲的数量增加、编程电压步长减小或者一个或更多个其他调整,以致使编程比正常操作期间更可靠。
[0055] 修整调整器136可以经配置以调整在向存储器104写入数据或从存储器104读取数据期间使用的一个或更多个参数。例如,基于将数据写入存储器104的温度与将要从存储器104读取数据的温度之间的差值,修整调整器136可以经配置以从表格128中获取一个或更多个偏移值。例如,当控制器120从访问设备180接收到读取数据106的请求时,控制器120可以从存储器104中获取写入温度108,并且可以进一步指示温度传感器112执行测量操作并向控制器120提供读取温度162。修整调整器136可以经配置以使用读取温度162和写入温度
108之间的差值以确定表格128内的索引。例如,温度差值(说明为ΔT1)可以对应于读取电压152的第一次变化(ΔVR1)。不同量的温度差值可以对应于可从表格128中获取的不同量的读取电压偏移值。修整调整器136可以经配置以基于从表格128获取的偏移值来调整一个或更多个修整参数的默认值并且将经调整的值提供给存储器设备103以在从存储器104获取数据期间使用。
[0056] 以上描述涉及读取参数的变化。对于编程参数(即,用于改变编程修整),修整调整器可以改变例如编程脉冲步长或宽度、初始编程电压或验证电平。这可以作为编程温度的函数来完成。
[0057] 响应于比较器132确定测量温度140已经从高于第一阈值142降低到低于或等于第二阈值144,比较器132可以向控制器120指示标记的数据将要被更新(例如,第二阈值144可以等于第一阈值142或可以小于第一阈值142)。例如,控制器120可以访问标记的数据列表126,并且,对于标记的数据列表126中的每个条目,控制器120可以指示数据读取,该数据读取从存储器104读取对应于该条目的数据,并且随后指示将该数据写入存储器104的数据写入。控制器120可以致使ECC引擎170执行数据错误纠正操作,以在将数据以较低温度存储回存储器104之前,纠正可能在数据中发生的一个或更多个错误。
[0058] 范围调整器138可以经配置以基于温度历史130来调整一个或更多个温度阈值,诸如第一阈值142和第二阈值144。例如,当温度历史130指示数据存储设备102的“正常”历史操作温度范围自设置第一阈值142以来已经增加时,范围调整器138可以调整第一阈值142的值。类似地,基于与存储器设备103相关联的温度测量的历史,范围调整器138可以调整一个或更多个其他温度阈值。参照图2描述了范围调整的一个示例。
[0059] 通过基于存储在存储器104中的数据的写入温度和读取温度之间的差值、基于写入温度是否在正常温度范围之外或基于一个或更多个与温度有关的其他因素,而执行一个或更多个调整,可以增加从存储器104读取数据的准确性。结果,由ECC引擎170提供的数据纠错可以被增强,使得不太强大的ECC引擎被用来实现等量的数据纠正。可替换地或附加地,可以获得增加的错误纠正能力并因此获得数据存储设备102的增加的使用寿命。
[0060] 参考图2,其描绘了执行温度范围调整的示例200。例如,第一图表202可以指示历史温度测量值230的分布,该分布与存储数据或从图1的存储器设备103获取的数据相关联。如图所说明的,与一组“较新”的(例如,更近期的)历史温度测量值232相比,历史温度测量值230可以被认为是“较旧”的一组历史温度测量值。基于较旧的历史温度测量值230,可以确定三个或更多个温度范围,诸如第一温度范围220、第二温度范围222和第三温度范围
224。
[0061] 例如,第一温度范围220可以对应于“正常”温度范围。第二温度范围222可以对应于“异常”温度范围,其温度超过了第一温度范围220的最高温度。第三温度范围224可以被认为是“异常”温度范围,其温度小于第一温度范围220的第一温度。
[0062] 第一温度范围220可以具有由第一阈值210指示的上边界。例如,第一阈值210可以对应于图1的第一阈值。还说明了第二阈值212,其可以对应于图1的第二阈值144。超过第一阈值210的温度可以被认为处于由第二温度范围220指示的“异常”温度范围内。第二温度范围220可以具有上边界216,超过该上边界216,数据存储设备102的可靠性可能受到危害。例如,当在上边界216和下边界218之间的温度下操作时,可以确定数据存储设备102的设计以满足基于性能的度量。第三阈值214可以指示第一温度范围220和第三温度范围224之间的边界。
[0063] 响应于范围调整250确定较新的历史温度测量值232的分布包括一部分测量值,范围调整器138可以调整阈值210-214中的一个或更多个。例如,如第二图204中描绘的,范围调整250可以导致第一阈值210增加到第一更新阈值260。第一更新阈值260可以被定位,使得较新的历史温度测量值232的一定百分比处于比第一更新阈值260更低的温度。例如,可以选择第一更新阈值260,使得较新的历史温度测量值232的百分之一、百分之二、百分之一点五、百分之十或任何其他部分超过第一更新阈值260。
[0064] 也可以调整第二更新阈值262。例如,应用于第一阈值210以生成第一更新阈值260的偏移量也可以被应用于第二阈值212以生成第二更新阈值262。可替换地,可以使用一个或更多个或其他技术来确定第二更新阈值262,例如通过基于新的历史测量数据232大于第二更新阈值262的比例来选择第二更新阈值262。
[0065] 增加第一更新阈值260可以减小第二温度范围222以形成第二更新温度范围272。第一温度范围220可以被更新以形成从第一更新阈值260跨越到第三更新阈值264的第一更新温度范围270。例如,如图所说明的,可以基于第一阈值210到更新的第一阈值260的偏移来偏移第一温度范围220。因此,第一更新阈值260与第三更新阈值264之间的温度差值可以等于第一阈值210与第三阈值214之间的温度差值。
[0066] 第三温度范围224可以被调整以形成更新的第三温度范围274。例如,下边界218可以保持未被调整,并且更新的第三温度范围274可以在下边界202和第三更新的阈值264之间跨越。
[0067] 由于温度对数据存储和获取的影响可以主要基于写入温度与读取温度之间的温度差值,所以通过基于历史温度测量值的近期历史来调整温度范围220-224,可以减少发生在一个或更多个异常温度范围内的数据写入和/或数据读取的比例,导致(与使用未被调整的温度范围220-224的操作相比)更高的性能和更低的错误率。
[0068] 图3描绘了可以在图1的数据存储设备102中使用的一个实施方式的示例300。经调整的读取电压可以由以下或基于以下生成:读取电压的默认值301与从偏移量表302获取的偏移量之和。例如,在偏移量表302中可以对应于图1的表格128。偏移量表302包括多个列,每列对应于相应的读取温度范围。偏移量表302还包括若干行,每行对应于相应的写入温度范围。
[0069] 在范围表304中描绘了可以用作读取温度范围和写入温度范围的温度范围的示例。例如,范围0可以从-25度(例如,摄氏度)的温度跨越到0度的温度。范围1可以对应于从1度到25度范围内的温度。范围2可以对应于26到50度之间的温度。范围3可以对应于从51度到75度的温度。范围4可以对应于从76度到100度的温度。
[0070] 如图所说明的,偏移量表302省略了对应于匹配温度范围和读取温度范围的条目的值。例如,与范围1中的读取温度和范围1中的写入温度相对应的偏移量表302的条目包括值“N/A”,这意味着该条目可以从表中省略、可以是空数据或者可以包括零值(例如,零偏移于默认值301)。偏移量表302的其他条目包括可以是负值或可以是正值的偏移值。当读取温度范围对应于比写入温度范围低的温度范围时,存储在表格条目中的偏移量可以具有负值,例如Offset_Neg_1。类似地,对于写入温度范围超过读取温度范围的表格条目,表格条目中的值可以为正值,如Offset_Pos_1。
[0071] 如所说明的,对于五个温度范围,可以使用总共四个负偏移值和四个正偏移值。因此,通过使用相对少量(与针对每个温度差值都包括不同的偏移值比较)的偏移数据,可以使用减少量的数据来针对读取温度范围内的差值进行调整。尽管偏移量表302被说明为具有表格格式,但是在其它实施方式中,Offset_Pos_1-4和Offset_Neg_1-4的值可以被存储在具有非表格格式的数据结构中,并且可以基于读取温度范围和写入温度范围之间的差值被选择性地访问。
[0072] 图4说明了响应于编程温度变化超过阈值量,控制器120已经关闭了部分写入开放块之后的图1的存储器设备103的示例400。例如,写入存储器设备103的数据可以跨越包括第一裸片402和第二裸片404的多个裸片而被条带化。第一裸片402可以包括第一平面410和第二平面412,并且第二裸片404可以包括第一平面414和第二平面416。平面410-416中的每一个可以包括多个串,示出为串0、串1、串2和串3。每个串可以对应于物理页面并且可以被调整大小以包括存储器104的足够数量的存储单元以存储数据扇区(诸如ECC编码字)。每个平面410-416被示出为包括具有24条字线的单个代表性块并且可以作为4块“元区块”由控制器来操作。尽管针对每个平面410-416示出了单个块,但应该理解的是,每个平面410-416可以具有任何数量的块。
[0073] 数据可以根据页写入的顺序被存储到存储器设备103,该页写入的顺序在相应平面410-416内被指示为页码。例如,数据的第一页(“页0”)可以被写入第一裸片402的第一平面410的串0。数据的第二页可以被写入第一裸片402的第二平面412的第一串。数据的第三页可以被写入第二裸片404的第一平面414的第一串,以及数据的第四页可以被写入第二裸片404的第二平面416的第一串。
[0074] 当从访问设备180接收到将要存储在存储器设备103处的数据时,控制器120可以监测温度并将温度变化与块变化阈值进行比较。例如,响应于在将数据写入块(例如包括数据存储页面327的第二裸片404的第二平面416所说明的块)之后检测到温度变化超过块变化阈值,控制器120可以经配置以关闭该块以防止对块的未使用部分(或当作为元区块操作时的多个块)的进一步写入操作。例如,每个块可以初始包括所有被擦除的字线,并且随着数据被接收,可以如图4所说明的写入字线,直到页327被写入存储器。在写入页327时,与页327相关联的温度测量可以超过与将页0写入存储器103相关联的温度测量,其中超过的值大于块变化阈值。响应于检测到写入页327和写入页0之间的温度变化已经超过块变化阈值,控制器120可以经配置以将虚拟数据写入标记为344-359的页以形成边界,该边界将每个块的最后写入的有效数据(如页328-343所说明),与在关闭块后保持不被写入的被擦除的字线隔离。
[0075] 通过将虚拟数据写入边界字线,在关闭块时可以保持增强的数据保存。通过当温度变化已经超过阈值时关闭块,可以使用一组共同读取参数来实现从块读取数据,而不必针对块的不同字线调整读取参数。因此,通过限制将数据写入块的写入温度范围,可以减小从块读取数据的参数调整范围。
[0076] 图5描绘了响应于块内的温度变化超过一定量而关闭一个或更多个块的另一示例。示例500与示例400的不同之处在于,在最后有效数据被写入存储器103之后,控制器130不在边界处写入虚拟数据。尽管由于写入较少的数据(即,省略了虚拟数据),根据示例500的关闭块可以比示例400更快地执行,但是通过虚拟数据的使用,可以在示例400中获得改进的数据保存和减少的错误率。
[0077] 图6描绘了可以在图1的数据存储设备102中实现的系统600的示例。例如,系统600包括图1的存储器设备103和控制器120。控制器120包括时间和温度组管理器602,其经配置以访问数据结构604,诸如将数据组的指示符与存储器访问参数相关联的表或阵列,所述存储器访问参数与数据组相关联。例如,标记为组“N”的一组数据620可以与第一访问参数集合630相关联,例如第一读取电压参数集合、第一写入电压参数集合、第一擦除参数集合或其组合。第二组指示符622被标记为组“N+1”并且与第二存储器访问参数集合632相关联。
[0078] 时间和温度组管理器602可以经配置以保持组指示指针604,该组指示指针604将将要用作存储数据的当前组指示到存储器设备103。例如,当组指示指针640指向组指示符N 620时,从访问设备180接收到的将要存储在存储器设备103中的数据可以与组N相关联,并且第一参数集合630可以用于在存储器设备103处的数据写入和数据获取。时间和温度组管理器602可以经配置以基于检测到一个或更多个事件来更新组指示指针640以指向下一个组。
[0079] 例如,一个组可以具有时间阈值606,其与时间测量(例如,当前时间)进行比较。响应于当前时间超过当前组时间阈值606,时间和温度组管理器602可以致使新组由新组生成器610来生成。可替代地或附加地,可以基于当前组温度阈值608来指示当前组的上和/或下温度范围。例如,当创建当前组时,可以获得存储器设备103的测量温度并且将其用于生成当前组温度阈值608。例如,当前组温度阈值608可以用于限制写入数据时发生的温度变化量。例如,当前组可以被限制到一个具体温度范围,诸如以该组的写入温度为中心的20度范围。
[0080] 为了说明,当创建新组时,可以测量存储器设备103的温度T_new。该组的上温度T_hi可以被计算为T_hi=T_new+10,并且该组的下温度T_lo可以被计算为T_lo=T_new+10。当前组温度阈值608可以包括多个元素(例如,向量),该多个元素包括T_lo和T_hi。在这种情况下,当测量到的温度大于T_hi时或当测量到的温度小于T_lo时,当前组温度阈值被“超过”。在其他实施方式中,当前组温度阈值608可以表示诸如10度的差值阈值,并且当测量到的温度T_meas和T_new之间的差值的绝对值(例如|Tmeas-Tnew|)大于差值阈值时,可以被“超过”。
[0081] 新组生成器610可以经配置以填入数据结构604中的下一组指示符和下一存储器访问参数集合。例如,当当前组是组N 620时并且当当前组时间阈值606或当前组温度阈值608被超过时,时间和温度组管理器602可以致使新组生成器610生成新的组指示符N+1 
622,并且确定与组N+1相关联的第二存储器访问参数632。
[0082] 在操作期间,组指示指针640可以指向第一组指示符620。在控制器120处接收的将要被写入存储器设备103的数据可以与时间数据和温度数据相关联。例如,可以接收与第一时间数据652和第一温度数据654相关联的第一数据650。例如,第一时间数据652可以对应于时序型时间、存储器访问或写入/擦除周期的计数、存储器健康度量、功率周期的计数或时间推移或存储器使用的某个其他指示符。第一温度数据654可以从存储器设备103的温度传感器(诸如图1的温度传感器112)接收。时间和温度组管理器602可以将第一时间数据652与当前组时间阈值606进行比较,并将第一温度数据654与当前组温度阈值608进行比较。响应于确定第一时间数据652不超过当前组时间阈值606并且第一温度数据654不超过当前组温度阈值608,时间和组温度管理器602可以将第一数据650与当前组N相关联,并且可以向存储器设备103提供第一访问存储器参数630,以用于第一数据650的存储。
[0083] 在存储第一数据650之后,控制器610可以接收与第二时间数据662和第二温度数据664相关联的第二数据660。尽管第二时间数据662可以不超过当前组时间阈值606,但是第二温度数据664可以超过当前组温度阈值608。
[0084] 响应于确定第二温度数据664超过当前组温度数据608,时间和温度组管理器602可以生成新的组N+1、可以生成第二组指示符662、可以确定第二存储器访问参数632以及可将第二存储器访问参数632提供给存储器设备103以将第二数据660存储到存储器设备103。附加地,时间和温度组管理器602可以更新组指示指针640以指向第二组指示662。
[0085] 可以用于决定是否打开新时间和温度标签(例如,用新组指示符创建新组)的另一种方法是每当新数据被编程(例如,新块)时,则块可以被读取,该读取具有与当前时间和温度标签相关联的读取参数。如果针对读取结果测量的BER不符合由时间和温度标签所指示的BER,则可以创建新的时间和温度组,并且当前块可以与新组相关联。例如,在数据存储设备处发生功率下降的情况下,且当存储器再次通电时,数据存储设备可能不知道已经过了多长时间。因此,控制器可以经配置以检查与上次时间和温度组/标签相关联的参数是否符合最近被编程的块。
[0086] 通过将与数据相关联的组限制在共同时间范围内并且也在共同温度范围内,可以保持与该组相关联的存储器访问参数的适用性。例如,存储器设备103所存储的数据特性的变化可以保持相对受限,使得通过使用该组的存储器访问参数,与该组相关联的存储器访问参数可以实现数据的可靠读取和写入。存储器访问参数的调整(诸如由于设备使用或者响应于数据存储设备的温度变化)可以通过调整与组相关联的存储器访问参数来执行,而不是通过调整用于存储器设备103的单独的数据访问的存储器访问参数来执行。这可以通过校准组的代表页上的参数来完成,而不是通过校准在组内的每页上的参数来完成,从而节省时间并降低维护复杂度。不同时间和温度组的参数的更新可以作为在后台中执行的维护操作来完成。可替换地,参数的更新可以由前台中的某个事件触发(例如,在主机读取期间观察到的高BER)。
[0087] 图7是图1的数据存储设备的另一个说明性示例的框图。图7说明了包括存储器设备103的数据存储设备700,该存储器设备103耦合到控制器120。存储器设备103和控制器120可以包括或对应于图1的存储器设备103和控制器120。
[0088] 控制器120可以包括ECC引擎170和基于温度的调整器122。控制器120可以经配置以从存储器设备103读取数据的多个编码字。例如,控制器120可以经配置以从存储器设备103读取第一编码字702、第二编码字704和第三编码字706。在其他实施方式中,可以从存储器设备103读取多于三个编码字或少于三个编码字。
[0089] 控制器120可以经配置以确定与读取数据的多个编码字相关联的错误率。例如,控制器120的ECC引擎170可以经配置以确定与读取第一编码字702相关联的第一错误率(例如,第一误码率(BER)、与读取第二编码字704相关联的第二错误率以及与读取第三编码字706相关联的第三错误率)。控制器120可以经配置以将所确定的错误率保持为错误率数据历史708,该错误率数据历史708包括多个错误率(例如,多个BER)。例如,控制器120的ECC引擎170可以经配置以保持错误率数据历史708(例如,在控制器存储器中),该错误率数据历史708包括第一错误率710(例如,BER 1)和第n错误率712(例如,BER n)。包括在错误率数据历史708中的错误率的数量n可以对应于在具体操作(或操作集合)期间从存储器设备103读取的编码字的数量。
[0090] 控制器120的基于温度的调整器122可以经配置以针对阈值数量的编码字,将错误率与阈值错误率进行比较。例如,基于温度的调整器122可以包括比较器718,比较器718经配置以将来自错误率数据历史708的一个或更多个错误率与错误率阈值714进行比较。在一个具体实施方式中,错误率阈值714小于ECC引擎170的阈值可纠正错误率。响应于针对一定数量的顺序编码字(该数量超过编码字的数量阈值716),确定错误率超过错误率阈值714,基于温度的调整器122可以启动温度补偿操作136。为了说明,编码字的数量阈值716可以是三,并且响应于检测到第一错误率710(对应于第一编码字702)、第二错误率(对应于第二编码字704)和第n错误率712(对应于第三编码字706)均超过错误率阈值714,则基于温度的调整器122可以启动温度补偿操作136。该温度补偿操作可以引起一个或更多个存储器访问参数(诸如图1的读取电压164)基于第一温度和第二温度之间的温度差值被修改,该第一温度与将多个编码字702-706写入存储器设备103相关联(例如,第一温度与第一时间段相关联,第一时间段包括将多个编码字702-706写入存储器104的写入操作),该第二温度与从存储器设备103读取多个编码字702-706相关联(例如,第二温度与第二时间段相关联,第二时间段包括从存储器104读取多个编码字702-706的读取操作)。
[0091] 在操作期间,控制器120可以从存储器设备103读取包括第一编码字702、第二编码字704和第三编码字706的多个编码字。控制器120(例如,ECC引擎170)可以检测与编码字702-706相关联的错误率。错误率可以被包括在错误率数据历史708中。控制器120(例如,基于温度的调整器122)可以将错误率数据历史708与错误率阈值714进行比较。响应于针对一定数量的顺序编码字(该数量超过编码字的数量阈值716)检测到错误率超过错误率阈值
714,控制器120可启动温度补偿操作136,该温度补偿操作136基于第一温度和第二温度之间的温度差值来修改一个或更多个存储器访问参数,该第一温度与将多个编码字702-706写入存储器设备103相关联,该第二温度与从存储器设备103读取多个编码字702-706相关联。
[0092] 图8是图1的数据存储设备的存储器设备的配置的具体示例的图。图8说明了包括存储器设备103的数据存储设备800。存储器设备103可以包括或对应于图1的存储器设备103。
[0093] 存储器设备103包括存储器裸片的堆叠820。堆栈820可以包括多个存储器裸片,诸如第一存储器裸片802、第二存储器裸片804、第i存储器裸片806和第n存储器裸片808。在其他实施方式中,堆叠820可以包括比n个更多或比n个更少的存储器裸片。在一个具体实施方式中,第一存储器裸片802是堆叠820的顶部裸片,第n存储器裸片808是堆叠820的底部存储器裸片,以及其他存储器裸片(诸如第二存储器裸片804和第i储器裸片806)是堆叠820的“中央”存储器裸片。如本文所使用,中央存储器裸片是指既不是堆叠820的顶部存储器裸片、也不是底部存储器裸片的存储器裸片,而是指诸如在堆叠中心的裸片,例如,在5个裸片堆叠中的裸片3或者在8个裸片堆叠中的裸片4和裸片5。
[0094] 堆叠820的每个存储器裸片可以包括对应的温度传感器。例如,第一存储器裸片802可以包括第一温度传感器812,第二存储器裸片804可以包括第二温度传感器814,第i存储器裸片806可以包括第i温度传感器816,并且第n存储器裸片808可以包括第n温度传感器
818。温度传感器812-818中的每个温度传感器可以经配置以生成对应存储器裸片的温度指示符。例如,第一温度传感器812可以经配置以生成第一存储器裸片802的第一温度的第一指示符832(T1),第二温度传感器814可以经配置以生成第二存储器裸片804的第二温度的第二指示符834(T2),第i温度传感器816可以经配置以生成第i存储器裸片806的第三温度的第三指示符836(T3),并且第n温度传感器818可以经配置以生成第n存储器裸片808的第四温度的第四指示符838(T4)。存储器设备103可以经配置以将指示符832-838提供给控制器以用于处理。
[0095] 控制器可以经配置以从存储器设备103接收多个指示符并且基于多个指示符来确定平均值。例如,控制器可以经配置以从第一温度传感器812接收第一温度的第一指示符832,并且从第i温度传感器816接收第三温度的第三指示符836。控制器可以经配置以确定第一温度和第三温度的平均温度840。以这种方式,可以基于非中心存储器裸片(例如,第一存储器裸片802)和中央存储器裸片(例如,第i存储器裸片806)的温度来确定平均温度。由于第一存储器裸片802是最冷的存储器裸片并且中央裸片(例如,第i存储器裸片806)是最热的存储器裸片,所以平均温度840可以是堆叠820中的存储器裸片的温度范围的代表。
[0096] 在一些实施方式中,平均温度840可以进一步基于其他存储器裸片的温度的指示(例如,第二指示834、第n指示838或两者)。作为非限制性示例,可以基于第一指示符832和第二指示符834、第n指示符838和第二指示符834、第n指示符838和第i指示符836或者指示符832-838中的两个或更多个的某个其他组合来确定平均温度840。平均温度840可以包括或对应于温度平均数、温度加权平均数、温度中位数、温度众数或中央准确性的另一统计测量。控制器可以进一步经配置以基于平均温度840确定与存储器访问相关联的温度范围。在其它实施方式中,存储器设备103可以经配置以执行控制器的上述动作。例如,存储器设备103可以确定平均温度840并基于平均温度840确定堆叠820的温度范围。
[0097] 在操作期间,堆叠820的存储器裸片的温度传感器可以生成对应存储器裸片的温度的指示。例如,第一温度传感器812可以生成第一存储器裸片802的第一温度的第一指示符832,第二温度传感器814可以生成第二存储器裸片804的第二温度的第二指示符834,第i温度传感器816可以生成第i存储器裸片806的第三温度的第三指示符836,并且第n温度传感器818可以生成第n存储器裸片808的第四温度的第四指示符838。控制器(例如,图1的控制器120)可以从存储器设备103接收指示符并且可以确定平均温度840。例如,控制器可以接收第一温度的第一指示符832和第三温度的第i指示符836,并且控制器可以确定第一和第三温度的平均温度840。基于平均温度840,控制器可以确定与存储器访问相关联的温度范围。在另一实施方式中,存储器设备103可以确定温度范围和平均温度840,并且存储器设备103可以将温度范围的指示发送到控制器。
[0098] 图9是更新数据的方法900的具体示例的流程图。方法900可以在包括控制器和非易失性存储器的数据存储设备处执行。例如,方法900可以由图1的数据存储设备102执行。
[0099] 方法900包括,在902处,响应于确定与将数据写入非易失性存储器相关联的第一测量温度超过第一阈值而将存储在非易失性存储器处的数据进行标记以用于更新。例如,图1的基于温度的调整器122可以确定写入温度108(例如,与将数据106写入存储器104相关联的第一测量温度)超过第一阈值142。在此示例中,响应于确定写入温度108超过第一阈值142,基于温度的调整器122可以通过存储更新标记110来标记数据106。可替换地或附加地,基于温度的调整器122可以将数据106的指示符(或标识符)存储在标记的数据列表126中。
[0100] 方法900包括,在904处,响应于确定与非易失性存储器相关联的第二测量温度低于第二阈值而更新标记的数据。例如,图1的基于温度的调整器122可以从温度传感器112接收测量温度140(例如,第二测量温度)。在该示例中,比较器132可以将测量温度140与第二阈值144进行比较。如果测量温度140的值低于第二阈值144的值,则基于温度的调整器122可以致使标记的数据被更新。为了说明,如果测量温度140的值低于第二阈值144的值,则控制器120可以访问标记的数据列表126以标识标记的数据。控制器120还可以启动数据更新操作,诸如通过发送命令160来致使数据106被更新。
[0101] 图10是基于温度的控制方法1000的具体示例的流程图。方法1000可以在包括控制器和非易失性存储器的数据存储设备处执行。例如,方法1000可以由图1的数据存储设备102执行。
[0102] 方法1000包括,在1002处,将数据写入非易失性存储器的块。举例来说,图1的数据106可以被写入存储器104的具体块。
[0103] 方法1000还包括,在1004处,响应于在将数据写入块之后检测到温度变化超过块变化阈值,关闭块。例如,基于温度的调整器122可以检测温度变化(例如,基于测量温度140和温度历史130)。比较器132可以确定温度变化是否超过阈值。响应于确定温度变化超过阈值,控制器120可以关闭块,诸如参照图4-图5的描述。关闭块可以防止对块的未使用部分进行写入操作。在一些实施方式中,控制器120可以在关闭块之前将虚拟数据写入块的字线。
[0104] 图11是基于温度的控制方法1100的另一个具体示例的流程图。方法1100可以在包括控制器和非易失性存储器的数据存储设备处执行。例如,方法1100可以由图1的数据存储设备102执行。
[0105] 方法1100包括,在1102处,将存储在非易失性存储器中的第一数据与第一组指示符相关联,并且,在1104处,将第一存储器访问参数值与第一组指示符相关联。例如,图6的时间和温度组管理器602可以将第一数据650与第一组620相关联。时间和温度组管理器602还可以将第一参数630与第一组620相关联。
[0106] 方法1100还包括,在1106处,响应于检测到温度变化超过与第一组指示符相关联的组温度阈值,将将要存储在非易失性存储器中的第二数据与第二组指示符相关联,以及,在1108处,将第二存储器访问参数与第二组指示符相关联。例如,图6的时间和温度组管理器602可以检测温度变化(例如,通过将第一温度数据654和第二温度数据664与第一组620的第一存储温度比较)。如果温度变化超过当前组温度阈值608,则时间和温度组管理器602可以生成新组(例如,第二组622)并且可以将第二数据660与第二组622相关联。时间和温度组管理器602还可以将第二参数632与第二组622相关联。
[0107] 在一个具体实施方式中,时间和温度组管理器602可以存储组指示符指针640,其可以指示将要与数据相关联的组指示符(例如,第一组620的指示符或第二组622的指示符),其中所述数据是将要写入非易失性存储器的数据(例如,从访问设备180接收到的数据)。在该具体实施方式中,响应于检测到温度变化,时间和温度组管理器602可以更新组指示符指针640以指示第二组622的指示符。
[0108] 图12是确定读取电压值的方法1200的另一个具体示例的流程图。方法1200可以在包括控制器和非易失性存储器的数据存储设备处执行。例如,方法1200可以由图1的数据存储设备102执行。
[0109] 方法1200可以包括,在1202处,基于将读取电压偏移值映射到写入温度和读取温度之间的差值的数据结构来确定读取电压偏移值。例如,数据结构可以包括表格128,并且基于温度的调整器122可以执行查找操作来读取表格128,以确定对应于具体温度差值(例如第一温度差值150)的读取电压偏移值(例如第一读取电压偏移值152)。
[0110] 在一个具体实施方式中,表格的每个条目可以根据写入温度范围和读取温度范围来访问。在该具体实施方式中,表格省略了对应于匹配写入温度范围和读取温度范围的条目的读取电压偏移值。例如,可以基于写入温度范围和读取温度范围从偏移量表302确定偏移值。此外,偏移量表302省略了对应于匹配写入温度范围和读取温度范围的表格条目的读取电压偏移值。
[0111] 方法1200还可以包括,在1204处,确定与从非易失性存储器读取数据相关联的读取电压的调整值。基于读取电压的默认值并且基于读取电压偏移值来确定调整值。例如,修整调整器136可以使用从表格128确定的读取电压偏移值和读取电压的默认值(例如,图3的默认值301)来确定读取电压的调整值。
[0112] 图13是基于温度的控制方法1300的另一个具体示例的流程图。方法1300可以在包括控制器和非易失性存储器的数据存储设备处执行。例如,方法1300可以由图1的数据存储设备102执行。
[0113] 方法1300包括,在1302处,从非易失性存储器读取数据的多个编码字。例如,如图7所说明的,控制器120可以从存储器设备103读取多个编码字,诸如第一编码字702、第二编码字704和第三编码字706。
[0114] 方法1300还包括,在1304处,响应于检测到针对阈值数量的编码字,错误率超过阈值错误率,而启动温度补偿操作,该温度补偿操作基于第一温度和第二温度之间的温度差值来修改一个或更多个存储器访问参数。例如,纠错编码(ECC)引擎180可以生成错误率数据历史708。在该示例中,基于温度的调整器122可以将错误率数据历史708与错误率阈值714、且与编码字的数量阈值716比较。在一个具体实施方式中,阈值错误率小于ECC引擎180的阈值可纠正错误率。响应于检测到对于阈值数量的编码字,错误率超过阈值错误率,基于温度的调整器122启动温度补偿操作136。温度补偿操作136可以引起一个或更多个存储器访问参数(诸如图1的读取电压164)基于第一温度和第二温度之间的温度差值被修改,该第一温度与将多个编码字写入非易失性存储器相关联,该第二温度与从非易失性存储器读取多个编码字相关联。
[0115] 图14是确定温度范围的方法1400的另一个具体示例的流程图。方法1400可以在包括控制器和非易失性存储器的数据存储设备处执行。例如,方法1400可以由图1的数据存储设备102执行。
[0116] 方法1400包括,在1402处,从非易失性存储器的第一裸片的第一温度传感器接收第一温度的第一指示符。例如,存储器设备103可以包括如图8中的存储器裸片的堆叠820。在该示例中,第一存储器裸片802可以包括第一温度传感器812,第一温度传感器812可以生成并发送第一指示832,该第一指示832指示第一存储器裸片802的温度。
[0117] 方法1400包括,在1404处,从非易失性存储器的第二裸片的第二温度传感器接收第二温度的第二指示符。例如,第二存储器裸片可以对应于包括第i温度传感器816的第i存储器裸片806。第i温度传感器816可以生成并发送第i指示836,该第i指示836指示第i存储器裸片806的温度。在该示例中,堆叠820还可以包括其他存储器裸片,其中的一个或更多个可以包括另一个温度传感器。为了说明,图8中的堆叠820包括堆叠在第一存储器裸片802与第i存储器裸片806之间的一个或更多个存储器裸片,其中的每一者可包括温度传感器。堆叠820包括一个或更多个其他裸片,例如第n存储器裸片808,其包括第n温度传感器818。因此,第一存储器裸片802和第i存储器裸片804可以表示堆叠820的不同部分。例如,在图8中,第一存储器裸片802是堆叠820的顶部裸片并且第i存储器裸片804是中央裸片(例如,既不是堆叠820的顶部存储器裸片、也不是底部存储器裸片的存储器裸片)。
[0118] 方法1400还包括,在1406处,基于第一温度和第二温度的平均值确定温度范围。例如,控制器120或存储器设备103可以基于第一温度的第一指示832并且基于第二温度的第i指示836来确定平均温度840。在一些实施方式中,平均温度840可以进一步基于其他存储器裸片的温度的指示(诸如第二指示834、第n指示838或两者)。平均温度840可以包括或对应于温度平均数、温度加权平均数、温度中位数、温度众数或集中趋势的另一统计测量。平均温度可以与存储器访问相关联,诸如指示在完成从存储器104读取数据或将数据写入存储器104之前、期间或之后的温度条件。
[0119] 尽管本文描述的控制器120和某些其他组件被说明为块组件并且用概括的术语描述,但是这些组件可以包括一个或更多个微处理器、状态机和/或经配置以使得数据存储设备102(或其一个或更多个组件)能够执行本文描述的操作的其他电路。本文描述的组件可以使用一个或更多个节点、一个或更多个总线(例如,数据总线和/或控制总线)、一个或更多个其他结构或其组合来在操作上彼此耦合。本文描述的一个或更多个组件可以包括一个或更多个物理组件,诸如硬件控制器、状态机、逻辑电路、一个或更多个其他结构或其组合,以使得数据存储设备102能够执行本文描述的一个或更多个操作。
[0120] 可替换地或附加地,数据存储设备102的一个或更多个方面可以使用微处理器或微控制器来实现,该微处理器或微控制器经编程(例如,通过执行指令)以执行本文描述的一个或更多个操作,诸如方法900-1400的一项或更多项操作。在一个具体实施例中,数据存储设备102包括执行从存储器设备103获取的指令(例如,固件)的处理器。可替换地或附加地,可以从与存储器设备103分开的存储器中获取由处理器执行的指令,诸如在存储器设备103外部的只读存储器(ROM)处。
[0121] 应当理解的是,本文描述的由控制器120执行的一个或更多个操作可以在存储器设备103处执行。如一个说明性示例,存储器内ECC操作(例如,编码操作和/或解码操作)可以,相对于在控制器120处执行这样的操作,而可替换地或者附加地在存储器设备103处被执行。
[0122] 为了进一步说明,数据存储设备102可以经配置以作为嵌入式存储器耦合到访问设备180,诸如,如一个说明性示例,与嵌入式多媒体卡 (弗吉尼亚(Virginia)的阿灵顿(Arlington)的JEDEC固态技术协会,的商标)配置相连。数据存储设备102可以对应于eMMC设备。如另一个示例,数据存储设备102可以对应于存储卡,诸如安全数字卡、 卡、miniSDTM卡(特拉华(Delaware)的威明顿(Wilmington)的SD-3C有限责任公司(SD-3CLLC),的商标)、MultiMediaCardTM(MMCTM)卡(弗吉尼亚(Virginia)的阿灵顿(Arlington)的JEDEC固态技术协会,的商标)或 (CF)卡(加利福尼亚州(California)的米尔皮塔斯(Milpitas)的SanDisk公司(SanDiskCorporation)的商标)。数据存储设备102可以按照JEDEC工业规范进行操作。例如,数据存储设备102可以按照JEDEC eMMC规范、JEDEC通用闪存(UFS)规范、一个或更多个其他规范或其组合来操作。
[0123] 存储器设备103可以包括三维(3D)存储器,诸如电阻式随机存取存储器(ReRAM)、闪存(例如,NAND存储器,NOR存储器,单级单元(SLC))闪存、多级单元(MLC)闪存、分位线NOR(DINOR)存储器、AND存储器、高电容耦合比(HiCR)设备、非对称非接触晶体管(ACT)设备或者另一种闪存)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、一次性可编程存储器(OTP)或者其组合。可替换地或附加地,存储器设备103可以包括另一种类型的存储器。在一个具体实施例中,数据存储设备102经由网络间接地耦合到访问设备(例如,访问设备180)。例如,数据存储设备102可以是数据中心存储系统、企业存储系统或者存储区域网络的网络附加存储(NAS)设备或者组件(例如,固态驱动器(SSD)设备)。存储器设备103可以包括半导体存储设备。
[0124] 半导体存储器设备包括诸如动态随机存取存储器(“DRAM”)或静态随机存取存储器(“SRAM”)设备的易失性存储器设备,诸如电阻式随机访问存储器(“ReRAM”)、磁性随机访问存储器(“MRAM”)、电可擦除可编程只读存储器(“EEPROM”)、闪存(其也可以被认为是EEPROM的子集)、电随机访问存储器(“FRAM”)和能够存储信息的其他半导体单元之类的非易失性存储器设备。每种类型的存储器设备可以有不同的配置。例如,闪存设备可以以NAND或NOR配置进行配置。
[0125] 存储器设备可以由无源和/或有源单元的任意组合形成。作为非限制性示例,无源半导体存储器单元包括ReRAM设备单元,其在一些实施例中包括诸如反熔丝、相变材料等的电阻率切换存储单元,以及可选地包括诸如二极管等的控制导引(steering)单元。进一步作为非限制性示例,有源半导体存储器单元包括EEPROM和快闪存储器设备单元,其在一些实施例中包括包含电荷区的单元,诸如浮栅、导电纳米颗粒或电荷存储介电材料。
[0126] 多个存储器单元可以经配置以使得它们串联连接或者使得每个单元是单独可访问的。作为非限制性示例,NAND配置(NAND存储器)中的闪存设备通常包含串联连接的存储器单元。NAND存储器阵列可以经配置以使得该阵列由多个存储器串组成,其中一个串由共享单个位线并作为组被访问的多个存储器单元组成。可替换地,存储器单元可以经配置以使得每个单元都是单独可访问的,例如,NOR存储器阵列。NAND和NOR存储器配置是示例性的,并且可以另外配置存储器单元。
[0127] 位于衬底内和/或上方的半导体存储器单元可以布置成二维或三维,诸如二维存储器结构或三维存储器结构。在二维存储器结构中,半导体存储器单元被布置在单个平面或单个存储器设备层中。通常地,在二维存储器结构中,存储器单元被布置在平面中(例如,在x-z方向平面中),该平面基本平行于支撑存储器单元的衬底的主表面而延伸。衬底可以是在其上或其中形成存储器单元层的晶片,或者可以是在存储器单元形成之后,附接到存储器单元的载体衬底。如一个非限制性示例,衬底可以包括诸如硅的半导体。
[0128] 存储器单元可以以有序阵列(例如多个行和/或列)布置在单个存储器设备层中。然而,存储器单元可以以非规则或非正交配置排列。存储器单元可以各自具有两个或更多个电极或接触线,例如位线和字线。
[0129] 三维存储器阵列被布置为使得存储器单元占据多个平面或多个存储器设备层,从而形成三维结构(即,在x、y和z方向上,其中在y方向基本上垂直并且在x和z方向上基本平行于衬底的主表面)。如一个非限制性示例,三维存储器结构可以作为多个二维存储器设备层的堆叠而垂直布置。如另一个非限制性示例,三维存储器阵列可以被布置为多个垂直列(例如,基本垂直于衬底的主表面而延伸的列,即,在y方向上),其中每个列具有在每个列中的多个存储器单元。列可以被布置为二维配置(例如,在x-z平面中),导致存储器单元的三维布置,该三维布置在多个垂直堆叠的存储器平面上具有单元。三维存储器单元的其他配置也能够构成三维存储器阵列。
[0130] 作为非限制性示例,在三维NAND存储器阵列中,存储器单元可以耦合在一起以在单个平(例如,x-z)存储器设备层内形成NAND串。可替换地,存储器单元可以耦合在一起以形成横跨多个水平存储器设备层的垂直NAND串。可以设想其他三维配置,其中一些NAND串包含在单个存储器层中的存储器单元,而其他串包含跨越多个存储器层的存储器单元。三维存储器阵列也可以设计成NOR配置和ReRAM配置。
[0131] 通常,在单片三维存储器阵列中,一个或更多个存储器设备层形成在单个衬底上方。可选地,单片三维存储器阵列还可以具有至少部分地位于单个衬底中的一个或更多个存储器层。如一个非限制性示例,衬底可以包括诸如硅的半导体。在一种单片三维阵列中,构成阵列的每个存储器设备层的层通常形成在阵列的存储器设备层的下层上。然而,单片三维存储器阵列的相邻存储器设备层的层可以是共享的或具有在存储器设备层之间的中间层
[0132] 可替换地,可以单独形成二维阵列,然后将其封装在一起以形成具有多层存储器的非单片存储器设备。例如,可以通过在单独的衬底上形成存储器层,然后将存储器层堆叠在彼此之上来构建非单片堆叠存储器。在堆叠之前,衬底可以被薄化或从存储器设备层移除,但是由于存储器设备层最初形成在单独的衬底上,所以得到的存储器阵列不是单片三维存储器阵列。此外,多个二维存储器阵列或三维存储器阵列(单片或非单片)可以形成在单独的芯片上,然后封装在一起以形成堆叠芯片存储器设备。
[0133] 相关联电路通常需要用于存储器单元的操作以及需要用于与存储器单元的通信。如非限制性示例,存储器设备可以具有用于控制和驱动存储器单元以实现诸如编程和读取功能的电路。该相关联的电路可以与存储器单元位于相同的衬底上和/或位于单独的衬底上。例如,用于存储器读取-写入操作的控制器可以位于单独的控制器芯片上和/或位于与存储器单元相同的衬底上。
[0134] 本领域的技术人员将认识到,本公开不限于所描述的二维和三维示例性结构,而是覆盖了在本文描述的公开的精神和范围内的,并且本领域技术人员理解的所有相关存储器结构。本文描述的实施例的说明意在提供对各种实施例的总体理解。其他实施例可以被利用并从本公开导出,使得可以在不脱离本公开的范围的情况下,进行结构和逻辑替换和改变。本公开意在覆盖各种实施例的任意和全部后续的修改或变化。本领域技术人员将认识到,这样的修改在本公开的范围内。
[0135] 以上公开的主题应被认为是说明性的而非限制性的,并且所附权利要求意在覆盖落入本公开的范围内的所有这样的修改、提高和其他实施例。因此,在法律允许的最大范围内,本公开的范围将由随附权利要求及其等同物的最宽可允许的解释来确定,并且不应受前述详细描述约束或限制。
相关专利内容
标题 发布/更新时间 阅读量
温度控制仪壳体 2020-05-11 780
温度传感器结构 2020-05-11 629
用于制造温度传感器的方法 2020-05-13 659
温度探针 2020-05-12 476
温度表架 2020-05-12 814
温度监视 2020-05-13 765
一种新型温度控制仪 2020-05-11 641
金属表面温度计 2020-05-11 369
气象温度计 2020-05-11 832
温度熔断器 2020-05-11 69
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈