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

存储器系统、存储器控制器和操作方法与流程

2021-02-09 08:43:00 来源:中国专利 TAG:存储器 韩国 控制器 操作方法 引用

存储器系统、存储器控制器和操作方法
[0001]
相关申请的交叉引用
[0002]
本申请要求于2019年8月7日在韩国知识产权局提交的韩国专利申请号10-2019-0096028的优先权,其公开内容通过引用整体并入本文。
技术领域
[0003]
本公开的实施例涉及存储器系统、存储器控制器和操作方法。


背景技术:

[0004]
与存储装置相对应的存储器系统是被配置为基于主机(例如,计算机)、移动终端(例如,智能电话或平板电脑)或各种其他电子装置的请求来存储数据的装置。存储器系统不仅可以包括被配置为将数据存储在磁盘中的装置(诸如硬盘驱动器(hdd)),还可以包括被配置为将数据存储在非易失性存储器中的装置(诸如固态驱动器(ssd)、通用闪存装置(ufs)或嵌入式mmc(emmc)装置)。
[0005]
存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且可以基于所接收的命令来执行或控制操作以用于关于存储器系统中的易失性存储器或非易失性存储器读取、写入或擦除数据。存储器控制器可以驱动固件来执行用于执行或控制这样的操作的逻辑操作。
[0006]
同时,正在进行关于当存储器系统基于来自主机的命令而写入数据时用于改进写入性能的技术的研究。存储器系统不仅需要尽快写入数据,而且还需要在写入数据时如果发生突然断电(spo)防止数据丢失。


技术实现要素:

