高密度存储系统及其控制方法与流程

专利2022-06-29  113


本申请要求于2018年11月30日提交到美国专利商标局的第16/206,357号美国专利申请的权益,所述美国专利申请的公开通过引用整体包含于此。

与实施例一致的设备和方法涉及固态驱动器(ssd),即,高密度存储系统。



背景技术:

ssd是使用集成电路作为存储器来持久地存储数据的固态存储装置。由于ssd不使用移动机械组件,因此与硬盘驱动器(hdd)相比,ssd更抵抗物理冲击,无声运行,具有更快的访问时间,并具有更低的延迟。

ssd可包括多级单元(mlc),每个mlc是能够存储多于单位数据的存储器元件。mlc的主要优点是它们的由于较高数据密度而引起的较低的每单位存储成本。然而,随着在ssd中每存储器单元的层级数量增加,每个ssd中的结果误码率(biterrorrate)也增加。



技术实现要素:

根据实施例,提供一种高密度存储系统,包括存储器装置和控制器,其中,控制器包括:范围分配和编程顺序块,被配置为:基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;并基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序。控制器还包括:统计单元校正块,被配置为:基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正;递增步长脉冲编程(ispp)调谐器和纠错码(ecc)编码器块,被配置为:基于执行统计单元校正的结果,确定将被施加到存储器装置的每个存储器单元的每个层级的ispp脉冲的幅度;对将被施加到每个存储器单元的每个层级的ispp脉冲的幅度执行ecc编码;将执行了ecc编码的ispp脉冲的幅度施加到存储器装置的每个存储器单元的每个层级。

根据实施例,提供一种控制高密度存储系统的方法,包括:基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序;基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正。所述方法还包括:基于执行统计单元校正的结果,确定将被施加到存储器装置的每个存储器单元的每个层级的ispp脉冲的幅度;对将被施加到每个存储器单元的每个层级的ispp脉冲的幅度执行编码;将执行了ecc编码的ispp脉冲的幅度施加到存储器装置的每个存储器单元的每个层级。

根据实施例,提供一种存储指令的非暂时性计算机可读存储介质,所述指令用于使处理器:基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序;基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正。所述指令还使处理器:基于执行统计单元校正的结果,确定将被施加到存储器装置的每个存储器单元的每个层级的ispp脉冲的幅度;对将被施加到每个存储器单元的每个层级的ispp脉冲的幅度执行ecc编码;将执行了ecc编码的ispp脉冲的幅度施加到存储器装置的每个存储器单元的每个层级。

附图说明

图1是根据实施例的存储器系统的框图。

图2是根据实施例的存储器系统的框图。

图3是根据实施例的控制存储器装置的方法的流程图。

图4是根据实施例的存储器系统的框图。

图5是根据实施例的包括存储器系统的计算机系统的框图。

图6是根据实施例的存储卡的框图。

图7是根据实施例的包括存储器系统的网络系统的框图。

具体实施方式

图1是根据实施例的存储器系统900的框图。参照图1,存储器系统900包括存储器控制器1000和非易失性存储器装置2000。存储器系统900可以是包括诸如以下形状因子的ssd:作为标准hdd形状因子的包括安全数字及其变化等的存储卡形状因子,包括迷你串行at附件(msata)、pciexpress迷你卡、m.2等的标准卡形状因子,具有诸如并行ata(pata)或sata的接口的模块上盘(disk-on-a-module)形状因子,用于诸如机架安装系统的应用的盒式形状因子,包括pciexpress(pcie)、迷你pcie、迷你dimm(双列直插式存储器模块)、mo-297等的裸板形状因子以及球栅阵列形状因子。

非易失性存储器装置2000可以是但不限于:闪存装置、nand闪存装置、相变ram(pram)、铁电ram(fram)、磁ram(mram)等。非易失性存储器装置2000可具有平面结构或三维(3d)存储器单元结构,其中,3d存储器单元结构具有存储器单元的堆叠。每个存储器单元可包括用于存储各个数据位的多个层级(level)。非易失性存储器装置2000可被实现为例如存储器芯片(例如,nand芯片)。虽然为了简明起见,图1中仅示出了一个非易失性存储器装置2000,但是存储器系统900可包括以多种方式布置并经由多个通道连接到控制器1000的若干个非易失性存储器装置(例如,存储器芯片)。

非易失性存储器装置2000可包括存储器单元阵列2100、x解码器121、电压生成器125、i/o缓冲器124、页缓冲器123和控制逻辑126,其中,存储器单元阵列2100、x解码器121、电压生成器125、i/o缓冲器124、页缓冲器123和控制逻辑126中的每个可被实现为一个或多个电路。存储器装置还可包括输入/输出(i/o)焊盘(pad)127。

