存储控制器和包括该存储控制器的存储系统的制作方法

文档序号:30584011发布日期:2022-06-29 15:03阅读:86来源:国知局
存储控制器和包括该存储控制器的存储系统的制作方法

1.本发明构思的各种示例实施例涉及存储设备、存储系统和/或操作存储设备的方法。


背景技术:

2.闪存设备通过改变存储器单元的电压阈值来存储数据并使用期望的和/或预定的读取电平电压来读取数据。近来,包括闪存的存储设备得到广泛使用,例如固态驱动器(ssd)和存储卡。这是因为闪存设备是具有诸如低功耗和高集成度的特性的非易失性存储器设备。
3.在闪存设备中,为了存储从主机发送的写入数据,根据写入数据的特性将写入数据存储在单级单元区域的存储器块或多级单元区域的存储器块中。


技术实现要素:

4.本发明构思的各种示例实施例的各方面提供了一种能够确保数据可靠性并具有改善的操作速度的存储设备、包括该存储设备的系统和/或其操作方法。
5.本发明构思的各种示例实施例的各方面提供了一种根据存储器设备的特性动态地调整数据读取速度的存储设备、包括该存储设备的系统和/或其操作方法。
6.本发明构思的至少一个示例实施例提供了一种存储系统,包括:存储器设备,该存储器设备包括第一区域和不同于第一区域的第二区域,该第一区域包括单级单元;以及存储控制器,被配置为以多个档位中的第一档位从第一区域读取数据,确定读取数据的错误级别和存储器设备的状态,并且基于所确定的读取数据的错误级别和所确定的存储器设备的状态将第一档位改变为所述多个档位中的第二档位。
7.本发明构思的至少一个示例实施例提供了一种存储控制器的操作方法,包括:使用多个档位中的第一档位从存储器设备读取数据,确定读取数据的错误级别和存储器设备的状态,以及基于所确定的读取数据的错误级别和存储器设备的状态将存储器设备的读取速度动态地设置为多个档位中的第二档位。
8.本发明构思的至少一个示例实施例提供了一种存储系统,包括:存储器设备,存储数据;以及存储控制器,包括纠错码(ecc)引擎和读取控制器,ecc引擎被配置为检测从存储器设备读取的数据中包括的错误级别,并且读取控制器被配置为确定存储器设备的状态,并基于由ecc引擎检测到的错误级别和所确定的存储器设备的状态,将存储器设备的读取速度动态地设置为多个档位中的第一档位。
9.应当注意,本发明构思的示例实施例的目的不限于此,并且从以下描述中,本发明构思的示例实施例的其他目的对于本领域技术人员将是显然的。
附图说明
10.通过参照附图详细描述本发明构思的示例实施例,本发明构思的示例实施例的以
上和其他方面和特征将变得更清楚。
11.图1是示意性地示出了根据一些示例实施例的存储系统的示意性框图。
12.图2是示出了根据一些示例实施例的图1的存储控制器的框图。
13.图3是示出了根据一些示例实施例的图1的存储器设备的框图。
14.图4示出了根据一些示例实施例的用于设置档位的多个条件的映射表。
15.图5和图6是示出了根据一些示例实施例的存储系统的操作方法的概念图。
16.图7是示出了根据一些示例实施例的存储系统的操作方法的图。
17.图8是根据本发明构思的至少一个示例实施例的存储器系统的框图。
18.图9是根据一些示例实施例的图1的存储器设备220的示例的框图。
19.图10是根据一些示例实施例的用于描述适用于图1的存储器设备220的3d v-nand结构的图。
20.图11是示出了根据一些示例实施例的应用了图1的存储设备200的系统的图。
具体实施方式
21.在下文中,将参照附图描述本发明构思的各种示例实施例。
22.图1是示意性地示出了根据一些示例实施例的存储系统的示意性框图。图2是示出了根据一些示例实施例的图1的存储控制器的框图。图3是示出了根据一些示例实施例的图1的存储器设备的框图。
23.参照图1,主机-存储系统10可以包括至少一个主机100和/或至少一个存储设备200等,但示例实施例不限于此,并且例如,系统10可以包括更多或更少数量的组成元件,例如多个主机和/或多个存储设备等。存储设备200可以包括至少一个存储控制器210和/或至少一个存储器设备220等,但示例实施例不限于此。根据至少一个示例实施例,存储器设备220可以是非易失性存储器(nvm),但示例实施例不限于此。根据本发明构思的至少一个示例实施例,主机100(例如,外部主机、外部主机设备等)可以包括至少一个主机控制器110和/或主机存储器120等。主机存储器120可以用作用于临时存储要被发送到存储设备200的数据和/或从存储设备200发送的数据的缓冲存储器,但不限于此。
24.存储设备200可以包括用于根据来自主机100的请求存储数据的存储介质。例如,存储设备200可以包括固态驱动器(ssd)、磁盘驱动器、嵌入式存储器和/或可移动外部存储器等中的至少一种。当存储设备200为ssd时,存储设备200可以是符合非易失性存储器快速(nvme)标准的设备,但示例实施例不限于此。当存储设备200为嵌入式存储器和/或外部存储器时,存储设备200可以是符合通用闪存(ufs)和/或嵌入式多媒体卡(emmc)标准的设备,但不限于此。主机100和存储设备200各自能够根据所采用的标准协议产生和/或发送分组(例如,数据分组等)。
25.当存储设备200的存储器设备220包括闪存时,闪存可以包括二维(2d)nand存储器阵列和/或三维(3d)(或竖直nand(vnand))存储器阵列,但示例实施例不限于此。作为另一示例,存储设备200可以包括其他各种类型的非易失性存储器。例如,磁性随机存取存储器(mram)、自旋转移扭矩mram、导电桥接ram(cbram)、铁电ram(feram)、相位ram(pram)、电阻ram(rram)和/或各种其他类型的存储器可以用作存储设备200,但示例实施例不限于此。
26.根据至少一个示例实施例,主机控制器110和主机存储器120可以被体现为单独的
半导体芯片,但不限于此。此外,在一些示例实施例中,主机控制器110和主机存储器120可以集成在同一半导体芯片等上。例如,主机控制器110可以是应用处理器等中包括的多个模块中的一个,并且应用处理器可以被体现为片上系统(soc)等。主机存储器120可以是在应用处理器中设置的嵌入式存储器、和/或在应用处理器外部(例如,外面)的非易失性存储器和/或存储器模块等。
27.主机控制器110可以管理将主机存储器120的数据(例如,写入数据)存储在存储器设备220中和/或将存储器设备220的数据(例如,读取数据)存储在主机存储器120中的操作,但是不限于此,并且例如可以执行其他数据操作(例如,擦除操作、耗损均衡操作、垃圾收集操作等)。
28.存储控制器210可以包括主机接口211、存储器接口212和/或控制单元213(例如,控制器、控制电路、处理电路)等,但示例实施例不限于此。存储控制器210还可以包括闪存转换层(ftl)214、分组管理器215、缓冲存储器216、纠错码(ecc)引擎217、高级加密标准(aes)引擎218和/或读取控制器300等,但不限于此,并且例如,可以使用不同类型的数据加密引擎。存储控制器210还可以包括加载有ftl 214的工作存储器(未示出),并且控制单元213可以执行ftl 214以控制针对存储器设备220的数据写入操作和/或数据读取操作等。
29.主机接口211可以向主机100发送至少一个分组(例如,数据分组等)和/或从主机100接收至少一个分组。从主机100发送到主机接口211的分组可以包括要写入存储器设备220的命令和/或数据,而从主机接口211发送到主机100的分组可以包括对命令的响应和/或从存储器设备220读取的数据,但不限于此。存储器接口212可以将要写入存储器设备220的数据发送到存储器设备220,和/或可以接收从存储器设备220读取的数据。存储器接口212可以被实现为符合标准约定,例如toggle和/或onfi等。
30.ftl 214可以执行各种功能,例如地址映射、耗损均衡和/或垃圾收集等。地址映射是将从主机100接收的逻辑地址转换为物理地址以用于在存储器设备220中实际(例如,物理地)存储数据的操作。耗损均衡是允许均匀地使用存储器设备220中包括的块的技术,从而减少和/或防止至少一个存储器块的过度劣化,并且可以例如通过用于平衡物理块的擦除计数的固件技术来实现,但不限于此。垃圾收集是通过将块的有效数据复制到新块并擦除该块,来确保存储器设备220中的可用容量的技术,但不限于此。
31.分组管理器215可以根据和/或基于与主机100协商的接口的通信协议产生分组,和/或从自主机100接收的分组解析各种类型的信息。缓冲存储器216可以临时存储要写入到存储器设备220的数据和/或从存储器设备220读取的数据等。缓冲存储器216可以设置在存储控制器210中,但是也可以位于存储控制器210的外部和/或外面,但示例实施例不限于此。
32.ecc引擎217可以对从存储器设备220读取的读取数据执行错误检测和/或纠正功能,但不限于此。更具体地,ecc引擎217可以针对要写入存储器设备220的写入数据生成奇偶校验位,并且可以将生成的奇偶校验位与写入数据一起存储在存储器设备220中。当从存储器设备220读取数据时,ecc引擎217可以使用与读取数据一起从存储器设备220读取的奇偶校验位来纠正读取数据中的错误,并且输出经错误纠正的读取数据,但示例实施例不限于此,并且例如,ecc引擎217可以输出奇偶校验位数据而不纠正读取数据等。读取控制器300可以从ecc引擎217获得关于是否检测到错误和/或错误级别的信息等。
33.aes引擎218(和/或加密引擎)可以使用例如对称密钥算法对输入到存储控制器210的数据执行加密操作和/或解密操作中的至少一个,但示例实施例不限于此。例如,在至少一个其他示例实施例中,加密引擎可以使用非对称密钥算法等。
34.当从存储器设备220读取数据时,读取控制器300可以根据和/或基于存储器设备220的操作特性来设置档位(gear level),该档位是读取速度。
35.根据一些示例实施例,存储器设备220的操作特性可以包括数据保留期、存储器设备220的温度、耐久周期、数据读取强度、独特的芯片特性等中的至少一个和/或上述项的任何组合。
36.读取控制器300可以以当前设置的第一档位从存储器设备220读取数据,识别读取数据中的错误和存储器设备220的状态,将检查的结果与多个期望和/或预设的条件进行比较,以及/或者确定是否维持第一档位或将第一档位改变为第二档位等,但示例实施例不限于此。根据至少一个示例实施例,当识别的错误和存储器设备220的状态满足第一档位的期望和/或预设的条件时,读取控制器300可以维持第一档位,而当识别的错误和存储器设备220的状态不满足第一档位的期望和/或预设的条件时,通过选择与识别的错误和存储器设备220的状态对应的不同档位(例如,第二档位等)将第一档位改变为第二档位,但示例实施例不限于此。根据一些示例实施例,多个期望和/或预设的条件可以是针对读取数据中的错误级别和存储器设备220的状态具体设置的条件。例如,多个期望和/或预设的条件可以包括针对以下项中的至少一个逐步不同地设置的值:错误阈值;读取数据中的错误是否可纠正;数据保留期;存储器设备220的温度;耐久周期;数据读取强度;独特的芯片特性等。
37.根据一些示例实施例,读取控制器300可以包括映射表,该映射表包括与多个档位对应的多个期望和/或预设的条件,其中可以使用多个期望和/或预设的条件中的至少一个来确定档位等。
38.温度传感器219可以感测和/或测量存储器设备220的工作温度等。例如,温度传感器219可以感测存储器单元的工作温度的变化。在一些示例实施例中,存储控制器210可以不包括温度传感器219和/或温度传感器219可以被实现为存储器设备220的一部分等。读取控制器300可以从温度传感器219获得存储器设备220的温度信息,但不限于此。
39.参照图3,根据至少一个示例实施例,存储器设备220可以包括根据和/或基于单元级别而分类的多个区域即第一区域401和第二区域402,但示例实施例不限于此,并且例如,存储器设备220可以包括更多或更少数量的区域等。第一区域401和第二区域402可以包括多个存储器块和/或可以被不同地管理,但不限于此。根据一些示例实施例,例如,第一区域401可以通过单级单元(slc)方法管理,而第二区域402可以通过多级单元(mlc)方法管理等。此外,第一区域401和/或第二区域402可以通过三级单元(tlc)方法和/或四级单元(qlc)方法等管理。
40.例如,slc、mlc和tlc可以根据一个存储器单元中可以存储的数据量进行分类。slc可以每单元仅存储1位,mlc可以每单元存储2位,tlc可以每单元存储3位,等等。尽管未示出,qlc可以每单元存储4位。要被存储的数据的量从slc到qlc依次增加,但数据访问速度从slc到qlc逐渐减小并且单元寿命从slc到qlc依次减少。
41.因此,一些写入数据(例如,元数据等)可以被编程在第一区域401(例如,slc区域)中,而除了元数据之外的其余写入数据可以被编程在第二区域402中。
42.例如,在第一区域401中执行写入和/或读取操作的速度高于在第二区域402中执行写入和/或读取操作的速度,但不限于此。根据主机100的模式频繁更改和/或频繁访问的数据可以存储在第一区域401中,而不频繁更改和/或不频繁访问(例如,不太频繁更改和/或较少访问)的数据可以存储在第二区域402中,但不限于此。例如,数据访问模式可以与期望阈值访问模式(例如,访问速率等)进行比较,并且超过期望阈值访问模式的数据可以存储在第一区域401中,而满足和/或低于期望阈值访问模式的数据可以存储在第二区域402中等,但示例实施例不限于此。
43.即使存储器设备220的寿命取决于其用途而变化,存储器设备220也可以仅以恒定速度(例如,仅以固定档位)从第一区域401和/或第二区域402读取数据以实现数据可靠性,但示例实施例不限于此。考虑到在存储器设备220的可靠性方面的最差预期条件,固定档位可以被设置为满足存储器设备220的可靠性和/或寿命条件的稳定标准,但不限于此。
44.然而,在存储器设备220的使用过程中,用户可能很难和/或很少经历读取数据失败的情况和/或不能纠正错误的情况等。即使用户经历了这种情况,用户也可能是在存储器设备220的寿命快要结束时经历这种情况。因此,当存储控制器210通过降低对数据可靠性的要求并根据存储器设备220的当前操作特性动态地改变档位来允许读取数据时,可以通过在增加和/或保证存储器设备220的可靠性的同时以更高的速度执行数据读取来改善存储没备200(例如,存储系统、存储器设备系统等)的性能。这将在下文中参照图6和图7更详细地进行描述。
45.图4示出了根据一些示例实施例的用于设置档位的多个条件的映射表。
46.参照图4,存储控制器可以包括用于在满足多个档位中的每一个的期望和/或预定条件时设置相应档位的信息。例如,该信息可以以映射表的形式被存储,但示例实施例不限于此。
47.根据一些示例实施例,在映射表中,多个档位被映射到多个条件(例如,存储设备条件、特性等)。根据一些示例实施例,映射表可以存储在上面参照图1和图2描述的读取控制器300中,但不限于此。根据一些示例实施例,映射表可以存储在存储控制器210中包括的非易失性存储器(未示出)中并被读取控制器300访问,但示例实施例不限于此。
48.根据一些示例实施例,档位可以包括在与存储器设备220的最差条件对应的最低速度(例如,最低档位)和与存储器设备220的最佳条件对应的最高速度(例如,最高档位)之间的多个档位。即,映射表可以包括多个档位,该多个档位包括与存储器设备220的操作特性对应的期望和/或预设的最小档位(例如,最低档位、第一档位等)、至少一个期望和/或预设的中间档位(例如,第二档位等)以及期望和/或预设的最大档位(例如,最高档位、第三档位等),但示例实施例不限于此。
49.例如,级别#1可以表示当考虑到存储器设备220可以工作的最差条件时可靠性和稳定性都得到改善和/或保证的最低速度档位。例如,级别#5可以表示当考虑到存储器设备220可以工作的最佳条件时数据可靠性和完整性都得到改善和/或保证的最高速度档位。
50.级别#2、级别#3和级别#4可以表示按照级别#1到级别#5的顺序逐渐增加的中间档位,但示例实施例不限于此。根据至少一个示例实施例,级别#1到级别#5可以表示线性增加的档位。即,级别#1和级别#2之间的速度差可以与级别#2和级别#3之间的速度差相同。根据至少一个示例实施例,级别#1到级别#5可以表示非线性增加的档位。即,例如,
级别#1和级别#2之间的速度差可以与级别#2和级别#3之间的速度差不同,等等。
51.数据读取时间trc可以根据选择和/或确定的档位而变化。根据至少一个示例实施例,数据读取时间trc可以指从存储器单元阵列被激活的时间点开始直到从单元读取了数据并且数据到达页缓冲器单元440的时间段,但示例实施例不限于此。即,数据读取时间trc可以指在从存储器接口接收到读取命令read_cmd和地址addr之后直到从存储器单元阵列读取了数据并且数据到达页缓冲器单元440的时间段,但不限于此。
52.例如,级别#2的数据读取时间可小于级别#1的数据读取时间(tfast_level2<tfast_level_1)等。作为另一示例,级别#3的数据读取时间可小于级别#2的数据读取时间(tfast_level_3<tfast_level_2)等。
53.每个档位可以根据基于存储器设备220的操作特性的预测条件而变化。根据一些示例实施例,预测条件可以是预测约束,该预测约束包括数据保留期、存储器设备220的温度、耐久周期、数据读取强度、独特的芯片特性中的至少一个、或其任何组合,但不限于此。约束可以是根据至少一个示例实施例由用户设置和/或任意设置的预测条件,以及/或者可以是根据另一示例实施例通过基于存储器设备220的操作条件、使用模式和数据可靠性执行学习(例如,机器学习、神经网络学习等)而设置的训练条件。也就是说,映射表可以是通过基于存储器设备220的操作条件、使用模式和/或读取数据的可靠性等执行学习(例如,机器学习、神经网络学习等)而设置的表。根据至少一个示例实施例,读取控制器300可以通过执行对存储器设备220的操作条件的学习来设置映射表,但示例实施例不限于此,并且例如,存储控制器210和/或主机控制器110等可以设置映射表等。
54.根据一些示例实施例,预测条件可以是用于将当前档位改变到不同档位的触发条件。此外,根据一些示例实施例,预测条件可以是用于维持每个档位的期望值和/或最小值的维持条件。
55.在上文示例中,在档位级别#5,预测条件在期望条件和/或非错误条件(即,其中没有发生错误和/或错误数量低于期望的错误阈值的维持条件)下有效。换言之,当读取数据的读取错误值小于可纠正错误值(例如,期望的错误阈值)时,即,当错误率等于或低于纠错电路(例如,ecc217)的可纠正错误率时(例如,当错误率几乎为零时等),存储器设备220可以连续地在为最高速度的级别#5下工作。在这种情况下,可以根据一些示例实施例以各种方式设置可纠正错误的级别。例如,当假设可纠正错误的数量为1位时,存储器设备220可以仅当读取数据中的错误数量为0时才在级别#5下工作,但不限于此。作为另一示例,当假设可纠正错误的数量为2位时,存储器设备220可以仅当读取数据中的错误数量为0或1时才在级别#5下工作,但不限于此。即,是否频繁地改变档位可以根据错误阈值而变化。
56.此外,预测条件#1可以是根据至少一个示例实施例用于将档位从级别#4改变为级别#3的条件,以及/或者可以是根据至少一个其他示例实施例用于维持其中档位级别#4得以维持的范围的条件(例如,维持条件)。类似地,根据各种示例实施例,预测条件#2和#3可以被设置为改变条件和/或维持条件,但示例实施例不限于此。
57.然而,预测条件(例如,预测条件#4)可以定义由于存储器设备220的最差操作条件而导致的多个不良存储器单元状态,例如,当在数据保留期中发生错误时、当存储器设备的温度等于和/或大于期望和/或最大阈值温度时、当耐久周期几乎结束时等,但不限于此。当存储器设备220的当前状态与多个不良存储器单元状态之一对应时,例如,可以设置档位
级别#1和/或可以设置比当前档位低的档位。
58.图5和图6是示出了根据一些示例实施例的存储系统的操作方法的概念图。还将参照图4。
59.参照图5,根据一些示例实施例,读取控制器300可以通过在存储器设备220的生命周期中将初始档位设置为级别#5来读取数据。
60.根据一些示例实施例,在时间点t2以级别#5读取数据,并且读取控制器300可以通过基于在以级别#5读取的数据中确定的错误级别等将档位设置为级别#4(较低级别)来再次读取数据。例如,如上面参照图4所述,当读取数据的错误的级别大于可纠正错误的级别时,读取控制器300可以将级别#5改变为级别#4(比为最高速度的级别#5小一级),但示例实施例不限于此。
61.当从存储器设备220以档位级别#4读取数据成功时可以维持级别#4,而当读取数据失败时(t3)可以将级别#4改变为级别#3(较低级别),但示例实施例不限于此。在这种情况下,可以基于上面参照图4描述的预测条件来确定数据读取是否失败。
62.此外,根据一些示例实施例,当在时间点t2以级别#5读取的数据中的错误级别超过期望和/或预设的错误率时,读取控制器300可以从图4的映射表中选择与存储器设备220的当前操作特性匹配的预测条件,并设置映射到所选预测条件和/或对应于所选预测条件的档位。例如,为级别#5的当前档位可以不改变为级别#4,而是可以改变为与多个预测条件中的匹配当前操作特性的条件对应的不同档位(例如,级别#3等)。
63.可以执行档位改变,直到设置的当前档位达到级别#1,这是存储器设备220的最低和/或最小档位。
64.同时,参照图6,根据一些示例实施例,当前档位可以改变为根据存储器设备220的当前操作特性设置的比当前档位具有更高速度的档位。
65.例如,在时间点t2,读取控制器300可以根据和/或基于存储器设备220的当前操作状态将当前档位从级别#5改变为级别#3,但是在时间点t3,存储器设备220的操作特性似乎被恢复(例如,读取数据中的错误级别小于期望和/或预设阈值和/或工作温度在一定时间段内较低的情况;即使当存储器设备220在级别#3工作时,在期望和/或预设时间段内也无错误地读取数据的情况等)。
66.在这种情况下,可以根据和/或基于操作特性恢复条件(例如,存储器设备220的新的和/或当前操作特性)在时间点t3将当前档位从级别#3改变为级别#4。操作特性恢复条件可以是如图4所示的映射表中定义的条件,和/或可以是根据一些示例实施例由用户设置和/或任意设置的条件,和/或可以是根据一些示例实施例基于学习数据(例如,机器学习、神经网络学习等)设置的条件,但不限于此。
67.图7是示出了根据一些示例实施例的存储系统的操作方法的图。
68.参照图7,首先,读取控制器300可以设置档位(例如,当前档位、期望档位和/或所选档位)(s10)并且将命令和/或指令发送到存储器设备220以将档位设置在所设置的档位(s20)。然后,读取控制器300可以向存储器设备220发送读取命令以在所设置的档位读取数据(s11)。存储器设备220根据读取命令以所设置的档位读取数据(s21),并且读取控制器300可以检查和/或确定读取数据是否包含错误,以及/或者检查和/或确定存储器设备220的当前操作状态、条件和/或特性中是否存在错误(s12)。
69.然后,响应于错误检查和/或存储器设备条件检查的结果,读取控制器300可以检查多个预测条件中与识别的错误的级别和存储器设备220的状态对应的条件,并且可以选择匹配所检查的条件的档位作为要从存储器设备220读取数据的速度(s13)。根据一些示例实施例,预测条件可以是预测约束,该预测约束包括数据保留期、存储器设备220的温度、耐久周期、数据读取强度和/或独特的芯片特性等中的至少一个,但不限于此。约束可以是根据至少一个示例实施例由用户设置和/或任意设置的预测条件,以及/或者可以是根据另一示例实施例通过基于存储器设备220的操作条件、使用模式和/或数据可靠性等执行学习(例如,机器学习、神经网络学习等)而设置的训练条件,但不限于此。
70.根据一些示例实施例,当存储器设备220不匹配多个最差情况条件(例如,图4的预测条件#4等)中的任何一个时,存储器设备220可以在级别#5至级别#2的档位工作,但示例实施例不限于此。例如,在操作s11中,读取控制器300可以在存储器设备220的生命周期中的早期阶段基于存储器设备220的状态来设置级别#5(最高速度),但示例实施例不限于此。
71.作为另一示例,当发生错误和/或读取控制器300检测到错误时,读取控制器300可以识别错误的级别(例如,包含错误和/或需要纠正的位数)和/或存储器设备220的当前状态(例如,nvm状态等)(s12),并选择与错误和/或存储器设备220的状态对应的条件。在这种情况下,所选条件可以基于图4的映射表与例如级别#4至级别#1等的档位中的一个对应,但示例实施例不限于此。在这种情况下,根据至少一个示例实施例,所选档位可以是如上文参照图5或图6所描述的逐渐降低的档位,但不限于此。在另一示例实施例中,所选档位可以是降低至少两级的档位,但不限于此。在另一个示例实施例中,所选档位可以是高于当前所设置档位的档位等。
72.当所选档位是最低和/或最小速度(例如,级别#1)时(s14),读取控制器300可以在级别#1的档位下连续执行读取操作(s15)。然而,当所选档位不是级别#1(多个期望和/或预设档位中的最低和/或最小速度)时(s14),再次选择另一个档位(s10),并且可以再次执行操作s10至s14、s20和s21。
73.图8是根据本发明构思的至少一个示例实施例的存储器系统的框图。根据至少一个示例实施例,图8的存储器系统可以与图1的存储设备200对应,但示例实施例不限于此。参照图8,存储器系统200(例如,存储设备、存储设备系统等)可以包括存储器设备220和/或存储控制器210等,但不限于此。存储器系统200可以支持多个通道ch1至chm,并且存储器设备220和存储控制器210可以通过多个通道ch1至chm连接,但示例实施例不限于此。例如,存储器系统200可以体现为诸如固态驱动器(ssd)等的存储设备。
74.存储器设备220可以包括多个非易失性存储器设备nvm11至nvmmn。非易失性存储器设备nvm11至nvmmn中的每一个可以通过相应的路径连接到多个通道ch1至chm之一,但不限于此。例如,非易失性存储器设备nvm11至nvm1n可以通过路径w11至w1n连接到第一通道ch1,并且非易失性存储器设备nvm21至nvm2n可以通过路径w21至w2n连接到第二通道ch2,等等。在至少一个示例实施例中,非易失性存储器设备nvm11至nvmmn中的每一个可以体现为能够根据来自存储控制器210的单独命令进行操作的存储器单元,但示例实施例不限于此。例如,非易失性存储器设备nvm11至nvmmn中的每一个可以体现为芯片或管芯,但本发明构思的示例实施例不限于此。
75.存储控制器210可以通过多个通道ch1至chm向存储器设备220发送信号和/或从存储器设备220接收信号。例如,存储控制器210可以通过通道ch1至chm,将一个或多个命令cmda至cmdm、一个或多个地址addra至addrm、和/或一个或多个数据dataa至datam发送到存储器设备220,以及/或者从存储器设备220接收一个或多个数据dataa至datam。
76.存储控制器210可以通过对应的通道选择连接到通道的非易失性存储器设备中的至少一个,并向所选非易失性存储器设备发送至少一个信号和/或从所选非易失性存储器设备接收至少一个信号。存储控制器210可以通过不同的通道并行地向存储器设备220发送一个或多个信号,以及/或者并行地从存储器设备220接收一个或多个信号。例如,在通过第一通道ch1向存储器设备220发送命令cmda的同时,存储控制器210可以通过第二通道ch2向存储器设备220发送命令cmdb,但不限于此。例如,在通过第一通道ch1从存储器设备220接收数据dataa的同时,存储控制器210可以通过第二通道ch2从存储器设备220接收数据datab,但不限于此。
77.存储控制器210可以控制存储器设备220的整体操作。存储控制器210可以通过向通道ch1至chm发送至少一个信号来控制连接到通道ch1至chm的非易失性存储器设备nvm11至nvmmn。
78.根据一些示例实施例,存储器系统200可以包括存储器设备220和/或存储控制器210等,但不限于此。存储控制器210可以对应于图1的存储控制器210,但示例实施例不限于此。
79.存储器设备220可以包括诸如第一引脚p11至第八引脚p18等的多个引脚、存储器接口电路221、控制逻辑电路222和/或存储器单元阵列400等,但示例实施例不限于此。
80.存储器接口电路221可以通过第一引脚p11从存储控制器210接收芯片使能信号nce等。存储器接口电路221可以根据芯片使能信号nce等通过第二引脚p12至第八引脚p18向存储控制器210发送信号和/或从存储控制器210接收信号。例如,当芯片使能信号nce处于使能状态(例如,低电平)时,存储器接口电路221可以通过第二引脚p12至第八引脚p18等向存储控制器210发送信号和/或从存储控制器210接收信号。
81.存储器接口电路221可以通过第二引脚p12至第四引脚p14从存储控制器210接收命令锁存使能信号cle、地址锁存使能信号ale和/或写入使能信号nwe等,但是不限于此。存储器接口电路221可以通过第七引脚p17等从存储控制器210接收数据信号dq和/或将数据信号dq发送到存储控制器210。命令cmd、地址addr和/或数据data可以通过数据信号dq等发送。例如,数据信号dq可以通过多条数据信号线发送。在这种情况下,第七引脚p17可以包括与多个数据信号对应的多个引脚,但示例实施例不限于此。
82.存储器接口电路221可以基于写入使能信号nwe的切换时序从在命令锁存使能信号cle的使能部分(例如,处于高电平状态)中接收的数据信号dq接收命令cmd。存储器接口电路221可以基于写入使能信号nwe的切换时序从在地址锁存使能信号ale的使能部分(例如,处于高电平状态)中接收的数据信号dq接收地址addr。
83.在至少一个示例实施例中,写入使能信号nwe可以维持在静态(例如,高电平或低电平)并且此后在高电平和低电平之间切换。例如,写入使能信号nwe可以在其中命令cmd和/或地址addr被发送的部分中进行切换。因此,存储器接口电路221可以基于写入使能信号nwe的切换时序来获得命令cmd和/或地址addr。
84.存储器接口电路221可以通过第五引脚p15等从存储控制器210接收读取使能信号nre。存储器接口电路221可以通过第六引脚p16等从存储控制器210接收数据选通信号dqs和/或将数据选通信号dqs发送到存储控制器210。
85.在存储器设备220的数据data输出操作中,存储器接口电路221可以在输出数据data之前通过第五引脚p15接收切换的读取使能信号nre,但示例实施例不限于此。存储器接口电路221可以基于读取使能信号nre的切换而产生切换的数据选通信号dqs。例如,存储器接口电路221可以产生数据选通信号dqs,该数据选通信号dqs在从读取使能信号nre的切换开始时间起的期望和/或预定延迟时间(例如,tdqsre)之后开始切换,但示例实施例不限于此。存储器接口电路221可以基于数据选通信号dqs的切换时序等发送包括数据data的数据信号dq。因此,数据data可以与数据选通信号dqs的切换时序对齐并被发送到存储控制器210,但不限于此。
86.在存储器设备220的数据data输入操作中,当从存储控制器210接收包括数据data的数据信号dq时,存储器接口电路221可以从存储控制器210接收与数据data一起切换的数据选通信号dqs,但示例实施例不限于此。存储器接口电路221可以基于数据选通信号dqs的切换时序从数据信号dq获得数据data。例如,存储器接口电路221可以通过在数据选通信号dqs的上升沿和下降沿对数据信号dq进行采样来获得数据data,但示例实施例不限于此。
87.存储器接口电路221可以通过第八引脚p18等将就绪/忙碌输出信号nr/b发送到存储控制器210。存储器接口电路221可以通过就绪/忙碌输出信号nr/b将存储器设备220的状态信息发送到存储控制器210,但不限于此。当存储器设备220处于忙碌状态时(例如,当存储器设备220的内部操作正在执行时),存储器接口电路221可以将指示忙碌状态的就绪/忙碌输出信号nr/b发送到存储控制器210,但示例实施例不限于此。当存储器设备220处于就绪状态时(例如,当存储器设备220的内部操作未执行或完成时),存储器接口电路221可以将指示就绪状态的就绪/忙碌输出信号nr/b发送到存储控制器210,但示例实施例不限于此。例如,当存储器设备220响应于页读取命令从存储器单元阵列400读取数据data时,存储器接口电路221可以将指示忙碌状态(例如,低电平)的就绪/忙碌输出信号nr/b发送到存储控制器210,等等。例如,当存储器设备220响应于编程命令将数据data编程到存储器单元阵列400时,存储器接口电路221可以将指示忙碌状态的就绪/忙碌输出信号nr/b发送到存储控制器210,等等。
88.控制逻辑电路222(例如,控制处理电路等)可以总体控制存储器设备220的各种操作。控制逻辑电路222可以接收由存储器接口电路221获得的命令cmd/地址addr。控制逻辑电路222可以根据接收到的命令cmd/地址addr产生用于控制存储器设备220的其他组件的控制信号。例如,控制逻辑电路222可以产生用于将数据data编程到存储器单元阵列400和/或从存储器单元阵列400读取数据data的各种控制信号等。
89.存储器单元阵列400可以在控制逻辑电路222的控制下存储从存储器接口电路221获得的数据data。存储器单元阵列400可以在控制逻辑电路222的控制下将存储的数据data输出到存储器接口电路221。
90.存储器单元阵列400可以包括多个存储器单元。例如,多个存储器单元可以是闪存单元等。然而,本发明构思的示例实施例不限于此,并且存储器单元可以是例如电阻随机存取存储器(rram)单元、铁电ram(fram)单元、相变ram(pram)单元、晶闸管ram(tram)单元和/
或磁性ram(mram)单元等。为了方便和简洁,下面将针对其中存储器单元是nand闪存单元的一些示例实施例来描述本发明构思的示例实施例,但示例实施例不限于此。
91.存储控制器210可以包括多个引脚(例如第一引脚p21至第八引脚p28等)和/或控制器接口电路211(例如,主机接口电路等),但不限于此。第一引脚p21至第八引脚p28可以与存储器设备220的第一引脚p11至第八引脚p18对应,但示例实施例不限于此。
92.控制器接口电路211可以通过第一引脚p21等将芯片使能信号nce发送到存储器设备220。控制器接口电路211可以通过第二引脚p22至第八引脚p28等向由芯片使能信号nce选择的存储器设备220发送信号和从其接收信号。
93.控制器接口电路211可以通过第二引脚p22至第四引脚p24将命令锁存使能信号cle、地址锁存使能信号ale和/或写入使能信号nwe等发送到存储器设备220,但不限于此。控制器接口电路211可以通过第七引脚p27等将数据信号dq发送到存储器设备220和/或从存储器设备220接收数据信号dq。
94.控制器接口电路211可以将包括命令cmd和/或地址addr的数据信号dq与切换的写入使能信号nwe一起发送到存储器没备220,但是示例实施例不限于此。控制器接口电路211可以将处于使能状态用以发送包括命令cmd的数据信号dq的命令锁存使能信号cle发送到存储器设备220,并将处于使能状态用以发送包括地址addr的数据信号dq的地址锁存使能信号ale发送到存储器设备220,但不限于此。
95.控制器接口电路211可以通过第五引脚p25等将读取使能信号nre发送到存储器设备220。控制器接口电路211可以通过第六引脚p26等从存储器设备220接收数据选通信号dqs或者将数据选通信号dqs发送到存储器设备220。
96.在存储器设备220的数据data输出操作中,控制器接口电路211可以产生切换的读取使能信号nre,和/或将读取使能信号nre发送到存储器设备220等。例如,控制器接口电路211可以在数据data被输出之前产生读取使能信号nre,该读取使能信号nre从静态(例如,高电平或低电平)改变为切换状态,但不限于此。因此,存储器设备220可以基于读取使能信号nre产生切换的数据选通信号dqs。控制器接口电路211可以从存储器设备220接收包括数据data的数据信号dq、连同切换的数据选通信号dqs等。控制器接口电路211可以基于数据选通信号dqs的切换时序等从数据信号dq获得数据data。
97.根据一些示例实施例,控制器接口电路211可以将读取命令read cmd、地址addr和/或读取使能信号nre发送到存储器设备220,但不限于此。在这种情况下,存储器设备220可以根据读取使能信号nre从存储器单元阵列400读取与地址addr对应的主数据。在这种情况下,读取主数据的速度基于由读取控制器300设置的档位。读取控制器300可以基于存储器设备220的状态自适应地改变档位。
98.在存储器设备220的数据data输入操作中,控制器接口电路211可以产生切换的数据选通信号dqs。例如,控制器接口电路211可以在数据data被发送之前产生数据选通信号dqs,该数据选通信号dqs从静态(例如,高电平或低电平)改变为切换状态,但不限于此。控制器接口电路211可以基于数据选通信号dqs的切换时序将包括数据data的数据信号dq发送到存储器设备220。
99.控制器接口电路211可以通过第八引脚p28等从存储器设备220接收就绪/忙碌输出信号nr/b。控制器接口电路211可以基于就绪/忙碌输出信号nr/b等来识别存储器设备
220的状态信息。
100.图9是根据一些示例实施例的图1的存储器设备220的示例的框图。参照图9,存储器设备4000可以包括控制逻辑电路420、存储器单元阵列430、页缓冲器单元440、电压发生器450和/或行解码器460等,但示例实施例不限于此。存储器设备4000还可以包括图9所示的存储器接口电路410,并且还可以包括列逻辑、预解码器、温度传感器、命令解码器、地址解码器等,但示例实施例不限于此。
101.控制逻辑电路420可以总体控制存储器设备4000中的各种操作。控制逻辑电路420可以响应于来自存储器接口电路410的命令cmd和/或地址addr等输出各种控制信号。例如,控制逻辑电路420可以输出电压控制信号ctrl_vol、行地址x-addr和/或列地址y-addr等,但不限于此。
102.存储器单元阵列430可以包括多个存储器块blk1至blkz(z为正整数),并且多个存储器块blk1至blkz中的每一个可以包括多个存储器单元。存储器单元阵列430可以通过位线bl连接到页缓冲器单元440,并通过字线wl、串选择线ssl和地选择线gsl连接到行解码器460,但示例实施例不限于此。
103.在至少一个示例实施例中,存储器单元阵列430可以包括3d存储器单元阵列,并且3d存储器单元阵列可以包括多个nand串等,但示例实施例不限于此。nand串中的每一个可以包括连接到竖直堆叠在衬底上的字线的存储器单元。美国专利no.7,679,133;8,553,466;8,654,587;和8,559,235;以及美国公开no.2011/0233648各自通过引用并入本文。在至少一个示例实施例中,存储器单元阵列430可以包括2d存储器单元阵列,并且2d存储器单元阵列可以包括布置在行和列方向上的多个nand串等。
104.页缓冲器单元440可以包括多个页缓冲器pb1至pbn(其中,n是大于或等于3的整数),并且多个页缓冲器pb1至pbn可以通过位线bl与存储器单元连接。页缓冲器单元440可以响应于列地址y-addr选择位线bl中的至少一条。页缓冲器单元440可以根据操作模式用作写入驱动器和/或读出放大器。例如,在编程操作期间,页缓冲器单元440可以向所选位线施加与要被编程的数据对应的位线电压,但不限于此。在读取操作期间,页缓冲器单元440可以通过感测所选位线的电流和/或电压等来感测存储器单元中存储的数据。
105.电压发生器450可以基于电压控制信号ctrl_vol产生用于执行编程操作、读取操作、擦除操作等的各种类型的电压。例如,电压发生器450可以产生编程电压、读取电压、编程验证电压、擦除电压等作为字线电压vwl等。
106.行解码器460可以响应于行地址x-addr来选择字线wl之一和串选择线ssl之一。例如,行解码器460可以在编程操作期间向所选字线施加编程电压和编程验证电压,并且在读取操作期间向所选字线施加读取电压,但不限于此。
107.图10是根据一些示例实施例的用于描述适用于图1的存储器设备220的3d v-nand结构的图。当存储器设备的存储模块被实施为3d v-nand型闪存时,存储模块的多个存储器块中的每一个可以被表示为图10所示的等效电路,但示例实施例不限于此。
108.图10所示的存储器块blki是在衬底上以3d结构形成的3d存储器块,但不限于此。例如,包括在存储器块blki中的多个存储器nand串可以形成在垂直于衬底的方向上,但不限于此。
109.参照图10,存储器块blki可以包括连接在多条位线bl1、bl2和bl3等与公共源极线
csl之间的多个存储器nand串ns11至ns33。多个存储器nand串ns11至ns33中的每一个可以包括串选择晶体管sst、多个存储器单元mc1、mc2、...、mc8和地选择晶体管gst。图10示出了多个存储器nand串ns11至ns33中的每一个包括八个存储器单元mc1至mc8,但示例实施例不限于此。
110.串选择晶体管sst可以连接到与其对应的多条串选择线ssl1、ssl2和ssl3等,但不限于此。多个存储器单元mc1、mc2、...、mc8可以分别连接到相应的多条栅极线gtl1、gtl2、...、gtl8。栅极线gtl1、gtl2、...、gtl8可以对应于字线,并且栅极线gtl1、gtl2、...、gtl8中的一些可以对应于伪字线,但不限于此。地选择晶体管gst可以连接到与其对应的多条地选择线gsl1、gsl2和gsl3等。串选择晶体管sst可以连接到与其对应的多条位线bl1、bl2和bl3等,并且地选择晶体管gst可以连接到公共源极线csl。
111.具有相同高度的字线(例如字线wl1)可以共同连接,并且地选择线gsl1、gsl2和gsl3与串选择线ssl1、ssl2和ssl3可以彼此分开。图10示出了存储器块blki连接到八条栅极线gtl1至gtl8和三条位线bl1、bl2和bl3,但示例实施例不限于此。
112.图11是示出了根据至少一个示例实施例的应用了图1的存储设备200的系统的图。
113.图11的系统1000可以是移动系统,例如移动电话、智能电话、平板个人计算机、膝上型计算机、可穿戴设备、医疗保健设备、机器人设备、虚拟现实设备和/或增强现实设备、自主车辆和/或物联网(iot)设备等,但示例实施例不限于此。然而,图11的系统1000不一定受限于移动系统,并且可以是个人计算机、膝上型计算机、服务器、媒体播放器和/或诸如导航系统的汽车设备等。
114.参照图11,系统1000可以包括至少一个主处理器1100、多个存储器1200a和1200b、和/或多个存储设备1300a和1300b,并且还可以包括图像捕获设备1410、用户输入设备1420、传感器1430、通信设备1440、显示器1450、扬声器1460、电源设备1470和/或连接接口1480等中的至少一个,但示例实施例不限于此,并且可以包含更多或更少数量的组成元件。
115.主处理器1100可以控制系统1000的整体操作,更具体地说,控制系统1000的其他组件的操作,但不限于此。主处理器1100可以体现为通用处理器、专用处理器、应用处理器等。
116.主处理器1100可以包括一个或多个控制单元核1110(例如,处理器核、处理核等),并且还可以包括用于控制存储器1200a和1200b和/或存储设备1300a和1300b等的控制器1120。根据至少一个示例实施例,主处理器1100还可以包括加速器块1130,该加速器块1130是用于诸如人工智能(ai)数据操作的高速数据操作的专用电路,但不限于此。加速器块1130可以包括图形处理单元(gpu)、神经处理单元(npu)和/或数据处理单元(dpu),并且可以体现为在物理上独立于主处理器1100的其他组件的芯片,但示例实施例不限于此。
117.存储器1200a和1200b可以用作系统1000的主要存储器设备,并且可以包括诸如sram和/或dram的易失性存储器,但是也可以包括诸如闪存、pram和/或rram等的非易失性存储器。存储器1200a和1200b可以在与主处理器1100相同的封装中实现,但不限于此。
118.存储设备1300a和1300b可以用作存储数据而不管是否供电的非易失性存储设备,并且可以具有比存储器1200a和1200b相对更大的存储容量。存储设备1300a和1300b可以包括存储控制器1310a和1310b以及在存储控制器1310a和1310b的控制下存储数据的非易失性存储(nvm)存储器1320a和1320b等。nvm存储器1320a和1320b可以包括2d和/或3d v-nand
闪存,但也可以包括其他类型的nvm,例如pram和/或rram等。
119.存储设备1300a和1300b可以被包括在系统1000中以与主处理器1100物理分离和/或可以被包括在与主处理器1100相同的封装中。此外,存储设备1300a和1300b可以具有与存储卡相同的形状,因此可以通过诸如以下将描述的连接接口1480之类的接口与系统1000的其他组件可拆卸地耦接,但不限于此。存储设备1300a和1300b可以是应用了诸如通用闪存(ufs)的标准约定的设备,但不限于此。
120.图像捕获设备1410可以捕获静止图像和/或运动画面,并且可以包括相机、便携式摄像机和/或网络摄像头等。
121.用户输入设备1420可以从系统1000的用户接收各种类型的数据输入,并且可以包括触摸板、键区、键盘、鼠标和/或麦克风等。
122.传感器1430可以检测可从系统1000的外部获得的各种类型的物理量并且将检测到的物理量转换为电信号。传感器1430可以包括温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪等。
123.通信设备1440可以根据各种通信协议与系统1000外部的其他设备执行信号的发送和/或接收。通信设备1440可以包括天线、收发器和/或调制解调器等。
124.显示器1450和扬声器1460可以用作向系统1000的用户输出视觉信息和音频信息的输出设备。
125.电源设备1470可以适当地转换从内置在系统1000中的电池(未示出)和/或外部电源供应的电力,并将转换后的电力供应给系统1000的每个组件。
126.连接接口1480可以连接系统1000和外部设备,当外部设备连接到系统1000时,可以与系统1000交换数据。连接接口1480可以根据各种接口方法实现,例如高级技术附件(ata)、串行ata(sata)、外部sata(e-sata)、小型计算机小型接口(scsi)、串行连接scsi(sas)、外围组件互连(pci)、pci快速(pcie)、nvm快速(nvme)、ieee 1394、通用串行总线(usb)、安全数字(sd)卡、多媒体卡(mmc)、嵌入式多媒体卡(emmc)、通用闪存(ufs)、嵌入式ufs(eufs)和紧凑型闪存(cf)卡接口等。
127.尽管上面已经参照附图描述了本发明构思的各种示例实施例,但是本发明构思的示例实施例不限于此并且可以以各种不同的形式来体现。本领域普通技术人员将理解,在不背离本发明构思的技术精神或实质特征的情况下,本发明构思的示例实施例可以以其他特定形式实现。因此,本文阐述的示例实施例应仅视为示例而非为了限制的目的。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1