压缩存储器装置中使用的深度神经网络的制作方法



1.本专利申请文件总体上涉及非易失性存储器装置,并且更具体地,涉及非易失性存储器装置中的深度神经网络。


背景技术:



2.数据完整性是任何数据存储装置和数据传输的重要特征。在固态存储器存储(例如,nand闪存)装置中,信息通过单元中的不同电荷水平存储在单元中。在写入和读取过程中,编程干扰和单元间干扰电荷泄漏引入噪声,从而导致电压电平随时间下降,其中电压电平的下降与存储的电荷量以及单元经历的编程和擦除(p/e)循环的数量成比例。当确定读取电压阈值时,考虑电压降会增加存储器装置的寿命。


技术实现要素:



3.所公开技术的实施例涉及提高存储器装置的块的性能的方法、系统和装置。在示例中,通过使用被压缩以减少延迟和推理时间的深度神经网络(dnn)生成考虑存储器单元的劣化的读取阈值来提高存储器装置的性能,从而实现在整个寿命周期内从各种类型的存储器装置中稳健地检索信息。
4.在一个示例中,提供了一种提高存储器装置的性能的方法。该方法包括:接收与对存储器装置的页面的多个先前读取操作相关联的一个或多个参数,其中先前读取操作基于多个读取电压,并且其中一个或多个参数包括该页面的读取偏压、1的计数或错误校正码的校验和中的至少一个;使用一个或多个参数作为包括多个层的深度神经网络的输入来确定更新的多个读取电压,其中多个层中的每一层都是全连接层;并且将更新的多个读取电压施加到存储器装置以从存储器装置检索信息,其中深度神经网络使用已经使用(a)剪枝操作、(b)非均匀量化操作或(c)霍夫曼编码操作中的至少一个进行了处理的多个权重
5.在又一示例中,这些方法可以以处理器可运行指令的形式实现并且存储在计算机可读程序介质上。
6.本专利申请文件中描述的主题可以以提供下面的特征中的一个或多个的特定方式来实施。
附图说明
7.图1示出存储器系统的示例。
8.图2示出基于所公开技术的一些实施例实施的存储器单元阵列的示例。
9.图3是示出非易失性存储器装置的单元电压电平分布(v
th
)的示例图。
10.图4是示出非易失性存储器装置的单元电压电平分布(v
th
)的另一示例图。
11.图5是示出在编程干扰之前和之后非易失性存储器装置的单元电压电平分布(v
th
)的示例图。
12.图6是示出作为参考电压的函数的非易失性存储器装置的单元电压电平分布(v
th
)
的示例图。
13.图7示出三层单元(tlc)nand闪存块的经验电压概率分布和读取阈值的示例。
14.图8是示出可以被配置为估计最佳读取偏移的深度神经网络(dnn)的示例图。
15.图9示出压缩dnn的示例方法的流程图。
16.图10示出提高存储器装置的性能的示例方法的流程图。
17.图11是示出可以被配置为实施所描述的实施例的存储装置的示例图。
具体实施方式
18.半导体存储器装置可以是易失性或非易失性的。易失性半导体存储器装置以高速执行读取操作和写入操作,而其中存储的内容在断电时可能会丢失。非易失性半导体存储器装置即使在断电时也可以保留存储在其中的内容。非易失性半导体存储器装置可以用于存储无论是否通电都必须保留的内容。
19.随着对大容量存储器装置的需求增加,每个单元存储多位数据的多层单元(mlc)或多位存储器装置正变得越来越普遍。然而,mlc非易失性存储器装置中的存储器单元必须具有与有限电压窗口中四个或更多个可辨别数据状态相对应的阈值电压。为了提高非易失性存储器装置中的数据完整性,用于辨别数据状态的读取电压的电平和分布必须在存储器装置的整个生命周期内调整,以在读取操作和/或读取尝试期间具有最佳值。
20.已经开发了若干方法来在非易失性存储器装置中生成最佳读取电压。一些方法采用了深度神经网络(dnn),它更多地用于诸如计算机视觉(cv)、自然语言处理(nlp)、机器人和语音的领域。在示例中,所公开的技术的实施例涉及压缩非易失性存储器系统(例如,如图1至图6中所描述的)使用的dnn,这有利地于减少了dnn的延迟和推理时间。
21.图1至图6概述了其中可以实施所公开技术的实施例的非易失性存储器系统(例如,基于闪存的存储器或nand闪存)。
22.图1是示出基于所公开技术的一些实施例实施的存储器系统100的示例的框图。存储器系统100包括存储器模块110,存储器模块110可以用于存储信息以供其它电子装置或系统使用。存储器系统100可以并入其它电子装置和系统中(例如,位于其电路板上)。可选地,存储器系统100可以被实施为诸如usb闪存驱动器和固态驱动器(ssd)的外部存储装置。
23.存储器系统100中包括的存储器模块110可以包括存储器区域(例如,存储器阵列)102、104、106和108。存储器区域102、104、106和108中的每一个可以包括在单个存储器管芯或多个存储器管芯中。存储器管芯可以包括在集成电路(ic)芯片中。
24.存储器区域102、104、106和108中的每一个包括多个存储器单元。可以基于存储器元件(memory unit)执行读取操作、编程操作或擦除操作。因此,每个存储器元件可以包括预定数量的存储器单元。存储器区域102、104、106和108中的存储器单元可以包括在单个存储器管芯或多个存储器管芯中。
25.存储器区域102、104、106和108中的每一个中的存储器单元可以按行和列布置在存储器元件中。存储器元件中的每一个可以是物理元件。例如,一组多个存储器单元可以形成存储器元件。存储器元件中的每一个也可以是逻辑元件。例如,存储器元件可以是块或页面,该块或页面可以分别由诸如块地址或页面地址等的唯一地址标识。再例如,其中存储器区域102、104、106和108可以包括计算机存储器,该计算机存储器包括作为数据存储的逻辑
line)结构。在偶数/奇数位线结构中,偶数位线和奇数位线沿着每条字线交错并且被交替访问,使得每对偶数位线和奇数位线可以共享诸如页面缓冲器的外围电路。在全位线结构中,所有位线被同时访问。
34.图3示出多层单元装置中的阈值电压分布曲线的示例,其中每个编程/擦除状态的单元的数量被绘制为阈值电压的函数。如图所示,阈值电压分布曲线包括具有最低阈值电压的擦除状态(表示为“er”并且对应于“11”)和三个编程状态(表示为“p1”、“p2”和“p3”,分别对应于“01”、“00”和“10”),其中读取电压(由虚线表示)在这些状态之间。在一些实施例中,由于存储器阵列间的材料特性的差异,编程/擦除状态的每一个阈值电压分布具有有限的宽度。
35.尽管图3通过示例的方式示出多层单元装置,但是存储器单元中的每一个可以被配置为每单元存储任意数量的位。在一些实施方案中,存储器单元中的每一个可以被配置为每单元存储一位信息的单层单元(slc),或每单元存储三位信息的三层单元(tlc),或每单元存储四位信息的四层单元(qlc)。
36.在将多于一个数据位写入存储器单元时,由于相邻分布之间的距离减小,因此需要精确地设置存储器单元的阈值电压电平。这是通过使用增量步进脉冲编程(ispp)来实现的,也就是说,使用向字线施加阶梯式编程电压的编程和验证方法来对同一字线上的存储器单元进行重复编程。每个编程状态与验证操作中使用的验证电压相关联,并且设置每个阈值电压分布窗口的目标位置。
37.阈值电压分布的失真或重叠可能导致读取错误。由于例如编程和擦除(p/e)循环、单元间干扰和数据保留错误,理想的存储器单元阈值电压分布可能明显失真或重叠,这将在下面进行讨论,并且在大多数情况下,这些读取错误可以通过使用错误校正码(ecc)进行管理。
38.图4示出理想的阈值电压分布曲线410的示例和失真的阈值电压分布曲线420的示例。纵轴表示具有在横轴上表示的特定阈值电压的存储器单元的数量。
39.对于n位多层单元nand闪速存储器,每个单元的阈值电压可以被编程为2n个可能的值。在理想的多层单元nand闪速存储器中,每个值对应于非重叠的阈值电压窗口。
40.闪速存储器p/e循环对单元晶体管的电荷俘获层的浮栅的隧道氧化物造成损坏,这导致阈值电压偏移,从而逐渐降低存储器装置噪声裕量(margin)。随着p/e循环增加,不同编程状态的相邻分布之间的裕量减小,最终分布开始重叠。具有编程在相邻分布的重叠范围内的阈值电压的存储器单元中存储的数据位可能被误判断为不同于原始目标值的值。
41.图5示出nand闪速存储器中的单元间干扰的示例。单元间干扰还可能导致闪存单元的阈值电压失真。一个存储器单元晶体管的阈值电压偏移可以通过干扰单元和被干扰单元之间的寄生电容耦合效应来影响该存储器单元晶体管的相邻存储器单元晶体管的阈值电压。单元间干扰的量可能受nand闪速存储器位线结构的影响。在偶数/奇数位线结构中,一条字线上的存储器单元交替连接到偶数位线和奇数位线,并且在同一字线中,偶数单元在奇数单元之前被编程。因此,偶数单元和奇数单元受到不同量的单元间干扰。全位线结构中的单元比偶数/奇数位线结构中的偶数单元受到更少的单元间干扰,并且全位线结构可以有效支持高速电流感测,以提高存储器读取和验证速度。
42.图5中的虚线表示所考虑的单元的p/e状态(在编程干扰之前)的标称分布,而“相
邻状态值”表示相邻状态已被编程的值。如图5所示,如果相邻状态被编程为p1,则所考虑的单元的阈值电压分布偏移特定量。然而,如果相邻状态被编程为阈值电压高于p1的p2,则与相邻状态为p1相比,这会导致更大的偏移。类似地,当相邻状态被编程为p3时,阈值电压分布的偏移最大。
43.图6通过将正常的阈值电压分布和偏移的阈值电压分布进行比较来示出nand闪速存储器中的保留错误的示例。nand闪速存储器中存储的数据会随着时间的推移而损坏,这被称为数据保留错误。保留错误由单元晶体管的浮栅或电荷俘获层中存储的电荷损失导致。由于浮栅或电荷俘获层的损耗,具有更多编程擦除循环的存储器单元更容易遇到保留错误。在图6的示例中,将上面的电压分布(在损坏之前)和下面的分布(被保留错误污染)进行比较显示向左偏移。
44.在基于nand的存储系统中(例如,图1-6示出的示例),可以使用深度神经网络(dnn)估计阈值电压。在示例中,可以使用仅依赖于先前读取观察(例如对nand闪存页面的每次先前读取尝试的读取偏压、校验和以及1的计数)的方案来确定最佳读取电压。由于该方案不使用任何额外的读取尝试来估计最佳读取阈值电压,因此没有nand感测开销,并且该方案的总体延迟由dnn的前向传播(forward-propagation)步骤确定。
45.前向传播包括将模型参数(神经网络的每一层的权重和偏差)传送到适当的寄存器中以及使用这些传送的权重和dnn的输入的乘法累加操作。由于控制器上的寄存器和高速缓存存储器有限,并且很少需要dnn推理,因此权重存储在单独的存储器中,并且每当需要时加载。从单独的存储器中加载权重会增加传送权重的延迟。此外,如果权重的精度较低或降低,则读取电压估计的准确性会降低,因此,将训练的参数简单缩放到较低精度以降低存储器要求通常会导致对最佳读取电压的估计不准确。
46.所描述的实施例通过压缩dnn有利地减少了延迟和推理时间。dnn的压缩技术试图在不会以不利的方式显著影响dnn的性能的情况下降低dnn的计算复杂度。在示例中,利用剪枝、量化、训练量化和霍夫曼编码来压缩dnn。通过压缩dnn,可以减少权重加载和推理时间。
47.图7示出三层单元(tlc)nand闪存块的经验电压概率分布的示例,其中可以使用深度神经网络来确定读取阈值,深度神经网络的输入包括来自特定数量读取的读取偏压、校验和以及1的计数。擦除分布(era)和编程验证(pv)分布(例如,pv1-pv7)被示出与读取阈值(或读取电平,例如,rd0、rd1和rd2)有关。
48.在一些实施例中,可以使用图8中所示的示例dnn来估计图7中的读取阈值。如图所示,dnn 800包括多个全连接层。在全连接层中,来自一层的所有输入都连接到下一层的每个激活单元。与图像处理应用中通常用于检测边缘的卷积神经网络(cnn)不同,图8中所示的dnn被配置为使用来自先前存储器页面读取的读取偏压、校验和以及1的计数并且输出对该页面的最佳读取电压的估计。cnn使用卷积层以通过利用其平移同变性特性来检测边缘和形状,而本文讨论的dnn使用全连接层来确定最佳读取阈值。
49.在一些实施例中,输入层(820)和隐藏层(830、840和850)可以具有不同的输入和输出维度。在图8所示的示例中,输入层820的维度为12
×
128,隐藏层830和840的维度为128
×
128,而隐藏层850的维度为128
×
64。输入层820和隐藏层(830、840、850)中的每一个之后是整流线性单元(表示为relu)和标度函数(分别表示为825、835、845和855)。输出层860的
输出维度为2,其提供页面的最佳读取电压的估计,可以使用输出量化器870将该估计量化到更高的精度。
50.在一些实施例中,可以根据逻辑页面所需的读取电压的数量来增加或减少输出维度。
51.在一些实施例中,权重和偏差要么被量化为预定数量的位(例如,16位有符号整数),要么使用浮点值表示。在图8所示的示例中,从输入量化器810接收16位输入的输入层820使用16位整数(表示为int16)进行操作并且生成48位输出,该输出随后通过relu和定标操作被按比例缩小到16位。在本示例中,权重和偏差所需的存储需要86148字节。
52.可以压缩权重和偏差的存储要求,以减少前向传播步骤的延迟。然而,如果利用有损压缩对权重和偏差进行量化,则由压缩的dnn估计的最佳读取电压的准确度可能会降低。准确度损失必须保持较低以确保被估计的最佳读取电压不会对存储器装置的性能产生不利影响。
53.在一些实施例中,可以使用剪枝、量化或训练量化以及霍夫曼编码中的一种或多种来压缩dnn。对权重进行剪枝可以包括选择阈值并且将权重中的每一个与阈值进行比较以确定是否移除了特定权重。在示例中,阈值可以基于正在被剪枝的特定层中的权重分布。可选地,对权重进行剪枝可以包括每个层中的预定百分比的权重。
54.量化是利用减少的位数表示值的过程,并且可以应用于dnn中的权重、激活和梯度值。在示例中,可以应用将更多位分配给更常见的值的非均匀量化。在霍夫曼编码中,前缀码通常用于无损数据压缩,可变长码用于表示权重。在本文中,较短的码字表示更常用的权重,而较长的码字用于不太常用的权重表示。
55.在一些示例中,可以应用均匀和非均匀量化方法,然后应用霍夫曼编码。在其他示例中,非均匀量化和霍夫曼编码可以独立地应用于每层的权重。
56.在一些实施例中,用于有损源编码的信息论量化方法可以在将估计损失最小化的同时用于实现最佳压缩比。在本示例中,量化器的输入是与网络的权重和偏差相对应的未量化值,而量化器的输出是与这些权重和偏差相对应的量化值。基于未量化值的概率质量函数,定义未量化值和量化值之间的失真度量以将整体失真最小化。通过将未量化值的有效范围划分量化区域(其中每个量化区域是区间),该问题被转化为标量量化问题。然后标量量化器确定哪些未量化值将映射到每个区域中的代表点。当失真度量考虑均方误差(mse)时,lloyd-max算法输出将整体均方误差最小化的最佳标量量化器。
57.在一些实施例中,霍夫曼编码在量化之后应用,并且对于lsb页面的r2和r6读取级别,可以进一步将压缩比提高4倍到7倍,如表1所示。如其中所示,对于大多数情况,估计误差为~0v,并且压缩比的界限随着量化水平的增加而减小。
58.表1不同量化的示例压缩结果
59.量化99%估计误差r299%估计误差r6压缩比(边界)6位非均匀~0.1v~0.02v7.628位非均匀小于0.02v~0v4.7210位非均匀~0v~0v2.7512位非均匀~0v~0v1.36
60.在一些实施例中,对于经量化的和霍夫曼编码的权重,重构或查表(lut)可以用
来获得dnn的16位量化权重。如表2中示出的示例,其中“1”的编码索引为“11”并且“256”的编码索引为“100100”。也就是说,霍夫曼编码确保使用更短的编码索引来表示更有可能的索引。16位整数权重的霍夫曼编码索引示例如表2所示。注意,没有编码索引是另一个编码索引的前缀。在不失一般性的情况下,本文中描述的压缩方法可以推广到任何数量的量化权重。
61.表2权重重构表示例
62.索引编码索引16位整数权重1111010

