一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储设备及其操作方法与流程

2023-03-28 21:39:42 来源:中国专利 TAG:

存储设备及其操作方法
1.相关申请的交叉引用
2.本技术基于并要求2021年9月6日在韩国知识产权局提交的韩国专利申请号10-2021-0118549的优先权,其公开内容通过引用整体并入本文。
技术领域
3.本公开的技术方面涉及电子装置,更具体地涉及存储设备及其操作方法。


背景技术:

4.基于闪存的大容量存储设备的代表性示例是固态驱动器(ssd)。随着对ssd的需求的爆发性增长,其用途正在多样化。需要对ssd进行管理和维护,以提供较高的可靠性以及可能达到的最高服务质量。
5.在ssd的操作期间,可能由于硬件或软件问题而出现不希望的故障或错误。在这样的事件中,ssd收集当出现错误或故障时的时刻的状态并将该状态作为转储数据进行存储。向ssd所连接的主机发送已收集的转储数据。向调试工具或调试装置提供向主机发送的转储数据,并且执行基于转储数据的调试。
6.随着ssd的容量和复杂度增加,转储数据的大小也增加。具体地,为了详细的故障分析需要尽可能多地收集和提取转储数据。因此,转储数据到为ssd的故障分析所提供的调试通道的传输因为传输速度的限制而导致难以快速分析。因此,难以通过快速地获取出现故障或错误时的时刻的实时状态信息而执行ssd的准确调试。


技术实现要素:

7.本公开的技术方面提供了一种存储设备及其操作方法,所述存储设备向主机提供大小上压缩的日志数据。
8.根据本公开的技术方面,提供了一种包括多个组件的存储设备,所述存储设备包括:存储器,被配置为存储用作神经网络中的输入的参数数据;以及存储控制器,被配置为:从主机接收请求信号;基于所存储的参数数据,对所述神经网络中的日志数据进行编码,所述日志数据指示所述多个组件的上下文;以及向所述主机发送经编码的日志数据。
9.根据本公开的另一个技术方面,提供了一种包括多个组件的存储设备,所述存储设备包括:存储器,被配置为存储用作神经网络中的输入的参数数据;以及存储控制器,被配置为生成针对多个组件的上下文的日志数据;基于所述所述参数数据对神经网络中的日志数据进行编码;以及控制所述存储器存储经编码的日志数据。
10.根据本公开的另一个技术方面,提供了一种包括多个组件的存储设备,所述存储设备包括:第一存储器,被配置为存储针对所述多个组件的上下文的日志数据;第二存储器,被配置为存储用作神经网络中的输入的参数数据;以及存储控制器,被配置为从主机接收请求信号;基于所述参数数据对神经网络中的日志数据进行编码;以及向所述主机发送经编码的日志数据。
11.根据本公开的另一个技术方面,提供了一种操作包括多个组件的存储设备的方法,所述方法包括:接收从主机提供的获得日志页(getlog page)命令的接收操作;响应于所述获得日志页命令而生成针对所述多个组件中的每个组件的上下文的日志数据的生成操作;基于预先存储的参数数据对神经网络中的日志数据进行编码的编码操作;以及向所述主机发送经编码的日志数据的发送操作。
附图说明
12.根据以下结合附图进行的详细描述,将更清楚地理解本发明构思的实施例,在附图中:
13.图1是用于描述根据本公开的实施例的存储系统的图;
14.图2是用于描述根据本公开的实施例的操作存储系统的方法的图;
15.图3是用于说明根据本公开的实施例的由主机提供的命令的图;
16.图4是用于说明根据本公开的实施例的存储设备存储日志数据的方法的图;
17.图5是用于描述根据本公开的实施例的存储在易失性存储器中的日志数据的图;
18.图6是用于描述根据本公开的实施例的存储在非易失性存储器中的参数数据的图;
19.图7是用于描述根据本公开的实施例的存储设备对日志数据进行编码并发送经编码的日志数据的方法的图;
20.图8是用于说明根据本公开的实施例的计算本征向量的方法的图;
21.图9是用于说明根据本公开的另一实施例的计算本征向量的方法的图;
22.图10是示出应用根据本公开的实施例的存储设备的系统的图;
23.图11是示出根据本公开的另一实施例的存储系统的框图;
24.图12是示出根据本公开的实施例的存储器系统的框图;
25.图13是用于说明根据本公开的实施例的3d vnand结构的图;以及
26.图14是用于说明根据本公开的实施例的bvnand结构的图。
具体实施方式
27.在下文中,将参考附图详细地描述本公开的实施例。
28.图1是用于描述根据本公开的实施例的存储系统的图。
29.参考图1,存储系统10可以包括存储设备100和主机200。
30.本文的各种实施例和描述中所描述的存储设备100和其他存储设备可以由多个组件组成。可以以硬件形式、软件形式或软硬件形式在存储设备100中实现组件。本说明书中的组件可以被称为元件。参考图1,例如,存储设备100可以包括组件,例如存储控制器110、易失性存储器120、非易失性存储器130和硬件元件140。然而,本公开的实施例不限于此。
31.存储设备100可以包括用于根据来自主机200的请求而存储数据的存储介质。例如,存储设备100可以包括固态驱动器(ssd)、嵌入式存储器和可移动外部存储器中的至少一项。当存储设备100是ssd时,存储设备100可以是符合非易失性存储器快速(nvme)规范的装置。如果存储设备100是嵌入式存储器或外部存储器,则存储设备100可以是符合通用闪存(ufs)或嵌入式多媒体卡(emmc)规范的装置。主机200和存储设备100可以分别根据所采
用的标准协议而生成并发送分组。
32.存储控制器110可以控制存储设备100的整体操作。本文的存储控制器110也可以被称为控制器、装置控制器或存储器控制器。
33.当从外部向存储设备100供电时,存储控制器110可以执行固件。当非易失性存储器130是闪存装置时,固件可以包括主机接口层(hil)、闪存转换层(ftl)和闪存接口层(fil)。
34.存储控制器110可以控制易失性存储器120或非易失性存储器130,以响应于来自主机200的写请求、读请求和擦除请求而分别执行编程操作(或写操作)、读操作和擦除操作。
35.在编程操作期间,存储控制器110可以向非易失性存储器130提供编程命令、物理地址和写数据。在读操作期间,存储控制器110可以向非易失性存储器130提供读命令和物理地址。在擦除操作期间,存储控制器110可以向非易失性存储器130提供擦除命令和物理地址。
36.存储控制器110可以向非易失性存储器130发送由自身生成的命令、地址和数据,而不考虑从主机200提供的请求。例如,存储控制器110可以生成用于执行后台操作的命令、地址和数据,并向非易失性存储器130提供已生成的命令、地址和数据。例如,后台操作可以是损耗均衡、读回收或垃圾收集。
37.存储控制器110可以在逻辑上控制作为一个非易失性存储器130操作的多个非易失性存储器130。
38.在实施例中,存储控制器110可以从主机200接收请求信号。例如,请求信号可以是获得日志页命令。获得日志页命令可以是用于请求存储在存储设备100中的日志数据的命令。在非易失性存储器快速(nvme)标准中定义了该获得日志页命令。日志数据可以是表示与至少一个组件的当前上下文有关的信息的数据。上下文可以包括例如组件的状态、与组件有关的状态或情况、与组件相关联的特定参数等。在一些情况下,例如,如在下面结合图5和图6更详细地描绘和描述的,上下文可以指与关于组件的各类数据的集合有关的信息。例如,日志数据可以包括与存储控制器110、易失性存储器120、非易失性存储器130和硬件元件140中的每一个的当前上下文有关的信息。然而,日志数据不限于此。这样的日志数据可以是非结构化数据,例如,作为由计算机(或机器)可读的格式的数据的以二进制数表示的数据。当向存储控制器110发送请求信号时,存储控制器110可以在神经网络中基于参数数据对日志数据进行编码。神经网络可以实现为例如卷积神经网络(cnn)、循环神经网络(rnn)、深度残差网络(drn)、深度前馈网络(dfn)或自动编码器。参数数据可以是表示用作神经网络中的输入的参数的数据。例如,参数数据可以包括与存储控制器110的上下文相对应的参数、与易失性存储器120的上下文相对应的参数、与非易失性存储器130的上下文相对应的参数、以及与硬件元件140的上下文相对应的参数。然而,参数数据不限于此。这样的参数数据可以预先进行学习并被存储在非易失性存储器130中。
39.在本说明书中,对日志数据进行编码可以表示以有损压缩方法压缩数据的大小。有损压缩方法可以表示通过对在数据接收位置处的数据进行压缩和解压缩而显示与原始数据不同的数据。有损压缩方法可以如下方法:通过数学建模或预测算法来表示主要数据、对误差值进行变换和量化、并发送数据。有损压缩方法可以是丢失数据的高频成分、色差信
息等的方法。
40.在另一实施例中,存储控制器110可以控制易失性存储器120或非易失性存储器130生成日志数据,在神经网络中基于参数数据对日志数据进行编码,并存储经编码的日志数据。
41.在另一实施例中,存储控制器110可以从主机200接收请求信号,在神经网络中基于参数数据对日志数据进行编码,并向主机200发送经编码的日志数据。
42.根据实施例,存储控制器110可以包括日志生成模块111、编码模块112和发送模块113。日志生成模块111、编码模块112和发送模块113可以以硬件实现,或者可以以软件和硬件实现。在实施例中,日志生成模块111、编码模块112和发送模块113可以以固件实现。
43.在一个实施例中,响应于请求信号,日志生成模块111可以生成日志数据。
44.在另一实施例中,日志生成模块111可以生成与存储设备100中包括的多个组件中的每个组件的当前上下文相对应的日志数据。
45.在另一实施例中,响应于请求信号,日志生成模块111可以生成与多个组件中的每个组件的当前上下文相对应的日志数据,并控制第一存储器存储日志数据。此处,例如,第一存储器可以是易失性存储器120。
46.在实施例中,编码模块112可以基于参数数据和日志数据计算本征向量,并将表示本征向量的数据输出作为经编码的日志数据。
47.在另一实施例中,编码模块112可以使用神经网络基于参数数据和日志数据计算本征向量,并控制非易失性存储器130存储表示本征向量的数据作为经编码的日志数据。
48.在另一实施例中,编码模块112可以从第一存储器加载日志数据,从第二存储器加载参数数据,基于已加载的参数数据和所加载的日志数据计算本征向量,并将表示本征向量的数据输出作为经编码的日志数据。此处,例如,第一存储器可以是易失性存储器120,并且例如,第二存储器可以是非易失性存储器130。
49.根据实施例的编码模块112可以实现为加速器。
50.发送模块113可以通过接口(例如,nvme、nvme管理接口(mi)或基于fabrics的nvme(of))向主机200发送经编码的日志数据。
51.在图1中,存储控制器100中包括日志生成模块111、编码模块112和发送模块113,但是本公开的实施例不限于此。具体地,日志生成模块111、编码模块112和发送模块113可以包括在与存储控制器100分开实现的处理器中。
52.易失性存储器120可以仅在接收电力时才响应于存储控制器110的控制而操作。易失性存储器120仅可以在接收电力时暂时地存储从主机200提供的数据或从非易失性存储器130提供的数据。易失性存储器120可以包括在存储控制器110中或布置在存储控制器110外部作为缓冲存储器。例如,易失性存储器120可以包括动态随机存取存储器(dram)、静态随机存取存储器(sram)等。
53.在实施例中,易失性存储器120可以在编码日志数据之前存储日志数据。
54.非易失性存储器130可以响应于存储控制器110的控制而操作。具体地,非易失性存储器130可以从存储控制器110接收命令和地址,并访问存储器单元(未示出)中的由地址选择的存储器单元。非易失性存储器130可以对由地址选择的存储器单元执行由命令指示的操作。
55.例如,命令可以是编程命令、读命令或擦除命令,并且例如,由命令指示的操作可以是编程操作(或写操作)、读操作或擦除操作。编程操作可以是以下操作:响应于存储控制器110的控制,非易失性存储器130存储从主机200提供的数据。读操作可以是以下操作:响应于存储控制器110的控制,非易失性存储器130读取存储在非易失性存储器130中的读数据。擦除操作可以是以下操作:响应于存储控制器110的控制,非易失性存储器130擦除存储在存储器件中的数据。
56.根据实施例,非易失性存储器130可以实现为单个芯片或存储器管芯,或多个存储器芯片或多个存储器管芯。例如,多个存储器芯片中的每一个可以是双管芯封装(ddp)、四管芯封装(qdp)或八管芯封装(odp)。
57.例如,非易失性存储器130可以是例如闪存。闪存可以包括例如nand闪存、nor闪存等。当非易失性存储器130包括闪存时,所述闪存可以包括2d nand存储器阵列或3d(或竖直)nand(vnand)存储器阵列。
58.又例如,存储设备100可以包括其他各种类型的非易失性存储器。例如,可以将磁ram(mram)、自旋转移扭矩mram、导电桥接ram(cbram)、铁电式ram(feram)、相变ram(pram)、电阻式ram和其他各种类型的存储器应用于存储设备100。
59.在实施例中,非易失性存储器130可以存储经编码的日志数据。经编码的日志数据的大小可以小于未编码的日志数据的大小。例如,如果未编码的日志数据的大小是32兆字节(mb),则经编码的日志数据的大小可以小于32mb。然而,本公开的实施例不限于此。
60.在实施例中,非易失性存储器130可以存储参数数据。
61.非易失性存储器130的数量是复数,并且多个非易失性存储器中的仅存储日志数据的单独的非易失性存储器可以设置在存储设备100中。
62.硬件元件140可以包括电力电容器141、温度传感器142和电力管理集成电路(pmic)143。然而,本公开的实施例不限于此。电力电容器141可以存储备用电力。温度传感器142可以感测存储设备100的内部温度。pmic 143可以管理由外部提供的电力。
63.主机200可以通过接口与存储设备100进行通信。此处,接口可以实现为例如nvme、nvme mi或nvme-of。
64.在实施例中,主机200可以向存储设备100提供写请求,以请求将数据存储在存储设备100中。此外,主机200可以向存储设备100提供写请求、数据、以及用于标识数据的逻辑地址。响应于从主机200提供的写请求,存储设备100可以将包括由主机200的提供的数据和元数据的写数据存储在非易失性存储器130中,并向主机200提供指示已完成所述存储的响应。
65.在另一实施例中,主机200可以向存储设备100提供请求信号。此处,请求信号可以是获得日志页命令。
66.主机200可以包括主机控制器210、主机存储器220和数据输入/输出(i/o)模块230。主机控制器210可以控制主机200的整体操作。主机存储器220可以用作用于暂时地存储要发送给存储设备100的数据或从存储设备100发送的数据的缓冲存储器。数据i/o模块230可以向存储设备100发送存储在主机存储器220中的数据或者从存储设备100接收要存储在主机存储器220中的数据。
67.图2是用于描述根据本公开的实施例的操作存储系统的方法的图。
68.参考图2,操作s10可以被称为接收操作。在操作s10中,主机200向存储设备100发送获得日志页命令。并且,存储设备100接收获得日志页命令。获得日志页命令可以包括与由主机200发起的遥测相对应的比特信息(或比特值)。如本文所使用的术语“主机发起的遥测”可以指示主机200发起遥测。在nvme标准(例如,基于nvme标准2.0a的5.16.18)中定义了主机发起的遥测。将在下文参考图3对其进行描述。
69.操作s20可以被称为生成操作。在操作s20中,响应于获得日志页命令,存储设备100生成多个组件中的每个组件的上下文的日志数据。例如,存储设备100产生当前上下文的快照并生成指示当前上下文的快照的日志数据。具体地,例如,存储设备100可以生成nand存储器件的上下文的日志数据、dram存储器件的上下文的日志数据,相对于存储设备100的电力的上下文的日志数据、以及相对于存储设备100的外围组件互连快速(pcie)的上下文的日志数据。然而,本公开的实施例不限于此。
70.操作s30可以被称为日志数据存储操作。在操作s30中,存储设备100将已生成的日志数据存储在第一存储器(例如,图1所示的易失性存储器120)中。
71.操作s40可以被称为编码操作。在操作s40中,存储设备100基于预存储的参数数据在神经网络中对日志数据进行编码。具体地,例如,存储设备100对参数数据和日志数据执行矩阵乘法运算,生成包括作为元素的矩阵乘法运算的结果的一个矩阵,通过对一个矩阵中的同一行中包括的元素执行池化操作而计算本征向量,以及输出表示本征向量的数据作为经编码的日志数据。将在下文参考图8和图9描述其实施例。
72.操作s50可以被称为经编码的日志数据存储操作。在操作s50中,存储设备100将经编码的日志数据存储在第一存储器(例如,图1所示的非易失性存储器130)中。
73.操作s60可以被称为发送操作。在操作s60中,存储设备100向主机200发送经编码的日志数据。
74.图3是用于说明根据本公开的实施例的由主机提供的命令的图。
75.参考图3,由主机200提供的命令可以是上述请求信号。由主机200提供的命令可以是nvme标准中定义的命令,并且命令队列条目可以是nvme标准中定义的提交队列条目。由主机200提供的命令的大小可以是64字节。由主机200提供的命令可以例如由16个命令双字组成。一个命令双字可以是具有4字节的大小的数据。
76.根据实施例,由主机200提供的命令可以包括命令双字0cdw 0、命名空间标识符nsid、数据指针dptr、命令双字10cdw 10、命令双字11cdw 11、命令双字12cdw 12、命令双字13cdw 13、命令双字14cdw 14、以及命令双字15cdw 15。
77.在实施例中,由主机200提供的获得日志页命令可以是应用nvme标准(例如,nvme标准2.0a中的5.16)的命令。由主机200提供的获得日志页命令可以包括数据指针dptr、命令双字10cdw10、命令双字11cdw 11、命令双字12cdw 12、命令双字13cdw 13、以及命令双字14cdw 14。
78.数据指针dptr可以是指定用于命令的数据的字段。数据指针dptr可以是指定主机存储器220中的数据缓冲器的起点的字段。
79.命令双字10cdw 10可以包括双字低比特数(numdl)、保留异步事件(rae)、日志专用字段(lsp)和日志页标识符(lid)。numdl可以是指定16个最低有效位(除非另外指定)的字段。rae是指定何时保留或清除异步事件的字段,并且可以具有1比特的大小。lsp是指示
lid定义的日志的字段,并且可以具有7比特的大小。lid是指示要搜索的日志页的标识符的字段,并且可以具有7比特的大小。
80.在实施例中,lid可以指示与主机发起的遥测相对应的比特信息。例如,与主机发起的遥测相对应的比特信息可以是“07h”。
81.当lid包括与主机发起的遥测相对应的比特信息时,lsp可以包括支持生成主机发起的遥测的数据的比特信息。支持生成主机发起的遥测数据的比特信息的大小可以是1比特。
82.命令双字11cdw 11可以包括指定特定的日志页所需要的标识符的字段和指定最高有效16位(除非另外指定)的字段。
83.命令双字12cdw 12可以包括指定在日志页中何处开始返回数据的字段。
84.命令双字13cdw 13可以包括指定日志页偏移或数据结构列表中的索引的最高有效32位的字段。
85.命令双字14cdw 14可以包括命令集标识符(csi)、偏移类型(ot)和通用唯一标识符(uuid)索引。csi可以包括与nvm命令集相对应的比特信息、与键值命令集相对应的比特信息、以及与分区命名空间命令集相对应的比特信息。ot可以具有第一值或第二值。如果ot是第一值,则命令双字12cdw 12和命令双字13cdw 13指定要返回的在日志页中的数据结构列表的索引。如果ot是第二值,则命令双字12cdw 12和命令双字13cdw 13指定要返回的在日志页中的字节偏移。
86.虽然附图中未示出,但是由主机200提供的命令还可以包括命令双字2、命令双字3和元数据指针。
87.图4是用于说明根据本公开的实施例的存储设备存储日志数据的方法的图。
88.参考图3和图4,主机410可以执行与图1所示的主机200相同的功能。主机410可以向存储控制器420发送获得日志页命令glpc。如上面参考图3所述,获得日志页命令glpc可以包括数据指针dptr、命令双字10cdw 10、命令双字11cdw 11、命令双字12cdw 12、命令双字13cdw 13、以及命令双字14cdw 14。
89.存储控制器420可以包括日志生成模块421、编码模块422和发送模块423。
90.日志生成模块421、编码模块422和发送模块423能够经由总线彼此通信。
91.日志生成模块421可以接收获得日志页命令glpc。响应于获得日志页命令glpc,日志生成模块421可以产生当前上下文的快照,并生成表示当前上下文的日志数据ld。日志生成模块421可以向易失性存储器430提供日志数据ld、写命令和地址。
92.日志数据ld可以存储在易失性存储器430中。日志数据ld可以包括指示lid的比特值的日志标识符、指示对存储控制器的唯一操作条件加以表示的标识信息的原因标识符、以及针对主机发起的遥测日志的主机发起的遥测数据块。
93.非易失性存储器440可以存储参数数据np。
94.图5是用于描述根据本公开的实施例的存储在易失性存储器中的日志数据的图。
95.参考图5,易失性存储器500可以包括多个日志数据ld1、ld2、ld3、ld4、...。在下文中,为了方便,将基于第一日志数据ld1、第二日志数据ld2、第三日志数据ld3和第四日志数据ld4描述本实施例。易失性存储器500可以是本技术的各种实施例中公开的易失性存储器430或其他易失性存储器的示例。
96.每个日志数据可以与存储设备中包括的特定组件的上下文相对应。参考图5,例如,第一日志数据ld1可以与nand存储器件的上下文相对应,第二日志数据ld2可以与存储设备(例如,图4的存储设备)的性能的上下文相对应,第三日志数据ld3可以与存储设备(例如,图4的存储设备)的耐用性(持久性)的上下文相对应,并且第四日志数据ld4可以与存储设备(例如,图4的存储设备)的热信息的上下文相对应。然而,本公开的实施例不限于此。
97.当第一日志数据ld1是nand的上下文的日志数据,nand的上下文可以包括例如读错误率、写错误率、不可恢复写错误和读恢复尝试。然而,本公开的实施例不限于此。例如,读错误率、写错误率和不可恢复写错误中的每一项的值可以是0,并且读恢复尝试的值可以是10,但是本公开的实施例不限于此。
98.当第二日志数据ld2是性能的上下文的日志数据时,性能的上下文可以包括例如吞吐量性能和性能(perf)指示器。然而,本公开的实施例不限于此。例如,吞吐量性能的值可以是0,并且perf指示器的值可以是1。然而,本公开的实施例不限于此。
99.当第三日志数据ld3是耐用性(持久性)的上下文的日志数据时,持久性的上下文可以包括例如定时工作量介质(timed workload media)、生命期nand写和生命期损耗水平计数。然而,本公开的实施例不限于此。例如,定时工作量介质的值可以是16,生命期nand写的值可以是2808,并且生命期损耗水平计数的值可以是617。然而,本公开的实施例不限于此。
100.当第四日志数据ld4是针对热信息的上下文的日志数据时,热信息的上下文可以包括例如最高温度、最低温度和当前温度。然而,本公开的实施例不限于此。例如,最高温度的值可以是131,最低温度的值可以是131,并且当前温度的值可以是130。然而,本公开的实施例不限于此。
101.图6是用于描述根据本公开的实施例的存储在非易失性存储器中的参数数据的图。
102.参考图6,非易失性存储器600可以包括多个参数数据np1、np2、np3、np4、...。在下文中,为了方便,将参考第一参数数据np1、第二参数数据np2、第三参数数据np3和第四参数数据np4描述本实施例。非易失性存储器600可以是本技术的各种实施例中公开的非易失性存储器440或其他非易失性存储器的示例。
103.每个参数数据可以是具有表结构的数据。每个参数数据可以与特定日志数据相对应。参考图5和图6,例如,第一参数数据np1可以与第一日志数据ld1相对应,第二参数数据np2可以与第二日志数据ld2相对应,第三参数数据np3可以与第三日志数据ld3相对应,并且第四参数数据np4可以与第四日志数据ld4相对应。
104.在实施例中,第一参数数据np1可以包括用于nand的上下文的参数。例如,第一参数数据np1中包括的参数可以是{0.5,0.1,0.4,0.7,0.3,0.5,0.3,0.2,0.1,0.7,0.5,0.3,0.5,0.1,0.1,0.5}。然而,本公开的实施例不限于此。
105.在实施例中,第二参数数据np2可以包括性能的上下文的参数。例如,第二参数数据np2中包括的参数可以是{0.3,0.5,0.2,0.8,0.1,0.6,0.6,0.9}。然而,本公开的实施例不限于此。
106.在实施例中,第三参数数据np3可以包括耐用性的上下文的参数。例如,第二参数数据np2中包括的参数可以是{0.4,0.8,0.2,0.3,0.1,0.7,0.5,0.3,0.6,0.1,0.7,0.7}。然
而,本公开的实施例不限于此。
107.在实施例中,第四参数数据np4可以包括热量的上下文的参数。例如,第二参数数据np2中包括的参数可以是{0.5,0.9,0.5,0.7,0.7,0.1,0.1,0.1,0.3,0.3,0.8,0.3}。然而,本公开的实施例不限于此。
108.图7是用于描述根据本公开的实施例的存储设备对日志数据进行编码并发送经编码的日志数据的方法的图。
109.参考图4和图7,日志生成模块421可以通过总线输出指示日志数据ld存储在易失性存储器430中的信号。
110.编码模块422可以加载存储在易失性存储器430中的日志数据ld。具体地,编码模块422向易失性存储器430提供读命令和第一地址,易失性存储器430响应于读命令而输出存储在具有第一地址的存储器单元中的日志数据ld,并且编码模块422可以将日志数据ld暂时地存储在其包括的寄存器(未示出)中。
111.编码模块422可以加载存储在非易失性存储器440中的参数数据np。具体地,编码模块422向易失性存储器430提供读命令和第二地址,易失性存储器430响应于读命令而输出存储在具有第二地址的存储器单元φ的参数数据np,并且编码模块422可以将参数数据np暂时地存储在寄存器中。所加载的日志数据ld和参数数据np可以用作神经网络中的输入。
112.编码模块422可以基于所加载的日志数据ld和参数数据np计算本征向量,并将表示本征向量的数据输出作为经编码的日志数据eld。
113.编码模块422可以向非易失性存储器440提供经编码的日志数据eld、编程命令和第三地址。非易失性存储器440可以响应于编程命令而将经编码的日志数据eld存储在具有第三地址的存储器单元中。
114.编码模块422可以通过总线输出指示经编码的日志数据eld被存储在非易失性存储器440中的信号。
115.发送模块423可以向主机410发送经编码的日志数据eld作为转储数据。
116.如上所述,因为存储设备向主机发送经压缩的日志数据,所以存在提高主机与存储设备之间的数据传输速度的效果。
117.此外,根据上文,因为存储设备执行基于神经网络的编码和池化操作,并向主机发送具有较小大小的日志数据,所以存在减少主机的工作量和减少主机的耗电的效果。
118.此外,根据上文所述,通过向主机发送基于神经网络的日志数据,主机准确地诊断存储设备的状态、预测存储设备中可能出现的缺陷(或错误)、并改善存储设备的性能。
119.图8是用于说明根据本公开的实施例的计算本征向量的方法的图。
120.参考图5、图6、图7和图8,日志数据组ldg可以包括多个日志数据ld1、ld2、...。在下文中,为了方便将基于第一日志数据ld1和第二日志数据ld2描述本实施例。
121.例如,第一日志数据ld1可以与nand上下文相对应,并且第二日志数据ld2可以与性能上下文相对应。然而,本公开的实施例不限于此。在这种情况下,可以将每个日志数据中包括的上下文的值表示为矩阵。矩阵可以是n
×
m。n和m可以是1或更大的整数。例如,当第一日志数据ld1中包括的读错误率、写错误率、不可恢复写错误和读恢复尝试的每个值是{0,0,0,10}时,第一上下文矩阵xn是4
×
1矩阵,并且在第一矩阵xn中,第一行至第三行的每
个元素可以是0并且第四行的元素可以是10。又例如,当第二日志数据ld2包括的吞吐量性能和perf指示器的相应的值是{0,1}时,第二上下文矩阵xp是2
×
1矩阵,并且在第二矩阵xp中,第一行的元素可以是0并且第二行的元素可以是1。
122.参数数据组npg可以包括多个参数数据np1、np2、...。在下文中,为了方便将基于第一参数数据np1和第二参数数据np2描述本实施例。
123.第一参数数据np1可以与第一日志数据ld1相对应,并且第二参数数据np2可以与第二日志数据ld2相对应。在这种情况下,可以将每个参数数据中包括的参数的值表示为矩阵。矩阵可以是n
×
k。k可以是1或更大的整数。例如,第一参数数据np1中包括的参数值可以是{0.5,0.1,0.4,0.7,0.3,0.5,0.3,0.2,0.1,0.7,0.5,0.3,0.5,0.1,0.1,0.5}。在这种情况下,第一参数矩阵wn是4
×
4矩阵,并且在第一参数矩阵wn中,第一行的元素可以是[0.5 0.1 0.4 0.7],第二行的元素可以是[0.3 0.5 0.3 0.2],第三行中的元素可以是[0.1 0.7 0.5 0.3],并且第四行中的元素可以是[0.5 0.1 0.1 0.5]。又例如,第二参数数据np2中包括的参数值可以是{0.3,0.5,0.2,0.8,0.1,0.6,0.6,0.9}。在这种情况下,第二参数矩阵wp是2
×
4矩阵,并且在第二参数矩阵wp中,第一行的元素可以是[0.3 0.5 0.2 0.8],第二行的元素可以是[0.1 0.6 0.6 0.9]。然而,本公开的实施例不限于此。
[0124]
在一个实施例中,编码模块422可以包括单个编码器810、矩阵生成器820和池化操作器830。
[0125]
单个编码器810可以对参数数据组npg和日志数据组ldg执行矩阵乘法运算,并且可以输出指示矩阵乘法运算的结果e的运算结果数据。具体地,单个编码器810可以执行每个上下文矩阵的转置矩阵与每个参数矩阵的矩阵乘法运算。在这种情况下,可以将针对每个上下文矩阵的转置矩阵与每个参数矩阵之间的每个矩阵乘积的矩阵乘法运算的结果e生成作为矩阵。例如,单个编码器810可以执行第一上下文矩阵xn的转置矩阵与第一参数矩阵wn的矩阵乘法运算,并且可以计算第一运算结果en。第一运算结果en是1
×
4矩阵,并且第一运算结果en的元素可以是[5 1 1 5]。此外,单个编码器810可以执行第二上下文矩阵xp的转置矩阵与第二参数矩阵wp的矩阵乘法运算,并且可以计算第二运算结果ep。第二运算结果ep是1
×
4矩阵,并且第二运算结果ep的元素可以是[0.1 0.6 0.6 0.9]。
[0126]
矩阵生成器820可以接收运算结果数据并生成矩阵数据。矩阵数据可以是表示将矩阵乘法运算的结果e包括作为元素的一个矩阵t的数据。例如,在一个矩阵t中,第一行可以是第一运算结果en并且第二行可以是第二运算结果ep。然而,本公开的实施例不限于此。
[0127]
池化操作器830可以通过基于矩阵数据执行池化操作而计算本征向量z。具体地,池化操作器830可以对一个矩阵t中的每一行的元素执行池化操作,并且使用被计算为池化操作的结果的值来计算本征向量z,作为一个元素。例如,池化操作可以是对数字求和或对字符串进行连接。例如,因为第一运算结果en的元素是[5115],作为对第一运算结果en执行池化操作的结果,本征向量z的第一行中的元素zn可以是12(“5 1 1 5”),其中第一运算结果en作为一个矩阵t中的第一行的元素。并且,因为第二运算结果ep的元素是[0.1 0.6 0.6 0.9],作为对第二运算结果ep执行池化操作的结果,本征向量z的第二行中的元素zp可以是2.2(“0.1 0.6 0.6 0.9”),其中第二运算结果ep作为一个矩阵t中的第二行的元素。
[0128]
池化操作器830可以输出表示本征向量z的数据,作为经编码的日志数据eld。
[0129]
图9是用于说明根据本公开的另一实施例的计算本征向量的方法的图。
[0130]
参考图5、图6、图7和图9,编码模块422可以包括:多个编码器911、912、...;矩阵生成器920;以及池化操作器930。下文中,为了方便,假设编码器的数量是2。
[0131]
第一编码器911可以对第一日志数据ld1进行编码。具体地,第一编码器911可以对第一日志数据ld1和第一参数数据np1执行矩阵乘法运算,并输出表示第一运算结果en的第一运算结果数据。如上面参考图8所述,第一运算结果en是1
×
4矩阵,并且第一运算结果en的元素可以是[5 1 1 5]。
[0132]
第二编码器912可以对第二日志数据ld2和第二参数数据np2执行矩阵乘法运算,并输出表示第二运算结果ep的第二运算结果数据。如上面参考图8所述,第二运算结果ep是1
×
4矩阵,并且第二运算结果ep的元素可以是[0.1 0.6 0.6 0.9]。
[0133]
矩阵生成器920可以接收第一运算结果数据和第二运算结果数据,并生成表示包括第一运算结果数据的运算结果和第二运算结果数据的运算结果作为元素的一个矩阵t的矩阵数据。一个矩阵t与上面参考图8描述的一个矩阵相同。
[0134]
池化操作器930基于矩阵数据对第一运算结果数据的运算结果执行池化操作并对第二运算结果数据的运算结果执行池化操作,以计算本征向量z。
[0135]
图9所示的矩阵生成器920和池化操作器930的每个操作与上面参考图8描述的那些相同。
[0136]
根据图9所示的实施例,与图8所示的实施例相比,可以进一步提高编码操作的准确性、精度或精密性。
[0137]
图10是示出应用根据本公开的实施例的存储设备的系统的图。
[0138]
参考图10,系统1000可以是移动系统,例如移动电话、智能电话、平板个人计算机、可穿戴装置、医疗保健装置或物联网(iot)装置。然而,系统1000无需限于移动系统,并且可以是个人计算机、膝上型计算机、服务器、媒体播放器或车辆装置(例如,导航装置)。
[0139]
系统1000可以包括主处理器1100、存储器1200a和1200b、以及存储设备1300a和1300b,并且还可以包括图像捕捉装置1410、用户输入装置1420、传感器1430、通信装置1440、显示器1450、扬声器1460、电源装置1470和连接接口1480中的一个或多个。
[0140]
主处理器1100可以控制系统1000的整体操作,并且更具体地,控制构成系统1000的其他组件的操作。主处理器1100可以实现为通用处理器、专用处理器或应用处理器。
[0141]
主处理器1100可以包括一个或多个cpu核1110,并且还可以包括用于控制存储器1200a和1200b以及/或者存储设备1300a和1300b的控制器1120。根据实施例,主处理1100还可以包括加速器1130,其是用于诸如人工智能(ai)数据操作之类的高速数据操作的专用电路。这样的加速器1130可以包括图形处理单元(gpu)、神经处理单元(npu)和/或数据处理单元(dpu)等,并且可以实现为物理上独立于主处理1100的其他组件的单独的芯片。
[0142]
存储器1200a和1200b可以用作系统1000的主存储器件,并且可以包括例如sram和/或dram的易失性存储器,以及包括非易失性存储器,例如,闪存、pram和/或rram。存储器1200a和1200b可以在与主处理1100相同的封装中实现。
[0143]
存储设备1300a和1300b可以用作无论是否对其供电都存储数据的非易失性存储设备,并且可以相对于存储器1200a和1200b具有较大的存储能力。存储设备1300a和1300b可以包括存储控制器1310a和1310b、以及用于在存储控制器1310a和1310b的控制下存储数据的非易失性存储器(nvm)1320a和1320b。nvm 1320a和1320b可以包括具有两维(2d)结构
或三维(3d)竖直nand(v-nand)结构的闪存,并且可以包括其他类型的非易失性存储器,例如pram和/或rram。
[0144]
存储设备1300a和1300b可以在与主处理器1100物理分开的状态下被包括在系统1000中,或者可以实现在与主处理器1100相同的封装中。此外,存储设备1300a和1300b可以与固态装置(ssd)或存储卡具有相同的形状,并且可以通过将在下文描述的接口(例如,连接接口1480)与系统1000的其他组件可拆卸地耦合。存储设备1300a和1300b可以是应用以下但不限于以下的标准协议的装置:例如通用闪存(ufs)、嵌入式多媒体卡(emmc)或非易失性存储器快速(nvme)。如之前结合图1至图9所述,存储设备1300a和1300b可以受到控制,并且可以包括各种组件。
[0145]
图像捕获装置1410可以捕获静止图像或运动图像,并且可以是相机、摄像机和/或网络相机。用户输入装置1420可以接收系统1000的用户输入的各种类型的数据,并且可以是触摸板、键区、键盘、鼠标和/或麦克风。传感器1430可以检测能够从系统1000的外部获得的各种类型的物理量,并且可以将所感测的物理量转换成电信号。这样的传感器1430可以是温度传感器、压力传感器、照度传感器、位置传感器、加速度传感器、生物传感器和/或陀螺仪传感器。通信装置1440可以根据各种通信协议在系统1000外部的其他器件之间发送和接收信号。这样的通信装置1440可以被实现为包括天线、收发器和/或调制解调器。
[0146]
显示器1450和扬声器1460可以用作向系统1000的用户分别输出视觉信息和听觉信息的输出装置。电源装置1470可以适当地转换从内置到系统1000中的电池(未示出)和/或外部电源提供的电力,并且向系统1000的每个组件提供经转换的电力。连接接口1480可以提供系统1000与外部设备之间的连接,该外部设备可以连接到系统1000以与系统1000交换数据。连接接口1480可以用以下各种接口方法实现:例如高级技术附件(ata)、串行ata(sata)、外部sata(e-sata)、小型计算机小型接口(scsi)、串行附接scsi(sas)、外围组件互连(pci)、pci快速(pcie)、nvme、ieee 1394、通用串行总线(usb)、安全数字(sd)卡、多媒体卡(mmc)、emmc、ufs、嵌入式通用闪存(eufs)和紧凑闪存(cf)卡接口。
[0147]
图11是示出根据本公开的另一实施例的存储系统的框图。
[0148]
参考图11,主机存储系统2000可以包括主机2100和存储设备2200。此外,存储设备200可以包括存储控制器2210和非易失性存储器(nvm)2220。此外,根据实施例,主机2100可以包括主机控制器2110和主机存储器2120。主机存储器2120可以用作用于暂时地存储要发送给存储设备2200的数据或从存储设备2200发送的数据的缓冲存储器。
[0149]
存储设备2200可以包括用于根据来自主机2100的请求存储数据的存储介质。例如,存储设备2200可以包括ssd、嵌入式存储器和可移动外部存储器中的至少一个。当存储设备2200是ssd时,存储设备2200可以是符合非易失性存储器快速(nvme)标准的装置。当存储设备2200是嵌入式存储器或外部存储器时,存储设备2200可以是符合通用闪存(ufs)或嵌入式多媒体卡(emmc)标准的装置。主机2100和存储设备2200可以分别根据所采用的标准协议生成和发送分组。如之前结合图1至图9所述,主机2100和存储设备2200可以进行操作并且可以包括各种组件。
[0150]
当存储设备2200的nvm 2220包括闪存时,所述闪存可以包括2d nand存储器阵列或3d(或竖直)nand(vnand)存储器阵列。又例如,存储设备2200可以包括其他各种类型的非易失性存储器。例如,磁ram(mram)、自旋转移扭矩mram、导电桥接ram(cbram)、铁电式ram
(feram)、相变ram(pram)、电阻式ram和其他各种类型的存储器可以应用于存储设备2200。
[0151]
根据实施例,主机控制器2110和主机存储器2120可以被实现为分离的半导体芯片。备选地,在一些实施例中,主机控制器2110和主机存储器2120可以被集成在相同的半导体芯片上。例如,主机控制器2110可以是应用处理器中包括的多个模块中的任意一个,并且应用处理器可以被实现为片上系统(soc)。此外,主机存储器2120可以是设置在应用处理器中的嵌入式存储器或布置在应用处理器外部的非易失性存储器或存储器模块。
[0152]
主机控制器2110可以管理将主机存储器2120的缓冲器区域的数据(例如,写数据)存储在nvm 2220中或将nvm 2220的数据(例如,读数据)存储在缓冲器区域中的操作。
[0153]
存储控制器2210可以包括主机接口2211、存储器接口2212和中央处理单元(cpu)2213。此外,存储控制器2210还可以包括闪存转换层(ftl)2214、分组管理器(pck mng)2215、缓冲存储器(buf mem)2216、纠错码(ecc)引擎(ecc eng)2217和高级加密标准(aes)引擎(aes eng)2218。存储控制器2210还可以包括将ftl 2214加载在其中的工作存储器(未示出)、以及执行ftl 2214以控制针对nvm 2220的读写操作的cpu 2213。
[0154]
主机接口2211可以将分组发送给主机2100并且从主机2100接收分组。从主机2100向主机接口2211发送的分组可以包括要存储在nvm 2220中的命令或数据等,并且从主机接口2211向主机2100发送的分组可以包括从nvm 2220读取的针对命令或数据的响应。存储器接口2212可以将要存储在nvm 2220中的数据发送给nvm 2220或接收从nvm 2220读取的数据。存储器接口2212可以实现为遵守诸如切换(toggle)或开放式nand闪存接口(onfi)之类的标准协议。
[0155]
ftl 2214可以执行诸如地址映射、耗损均衡和垃圾收集之类的各种功能。地址映射操作是将从主机2100接收的逻辑地址改变成用于将数据实际存储在nvm 2220中的物理地址的操作。耗损均衡是通过允许nvm 2220中的块被均匀地使用而防止特定块的过度劣化的技术,并且可以例如通过平衡物理块的擦除计数的固件技术来实现。垃圾收集是用于通过将块的有效数据拷贝到新块并随后擦除现有的块来保证nvm 2220中的可用能力的技术。
[0156]
分组管理器2215可以根据与主机2100协商的接口协议来生成分组或基于从主机2100接收的分组解析各种信息。此外,缓冲存储器2216可以暂时地存储要存储在nvm 2220中的数据或要从nvm 2220读取的数据。缓冲存储器2216可以设置在存储控制器2210中,并且可以设置在存储控制器2210外部。
[0157]
ecc引擎2217可以对从nvm 2220读取的读数据执行检错和纠错功能。具体地,ecc引擎2217可以生成针对要写到nvm 2220的写数据的奇偶校验位,并且可以将所生成的奇偶校验位与写数据一起存储在nvm 2220中。当从nvm 2220读取数据时,ecc引擎2217可以使用从nvm 2220读取的奇偶校验位以及已读取数据来纠正已读取数据中的错误,并且可以输出经纠错的已读取数据。
[0158]
aes引擎2218可以使用对称密钥算法对输入到存储控制器2210的数据执行加密操作和解密操作中的至少一个。
[0159]
图12是示出根据本公开的实施例的存储器系统的框图。
[0160]
参考图12,存储器系统3000可以包括存储器件3200和存储器控制器3100。存储器件3200可以与非易失性存储器件之一相对应,该非易失性存储器件基于多个通道之一与存储器控制器3100通信。如之前结合图1至图9所述,存储器控制器3100和存储器件3200可以
进行操作并且可以包括各种组件。
[0161]
存储器件3200可以包括第一引脚p11至第八引脚p18、存储器接口电路3210、控制逻辑电路3220和存储器单元阵列3230。存储器接口电路3210可以通过第一引脚p11从存储器控制器3100接收芯片使能信号nce。存储器接口电路3210可以根据芯片使能信号nce,通过第二引脚p12至第八引脚p18向存储器控制器3100发送信号/从其接收信号。例如,当芯片使能信号nce处于使能状态(例如,处于低电平)时,存储器接口电路3310可以通过第二引脚p12至第八引脚p18向存储器控制器3100发送/从存储器控制器3100接收信号。
[0162]
通过第二引脚p12至第四引脚p14,存储器接口电路3210可以从存储器控制器3100接收命令锁存使能信号cle、地址锁存使能信号ale和写使能信号nwe。通过第七引脚p17,存储器接口电路3210可以从存储器控制器3100接收数据信号dq或向存储器控制器3100发送数据信号dq。通过数据信号dq,可以发送命令cmd、地址addr和数据data。例如,通过多个数据信号线,可以发送数据信号dq。在这种情况下,第七引脚p17可以包括与多个数据信号相对应的多个引脚。
[0163]
存储器接口电路3210可以从数据信号dq获得命令cmd,数据信号dq是基于写使能信号nwe的转换定时在命令锁存使能信号cle的使能时段(例如,高电平状态)中接收的。存储器接口电路3210可以从数据信号dq获得地址addr,数据信号dq是基于写使能信号nwe的转换定时在地址锁存使能信号ale的使能时段(例如,高电平状态)中接收的。
[0164]
在示例实施例中,写使能信号nwe可以在保持静态状态(例如,高电平或低电平)期间在高电平和低电平之间转换。例如,写使能信号nwe可以在发送命令cmd或地址addr的时段中进行转换。因此,存储器接口电路3210可以基于写使能信号nwe的转换定时而获取命令cmd或地址addr。
[0165]
存储器接口电路3210可以通过第五引脚p15从存储器控制器3100接收读使能信号nre。存储器接口电路3210可以通过第六引脚p16从存储器控制器3100接收数据选通信号dqs或向存储器控制器3100发送数据选通信号dqs。
[0166]
在存储器件3200的数据输出操作中,存储器接口电路3210可以在输出数据data之前,通过第五引脚p15接收转换的读使能信号nre。存储器接口电路3210可以基于读使能信号nre的转换而生成转换的数据选通信号dqs。例如,存储器接口电路3210可以生成数据选通信号dqs,数据选通信号dqs在以读取使能信号nre的转换起始时间为基准的预设延迟(例如tdqsre)之后开始转换。存储器接口电路3210可以基于数据选通信号dqs的转换定时,发送包括数据data的数据信号dq。因此,数据data可以与数据选通信号dqs的转换定时对齐并被发送到存储器控制器3100。
[0167]
在存储器件3200的数据输入操作中,当从存储器控制器3100接收包括数据data的数据信号dq时,存储器接口电路3210可以从存储器控制器3100接收转换的数据选通信号dqs和数据data。存储器接口电路3210可以基于数据选通信号dqs的转换定时从数据信号dq获取数据data。例如,通过在数据选通信号dqs的上升沿和下降沿处采样数据信号dq,存储器接口电路3210可以获取数据data。
[0168]
存储器接口电路3210可以通过第八引脚p18将就绪/繁忙输出信号nr/b发送到存储器控制器3100。通过就绪/繁忙输出信号nr/b,存储器接口电路3210可以将存储器件3200的状态信息发送到存储器控制器3100。当存储器件3200处于繁忙状态时(即,当正在执行存
储器件3200的内部操作时),存储器接口电路3210可以将指示繁忙状态的就绪/繁忙输出信号nr/b发送到存储器控制器3100。当存储器件3200处于就绪状态时(即,当未执行或已完成存储器件3200的内部操作时),存储器接口电路3210可以将指示就绪状态的就绪/繁忙输出信号nr/b发送到存储器控制器3100。例如,当存储器件3200响应于页读取命令从存储器单元阵列3230读取数据data时,存储器接口电路3210可以将指示繁忙状态的就绪/繁忙输出信号nr/b(例如,低电平)发送到存储器控制器3100。例如,当存储器件3200响应于编程命令将数据data编程到存储器单元阵列3230中时,存储器接口电路3210可以将指示繁忙状态的就绪/繁忙输出信号nr/b发送到存储器控制器3100。
[0169]
控制逻辑电路3220可以总体控制存储器件3200的各种操作。控制逻辑电路3220可以接收从存储器接口电路3210获得的命令/地址cmd/addr。控制逻辑电路3220可以根据已接收的命令cmd/地址addr生成用于控制存储器件3200的其他组件的控制信号。例如,控制逻辑电路3220可以生成用于将数据data编程到存储器单元阵列3230中或从存储器单元阵列3230读取数据data的各种控制信号。
[0170]
存储器单元阵列3230可以在控制逻辑电路3220的控制下存储从存储器接口电路3210获得的数据data。存储器单元阵列3230可以在控制逻辑电路3220的控制下向存储器i/f 3210输出已存储的数据data。
[0171]
存储器单元阵列3230可以包括多个存储器单元。例如,所述多个存储器单元可以是闪存单元。然而,本公开的实施例不限于此,并且存储器单元可以是电阻式随机存取存储器(rram)单元、铁电式随机存取存储器(fram)单元、相变随机存取存储器(pram)单元、晶闸管随机存取存储器(tram)单元或磁随机存取存储器(mram)单元中的一种。在下文中,重点描述存储器单元是nand闪存单元的实施例。
[0172]
存储器控制器3100可以包括第一引脚p21至第八引脚p28以及控制器接口电路3110。第一引脚p21至第八引脚p28可以与存储器件3200的第一引脚p11至第八引脚p18相对应。通过第一引脚p21,控制器接口电路3110可以将芯片使能信号nce发送到存储器件3200。控制器接口电路3110可以通过第二引脚p22至第八引脚p28向通过芯片使能信号nce选择的存储器件3200发送信号/从其接收信号。
[0173]
控制器接口电路3110可以通过第二引脚p22至第四引脚p24向存储器件3200发送命令锁存使能信号cle、地址锁存使能信号ale和写使能信号nwe。控制器接口电路3110可以通过第七引脚p27向存储器件3200发送数据信号dq或从存储器件3200接收数据信号dq。
[0174]
控制器接口电路3110可以向存储器件3200发送包括命令cmd或地址addr的数据信号dq以及转换的写使能信号nwe。当发送具有使能状态的命令锁存使能信号cle时,控制器接口电路3110向存储器件3200发送包括命令cmd的数据信号dq,并且当发送具有启用状态的地址锁存使能信号ale时,控制器接口电路3110可以向存储器件3200发送包括地址addr的数据信号dq。
[0175]
控制器接口电路3110可以通过第五引脚p25将读使能信号nre发送到存储器件3200。控制器接口电路3110可以通过第六引脚p26从存储器件3200接收数据选通信号dqs或者向存储器件3200发送数据选通信号dqs。
[0176]
在存储器件3200的数据输出操作中,控制器接口电路3110可以生成转换的读使能信号nre,并向存储器件3200发送读使能信号nre。例如,控制器接口电路3110可以在输出数
据data之前,生成读使能信号nre,读使能信号nre从固定状态(例如,高电平或低电平)改变为转换状态。因此,可以生成在存储器件3200中基于读使能信号nre转换的数据选通信号dqs。控制器接口电路3110可以从存储器件3200接收包括数据data的数据信号dq以及转换的数据选通信号dqs。基于数据选通信号dqs的转换定时,控制器接口电路3110可以从数据信号dq获取数据data。
[0177]
在存储器件3200的数据输入操作中,控制器接口电路3110可以生成转换的数据选通信号dqs。例如,控制器接口电路3110可以在发送数据data之前,生成数据选通信号dqs,数据选通信号dqs从固定状态(例如,高电平或低电平)改变为转换状态。控制器接口电路3110可以基于数据选通信号dqs的转换定时,将包括数据data的数据信号dq发送到存储器件3200。控制器接口电路3110可以通过第八引脚p28从存储器件3200接收就绪/繁忙输出信号nr/b。控制器接口电路3110可以基于就绪/繁忙输出信号nr/b,确定存储器件3200的状态信息。
[0178]
图13是用于说明根据本公开的实施例的3d vnand结构的图。
[0179]
参考图13,当非易失性存储器实现为3d vnand型闪存时,构成存储模块的多个存储器块中的每一个可以由如图14所示的等效电路表示。存储器块blki表示在衬底上以三维结构形成的3d存储器块。例如,可以在垂直于衬底的方向上形成存储器块blki中包括的多个存储器nand串。
[0180]
存储器块blki可以包括在位线bl1、bl2和bl3与公共源极线csl之间连接的多个存储器nand串ns11至ns33。多个存储器nand串ns11至ns33中的每一个可以包括串选择晶体管sst,多个存储器单元mc1、mc2、...、mc8,以及地选择晶体管gst。在图14中将多个存储器nand串ns11至ns33中的每一个示出为包括八个存储器单元mcl、mc2、......、mc8,但是本发明构思不限于此。
[0181]
串选择晶体管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。
[0182]
相同高度的字线(例如,gtl1)可以共同连接,并且地选择线gsl1、gsl2和gsl3和串选择线sl1、ssl2和ssl3可以彼此分离。在图14中,将存储器块blki示出为连接到八条栅极线gtl1、gtl2、......、gtl8和三条位线bl1、bl2和bl3,但是不限于此。图14的非易失性存储器可以用作图1的非易失性存储器130、图10的闪存1320a和/或1320b、图11的nvm 2220或图12的存储器单元阵列3230。
[0183]
图14是用于说明根据本公开的实施例的接合竖直nand(b-vnand)结构的图。
[0184]
参考图14,当非易失性存储器实现为b-vnand型闪存时,所述非易失性存储器可以具有图14所示的结构。图14的非易失性存储器可以用作图1的非易失性存储器130、图10的闪存1320a和/或1320b、图11的nvm 2220或图12的存储器单元阵列3230,并且可以用于实现图13的非易失性存储器。
[0185]
存储器件4000可以具有芯片对芯片(c2c)结构。c2c结构可以表示在在第一晶片上
制造包括单元区cell的上芯片并在与第一晶片不同的第二晶片上制造包括外围电路区peri的下芯片之后通过接合方法使上芯片与下芯片彼此连接。例如,接合方法可以指将在上芯片的最上方金属层中形成的接合金属与在下芯片的最上方金属层中形成的接合金属彼此电连接的方法。例如,当接合金属由铜(cu)形成时,接合方法可以是cu-cu接合方法,并且接合金属也可以由铝或钨形成。
[0186]
存储器件4000的外围电路区peri和单元区cell中的每一个可以包括外部焊盘接合区pa、字线接合区wlba和位线接合区blba。
[0187]
外围电路区peri可以包括:第一衬底4110;层间绝缘层4115;在第一衬底4110上形成的多个电路元件4120a、4120b和4120c;分别连接到多个电路元件4120a、4120b和4120c的多个第一金属层4130a、4130b和4130c;以及在多个第一金属层4130a、4130b和4130c上形成的多个第二金属层4140a、4140b和4140c。在一个实施例中,第一金属层4130a、4130b和4130c可以由具有较大的电阻的钨形成,并且第二金属层4140a、4140b和4140c可以由具有较小的电阻的铜形成。
[0188]
在本说明书中,仅示出和描述了第一金属层4130a、4130b和4130c以及第二金属层4140a、4140b和4140c,但是本公开的实施例不限于此,并且还可以在第二金属层4140a、4140b和4140c上形成至少一个金属层。在第二金属层4140a、4140b和4140c上形成的一个或多个金属层中的至少一些可以由具有比形成第二金属层4140a、4140b和4140c的铜低的电阻的铝等形成。
[0189]
将层间绝缘层4115布置在第一衬底4110上,以覆盖多个电路元件4120a、4120b和4120c,第一金属层4130a、4130b和4130c,以及第二金属层4140a、4140b和4140c,并且可以包括绝缘材料(例如,氧化硅、氮化硅等)。
[0190]
下接合金属4171b和4172b可以在字线接合区wlba的第二金属层4140b上形成。在字线接合区wlba中,外围电路区peri的下接合金属4171b和4172b可以通过接合方法与单元区cell的上接合金属4271b和4272b彼此电连接,并且下接合金属4171b和4172b以及上接合金属4271b和4272b可以由铝、铜、钨等形成。
[0191]
单元区cell可以设置至少一个存储块。单元区cell可以包括第二衬底4210和公共源极线4220。多条字线4231至4238(即,4230)可以在第二衬底4210上沿与第二衬底4210的上表面垂直的方向(z轴方向)堆叠。串选择线和地选择线可以布置在字线4230的每个上部和下部上,并且多条字线4230可以布置在串选择线与地选择线之间。
[0192]
在位线接合区blba中,沟道结构ch可以在垂直于第二衬底4210的上表面的方向上延伸,以穿过字线4230、串选择线和地选择线。沟道结构ch可以包括数据存储层、沟道层和掩埋绝缘层,并且沟道层可以电连接到第一金属层4250c和第二金属层4260c。例如,第一金属层4250c可以是位线接触,并且第二金属层4260c可以是位线。在实施例中,位线4260c可以沿平行于第二衬底4210的上表面的第一方向(y轴方向)延伸。
[0193]
可以将布置有沟道结构ch和位线4260c的区域定义为位线接合区blba。位线4260c可以在位线接合区blba中与外围电路区peri中提供页缓冲器4293的电路元件4120c电连接。例如,位线4260c可以连接到外围电路区peri中的上接合金属4271c和4272c,并且上接合金属4271c和4272c可以连接到下接合金属4171c和4172c,下接合金属4171c和4172c与页缓冲器4293的电路元件4120c相连。
[0194]
在字线接合区wlba中,字线4230可以在平行于第二衬底4210的上表面的第二方向(x轴方向)上延伸,并且可以连接到多个单元接触塞4241至4247(即,4240)。字线4230和单元接触塞4240可以经由通过沿第二方向将多条字线4230中的至少一部分延伸到不同长度而设置的焊盘彼此连接。第一金属层4250b和第二金属层4260b可以顺序地连接到与字线4230相连的单元接触塞4240的上部。单元接触插塞4240可以在字线接合区wlba中通过单元区cell的上接合金属4271b和4272b以及外围电路区peri的下接合金属4171b和4172b连接到外围电路区peri。
[0195]
单元接触插塞4240可以与外围电路区peri中提供行解码器4294的电路元件4120b电连接。在实施例中,提供行解码器4294的电路元件4120b的工作电压可以不同于提供页缓冲器4293的电路元件4120c的工作电压。例如,提供页缓冲器4293的电路元件4120c的工作电压可以大于提供行解码器4294的电路元件4120b的工作电压。
[0196]
公共源极线接触塞4280可以布置在外部焊盘接合区pa中。公共源极线接触塞4280由诸如金属、金属化合物或多晶硅之类的导电材料形成,并且可以与公共源极线4220电连接。第一金属层4250a和第二金属层4260a可以顺序地堆叠在公共源极线接触塞4280上。例如,布置有公共源极线接触塞4280、第一金属层4250a和第二金属层4260a的区域可以被定义为外部焊盘接合区pa。
[0197]
同时,输入/输出焊盘4105和4205可以布置在外部焊盘接合区paφ。可以在第一衬底4110的下方形成覆盖第一衬底4110的下表面的下绝缘膜4101,并且可以在下绝缘膜4101上形成第一输入/输出焊盘4105。第一输入/输出焊盘4105可以通过第一输入/输出接触塞4103连接到设置在外围电路区peri中的多个电路元件4120a、4120b和4120c中的至少一个,并且可以通过下绝缘膜4101与第一衬底4110分离。此外,可以在第一输入/输出接触塞4103和第一衬底4110之间布置侧绝缘膜,以将第一输入/输出接触塞4103与第一衬底4110电分离。
[0198]
可以在第二衬底4210上形成覆盖第二衬底4210的上表面的上绝缘膜4201,并且可以在上绝缘膜4201上布置第二输入/输出焊盘4205。第二输入/输出焊盘4205可以通过第二输入/输出接触塞4203连接到在外围电路区peri中布置的多个电路元件4120a、4120b和4120c中的至少一个。
[0199]
根据实施例,第二衬底4210和公共源极线4220可以不布置在布置有第二输入/输出接触塞4203的区域中。此外,第二输入/输出焊盘4205可以在第三方向(z轴方向)上不与字线4230重叠。第二输入/输出接触塞4203可以在平行于第二衬底4210的上表面的方向上与第二衬底4210分离,并且可以通过单元区cell的层间绝缘层4215连接到第二输入/输出焊盘4205。
[0200]
根据实施例,可以选择性地形成第一输入/输出焊盘4105和第二输入/输出焊盘4205。例如,存储器件4000可以仅包括布置在第一衬底4110上的第一输入/输出焊盘4105,或者可以仅包括布置在第二衬底4210上的第二输入/输出焊盘4205。备选地,存储器件4000可以包括第一输入/输出焊盘4105和第二输入/输出焊盘4205两者。
[0201]
在分别包括在单元区cell和外围电路区peri中的外部焊盘接合区pa和位线接合区blba中的每一个中,最上方金属层的金属图案可以存在为虚设图案,或者最上方金属层可以是空的。
[0202]
对于存储器件4000,可以在外部焊盘接合区pa中在外围电路区peri的最上方金属层上形成与单元区cell的上金属图案4272a具有相同形状的下金属图案4176a,对应于在单元区cell的最上方金属层上形成的上金属图案4272a。形成在外围电路区peri的最上方金属层中的下金属图案4176a可以不连接到外围电路区peri中的单独接触部。类似地,对应于在外部焊盘接合区pa中在外围电路区peri的最上方金属层上形成的下金属图案,与外围电路区peri的下金属图案具有相同形状的上金属图案可以形成在单元区cell的上金属层上。
[0203]
下接合金属4171b和4172b可以在字线接合区wlba的第二金属层4140b上形成。在字线接合区wlba中,外围电路区peri的下接合金属4171b和4172b可以通过接合方法电连接到单元区cell的上接合金属4271b和4272b。
[0204]
此外,在位线接合区paba中,对应于形成在外围电路区peri的最上方金属层中的下金属图案4152,可以在单元区cell的最上方金属层上形成与外围电路区peri的下金属图案4152具有相同形状的上金属图案4292。可以不在形成于单元区cell的最上方金属层中的上金属图案4292上方形成接触部。
[0205]
尽管已参考本发明构思的实施例具体示出和描述了本发明构思的方面,但是应当理解,在不脱离所附权利要求的精神和范围的情况下,可以在形式和细节上进行各种改变。
[0206]
如在所公开的技术领域中通常的做法,以功能块、单元和/或模块来描述并在附图中示出特征和实施例。本领域技术人员将了解,这些块、单元和/或模块由诸如逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等的电子(或光学)电路物理地实现,所述电子(或光学)电路可以使用基于半导体的制造技术或其他制造技术来形成。在块、单元和/或模块由微处理器等实现的情况下,它们可以使用软件(例如,微代码)来编程以执行本文讨论的各种功能,并且可以可选地由固件和/或软件驱动。备选地,每个块、单元和/或模块可以通过专用硬件实现或实现为执行一些功能的专用硬件和执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。此外,在不脱离本发明构思的范围的情况下,实施例的每一个块、单元和/或模块可以物理地分成两个或更多个交互和分立的块、单元和/或模块。此外,在不脱离本发明构思的范围的情况下,实施例的块、单元和/或模块可以物理地组合成更复杂的块、单元和/或模块。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献