存储器单元阵列2100包括多条字线wl和多条位线bl。例如,每个存储器单元可被实现为具有浮置栅极或电荷存储层(诸如,电荷俘获层)的存储器单元,或能够存储一位或多位数据的任何其他类型的存储器单元。

存储器单元阵列2100可包括多个块和多个页。一个块包括多个页。页可以是编程和读取操作的单元,并且块可以是擦除操作的单元。例如,存储器单元阵列2100包括第一块2120和第二块2130。如图1中所示,根据本发明构思的实施例,第一块2120包括页1至页n,第二块2130包括页1至页n,其中,n是大于1的正整数。

控制逻辑126控制非易失性存储器装置2000的整体操作。当从存储器控制器1000接收到命令cmd时,控制逻辑126解释命令cmd并根据解释的命令cmd控制非易失性存储器装置2000执行操作(例如,编程操作、读取操作、读取重试操作或擦除操作)。

根据实施例,控制逻辑126可包括被配置为基于命令cmd执行命令的硬件实现的处理器。根据本发明构思的实施例,除了处理器之外,控制逻辑126还可包括用于存储程序的存储单元,其中,当程序由包括在控制逻辑126中的处理器执行时,使得处理器执行特定的操作。根据本发明构思的实施例,在此描述的由存储器装置2000执行的任何操作可由控制逻辑126执行或者在控制逻辑126的控制下执行,例如,通过包括在控制逻辑126中的处理器驱动存储在包括在控制逻辑126中的存储单元中的固件来执行。可选择地,控制逻辑126可以是在硬件方面被物理编程的执行或控制在此描述的由存储器装置2000执行的任何操作的电路(例如,专用集成电路(asic)或现场可编程门阵列(fpga))。

x解码器121由控制逻辑126控制,并根据行地址驱动存储器单元阵列2100中的至少一条字线wl。

电压生成器125由控制逻辑126控制,以生成编程操作、读取操作或擦除操作所需的一个或多个电压,并将生成的电压提供给由x解码器121选择的一个或多个行。

寄存器128由控制逻辑126控制并且是存储从存储器控制器1000输入的信息的空间,并可包括多个锁存器。例如,寄存器128可对读取电压(和/或参考电压)信息进行分组并以表格的形式存储信息。

页缓冲器123由控制逻辑126控制,并根据操作模式(例如,读取操作或编程操作)作为感测放大器或写入驱动器进行操作。

i/o焊盘127和i/o缓冲器124可用作外部装置(例如,存储器控制器1000或主机)与非易失性存储器装置2000之间交换的数据的i/o路径。i/o焊盘127通过存储器系统总线800连接到存储器控制器1000。数据data和/或命令cmd可经由i/o焊盘127和存储器系统总线800,从存储器装置2000被输出到存储器控制器1000,或者在存储器装置2000从存储器控制器1000被接收。

返回图1,存储器控制器1000可包括微处理器111、只读存储器(rom)113、随机存取存储器(ram)112、编码器1100、解码器1200、存储器接口116和控制器总线118。存储器控制器1000的元件111至116可通过控制器总线118彼此电连接。

微处理器111控制包括存储器控制器1000的存储器系统900的整体操作。微处理器111是通过生成控制信号来控制其他元件的电路。当向存储器系统900供电时,微处理器111在ram112上驱动用于操作存储器系统900(例如,存储在rom113中)的固件,从而控制存储器系统900的整体操作。根据本发明构思的实施例,微处理器111还可发出用于控制存储器控制器1000的其他元件的操作的步骤,其中,其他元件包括例如rom113、ram112、编码器1100、解码器1200、存储器接口116和控制器总线118中的一些或全部。根据本发明构思的实施例,在此描述的由存储器控制器1000执行的任何操作可由微处理器111执行,或者在微处理器111的控制下执行,例如,通过微处理器驱动上述固件来执行。

虽然存储器系统900的驱动固件代码存储在rom113中,但是本发明构思的一个或多个示例实施例不限于此。固件代码还可存储在非易失性存储器系统900的除rom113之外的部分中。因此,微处理器111的控制或介入不仅可包括微处理器111的直接控制,还可包括作为由微处理器111驱动的软件的固件的介入。

可选择地,微处理器111可以是在硬件方面被物理编程以执行或控制在此描述的由存储器控制器1000执行的任何操作的电路(例如,asic或fpga)。

作为用作缓冲器的存储器的ram112可存储从主机或微处理器111输入的初始命令、数据和各种变量,或者从非易失性存储器装置2000输出的数据。ram112可存储输入到非易失性存储器装置2000和从非易失性存储器装置2000输出的数据以及各种参数和变量。根据本发明构思的至少一些示例实施例,ram112可存储指令队列,其中,指令队列包括待处理的存储器装置访问指令(例如,针对存储器装置2000的数据读取请求和数据写入请求)的列表。