011020101110

011031010010

0110
………
2561001001010

1111
63.图9示出用于压缩dnn的示例方法的流程图。如图所示,原始(或输入)神经网络的权重首先由包括剪枝连接(910)和重新训练权重(920)的剪枝操作处理。可以迭代地执行剪枝和训练操作,以确保尽管进行了剪枝操作,但原始网络的性能也不会显著降低。
64.该方法继续通过量化操作处理经剪枝的权重。在图9所示的示例中,向量量化操作包括对权重进行聚类(930)、生成码本(935)、基于码本量化权重(940)以及重新训练码本(945)。这些操作试图在尽可能少丢失信息的同时利用最少的码本向量表示权重。如前所述,向量量化操作使失真度量(或重构度量)最小化,该失真度量被定义为未量化(输入)权重与量化(输出,基于码本的)权重之间的差。
65.现在使用霍夫曼编码操作950处理经量化的权重,霍夫曼编码操作950使用可变长度码字来对源符号(或这种情况下的权重)进行编码。在示例中,霍夫曼编码表是基于每个源符号的出现概率得到的,其中更常见的符号用更少的位来表示。
66.图9所示的用于压缩dnn的示例方法可以应用于nn实施方案,该方案对存储模型参数的存储器需求较大。在一些实施例中,可以跳过或绕过图9所示的剪枝、量化或霍夫曼编码操作中的至少一个。
67.图10示出用于提高存储器装置性能的方法1000的流程图。方法1000包括,在操作1010,接收与对存储器装置的页面的多个先前读取操作相关联的一个或多个参数。在一些实施例中,先前读取操作基于多个读取电压,并且一个或多个参数包括页面的读取偏压、1的计数或错误校正码的校验和中的至少一个。
68.方法1000包括,在操作1020,使用一个或多个参数作为包括多个层的深度神经网络的输入来确定经更新的多个读取电压,并且多个层中的每一个是全连接层。
69.方法1000包括,在操作1030,将经更新的多个读取电压施加到存储器装置以从存储器装置检索信息,并且深度神经网使用已经使用剪枝操作、非均匀量化操作或霍夫曼编码操作中的至少一个处理的多个权重。
70.在一些实施例中,操作1010和操作1020可以由存储器控制器(例如,图11中的存储器控制器1120)执行,并且操作1030可以由存储器装置或存储器控制器(例如,分别由图11中的闪速存储器1110和存储器控制器1120)执行。使用dnn(例如,图11中的深度神经网络1130)来估计经更新的多个读取电压。
71.在一些实施例中,深度神经网络使用至少使用非均匀量化操作进行处理的多个权重,并且非均匀量化操作是无损的。
72.在一些实施例中,深度神经网络使用至少使用非均匀量化操作进行处理的多个权重,并且非均匀量化操作被配置为最小化多个权重的未量化值和多个权重的量化值之间的失真度量。
73.在一些实施例中,失真度量是均方误差(mse)。
74.在一些实施例中,页面包括三层单元(tlc)nand闪存存储块的页面。
75.在一些实施例中,深度神经网络使用至少使用非均匀量化操作和霍夫曼编码操作进行处理的多个权重,非均匀量化操作和霍夫曼编码操作独立地应用于多个层中的每一层中的权重。
76.在一些实施例中,深度神经网络使用采用剪枝操作、非均匀量化操作和霍夫曼编码操作进行处理的多个权重,并且方法1000进一步包括:对初始权重集执行剪枝操作以生成经剪枝的权重,其中初始权重集在在通过至少一个(a)剪枝操作、(b)非均匀量化操作或(c)霍夫曼编码操作进行处理之前由深度神经网络使用;对经剪枝的权重进行非均匀量化操作以生成经剪枝和量化的权重;以及对经剪枝和量化的权重进行霍夫曼编码操作,生成多个权重。
77.图11是示出可以被配置为实施所描述的实施例的存储装置的示例图。参照图11,数据存储装置1100可以包括闪速存储器1110、存储器控制器1120和深度神经网络(dnn)1130。存储器控制器1120可以响应于从数据存储装置1100的外部输入的控制信号来控制闪速存储器1110和dnn 1130。在数据存储装置1100中,闪速存储器1110可以被配置为与非易失性存储器装置相同或基本相同。也就是说,闪速存储器1110可以使用不同的读取电压从选择的存储器单元读取数据,以将其输出到存储器控制器1120。可以基于本文件中描述的实施例使用dnn 1130来估计不同的读取电压。在示例中,dnn 1130可以是图8中所示的dnn。
78.在一些实施例中,数据存储装置1100可以是存储卡装置、ssd装置、多媒体卡装置、sd卡、记忆棒装置、hdd装置、混合驱动装置或usb闪存装置。例如,数据存储装置1100可以是满足诸如数码相机、个人计算机等用户装置的标准的卡。
79.本专利申请文件中描述的主题和功能操作的实施方案可以在各种系统、数字电子电路中或在计算机软件、固件或包括本说明书中公开的结构及其等效结构的硬件中或在它们中的一个或多个的组合中实施。本说明书中描述的主题的实施方案可以被实施为一个或多个计算机程序产品,即,在有形和非暂时性计算机可读介质上编码以由数据处理设备运行或以控制数据处理设备的操作的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储装置、机器可读存储衬底、存储器装置、影响机器可读传播信号的物质组成或者它们中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,该设备还可以包括为有关计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。
80.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以用包括编译或解释语言的任何形式的编程语言编写,并且可以以任何形式部署,包括作为独立程序或作为适合在计算环境中使用的模块、组件、子程序或其它单元。计算机程序不一定对应于文件系统中
的文件。程序可以存储在保存其它程序或数据(例如,标记语言文档中存储的一个或多个脚本)的文件的一部分中、专用于有关程序的单个文件中或在多个协调文件(例如,存储一个或多个模块、子程序或代码的一部分的文件)中。计算机程序可以被部署为在一台计算机上运行,或者在位于一个地点或分布在多个地点并且通过通信网络互连的多台计算机上运行。
81.本说明书中描述的过程和逻辑流可以由运行一个或多个计算机程序的一个或多个可编程处理器执行,以通过对输入数据进行操作并且生成输出来执行功能。该过程和逻辑流也可以由专用逻辑电路执行,并且设备也可以被实施为例如fpga(现场可编程门阵列)或asic(专用集成电路)的专用逻辑电路。
82.适合运行计算机程序的处理器包括,例如,通用微处理器和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或这两者接收指令和数据。计算机的基本元件是用于执行指令的处理器以及用于存储指令和数据的一个或多个存储器装置。通常,计算机还包括用于存储数据的一个或多个大容量存储装置(例如磁盘、磁光盘或光盘),或者还可操作地联接到一个或多个大容量存储装置以从其接收数据或向其传送数据或者既向其发送数据又从其接收数据。然而,计算机不需要有这样的装置。适合存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,例如包括半导体存储器装置,例如,eprom、eeprom和闪存装置。处理器和存储器可以由专用逻辑电路补充或并入专用逻辑电路中。
83.尽管本专利申请文件包括许多细节,但是这些细节不应解释为对任何发明的范围或可能要求保护的内容的限制,而应被解释为对可能特定于特定发明的特定实施例的特征的描述。在本专利申请文件中在不同实施例的背景下描述的某些特征也可以在单个实施例中以组合的方式实施。相反地,在单个实施例的背景下所描述的各种特征也可以分别在多个实施例中实施或以任何合适的子组合实施。此外,尽管在上述特征可能被描述为以某些组合的方式发挥作用,甚至最初也是这样要求保护的,但是可以在某些情况下从组合中去除来自所要求保护的组合的一个或多个特征,并且该要求保护的组合可以指子组合或子组合的变体。
84.类似地,尽管在附图中按特定顺序描述了操作,但是这不应被理解为要求按所示的特定顺序或按先后顺序执行这些操作,或者执行所有示出的操作,以实现期望的结果。此外,在本专利申请文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
85.仅描述一些实施方案和示例,并且可以基于本专利申请文件中描述和示出的内容得到其他实施方案、改进和变型。