[0007]
本公开的实施例提供了存储器系统、存储器控制器和操作方法,其中可以根据流的数目来调整当前访问的存储器管芯的数目。
[0008]
另外,本公开的实施例提供了存储器系统、存储器控制器和操作方法,其中可以将在发生spo时防止数据丢失所需的成本最小化。
[0009]
在一个方面,本公开的实施例可以提供一种存储器系统,包括:存储器装置,其包括多个存储器块并且包括多个存储器管芯,多个存储器管芯包括多个存储器块的一部分;以及存储器控制器,其被配置为控制存储器装置。
[0010]
存储器控制器可以从主机接收命令并且生成与命令相对应的多个流。
[0011]
存储器控制器可以根据多个流的数目来动态配置超级存储器块的大小,超级存储器块中的每一个对应于多个流之一并且包括多个存储器块中的至少一个。
[0012]
为此,存储器控制器可以根据多个流的数目来动态配置分别与多个流相对应的超级存储器块的大小。
[0013]
存储器控制器可以控制使得多个流的数目小于或等于阈值流数目。
[0014]
存储器控制器可以控制使得与多个流相对应的超级存储器块中的每一个的大小
随着多个流的数目增加而减小。
[0015]
存储器控制器可以控制使得与多个流中的第一流相对应的超级存储器块的大小大于或等于与多个流中的第二流相对应的超级存储器块的大小,第二流在第一流之后生成。
[0016]
存储器系统可以进一步包括供电装置,供电装置被配置为在发生突然断电(spo)时向存储器控制器提供紧急功率。供电装置可以包括电容器,电容器被配置为累积电荷以便提供紧急功率。
[0017]
存储器控制器可以控制使得每个超级存储器块的大小的总和小于或等于基于电容器的充电容量确定的阈值大小。
[0018]
在另一方面,本公开的实施例可以提供一种存储器控制器,存储器控制器包括:存储器接口,其被配置为与存储器装置通信,存储器装置包括多个存储器块并且包括多个存储器管芯,多个存储器管芯包括多个存储器块的一部分;以及控制电路,其被配置为控制存储器装置。
[0019]
控制电路可以从主机接收命令并且生成与命令相对应的多个流。
[0020]
控制电路可以根据多个流的数目来动态配置超级存储器块的大小,超级存储器块中的每一个对应于多个流之一并且包括多个存储器块中的至少一个。
[0021]
为此,控制电路可以根据多个流的数目来动态配置分别与多个流相对应的超级存储器块的大小。
[0022]
控制电路可以控制使得多个流的数目小于或等于阈值流的数目。
[0023]
控制电路可以控制使得与多个流相对应的超级存储器块中的每一个的大小随着多个流的数目增加而减小。
[0024]
控制电路可以控制使得与多个流中的第一流相对应的超级存储器块的大小大于或等于与多个流中的第二流相对应的超级存储器块的大小,第二流在第一流之后生成。
[0025]
存储器控制器可以在发生spo时接收从供电装置提供的紧急功率。供电装置可以包括电容器,电容器被配置为累积电荷以便提供紧急功率。
[0026]
控制电路可以控制使得每个超级存储器块的大小的总和小于或等于基于电容器的充电容量确定的阈值大小。
[0027]
在另一方面,本公开的实施例可以提供一种用于操作被配置为控制存储器装置的存储器控制器的方法。
[0028]
用于操作存储器控制器的方法可以包括生成与来自主机的命令相对应的多个流的步骤。
[0029]
用于操作存储器控制器的方法可以包括根据多个流的数目来动态配置超级存储器块的大小的步骤,超级存储器块中的每一个对应于多个流之一。
[0030]
存储器装置可以包括多个存储器块并且可以包括多个存储器管芯,多个存储器管芯包括多个存储器块中的一部分。
[0031]
超级存储器块可以包括多个存储器块中的至少一个。
[0032]
在另一方面,本公开的实施例可以提供一种包括存储器装置和控制器的存储器系统。
[0033]
存储器装置可以包括多个管芯,多个管芯中的每一个包括多个块。
[0034]
耦合到多个管芯的存储器控制器可以从主机接收命令。
[0035]
存储器控制器可以生成与命令相对应的多个流。
[0036]
存储器控制器可以基于多个流的数目来配置超级存储器块,超级存储器块中的每一个对应于多个流之一并且包括从多个管芯中选择的块。
[0037]
随着多个流的数目增加,每个超级存储器块中的选择的块的数目和包括选择的块的多个管芯的数目减少。
[0038]
根据本公开的实施例,可以根据流的数目来调整当前访问的存储器管芯的数目。
[0039]
另外,根据本公开的实施例,可以将在发生spo时防止数据丢失所需的成本最小化。
附图说明
[0040]
从以下结合附图的详细描述中,本公开的上述和其他方面、特征和优点将变得更加明显,在附图中:
[0041]
图1是图示根据本公开的实施例的存储器系统的图;
[0042]
图2是图示根据本公开的实施例的存储器装置的框图;
[0043]
图3是图示根据本公开的实施例的存储器装置的每个存储器块的图;
[0044]
图4是图示根据本公开的实施例的存储器装置的字线和位线的结构的图;
[0045]
图5是图示根据本公开的实施例的在存储器系统中对来自主机的命令进行处理的操作的图;
[0046]
图6是图示根据本公开的实施例的在存储器系统中对命令进行处理的操作的流程图;
[0047]
图7是图示根据本公开的实施例的在存储器系统中生成流的操作的图;
[0048]
图8是图示图7中生成附加流的操作的图;
[0049]
图9是图示图7中生成附加流的另一操作的图;
[0050]
图10是图示根据本公开的实施例的被配置为在存储器系统中的突然断电(spo)期间向存储器控制器提供充电功率的供电装置的图;
[0051]
图11是图示根据本公开的实施例的在存储器系统中限制分别与多个流相对应的超级存储器块的大小的总和的操作的图;
[0052]
图12是图示根据本公开的实施例的用于操作存储器控制器的方法的流程图;以及
[0053]
图13是图示根据本公开的实施例的计算系统的图。
具体实施方式
[0054]
在下文中,将参考附图来详细描述本公开的实施例。
[0055]
图1是图示根据本公开的实施例的存储器系统100的图。
[0056]
参考图1,存储器系统100可以包括被配置为存储数据的存储器装置110和被配置为控制存储器装置110的存储器控制器120。
[0057]
存储器装置110包括多个存储器块,并且被配置为响应于存储器控制器120的控制而操作。存储器装置110的操作可以包括例如读取操作、编程操作(也称为“写入操作”)和擦除操作。
[0058]
存储器装置110可以包括存储器单元阵列,存储器单元阵列包括被配置为存储数据的多个存储器单元(也简称为“单元”)。存储器单元阵列可以被包括在存储器块中。
[0059]
例如,可以以各种类型来实现存储器装置110,例如,双倍数据速率同步动态随机存取存储器(ddr sdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪存、三维(3d)nand闪存、nor闪存、电阻式随机存取存储器(rram)、相变存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移矩随机存取存储器(stt-ram)。
[0060]
存储器装置110可以以三维阵列结构来实现。本公开的实施例不仅可应用于具有被配置作为导电浮栅的电荷存储层的闪存装置,而且可应用于具有被配置作为绝缘膜的电荷存储层的电荷捕获闪存(ctf)。
[0061]
存储器装置110被配置为从存储器控制器120接收命令和地址,并且访问由地址选择的存储器单元阵列的区域。即,存储器装置110可以关于由地址选择的区域执行与命令相对应的操作。
[0062]
例如,存储器装置110可以执行编程操作、读取操作和擦除操作。在编程操作期间,存储器装置110可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的区域中存储的数据。
[0063]
存储器控制器120可以控制关于存储器装置110的写入(或编程)、读取、擦除和后台操作。后台操作可以包括例如垃圾收集(gc)、损耗均衡(wl)和坏块管理(bbm)操作中的至少一个。
[0064]
存储器控制器120可以在主机host的请求下控制存储器装置110的操作。备选地,不论主机host的请求如何,存储器控制器120可以控制存储器装置110的操作。
[0065]
存储器控制器120和主机host可以是单独的装置。在某些情况下,存储器控制器120和主机host可以被集成并实现为单个装置。为了方便起见,以下将假定存储器控制器120和主机host是单独的装置。
[0066]
存储器控制器120可以包括主机接口(i/f)121、存储器接口122和控制电路123。
[0067]
主机接口121被配置为提供用于与主机host通信的接口。
[0068]
当从主机host接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行对所接收的命令进行处理的操作。
[0069]
存储器接口122连接到存储器装置110以便提供用于与存储器装置110通信的接口。即,存储器接口122可以被配置为响应于控制电路123的控制而向存储器装置110和存储器控制器120提供接口。
[0070]
控制电路123被配置为通过执行用于存储器控制器120的整体控制的操作来控制存储器装置110的操作。为此,例如,控制电路123可以包括处理器124和工作存储器125中的至少一个,并且在某些情况下可以进一步包括错误检测/校正电路(ecc电路)126。
[0071]
处理器124可以控制存储器控制器120的整体操作并且可以执行逻辑操作。处理器124可以通过主机接口121与主机host通信,并且可以通过存储器接口122与存储器装置110通信。
[0072]
处理器124可以执行闪存转换层(ftl)的功能。处理器124可以通过ftl将由主机提
供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba,并且通过使用映射表将其转换为pba。
[0073]
根据映射单元,存在通过ftl的多种地址映射方法。典型的地址映射方法包括页映射方法、块映射方法和混合映射方法。
[0074]
处理器124被配置为将从主机host接收的数据随机化。例如,处理器124可以通过使用随机化种子来将从主机host接收的数据随机化。经随机化的数据作为待存储的数据提供给存储器装置110,并且被编程在存储器装置110的存储器单元阵列中。
[0075]
处理器124被配置为在读取操作期间对从存储器装置110接收的数据进行去随机化。例如,处理器124可以通过使用去随机化种子来对从存储器装置110接收的数据进行去随机化。经去随机化的数据可以输出到主机host。
[0076]
处理器124可以执行固件(fw)以便控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的整体操作,并且为了执行逻辑操作,可以在启动期间执行(或驱动)加载到工作存储器125中的固件。
[0077]
固件指代在存储器系统100内部执行的程序,并且可以包括各种功能层。
[0078]
例如,固件可以包括闪存转换层(ftl)、主机接口层(hil)和闪存接口层(fil)中的至少一个。闪存转换层(ftl)被配置为在主机host请求存储器系统100提供的逻辑地址和存储器装置110的物理地址之间转换。主机接口层(hil)被配置为解释主机host发布给存储器系统100(或存储装置)的命令并且将其传递给ftl。闪存接口层(fil)被配置为将由ftl发布的命令传递给存储器装置110。
[0079]
固件可以例如存储在存储器装置110中,然后加载到工作存储器125中。
[0080]
工作存储器125可以存储驱动存储器控制器120所需的固件、程序代码、命令或数据。工作存储器125可以包括例如静态ram(sram)、动态ram(dram)和同步ram(sdram)中的至少一个作为易失性存储器。
[0081]
错误检测/校正电路126可以被配置为通过使用纠错码来检测检查目标数据的错误位,并且对所检测的错误位进行纠正。例如,检查目标数据可以是工作存储器125中存储的数据或者是从存储器装置110取回的数据。
[0082]
错误检测/校正电路126可以被实现为通过使用纠错码来对数据进行解码。错误检测/校正电路126可以通过使用各种解码器来实现。例如,各种解码器包括使用非系统代码执行解码的解码器或使用系统代码执行解码的解码器。
[0083]
例如,错误检测/校正电路126可以针对每个读取数据逐个扇区地检测错误位。即,每个读取数据可以包括多个扇区。如本文所使用,扇区可以指代小于闪存的读取单位(即,页)的数据单位。构成每个读取数据的扇区可以经由地址彼此对应。
[0084]
错误检测/校正电路126可以计算误码率(ber)并且确定是否可以逐扇区进行纠正。例如,如果ber大于参考值,则错误检测/校正电路126可以确定对应的扇区不可纠正或发生故障。如果ber小于参考值,则错误检测/校正电路126可以确定对应的扇区可纠正或通过。
[0085]
错误检测/校正电路126可以针对所有读取数据连续地执行错误检测/校正操作。当读取数据中的扇区可纠正时,错误检测/校正电路126可以针对下一读取数据省略与对应扇区有关的错误检测/校正操作。在以这种方式完成针对所有读取数据的错误检测和校正
操作之后,错误检测/校正电路126可以检测到最后被认为不可纠正的扇区。可能存在被认为不可纠正的一个或多个扇区。错误检测/校正电路126可以将与被认为不可纠正的扇区有关的信息(例如,地址信息)传递给处理器124。
[0086]
总线127可以被配置为在存储器控制器120的组成元件121、122、124、125和126之间提供通道。总线127可以包括例如用于传递各种类型的控制信号和命令的控制总线和用于传递各种数据的数据总线。
[0087]
存储器控制器120的上述组成元件121、122、124、125和126仅是示例。可以省略存储器控制器120的上述组成元件121、122、124、125和126中的一些,或者存储器控制器120的上述组成元件121、122、124、125和126中的一些可以集成到单个元件中。在某些情况下,除了存储器控制器120的上述组成元件之外,可以添加一个或多个其他组成元件。
[0088]
在下文中,将参考图2更详细地描述存储器装置110。
[0089]
图2是图示根据本公开的实施例的存储器装置110的框图。
[0090]
参考图2,存储器装置110可以包括存储器单元阵列210、地址解码器220、读取和写入(读/写)电路230、控制逻辑240和电压发生电路250。
[0091]
存储器单元阵列210可以包括多个存储器块blk1至blkz(其中z是大于或等于2的自然数)。
[0092]
在多个存储器块blk1至blkz中,可以设置多个字线wl和多个位线bl,并且可以布置多个存储器单元mc。
[0093]
多个存储器块blk1至blkz可以通过多个字线wl连接到地址解码器220。多个存储器块blk1至blkz可以通过多个位线bl连接到读/写电路230。
[0094]
多个存储器块blk1至blkz中的每一个可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元,并且可以包括具有垂直沟道结构的非易失性存储器单元。
[0095]
存储器单元阵列210可以被配置作为具有二维结构的存储器单元阵列,并且在某些情况下可以被配置作为具有三维结构的存储器单元阵列。
[0096]
存储器单元阵列210中的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为存储一位数据的单级单元(slc)。作为另一示例,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为存储两位数据的多级单元(mlc)。作为另一示例,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为存储三位数据的三级单元(tlc)。作为另一示例,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置为存储四位数据的四级单元(qlc)。作为另一示例,存储器单元阵列210可以包括多个存储器单元,每个存储器单元被配置为存储至少五位数据。
[0097]
地址解码器220、读/写电路230、控制逻辑240和电压发生电路250可以作为被配置为驱动存储器单元阵列210的外围电路进行操作。
[0098]
地址解码器220可以通过多个字线wl连接到存储器单元阵列210。
[0099]
地址解码器220可以被配置为响应于控制逻辑240的控制而操作。
[0100]
地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对所接收的地址中的块地址进行解码。地址解码器220可以根据经解码的块地址来选择至少一个存储器块。
[0101]
地址解码器220可以从电压发生电路250接收读取电压vread和通过电压vpass。
[0102]
在读取操作期间,当施加读取电压时,地址解码器220可以将读取电压vread施加至所选择的存储器块内的所选择的字线wl,并且可以将通过电压vpass施加至其余未选择的字线wl。
[0103]
在编程验证操作期间,地址解码器220可以将由电压发生电路250生成的验证电压施加到所选择的存储器块内的所选择的字线wl,并且可以将通过电压vpass施加至其余未选择的字线wl。
[0104]
地址解码器220可以被配置为对所接收的地址中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读/写电路230。
[0105]
存储器装置110可以逐页执行读取操作和编程操作。读取操作和编程操作被请求时接收的地址可以包括块地址、行地址和列地址中的至少一个。
[0106]
地址解码器220可以根据块地址和行地址来选择一个存储器块和一个字线。列地址可以由地址解码器220解码,并且被提供给读/写电路230。
[0107]
地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
[0108]
读/写电路230可以包括多个页缓冲器pb。当存储器单元阵列210执行读取操作时,读/写电路230可以作为“读取电路”进行操作,并且当存储器单元阵列210执行写入操作时,读/写电路230可以作为“写入电路”进行操作。
[0109]
读/写电路230也被称为包括多个页缓冲器pb的页缓冲器电路或数据寄存器电路。读/写电路230可以包括负责数据处理功能的数据缓冲器,并且在一些情况下可以进一步包括负责高速缓存功能的高速缓存缓冲器。
[0110]
多个页缓冲器pb可以通过多个位线bl连接到存储器单元阵列210。为了在读取操作和编程验证操作期间感测存储器单元的阈值电压vth,多个页缓冲器pb可以向连接到存储器单元的位线bl连续地提供感测电流,可以通过感测节点来感测根据对应存储器单元的编程状态而流动的电流量的变化,并且可以将其锁存为感测数据。
[0111]
读/写电路230可以响应于从控制逻辑240输出的页缓冲器控制信号而操作。
[0112]
在读取操作期间,读/写电路230感测存储器单元中的数据,临时存储所取回的数据,并且将数据data输出到存储器装置110的输入/输出缓冲器。在一个实施例中,除了页缓冲器pb或页寄存器之外,读/写电路230还可以包括列选择电路。
[0113]
控制逻辑240可以连接到地址解码器220、读/写电路230和电压发生电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令cmd和控制信号ctrl。
[0114]
控制逻辑240可以被配置为响应于控制信号ctrl而控制存储器装置110的整体操作。控制逻辑240可以输出用于调整多个页缓冲器pb的感测节点的预充电电位水平的控制信号。
[0115]
控制逻辑240可以控制读/写电路230以在存储器单元阵列210中执行读取操作。电压发生电路250可以响应于从控制逻辑240输出的电压发生电路控制信号,生成在读取操作期间使用的读取电压vread和通过电压vpass。
[0116]
图3是图示根据本公开的实施例的存储器装置110的每个存储器块blk的图。
[0117]
参考图3,可以在多个页pg和多个串str交叉的方向上布置和配置存储器块blk。
[0118]
多个页pg对应于多个字线wl,并且多个串str对应于多个位线bl。
[0119]
在存储器块blk中,多个字线wl和多个位线bl可以布置为交叉。例如,多个字线wl中的每一个可以在行方向上布置,并且多个位线bl中的每一个可以在列方向上布置。作为另一示例,多个字线wl中的每一个可以在列方向上布置,并且多个位线bl中的每一个可以在行方向上布置。
[0120]
多个字线wl和多个位线bl可以彼此交叉,从而限定多个存储器单元mc。每个存储器单元mc可以具有布置在其中的晶体管tr。
[0121]
例如,每个存储器单元mc中布置的晶体管tr可以包括漏极、源极和栅极。晶体管tr的漏极(或源极)可以直接地或经由另一晶体管tr连接到对应的位线bl。晶体管tr的源极(或漏极)可以直接地或经由另一晶体管tr连接到源极线(其可以是接地)。晶体管tr的栅极可以包括由绝缘体围绕的浮栅(fg)和从字线wl施加栅极电压的控制栅极(cg)。
[0122]
在多个存储器块blk1至blkz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以附加地布置在第一最外侧字线的外部,第一最外侧字线在两个最外侧字线中更靠近读/写电路230,并且第二选择线(也称为漏极选择线或源极选择线)可以附加地布置在另一第二最外侧字线的外部。
[0123]
在一些情况下,可以在第一最外侧字线和第一选择线之间附加地布置至少一个虚设字线。另外,可以在第二最外侧字线和第二选择线之间附加地布置至少一个虚设字线。
[0124]
在图3所示的存储器块结构的情况下,可以逐页地执行读取操作和编程操作(或写入操作),并且可以逐个存储器块地执行擦除操作。
[0125]
图4是图示根据本公开的实施例的存储器装置110的字线wl和位线bl的结构的图。
[0126]
参考图4,存储器装置110具有其中存储器单元mc集中的核心区域以及与核心区域的剩余区域相对应并支持存储器单元阵列210的操作的辅助区域。
[0127]
核心区域可以包括页pg和串str。在核心区域中,多个字线wl1至wl9和多个位线bl被布置为交叉。
[0128]
多个字线wl1至wl9可以连接至行解码器410,并且多个位线bl可以连接至列解码器420。对应于读/写电路230的数据寄存器430可以存在于多个位线bl和列解码器420之间。
[0129]
多个字线wl1至wl9对应于多个页pg。
[0130]
例如,如图4中所示,多个字线wl1至wl9中的每一个可以对应于一个页pg。相反,当多个字线wl1至wl9中的每一个具有较大的尺寸时,多个字线wl1至wl9中的每一个可以对应于至少两个(例如,两个或四个)页pg。每个页pg是与进行编程操作和读取操作有关的最小单位,并且在进行编程操作和读取操作时,同一页pg内的所有存储器单元mc可以同时执行操作。
[0131]
多个位线bl可以连接到列解码器420,同时在奇数编号的位线bl和偶数编号的位线bl之间进行区分。
[0132]
为了访问存储器单元mc,地址可以首先通过输入/输出端、然后通过行解码器410和列解码器420进入核心区域,使得目标存储器单元可以被指定。如本文所使用,指定目标存储器单元指代访问连接至行解码器410的字线wl1至wl9与连接至列解码器420的位线bl之间的交叉点处的存储器单元mc中的一个以便将数据编程在其中或从其中读取经编程的数据。
[0133]
第一方向(例如,x轴方向)上的页pg通过被称为字线wl的共同使用的线来连接。第二方向(例如,y轴方向)上的串str通过被称为位线bl的公共线来连接。如本文中所使用,共同约束指代通过相同的材料在结构上连接并且在电压施加期间同时接收相同的电压。显然,由于前一存储器单元mc两端的电压降,施加到串联连接的存储器单元mc之中中间位置或最后位置中的存储器单元mc的电压可能与施加到第一位置中的存储器单元mc的电压和施加到最后位置中的存储器单元mc的电压略有不同。
[0134]
由于通过存储器装置110的所有数据处理(包括编程和读取操作)均经由数据寄存器430进行,数据寄存器430起至关重要的作用。如果通过数据寄存器430的数据处理被延迟,则所有其他区域都需要等待直到数据寄存器430完成数据处理。另外,数据寄存器430的性能下降可能会使得存储器装置110的整体性能下降。
[0135]
参考图4所示的示例,在一个串str中,可以存在连接到多个字线wl1至wl9的多个晶体管tr1至tr9。多个晶体管tr1至tr9存在的区域对应于存储器单元mc。如本文中所使用,多个晶体管tr1至tr9指代包括控制栅极cg和浮栅fg的晶体管。
[0136]
多个字线wl1至wl9包括两个最外侧字线wl1和wl9。第一选择线dsl可以附加地布置在第一最外侧字线wl1的外部,就两个最外侧字线wl1和wl9之中的信号路径而言,第一最外侧字线wl1更靠近数据寄存器430。第二选择线ssl可以附加地布置在另一第二最外侧字线wl9的外部。
[0137]
由第一选择线dl控制而导通或关断的第一选择晶体管d-tr具有连接至第一选择线dsl的栅极电极,但是不包括浮栅fg。由第二选择线ssl控制而导通/关断的第二选择晶体管s-tr具有连接至第二选择线ssl的栅极电极,但是不包括浮栅fg。
[0138]
第一选择晶体管d-tr起导通或关断对应串str和数据寄存器430之间的连接的开关作用。第二选择晶体管s-tr起导通或关断对应串str和源极线sl之间的连接的开关作用。即,第一选择晶体管d-tr和第二选择晶体管s-tr起到位于对应串str的两端上并传递或阻挡信号的网守的作用。
[0139]
存储器系统100需要在编程操作期间利用电子来填充待编程的位线bl的目标存储器单元mc。因此,存储器系统100向第一选择晶体管d-tr的栅极电极施加预定的导通电压vcc,从而导通第一选择晶体管d-tr,并且向第二选择晶体管s-tr的栅极电极施加预定的关断电压(例如,0v),从而关断第二选择晶体管s-tr。
[0140]
存储器系统100在读取操作或验证操作期间导通第一选择晶体管d-tr和第二选择晶体管s-tr。因此,电流可以流过对应串str并且流到与接地相对应的源极线sl,使得位线bl的电压水平可以被测量。但是,在读取操作期间,第一选择晶体管d-tr和第二选择晶体管s-tr之间的导通/关断定时可能存在时间差。
[0141]
存储器系统100可以在擦除操作期间通过源极线sl向衬底提供预定电压(例如, 20v)。存储器系统100在擦除操作期间将第一选择晶体管d-tr和第二选择晶体管s-tr浮置,从而生成无限电阻。所得到的结构去除了第一选择晶体管d-tr和第二选择晶体管s-tr的作用,并且由于电势差而允许电子仅在浮栅fg和衬底之间操作。
[0142]
图5是图示根据本公开的实施例的在存储器系统100中处理来自主机host的命令的操作的图。
[0143]
参考图5,存储器系统100的存储器控制器120可以通过生成多个流strm_1至strm_
n来处理来自主机host的命令cmd。
[0144]
存储器控制器120可以区分和管理多个流strm_1至strm_n。存储器控制器120可以以并行方式处理多个流strm_1至strm_n。
[0145]
可以以各种方式确定由存储器控制器120用来区分多个流的标准。例如,存储器控制器120可以区分用于对相对频繁地更新和访问的数据进行处理的流以及用于对相对不频繁地更新和访问的数据进行处理的流。
[0146]
存储器控制器120可以在包括存储器装置110中的多个存储器块中的至少一个存储器块的单个超级存储器块中存储多个流strm_1至strm_n之一的数据。即,单个超级存储器块可以仅存储同一流中的数据。如果流中的数据存储在超级存储器块中,则可以将对应的超级存储器块描述为与对应的流相对应。
[0147]
超级存储器块中的存储器块可以分别被包括在不同的存储器管芯中。在图5中,超级存储器块sblk_1至sblk_n可以分别包括存储器管芯die_1中的存储器块blk、存储器管芯die_2中的存储器块blk、存储器管芯die_3中的存储器块blk以及存储器管芯die_4中的存储器块blk。由于可以针对不同存储器管芯中的存储器块以并行方式处理读/写操作,超级存储器块中的存储器块分别被包括在不同的存储器管芯中。
[0148]
尽管将假设单个超级存储器块中的块分别被包括在不同的存储器管芯中,但是单个超级存储器块中的一些存储器块可以被包括在同一存储器管芯中。
[0149]
图6是图示根据本公开的实施例的在存储器系统100中处理命令的操作的流程图。
[0150]
在下面的描述中将假定存储器系统100的存储器控制器120对命令进行处理。
[0151]
参考图6,存储器控制器120首先确定当前生成的流的数目是否小于阈值流数目(s610)。
[0152]
如果当前生成的流的数目小于阈值流数目(s610中的是),则存储器控制器120可以附加地生成用于处理命令的流(s620)。
[0153]
存储器控制器120可以确定与在步骤s620中生成的流相对应的超级存储器块的大小(s630)。换言之,存储器控制器120可以配置与在步骤s620中生成的流相对应的超级存储器块。
[0154]
存储器控制器120使用当前生成的流来处理命令(s640)。
[0155]
如果当前生成的流的数目大于或等于阈值流数目(s610中的否),则存储器控制器120在不生成附加流的情况下,使用当前生成的流来处理命令(s640)。
[0156]
即,存储器控制器120可以控制使得用于处理命令的流的数目变得小于或等于阈值流数目。
[0157]
在步骤s640之后,存储器控制器120确定是否需要生成附加流来处理命令(s650)。
[0158]
如果需要生成附加流(s650的是),则存储器控制器120返回步骤s610,并且确定当前生成的流的数目是否小于阈值流数目。如果不需要生成附加流(在s650中的否),则存储器控制器120可以结束命令处理。
[0159]
如上所述,当生成用于处理命令的多个流时,存储器控制器120可以对分别与多个流相对应的并且包括存储器装置110中的多个存储器块中的至少一个存储器块的超级存储器块的大小进行配置。
[0160]
可以以各种方式来确定超级存储器块的大小。
[0161]
例如,超级存储器块的大小可以由对应超级存储器块中的存储器块的数目确定。
[0162]
作为另一示例,超级存储器块的大小可以由包括对应超级存储器块中的至少一个存储器块的存储器管芯的数目来确定。即,可以基于包括对应超级存储器块中的存储器块的存储器管芯的数目来确定超级存储器块的大小。
[0163]
存储器控制器120可以将与多个流中的每个流相对应的超级存储器块配置为固定数目。备选地,存储器控制器120可以根据特定条件来动态配置与多个流中的每个流相对应的超级存储器块。
[0164]
例如,存储器控制器120可以根据多个流的数目来动态配置与多个流中的每个流相对应的超级存储器块。
[0165]
在下文中,将参考图7至图9来描述生成流的操作以及由存储器控制器120根据所生成的流的数目来动态配置与每个所生成的流相对应的超级存储器块的操作。
[0166]
将在下面参考图7至图9的描述中假设存储器控制器120最多可以生成四个流,并且存储器装置110包括四个存储器管芯。还假设超级存储器块的大小由包括对应超级存储器块中的至少一个存储器块的存储器管芯的数目确定。
[0167]
图7是图示根据本公开的实施例的在存储器系统100中生成流的操作的图。
[0168]
参考图7,存储器系统100的存储器控制器120可以生成两个流strm_1和strm_2。与流strm_1相对应的超级存储器块sblk_1的大小是4,与流strm_2相对应的超级存储器块sblk_2的大小是4。
[0169]
存储器装置110中的存储器管芯的数目是4,并且超级存储器块sblk_1和sblk_2的大小的最大值是4。即,超级存储器块sblk_1和sblk_2的大小被配置为具有最大值。
[0170]
如果流的数目小于或等于最小参考流数目(例如,两个),则存储器控制器120可以将每个流配置为具有最大值。
[0171]
图8是图示图7中生成附加流的操作的图。
[0172]
参考图8,在生成流strm_1和strm_2之后生成流strm_3,然后生成流strm_4。与流strm_3相对应的超级存储器块sblk_3的大小是3,其小于与流strm_1和strm_2分别相对应的超级存储器块sblk_1和sblk_2的大小(4)。
[0173]
与流strm_4相对应的超级存储器块sblk_4的大小为2,其小于与流strm_1和strm_2分别相对应的超级存储器块sblk_1和sblk_2的大小(4)和与流strm_3相对应的超级存储器块sblk_3的大小(3)。
[0174]
即,存储器控制器120可以进行控制使得与多个流之中的第一流相对应的超级存储器块的大小大于或等于与多个流之中在第一流之后生成的第二流相对应的超级存储器块的大小。
[0175]
图9是图示图8中生成附加流的另一操作的图。
[0176]
参考图9,如果在生成流strm_1和strm_2之后生成流strm_3和strm_4,则存储器控制器120可以将与流strm_1、strm_2、strm_3和strm_4分别相对应的超级存储器块sblk_1、sblk_2、sblk_3和sblk_4配置为包括3个存储器块。
[0177]
随着流的数目从2增加到4,与流strm_1和strm_2分别相对应的超级存储器块sblk_1和sblk_2的大小从4减小到3。
[0178]
即,存储器控制器120可以进行控制使得随着多个流的数目增加,与多个流分别相
对应的超级存储器块的大小减小。
[0179]
随着流的数目增加,存储器控制器120如上所述将与流相对应的超级存储器块的大小配置为较小的原因如下:
[0180]
随着流的数目增加,存储器控制器120开放以处理命令的超级存储器块的数目增加,并且存储器控制器120同时访问的存储器管芯的总数目也增加。
[0181]
如果在存储器控制器120同时访问多个存储器管芯以便处理命令时发生突然断电(spo),则存储器控制器120需要在没有错误的情况下将数据写入当前访问的存储器管芯中。这是为了防止由于spo而导致数据丢失。
[0182]
为了在发生spo时使得存储器控制器120在没有错误的情况下将数据写入当前访问的存储器管芯中,需要向存储器控制器120和存储器装置110提供紧急功率。紧急功率的大小与当前访问的存储器管芯的数目成比例。
[0183]
因此,与当前访问的存储器管芯的数目成比例,需要更大大小的紧急功率,并且因此对于存储器系统100具有用于提供紧急功率的供电装置而言,增加的成本是必要的。
[0184]
因此,即使流的数目增加,为了限制存储器控制器120当前访问的存储器管芯的数目,存储器控制器120可以将与流相对应的超级存储器块配置为随着流的数目增加而变小。在这种情况下,供电装置需要提供的紧急功率的大小减小,从而使得可以降低存储器系统100具有用于提供紧急功率的供电装置所需的成本。因此,可以将在发生spo时防止数据丢失的成本最小化。
[0185]
现在将描述用于在spo期间向存储器控制器120提供紧急功率的供电装置。
[0186]
图10是图示根据本公开的实施例的被配置为在存储器系统100中的突然断电(spo)期间向存储器控制器120提供充电功率的供电装置130的图。
[0187]
参考图10,存储器系统100可以包括供电装置130,供电装置130被配置为在发生spo时向存储器控制器120提供紧急功率emgc_pwr。
[0188]
供电装置130可以通过内部充电功率将紧急功率emgc_pwr提供给存储器控制器120。为此,供电装置130可以包括电容器cap,电容器cap被配置为累积电荷以用于提供紧急功率。
[0189]
电容器可以通过从供电装置130的外部供应的功率来累积电荷。
[0190]
电容器可以是铝电解电容器或聚合物钽电容器,但不限于此。
[0191]
在下文中,将描述通过供电装置130来配置存储器系统100中的与多个流相对应的超级存储器块中的每一个的示例。
[0192]
图11是图示根据本公开的实施例的限制存储器系统100中的与多个流相对应的超级存储器块中的每个超级存储器块的大小的总和tot_die_num的操作的图。
[0193]
存储器控制器120可以控制使得与多个流相对应的超级存储器块中的每一个的大小的总和tot_die_num小于或等于阈值大小。阈值大小可以基于供电装置130中电容器的充电容量(即,电容器中累积的电荷量)来确定。假设标称或额定容量(即,可以在电容器的电极之间输入的最大电压)为100%,并且放电状态对应于0%,则电容器的充电容量可以配置为范围为从0%到100%的值。
[0194]
在图11中,如果电容器的充电容量在0%至20%的范围内,则存储器控制器120可以进行控制,使得超级存储器块的大小的总和tot_die_num小于或等于阈值大小20。
[0195]
如果电容器的充电容量在20%到40%的范围内,则存储器控制器120可以进行控制,使得超级存储器块的大小的总和tot_die_num小于或等于阈值大小40。
[0196]
如果电容器的充电容量在40%到60%的范围内,则存储器控制器120可以进行控制,使得超级存储器块的大小的总和tot_die_num小于或等于阈值大小60。
[0197]
如果电容器的充电容量在60%到80%的范围内,则存储器控制器120可以进行控制,使得超级存储器块的大小的总和tot_die_num小于或等于阈值大小80。
[0198]
如果电容器的充电容量在80%到100%的范围内,则存储器控制器120可以进行控制,使得超级存储器块的大小的总和tot_die_num小于或等于阈值大小100。
[0199]
尽管图11图示了阈值大小值和充电容量范围的示例,但是存储器控制器120可以不同地配置阈值大小值和充电容量范围。
[0200]
在下文中,将描述这样的场景,其中存储器系统100根据参考图5至图11描述的流的数目来确定与相应流相对应的超级存储器块的大小。
[0201]
在场景中将假设存储器系统100最多可以生成八个流。还假设存储器系统100的存储器装置110包括32个存储器管芯。还假设存储器系统100的供电装置130可以提供紧急功率,使得当发生spo时可以针对最多128个存储器管芯正常地执行写入操作。
[0202]
存储器系统100的存储器控制器120可以最初生成第一流strm_1以便处理来自主机的命令。与第一流strm_1相对应的超级存储器块的大小是最大值32。在这种情况下同时访问的存储器管芯数目为32。
[0203]
存储器控制器120可以附加地生成第二流strm_2。与第二流strm_2相对应的超级存储器块的大小也是最大值32。在这种情况下同时访问的存储器管芯的数目为32 32=64。
[0204]
存储器控制器120可以附加地生成第三流strm_3。与第三流strm_3相对应的超级存储器块的大小是小于最大值(32)的24。在这种情况下同时访问的存储器管芯的数目为32 32 24=88。
[0205]
存储器控制器120可以附加地生成第四流strm_4。与第四流strm_4相对应的超级存储器块的大小是16,其小于与第三流strm_3相对应的超级存储器块的大小(24)。在这种情况下同时访问的存储器管芯的数目为32 32 24 16=104。
[0206]
存储器控制器120可以在进行控制使得流的数目小于或等于8的同时按以上述方式附加地生成流。
[0207]
另外,存储器控制器120可以进行控制,使得同时访问的存储器管芯的数目小于或等于在spo期间供电装置可以向其提供紧急功率的存储器管芯的数目的最大值(128)。
[0208]
图12是图示根据本公开的实施例的用于操作存储器控制器120的方法的流程图。
[0209]
参考图12,用于操作存储器控制器120的方法可以包括生成用于处理来自主机host的命令的多个流的步骤(s1210)。
[0210]
该方法可以包括动态地配置与在步骤s1210中生成的多个流分别相对应的超级存储器块的步骤(s1220)。
[0211]
存储器控制器120可以控制存储器装置110。存储器装置110可以包括多个存储器块,并且可以包括多个存储器管芯,多个存储器管芯包括多个存储器块中的一些。
[0212]
超级存储器块可以包括存储器装置110中的多个存储器块中的至少一个。
[0213]
存储器控制器120的上述操作可以由控制电路123控制,并且可以以使得处理器
124执行(或驱动)其中存储器控制器120的整体操作被编程的固件的方式来被执行。
[0214]
图13是图示根据本公开的实施例的计算系统1300的图。
[0215]
参考图13,计算系统1300可以包括:电连接到系统总线1360的存储器系统100;被配置为控制计算系统1300的整体操作的中央处理单元(cpu)1310;被配置为存储与计算系统1300的操作有关的数据和信息的随机存取存储器(ram)1320;被配置为向用户提供用户环境的用户接口/用户体验(ui/ux)模块1330;被配置为与有线和/或无线类型的外部装置进行通信的通信模块1340;以及被配置为对由计算系统1300使用的功率进行管理的功率管理模块1350。
[0216]
计算系统1300可以是个人计算机(pc)或者可以包括诸如智能电话或平板电脑或各种电子装置的移动终端。
[0217]
计算系统1300可以进一步包括用于提供操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器(cis)和动态随机存取存储器(dram)。其他元件对于本领域技术人员而言将是显而易见的。
[0218]
存储器系统100不仅可以包括被配置为将数据存储在磁盘中的装置(例如,硬盘驱动器(hdd)),还可以包括被配置为将数据存储在非易失性存储器中的装置(例如,固态驱动器(ssd)、通用闪存存储装置或嵌入式mmc(emmc)装置)。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)和铁电ram(fram)。另外,存储器系统100可以被实现为各种类型的存储装置并且被安装在各种电子装置内部。
[0219]
尽管出于例示性目的描述了本公开的优选实施例,但是本领域技术人员将理解,在不脱离如所附权利要求中公开的本公开的范围和精神的情况下,可以进行各种修改、添加和替换。因此,为了简洁和清楚起见,已描述了本公开的实施例。本公开的范围应基于所附权利要求来被解释,使得与权利要求等同的范围内包括的所有技术思想都属于本公开。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献

  • 日榜
  • 周榜
  • 月榜