存储器接口116可用作存储器控制器1000与非易失性存储器装置2000之间的接口。存储器接口116经由存储器系统总线800连接到非易失性存储器装置2000的i/o焊盘127,并可经由存储器系统总线800与i/o焊盘127交换数据。此外,存储器接口116可创建适合于非易失性存储器装置2000的命令,并将创建的命令提供给非易失性存储器装置2000的i/o焊盘127。存储器接口116提供将由非易失性存储器装置2000执行的命令和非易失性存储器装置2000的地址add。

根据本发明构思的实施例,解码器1200可以是纠错码(ecc)解码器,并且编码器1100可以是ecc编码器。根据本发明构思的实施例,解码器1200和编码器1100执行错误位校正(errorbitcorrection)。编码器1100可通过在数据被提供给非易失性存储器装置2000之前对数据执行纠错编码来生成添加有一个或多个奇偶校验和/或冗余位的数据。一个或多个奇偶校验和/或冗余位可存储在非易失性存储器装置2000中。

编码器1100和解码器1200中的每个可包括纠错电路、系统或装置。

图2是根据实施例的存储器系统200的框图。

参照图2,存储器系统200包括控制器210和存储器装置2000。控制器210包括范围分配和编程顺序块211、统计单元校正块212、递增步长脉冲编程(incrementalsteppulseprogramming,ispp)调谐器和纠错码(ecc)编码器块213、贝叶斯估计块214、滤波器块215和ecc解码器块216。

范围分配和编程顺序块211接收可以是二进制向量的初始数据data,并将初始数据data转换为针对存储器装置2000的每个存储器单元的每个层级的阈值电压vt的范围,以平衡每个层级之间的等量错误。例如,第一组存储器单元可各自具有针对每个层级的阈值电压vt的第一范围(即,-3伏(v)至5.5v),以对应于初始数据data的比特‘0’。第二组存储器单元可各自具有针对每个层级的阈值电压vt的第二范围(即,9v至10v),以对应于初始数据data的比特“1”。

范围分配和编程顺序块211还基于每个存储器单元的字线与它周围环境之间的干扰来确定针对每个存储器单元的每个层级的阈值电压vt的范围。干扰可表示噪声并且由如图2中所示的术语“nand”指示。干扰可以是针对存储器装置2000的每条字线的预定值。可选择地,干扰可通过机器学习来确定。

范围分配和编程顺序块211还确定以编程阶段的顺序对存储器装置2000的哪组(哪些组)存储器单元单独进行编程,以使单元间耦合(cell-to-cellcoupling)最小化。也就是说,范围分配和编程顺序块211基于每条位线中的单元间干扰(inter-cellinterference)、每条字线中的验证就绪干扰(ready-for-verifyinterference)以及z轴上的柱干扰(pillarinterference)来确定多组存储器单元被编程的顺序,以减轻这样的干扰。干扰可由如图2中所示的术语“nand”指示,并且可以是预定值。可选择地,可通过机器学习来确定干扰。例如,为了减少干扰,可在各自具有针对每个层级的阈值电压vt的更高层级范围的第二组存储器单元之前,对各自具有针对每个层级的阈值电压vt的中间层级范围的第一组存储器单元进行编程。

统计单元校正块212基于从存储器装置2000接收的读取参考readref来确定存储器装置2000的每个存储器单元的每个层级的实际阈值电压vt。读取参考readref指示至少一个存储器单元的至少一个层级的阈值电压vt的正向移动或增大,以及施加到每个存储器单元的每个层级的先前编程脉冲。统计单元校正块212还确定施加到每个存储器单元的每个层级的编程脉冲之间的至少一个存储器单元的至少一个层级的阈值电压vt的负向移动或减小(即,保留率(retentionrate))。正向移动可能是由于写入脉冲或干扰,而负向移动可能是由于泄漏或保留现象。读取参考readref可以是作为将每个存储器单元的每个层级的实际电压阈值vt与参考值进行比较的结果的二进制向量。

统计单元校正块212基于确定的存储器装置2000的每个存储器单元的每个层级的实际阈值电压vt以及由范围分配和编程顺序块211确定的针对每个存储器单元的每个层级的阈值电压vt的范围,来进一步确定将要施加到存储器装置2000的至少一个存储器单元的至少一个层级的附加编程脉冲,其中,附加编程脉冲被预测以用于对多个实际阈值电压vt分别进行移位。以这种方式,统计单元校正块212确定附加编程脉冲是否被添加到每个存储器单元的每个层级,使得每个层级超过它的阈值电压vt的范围。统计单元校正块212还可基于由范围分配和编程顺序块211确定的多组存储器单元被编程的顺序来进一步计算将被施加到至少一个存储器单元的至少一个层级的附加编程脉冲。