技术特征:


1.一种提高存储器装置的性能的方法,包括:接收与对所述存储器装置的页面的多个先前读取操作相关联的一个或多个参数,其中所述先前读取操作基于多个读取电压,并且其中所述一个或多个参数包括所述页面的读取偏压、1的计数或错误校正码的校验和中的至少一个;使用所述一个或多个参数作为包括多个层的深度神经网络的输入来确定更新的多个读取电压,其中所述多个层中的每一层都是全连接层;并且将所述更新的多个读取电压施加到所述存储器装置,以从所述存储器装置检索信息,其中所述深度神经网络使用多个权重,所述多个权重已经使用(a)剪枝操作、(b)非均匀量化操作或(c)霍夫曼编码操作中的至少一个进行了处理。2.根据权利要求1所述的方法,其中所述深度神经网络使用至少使用所述非均匀量化操作进行处理的多个权重,并且其中所述非均匀量化操作是无损的。3.根据权利要求1所述的方法,其中所述深度神经网络使用至少使用所述非均匀量化操作进行处理的多个权重,其中所述非均匀量化操作使所述多个权重的未量化值与所述多个权重的量化值之间的失真度量最小化。4.根据权利要求3所述的方法,其中所述失真度量是均方误差即mse。5.根据权利要求1所述的方法,其中所述页面包括三层单元nand闪存存储块的页面,即tlc nand闪存存储块的页面。6.根据权利要求1所述的方法,其中所述深度神经网络使用至少使用所述非均匀量化操作和所述霍夫曼编码操作进行处理的多个权重,所述非均匀量化操作和所述霍夫曼编码操作独立地应用于所述多个层中的每一层中的权重。7.根据权利要求1所述的方法,其中所述深度神经网络使用多个权重,所述多个权重使用所述剪枝操作、所述非均匀量化操作和所述霍夫曼编码操作进行处理,并且其中所述方法进一步包括:对初始权重集执行所述剪枝操作以生成经剪枝的权重,其中所述初始权重集在通过(a)所述剪枝操作、(b)所述非均匀量化操作或(c)所述霍夫曼编码操作中至少一个进行处理之前由所述深度神经网络使用;对所述经剪枝的权重执行所述非均匀量化操作,以生成经剪枝和量化的权重;并且对所述经剪枝和量化的权重执行所述霍夫曼编码操作,以生成所述多个权重。8.一种提高非易失性存储器中的解码器的解码效率的系统,包括:处理器和存储器,所述存储器包括存储在其上的指令,其中所述指令在由所述处理器运行时使所述处理器:接收与对存储器装置的页面的多个先前读取操作相关联的一个或多个参数,其中所述先前读取操作基于多个读取电压,并且其中所述一个或多个参数包括所述页面的读取偏压、1的计数或错误校正码的校验和中的至少一个;使用所述一个或多个参数作为包括多个层的深度神经网络的输入来确定更新的多个读取电压,其中所述多个层中的每一层都是全连接层;并且将所述更新的多个读取电压施加到所述存储器装置以从所述存储器装置检索信息,其中所述深度神经网络使用多个权重,所述多个权重已经使用(a)剪枝操作、(b)非均匀量化操作或(c)霍夫曼编码操作中的至少一个进行了处理。
9.根据权利要求8所述的系统,其中所述深度神经网络使用至少使用所述非均匀量化操作进行处理的多个权重,并且其中所述非均匀量化操作是无损的。10.根据权利要求8所述的系统,其中所述深度神经网络使用至少使用所述非均匀量化操作进行处理的多个权重,其中所述非均匀量化操作使所述多个权重的未量化值与所述多个权重的量化值之间的失真度量最小化。11.根据权利要求10所述的系统,其中所述失真度量是均方误差即mse。12.根据权利要求8所述的系统,其中所述页面包括三层单元nand闪存存储块的页面,即tlc nand闪存存储块的页面。13.根据权利要求8所述的系统,其中所述深度神经网络使用至少使用所述非均匀量化操作和所述霍夫曼编码操作进行处理的多个权重,所述非均匀量化操作和所述霍夫曼编码操作独立地应用于所述多个层中的每一层中的权重。14.根据权利要求8所述的系统,其中所述深度神经网络使用多个权重,所述多个权重使用所述剪枝操作、所述非均匀量化操作和所述霍夫曼编码操作进行处理,并且其中所述指令在由所述处理器执行时进一步使所述处理器:对初始权重集执行所述剪枝操作以生成经剪枝的权重,其中所述初始权重集在通过(a)所述剪枝操作、(b)所述非均匀量化操作或(c)所述霍夫曼编码操作中至少一个进行处理之前由所述深度神经网络使用;对所述经剪枝的权重执行所述非均匀量化操作,以生成经剪枝和量化的权重;并且对所述经剪枝和量化的权重执行所述霍夫曼编码操作,以生成所述多个权重。15.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质具有存储在其上的指令,以提高非易失性存储器中解码器的解码效率,包括:用于接收与对存储器装置的页面的多个先前读取操作相关联的一个或多个参数的指令,其中所述先前读取操作基于多个读取电压,并且其中所述一个或多个参数包括所述页面的读取偏压、1的计数或错误校正码的校验和中的至少一个;用于使用所述一个或多个参数作为包括多个层的深度神经网络的输入来确定更新的多个读取电压的指令,其中所述多个层中的每一层都是全连接层;以及用于将所述更新的多个读取电压施加到所述存储器装置以从所述存储器装置检索信息的指令,其中所述深度神经网络使用多个权重,所述多个权重已经使用(a)剪枝操作、(b)非均匀量化操作或(c)霍夫曼编码操作中的至少一个进行了处理。16.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述深度神经网络使用至少使用所述非均匀量化操作进行处理的多个权重,并且其中所述非均匀量化操作是无损的。17.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述深度神经网络使用至少使用所述非均匀量化操作进行处理的多个权重,其中所述非均匀量化操作使所述多个权重的未量化值与所述多个权重的量化值之间的失真度量最小化。18.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述页面包括三层单元nand闪存存储块的页面,即tlc nand闪存存储块的页面。19.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述深度神经网络使
用至少使用所述非均匀量化操作和所述霍夫曼编码操作进行处理的多个权重,所述非均匀量化操作和所述霍夫曼编码操作独立地应用于所述多个层中的每一层中的权重。20.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述深度神经网络使用多个权重,所述多个权重使用所述剪枝操作、所述非均匀量化操作和所述霍夫曼编码操作进行处理,并且其中所述非暂时性计算机可读存储介质进一步包括:用于对初始权重集执行所述剪枝操作以生成经剪枝的权重的指令,其中所述初始权重集在通过(a)所述剪枝操作、(b)所述非均匀量化操作或(c)所述霍夫曼编码操作中至少一个进行处理之前由所述深度神经网络使用;用于对所述经剪枝的权重执行所述非均匀量化操作以生成经剪枝和量化的权重的指令;以及用于对所述经剪枝和量化的权重执行所述霍夫曼编码操作以生成所述多个权重的指令。

技术总结


描述了用于提高存储器装置的性能的装置、系统和方法。示例方法包括:接收与对存储器装置的页面的多个先前读取操作相关联的一个或多个参数,其中先前读取操作基于多个读取电压;使用一个或多个参数作为包括多个层的深度神经网络的输入来确定更新的多个读取电压,其中多个层中的每一层都是全连接层;并且将更新的多个读取电压施加到存储器装置,以从存储器装置检索信息,其中深度神经网络使用已经使用(a)剪枝操作、(b)非均匀量化操作或(c)霍夫曼编码操作中的至少一个进行了处理的多个权重。编码操作中的至少一个进行了处理的多个权重。编码操作中的至少一个进行了处理的多个权重。


技术研发人员:

赛汉

受保护的技术使用者:

爱思开海力士有限公司

技术研发日:

2022.03.09

技术公布日:

2023/3/7

本文发布于:2024-09-25 06:17:02,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/69255.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:多个   存储器   所述   权重
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议