ispp调谐器和ecc编码器块213基于验证信号verify和由统计单元校正块212确定的各个附加编程脉冲,来确定将被施加到存储器装置2000的每个存储器单元的每个层级的ispp脉冲的幅度,以实现最小误码率(ber)。验证信号verify从存储器装置2000被接收,并指示每个存储器单元的每个层级是否达到确定的阈值电压vt的范围。

ispp调谐器和ecc编码器块213还对将被施加到存储器装置2000的每个存储器单元的每个层级的ispp脉冲的确定的幅度执行ecc编码。然后,ispp调谐器和ecc编码器块213将ecc编码的ispp脉冲的幅度施加到每个存储器单元的每个层级。

贝叶斯估计块214对从存储器装置2000接收的数据执行贝叶斯估计,以从数据去除噪声。贝叶斯估计块214可基于从存储器装置2000接收的读取参考readref来执行贝叶斯估计。

滤波器块215对执行了贝叶斯估计的数据进行滤波,以从数据去除位冗余。例如,滤波器块215可包括卡尔曼滤波器或维纳滤波器。滤波器块215可基于从存储器装置2000接收的读取参考readref来对执行了贝叶斯估计的数据进行滤波。

ecc解码器块216对滤波后的数据执行ecc解码,以重新生成初始数据data。

控制器210可执行数据的周期性读取和编程(即,数据刷新),存储器系统200可使用与电源的恒定连接。

根据实施例,存储器系统200实现了例如每存储器单元64层级的可靠存储。存储器系统200具有硬盘驱动器(hdd)的位成本和性能,还具有优于hdd的功耗、形状因子和固态可靠性。此外,存储器系统200实现比传统存储器系统的误码率(ber)小的误码率,从而使用现有ecc解决方案实现软判决(sd)解码。

图3是根据实施例的控制存储器装置的方法300的流程图。

参照图3,方法300可由图2的存储器系统200执行。

在操作310中,范围分配和编程顺序块211确定针对存储器装置2000的每个存储器单元的每个层级的阈值电压vt的范围。详细地,范围分配和编程顺序块211接收初始数据data,并将初始数据data转换为针对每个层级的阈值电压vt的范围,以平衡每个层级之间的等量错误,其中,初始数据data可以是二进制向量。范围分配和编程顺序块211还基于每个存储器单元的字线与它周围环境之间的干扰来确定针对每个存储器单元的每个层级的阈值电压vt的范围。

在操作320中,范围分配和编程顺序块211确定多组存储器单元被编程的顺序。详细地讲,范围分配和编程顺序块211确定以编程阶段的顺序对存储器装置2000的哪组(哪些组)存储器单元单独进行编程,以使单元间耦合最小化。也就是说,范围分配和编程顺序块211基于每条位线中的单元间干扰、每条字线中的验证就绪干扰以及z轴上的柱干扰,来确定多组存储器单元被编程的顺序,以减轻这样的干扰。

在操作330中,统计单元校正块212对由范围分配和编程顺序块211确定的针对每个存储器单元的每个层级的阈值电压vt的范围执行统计单元校正。详细地讲,统计单元校正块212基于从存储器装置2000接收的读取参考readref确定存储器装置2000的每个存储器单元的每个层级的实际阈值电压vt。读取参考readref指示至少一个存储器单元的至少一个层级的阈值电压vt的正向移动或增大以及施加到每个存储器单元的每个层级的先前编程脉冲。统计单元校正块212还确定施加到每个存储器单元的每个层级的编程脉冲之间的至少一个存储器单元的至少一个层级的阈值电压vt的负向移动或减小(即,保留率)。

统计单元校正块212还基于确定的存储器装置2000的每个存储器单元的每个层级的实际阈值电压vt、确定的每个层级的阈值电压vt的负向移动以及由范围分配和编程顺序块211确定的针对每个存储器单元的每个层级的阈值电压vt的范围,确定将被施加到存储器装置2000的至少一个存储器单元的至少一个层级的附加编程脉冲,其中,附加编程脉冲被预测以用于对多个实际阈值电压vt分别进行移位。以这种方式,统计单元校正块212确定是否将附加编程脉冲添加到每个存储器单元的每个层级,使得每个层级超过它的阈值电压vt的范围。统计单元校正块212还可基于由范围分配和编程顺序块211确定的多组存储器单元被编程的顺序,来进一步计算将被施加到至少一个存储器单元的至少一个层级的附加编程脉冲。

在操作340中,ispp调谐器和ecc编码器块213基于验证信号verify和由统计单元校正块212确定的各个附加编程脉冲,来确定将被施加到存储器装置2000的每个存储器单元的每个层级的ispp脉冲的幅度,以实现最小误码率(ber)。验证信号verify从存储器装置2000被接收,并指示每个存储器单元的每个层级是否达到它的阈值电压vt的范围。

在操作350中,ispp调谐器和ecc编码器块213对将被施加到存储器装置2000的每个存储器单元的每个层级的ispp脉冲的确定的幅度执行ecc编码。然后,ispp调谐器和ecc编码器块213将ecc编码的ispp脉冲的幅度施加到每个存储器单元的每个层级。

在操作360中,贝叶斯估计块214对从存储器装置2000接收的数据执行贝叶斯估计,以从数据去除噪声。贝叶斯估计块214可基于从存储器装置2000接收的读取参考readref来执行贝叶斯估计。

在操作370中,滤波器块215对执行了贝叶斯估计的数据进行滤波,以从数据去除位冗余。例如,滤波器块215可包括卡尔曼滤波器或维纳滤波器。滤波器块215可基于从存储器装置2000接收的读取参考readref来对执行了贝叶斯估计的数据进行滤波。

在操作380中,ecc解码器块216对滤波后的数据执行ecc解码,以重新生成初始数据data。

根据实施例,存储器系统200的方法300实现每存储器单元多个层级(例如,64个层级)的可靠存储。与传统存储器系统相比,存储器系统200的方法300进一步减小ber。

图4是根据实施例的存储器系统400的框图。

参照图4,存储器系统400包括控制器410和存储器装置2000。控制器410包括ecc编码器块411、约束信道编码器块412、ssl/块信号滤波器块413、字线信号滤波器块414、强化学习反馈块415、干扰连续消除块416、约束信道解码器块417、ecc解码器块418和神经网络解码器块419。

ecc编码器块411接收块大小数据矩阵(bdm),并对块大小数据矩阵执行ecc编码以生成编码矩阵(em)。

在使用一个或多个脉冲对存储器装置2000进行编程之前,约束信道编码器块412从存储器装置2000接收下一字线(wl)读取(nwr),并基于下一字线读取对编码矩阵执行约束信道编码,以生成约束向量(cv)。

ssl/块信号滤波器块413从字线信号滤波器块414接收误差统计向量(esv),并从强化学习反馈块415接收块策略(bp)。块策略包括针对存储器装置2000的存储器块的选项,所述存储器块包括目标wl位置,一个或多个脉冲可在目标wl位置被编程。ssl/块信号滤波器块413还基于误差统计向量和块策略对约束向量执行ssl/块信号滤波,以生成针对包括目标wl位置的存储器块的块编程顺序(bpo)。

字线信号滤波器块414生成误差统计向量(esv)并从强化学习反馈块415接收wl策略(wlp)。wl策略包括针对禁止向量和将被施加到目标wl位置的脉冲的选项。字线信号滤波器块414还基于wl策略对块编程顺序执行字线信号滤波,以生成针对目标wl位置的wl编程顺序(wpo),wl编程顺序包括禁止向量和将被施加到目标wl位置的脉冲。字线信号滤波器块414将wl编程顺序发送到存储器装置2000。

存储器装置2000生成下一wl读取和验证wl电压阈值向量(vwtv)。验证wl电压阈值向量指示存储器装置2000中的每条wl的电压阈值。

强化学习反馈块415基于验证wl电压阈值向量生成块策略和wl策略。

干扰连续消除块416从存储器装置2000接收有噪多wl阈值电压向量(nmtv)。有噪多wl阈值电压向量指示存储器装置2000中的每条wl的阈值电压。干扰连续消除块416使用机器学习从有噪多wl阈值电压向量进一步连续地消除干扰,以生成针对存储器装置2000中的wl的有噪wl数据向量(nwdv)。干扰连续消除块416进一步生成多轮平均请求(multi-roundrequestsforaveraging,mra)并将多轮平均请求发送到存储器装置2000。干扰连续消除块416还生成针对存储器装置2000中的wl的有噪wl阈值电压向量(nwtv)并将有噪wl阈值电压向量发送到ecc解码器块418。

约束信道解码器块417对有噪wl数据向量执行约束信道解码,以生成针对存储器装置2000中的wl的恢复wl数据向量(rwdv)。

ecc解码器块418基于有噪wl阈值电压向量对恢复wl数据向量执行ecc解码,以生成针对存储器装置2000中的wl的wl数据和阈值向量(wtv)。

神经网络解码器块419对wl数据和阈值向量执行神经网络解码,以生成针对存储器装置2000中的wl的恢复数据向量(rdv)。

图5是根据实施例的包括存储器系统的计算机系统3000的框图。计算机系统3000(诸如,移动装置、台式计算机和服务器)可采用根据本发明构思的实施例的存储器系统3400。

计算机系统3000可包括电连接到总线3500的中央处理器3100、ram3200、用户接口3300和存储器系统3400。如上所述的主机可包括计算机系统3000中的中央处理器3100、ram3200和用户接口3300。中央处理器3100可控制整个计算机系统3000并且可执行与经由用户接口3300输入的用户命令对应的计算。ram3200可用作用于中央处理器3100的数据存储器,并且中央处理器3100可将数据写入到存储器系统3400/从存储器系统3400读取数据。

如在上述发明构思的示例实施例中,存储器系统3400可包括存储器控制器3410和存储器装置3420。存储器控制器3410可包括编码器和解码器,并且存储器装置3420可包括包含多个存储器单元的单元阵列。

根据本发明构思的实施例,存储器控制器3410可通过上面参照图1和图2讨论的存储器控制器1000或210来实现,并且存储器装置3420可通过上面参照图1和图2讨论的存储器装置2000来实现。

图6是示出根据实施例的存储卡4000的框图。根据上面参照图1和图2讨论的发明构思的示例实施例的存储器系统900或200可以是存储卡4000。例如,存储卡4000可包括嵌入式多媒体卡(emmc)或安全数字(sd)卡。如图6中所示,存储卡4000可包括存储器控制器4100、非易失性存储器4200和端口区域4300。存储器控制器4100可通过上面参照图1和图2讨论的控制器1000或210实现,并且图6中所示的非易失性存储器4200可通过上面参照图1和图2讨论的存储器装置2000来实现。

存储器控制器4100可包括编码器和解码器。编码器和解码器可执行根据发明构思的示例实施例的编码方法和解码方法。存储器控制器4100可按照预设协议经由端口区域4300与外部主机通信。该协议可以是emmc协议、sd协议、sata协议、sas协议或usb协议。非易失性存储器4200可包括这样的存储器单元:即使向其供应的电力被阻止,该存储器单元也保持存储在其中的数据。例如,非易失性存储器4200可包括闪存、磁随机存取存储器(mram)、电阻ram(rram)、铁电ram(fram)或相变存储器(pcm)。

根据本发明构思的实施例,存储器控制器4100和非易失性存储器4200可分别通过上面参照图1和图2讨论的存储器控制器1000或210和存储器装置2000来实现。

图7是根据实施例的包括存储器系统的网络系统5000的框图。如图7中所示,网络系统5000可包括服务器系统5100和经由网络5200连接的多个终端5300、5400和5500。服务器系统5100可包括服务器5110和ssd5120,其中,服务器5110用于处理从连接到网络5200的多个终端5300、5400和5500接收的请求,ssd5120用于存储与从终端5300、5400和5500接收的请求对应的数据。这里,ssd5120可以是根据本发明构思的实施例的存储器系统。

根据本发明构思的实施例,ssd5120可通过上面参照图1和图2讨论的存储器系统900或200来实现。

同时,根据发明构思的示例实施例的存储器系统可经由各种封装件中的任何一种来安装。例如,根据本发明构思的实施例的存储器系统可经由包括以下封装件中的任何一种封装件来安装:层叠封装件(pop)、球栅阵列(bga)、芯片级封装件(csp)、塑料引线芯片载体(plcc)、塑料双列直插式封装件(pdip)、华夫封装件中裸片、晶圆形式裸片、板上芯片(cob)、陶瓷双列直插式封装件(cerdip)、塑料公制四方扁平封装件(mqfp)、薄型四方扁平封装件(tqfp)、小外形封装件(soic)、收缩型小外形封装件(ssop)、薄型小外形封装件(tsop)、系统级封装件(sip)、多芯片封装件(mcp)、晶圆级制造封装件(wfp)、晶圆级处理堆叠封装件(wsp)等。

如在本发明构思的领域中的传统,在功能块、单元和/或模块方面描述并在附图中示出了实施例。本领域技术人员将理解,这些块、单元和/或模块通过可使用基于半导体的制造技术或其他制造技术形成的电子(或光学)电路(诸如,逻辑电路、分立组件、微处理器、硬连线电路、存储器元件、布线连接等)物理地实现。在块、单元和/或模块由微处理器或类似物实现的情况下,可使用软件(例如,微代码)对它们进行编程以执行在此讨论的各种功能,并且可通过固件和/或软件可选地驱动它们。可选择地,每个块、单元和/或模块可由专用硬件实现,或者被实现为用于执行一些功能的专用硬件和用于执行其他功能的处理器(例如,一个或多个编程的微处理器和相关联的电路)的组合。此外,在不脱离本发明构思的范围的情况下,实施例的每个块、单元和/或模块可被物理地分成两个或更多个交互和离散的块、单元和/或模块。此外,在不脱离本发明构思的范围的情况下,实施例的块、单元和/或模块可被物理地组合成更复杂的块、单元和/或模块。

上述方法的各种操作可通过能够执行操作的任何合适的装置(诸如,各种硬件和/或软件组件、电路和/或模块)执行。

软件可包括用于实现逻辑功能的可执行指令的有序列表,并且可被实现在任何“处理器可读介质”中以供指令执行系统、设备或装置(诸如,单核处理器或多核处理器或包含处理器的系统)使用或与指令执行系统、设备或装置结合使用。

结合在此公开的实施例描述的方法或算法的框或步骤以及功能可直接以硬件、以由处理器执行的软件模块或以两者的组合来实现。如果以软件来实现,则可将功能作为一个或多个指令或代码存储在有形的非暂时性计算机可读介质上或通过有形的非暂时性计算机可读介质传输。软件模块可驻留在随机存取存储器(ram)、闪存、只读存储器(rom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、寄存器、硬盘、可移动磁盘、cdrom或本领域已知的任何其他形式的存储介质中。

前述内容是对实施例的说明,而不应被解释为对其进行限制。尽管已经描述了一些实施例,但是本领域技术人员将容易理解,在实质上不脱离本发明构思的情况下,可在实施例中进行许多修改。


技术特征:

1.一种高密度存储系统,包括:

存储器装置,包括存储器单元;

控制器,包括:

范围分配和编程顺序块,被配置为:

基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;

基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序;

统计单元校正块,被配置为:基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正;

递增步长脉冲编程调谐器和纠错码编码器块,被配置为:

基于执行统计单元校正的结果,确定将被施加到存储器装置的每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度;

对将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度执行纠错码编码;

将执行了纠错码编码的递增步长脉冲编程脉冲的幅度施加到存储器装置的每个存储器单元的每个层级。

2.根据权利要求1所述的高密度存储系统,其中,控制器还包括:

贝叶斯估计块,被配置为对来自存储器装置的接收数据执行贝叶斯估计;

滤波器块,被配置为对执行了贝叶斯估计的接收数据进行滤波;

纠错码解码器块,被配置为对滤波后的接收数据执行纠错码解码,以重新生成初始数据。

3.根据权利要求2所述的高密度存储系统,其中,滤波器块包括卡尔曼滤波器或维纳滤波器。

4.根据权利要求1所述的高密度存储系统,其中,统计单元校正块还被配置为:

基于参考信息,确定存储器装置的每个存储器单元的每个层级的实际阈值电压;

基于存储器装置的每个存储器单元的每个层级的实际阈值电压,确定存储器装置的至少一个存储器单元的至少一个层级的阈值电压的减小;

基于每个存储器单元的每个层级的实际阈值电压、针对每个存储器单元的每个层级的阈值电压的范围以及所述多组存储器单元被编程的顺序,把将被施加到所述至少一个层级的附加编程脉冲确定为统计单元校正的结果,其中,所述至少一个层级的阈值电压的减小被确定。

5.根据权利要求1所述的高密度存储系统,其中,递增步长脉冲编程调谐器和纠错码编码器块还被配置为:还基于指示存储器装置的每个存储器单元的每个层级是否达到阈值电压的范围的验证信号,确定将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度。

6.根据权利要求1所述的高密度存储系统,其中,所述干扰包括针对存储器装置的每条位线、每条字线和z轴中的任何一个或任何组合的一个或多个预定值,或者针对存储器装置的每条位线、每条字线和z轴中的任何一个或任何组合经由机器学习确定。

7.根据权利要求1所述的高密度存储系统,其中,控制器还被配置为:执行周期性的数据刷新,

所述高密度存储系统包括:与电源的恒定连接。

8.根据权利要求1所述的高密度存储系统,还包括:

强化学习反馈块,被配置为:基于从存储器装置接收的验证字线电压阈值向量,生成用于确定将被施加到存储器装置的每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度的块策略和字线策略;

干扰连续消除块,被配置为:使用机器学习,从有噪多字线阈值电压向量连续地消除干扰,以生成针对存储器装置中的字线的有噪字线数据向量,其中,有噪多字线阈值电压向量从存储器装置被接收;

神经网络解码器块,被配置为:对字线数据和基于有噪字线数据向量生成的阈值向量执行神经网络解码,以生成针对存储器装置中的字线的恢复数据向量。

9.一种控制高密度存储系统的方法,所述方法包括:

基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;

基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序;

基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正;

基于执行统计单元校正的结果,确定将被施加到存储器装置的每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度;

对将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度执行纠错码编码;

将执行了纠错码编码的递增步长脉冲编程脉冲的幅度施加到存储器装置的每个存储器单元的每个层级。

10.根据权利要求9所述的方法,还包括:

对来自存储器装置的接收数据执行贝叶斯估计;

对执行了贝叶斯估计的接收数据进行滤波;

对滤波后的接收数据执行纠错码解码,以重新生成初始数据。

11.根据权利要求10所述的方法,其中,使用卡尔曼滤波器或维纳滤波器来执行滤波的步骤。

12.根据权利要求9所述的方法,其中,执行统计单元校正的步骤包括:

基于参考信息,确定存储器装置的每个存储器单元的每个层级的实际阈值电压;

基于存储器装置的每个存储器单元的每个层级的实际阈值电压,确定存储器装置的至少一个存储器单元的至少一个层级的阈值电压的减小;

基于每个存储器单元的每个层级的实际阈值电压、针对每个存储器单元的每个层级的阈值电压的范围以及所述多组存储器单元被编程的顺序,把将被施加到所述至少一个层级的附加编程脉冲确定为统计单元校正的结果,其中,所述至少一个层级的阈值电压的减小被确定。

13.根据权利要求9所述的方法,其中,确定将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度的步骤包括:还基于指示存储器装置的每个存储器单元的每个层级是否达到阈值电压的范围的验证信号,确定将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度。

14.根据权利要求9所述的方法,其中,所述干扰包括针对存储器装置的每条位线、每条字线和z轴中的任何一个或任何组合的一个或多个预定值,或者针对存储器装置的每条位线、每条字线和z轴中的任何一个或任何组合经由机器学习确定。

15.一种存储指令的非暂时性计算机可读存储介质,所述指令用于使处理器:

基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;

基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序;

基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正;

基于执行统计单元校正的结果,确定将被施加到存储器装置的每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度;

对将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度执行纠错码编码;

将执行了纠错码编码的递增步长脉冲编程脉冲的幅度施加到存储器装置的每个存储器单元的每个层级。

16.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述指令还使处理器:

对来自存储器装置的接收数据执行贝叶斯估计;

对执行了贝叶斯估计的接收数据进行滤波;

对滤波后的接收数据执行纠错码解码,以重新生成初始数据。

17.根据权利要求16所述的非暂时性计算机可读存储介质,其中,所述指令还使处理器:使用卡尔曼滤波器或维纳滤波器来对执行了贝叶斯估计的接收数据进行滤波。

18.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述指令还使处理器:

基于参考信息,确定存储器装置的每个存储器单元的每个层级的实际阈值电压;

基于存储器装置的每个存储器单元的每个层级的实际阈值电压,确定存储器装置的至少一个存储器单元的至少一个层级的阈值电压的减小;

基于每个存储器单元的每个层级的实际阈值电压、针对每个存储器单元的每个层级的阈值电压的范围以及所述多组存储器单元被编程的顺序,把将被施加到所述至少一个层级的附加编程脉冲确定为统计单元校正的结果,其中,所述至少一个层级的阈值电压的减小被确定。

19.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述指令还使处理器:还基于指示存储器装置的每个存储器单元的每个层级是否达到阈值电压的范围的验证信号,确定将被施加到每个存储器单元的每个层级的递增步长脉冲编程脉冲的幅度。

20.根据权利要求15所述的非暂时性计算机可读存储介质,其中,所述干扰包括针对存储器装置的每条位线、每条字线和z轴中的任何一个或任何组合的一个或多个预定值,或者针对存储器装置的每条位线、每条字线和z轴中的任何一个或任何组合经由机器学习确定。

技术总结
高密度存储系统及其控制方法。一种高密度存储系统包括存储器装置和控制器,其中,控制器包括:范围分配和编程顺序块,被配置为:基于初始数据和存储器装置中的干扰,确定针对存储器装置的每个存储器单元的每个层级的阈值电压的范围;并基于所述干扰,确定存储器装置的多组存储器单元被编程的顺序。控制器还包括:统计单元校正块,被配置为:基于所述多组存储器单元被编程的顺序和从存储器装置接收的存储器装置的每个存储器单元的每个层级的参考信息,对针对每个存储器单元的每个层级的阈值电压的范围执行统计单元校正。

技术研发人员:阿密特·伯曼
受保护的技术使用者:三星电子株式会社
技术研发日:2019.07.29
技术公布日:2020.06.09

转载请注明原文地址: https://bbs.8miu.com/read-35272.html

最新回复(0)