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

文档序号:29789033发布日期:2022-04-23 16:36阅读:198来源:国知局
存储器设备及其操作方法与流程
存储器设备及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年10月20日提交的韩国专利申请号10-2020-0136182的优先权,上述申请的全部内容通过引用并入本文。
技术领域
3.本文描述的一个或多个实施例涉及存储器设备以及操作存储器设备的方法。


背景技术:

4.存储设备可以在诸如计算机、智能电话或智能平板的主机设备的控制下存储数据。存储设备的示例包括在磁盘上存储数据的硬盘驱动器(hdd)和在半导体存储器(例如,非易失性存储器)中存储数据的固态驱动器(ssd)或存储器卡。
5.存储设备可以包括存储器控制器来控制数据在存储器设备中的存储。存储器设备可以被分类为易失性存储器和非易失性存储器。非易失性存储器的代表性示例包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪存、相变型随机存取存储器(pram)、磁性ram(mram)、电阻式ram(rram)、铁电型ram(fram)等。


技术实现要素:

6.本公开的各种实施例涉及能够在一个就绪/忙碌时段中完成模糊-精细编程操作的存储器设备,以及操作存储器设备的方法。
7.本公开的一个实施例可以提供一种存储器设备,该存储器设备包括:多个存储器单元,这些存储器单元被配置为形成多个页;外围电路,该外围电路被配置为在多个页中的与被选择的页相邻的页上执行第一编程操作,并且在被选择的页上执行第二编程操作;以及控制逻辑,该控制逻辑被配置为控制外围电路:从存储器控制器连续地接收与被选择的页相邻的页的最低有效位(lsb)页数据、被选择的页的中间有效位(csb)页数据和最高有效位(msb)页数据,将与被选择的页相邻的页的lsb页数据编程到与被选择的页相邻的页,获得先前存储在被选择的页中的、被选择的页的lsb页数据,并且将被选择的页的lsb页数据、csb页数据以及msb页数据编程到被选择的页。
8.本公开的一个实施例可以提供一种存储器设备,该存储器设备包括:多个存储器单元,这些存储器单元被配置为形成多个页;外围电路,该外围电路被配置为在多个页中的与被选择的页相邻的页上执行第一编程操作,并且在被选择的页上执行第二编程操作;以及控制逻辑,该控制逻辑被配置为控制外围电路控制执行第一编程操作和第二编程操作。控制逻辑可以包括:地址控制器,该地址控制器被配置为基于第二编程操作待在其上被执行的目标地址来生成新地址;以及编程控制器,该编程控制器被配置为基于新地址来输出操作信号,以执行第一编程操作和第二编程操作。
9.本公开的一个实施例可以提供一种操作存储器设备的方法,该存储器设备包括被配置为形成多个页的多个存储器单元。该方法可以包括:从存储器控制器连续地接收多个
页中的与被选择的页相邻的页的最低有效位(lsb)页数据、被选择的页的中间有效位(csb)页数据和最高有效位(msb)页数据;执行将与被选择的页相邻的页的lsb页数据编程到与被选择的页相邻的页的第一编程操作;执行读取先前存储在被选择的页中的、被选择的页的lsb页数据的恢复操作;以及执行将通过对被选择的页的lsb页数据、csb页数据和msb页数据进行组合而生成的数据编程到被选择的页的第二编程操作。
10.本公开的一个实施例可以提供一种操作存储器设备的方法,该方法包括:从存储器控制器连续地接收最低有效位(lsb)页数据、中间有效位(csb)页数据和最高有效位(msb)页数据;在与被选择的页相邻的页上执行模糊编程操作;在被选择的页上执行恢复操作;以及在被选择的页中执行精细编程操作,其中模糊编程操作、恢复操作和精细编程操作在忙碌时段期间被执行。
附图说明
11.图1图示了存储设备的一个实施例。
12.图2图示了存储器设备的一个实施例。
13.图3图示了存储器单元阵列的一个实施例。
14.图4图示了描述单次编程(one-shot program)的一个实施例。
15.图5图示了i/o瓶颈现象的一个示例。
16.图6图示了描述模糊-精细编程(foggy-fine program)的一个实施例。
17.图7a和图7b图示了模糊-精细编程的一个实施例。
18.图8a和图8b是用于描述在模糊-精细编程操作期间可能发生的i/o瓶颈现象的图。
19.图9图示了就绪-忙碌信号。
20.图10图示了用于减少i/o瓶颈现象的编程方法和就绪/忙碌信号的实施例。
21.图11图示了执行编程操作的存储器设备的一个实施例。
22.图12图示了目标字线被编程的过程的一个实施例。
23.图13图示了i/o瓶颈现象的一个示例。
24.图14图示了操作存储器设备的方法的一个实施例。
25.图15图示了存储器控制器的一个实施例。
26.图16图示了存储器卡系统的一个实施例。
27.图17图示了固态驱动器(ssd)系统的一个实施例。
28.图18图示了用户系统的一个实施例。
具体实施方式
29.引入本文中描述的实施例中的结构描述或功能描述仅用于描述本公开的实施例。描述不应被解释为限于说明书或申请中描述的实施例。现在将在下文中参考其中示出了本公开的优选实施例的附图来更全面地描述各种实施例,使得本领域技术人员可以容易地实现本公开的技术思想。
30.图1是图示了存储设备50的一个实施例的框图,存储设备50可以包括存储器设备100和存储器控制器200。存储设备50可以在主机300的控制下存储数据。主机300的示例包括蜂窝电话、智能电话、mp3播放器、膝上型计算机、台式计算机、游戏机、电视、平板pc、或车
载信息娱乐系统。
31.取决于主机接口,存储设备50可以被制造为各种存储设备中的任何一种,主机接口是用于与主机300进行通信的通信系统。例如,数据存储设备50可以是ssd、mmc、emmc、rs-mmc、或micro-mmc类型的多媒体卡、sd、mini-sd、micro-sd类型的安全数字卡、通用串行总线(usb)存储设备、通用闪存(ufs)设备、个人计算机存储器卡国际协会(pcmcia)卡类型的存储设备、外围组件互连(pci)卡类型的存储设备、pci-快速(pci-e)类型的存储设备、紧凑型闪存(cf)卡、智能媒体卡、以及记忆棒。
32.存储设备50可以被制造为具有各种封装类型中的任何一种。示例包括:叠层封装(pop)类型、系统级封装(sip)类型、片上系统(soc)类型、多芯片封装(mcp)类型、板上芯片(cob)类型、晶圆级制造封装(wfp)类型、以及晶圆级堆叠封装(wsp)类型。
33.存储器设备100可以在存储器控制器200的控制下存储数据并执行其他操作。存储器设备100可以包括至少一个存储器单元阵列,存储器单元阵列包括被配置为存储数据的多个存储器单元。每个存储器单元阵列可以包括多个存储器块,其中每个存储器块包括多个存储器单元。多个存储器单元可以形成多个页。在一个实施例中,每个页可以是用于对存储器设备100中的数据进行排序或者从存储器设备100读取所存储的数据的单位。每个存储器块可以是用于擦除数据的单位。
34.存储器设备100的示例包括双倍数据速率同步动态随机存取存储器(ddr sdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪存、垂直nand闪存、nor闪存设备、电阻式随机存取存储器(rram)、相变型随机存取存储器(pram)、磁阻式随机存取存储器(mram)、铁电型随机存取存储器(fram)、或者自旋转移力矩随机存取存储器(stt-ram)。为了说明起见,假设存储器设备100是nand闪存。
35.存储器设备100可以以二维阵列结构或三维阵列结构来实现。为了例示的目的,将描述三维阵列结构。本文描述的实施例可以被应用于其中电荷存储层由导电浮栅(fg)形成的闪存设备、或者其他类型的存储器设备,诸如但不限于其中电荷存储层由绝缘层形成的电荷捕获闪存(ctf)存储器。
36.在一个实施例中,存储器设备100可以以在每个存储器单元中存储一个数据位的单级单元(slc)方式操作。在一个实施例中,存储器设备100可以被操作为在每个存储器单元中存储至少两个数据位。例如,存储器设备100可以以在每个存储器单元中存储两个数据位的多级单元(mlc)方式、在每个存储器单元中存储三个数据位的三级单元(tlc)方式、或者在每个存储器单元中存储四个数据位的四级单元(qlc)方式操作。
37.存储器设备100可以从存储器控制器200接收命令和地址,并且访问存储器单元阵列的由地址中的对应地址选择的区域。例如,存储器设备100可以在由地址选择的区域上执行与命令相对应的操作。响应于所接收的命令,存储器设备100可以执行例如写入(编程)操作、读取操作或擦除操作。例如,当编程命令被接收到时,存储器设备100可以在由地址选择的区域中对数据进行编程。如果读取命令被接收到,则存储器设备100可以从由地址选择的区域读取数据。如果擦除命令被接收到,则存储器设备100可以从由地址选择的区域擦除数据。
38.存储器设备100可以以单次编程方案或模糊-精细编程方案来执行编程操作。在存
储器设备100以单次编程方案来执行编程操作的情况下,存储器设备100可以从存储器控制器200接收所有的最低有效位(lsb)页数据lsb_data、中间有效位(csb)页数据csb_data、以及最高有效位(msb)页数据msb_data,并且然后将被选择的存储器单元同时编程到目标编程状态。
39.在存储器设备100以模糊-精细编程方案来执行编程操作的情况下,存储器设备100可以在被选择的页上对lsb页数据lsb_data进行编程。随后,存储器设备100可以从存储器控制器200接收csb页数据csb_data和msb页数据msb_data,并且通过模糊编程操作和精细编程操作来对存储器单元进行编程。因此,编程操作可以在被选择的页上被连续执行。
40.然而,当单次编程方案被使用时,由于耦合到被选择的字线的存储器单元被同时编程到目标编程状态,因此在与被选择的字线相邻的字线上可能会发生干扰现象。此外,当模糊-精细编程方案被使用时,由于编程操作在被选择的页上被连续执行,因此在数据传输和数据编程之间可能会发生i/o瓶颈现象。
41.为了防止干扰现象和i/o瓶颈现象,本文描述的一个或多个实施例提供了控制从存储器控制器200接收的地址的方法。
42.在一个实施例中,存储器设备100可以包括地址控制器150,地址控制器150控制待在其上执行编程操作的地址。在存储器设备100执行编程操作的同时,存储器设备100可以从存储器控制器200接收与编程命令相对应的地址和数据。地址可以是例如物理块地址(pba)。
43.在一个实施例中,地址控制器150可以控制从存储器控制器200接收的地址,例如,地址控制器150可以基于从存储器控制器200接收的地址来生成新地址。例如,当从存储器控制器200接收的地址是与第n(n是自然数)字线相对应的地址时,地址控制器150可以生成并输出通过将分别与第n+1字线和第n字线对应的地址进行组合而获得的新地址,以在第n+1(n是自然数)字线上对lsb页数据lsb_data进行编程。第n字线可以是目标字线。
44.在一个实施例中,存储器设备100可以包括编程控制器170,编程控制器170从地址控制器150接收通过将分别与第n+1字线和第n字线对应的地址进行组合而获得的地址,并且控制编程操作。例如,为了在第n+1字线上对从存储器控制器200接收的数据片中的lsb页数据lsb_data进行编程,编程控制器170可以输出与第n+1字线相对应的地址,并且然后输出用于指示待在第n+1字线上执行的编程操作的操作信号。
45.此后,编程控制器170可以输出与作为目标字线的第n字线相对应的地址,并且然后输出操作信号,该操作信号用于指示在第n字线上执行针对csb页数据csb_data、msb页数据msb_data以及从第n字线读取的lsb页数据lsb_data的编程操作。
46.这样,由于lsb页数据lsb_data被编程到与目标字线相邻的字线,因此发生干扰现象的可能性可以被减小或完全防止。此外,存储器设备100可以从存储器控制器200连续地接收lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data,使得发生i/o瓶颈现象的可能性可以被减小或防止。
47.存储器控制器200可以控制存储设备50的整体操作。当电源电压被施加到存储设备50时,存储器控制器200可以执行固件。在存储器设备100是闪存设备100的情况下,存储器控制器200可以执行用于控制主机300与存储器设备100之间的通信的固件(例如,闪存转换层(ftl))。
48.在一个实施例中,存储器控制器200可以包括固件,该固件从主机300接收数据和逻辑块地址(lba),并且将lba转换为指示数据待被存储在其中的存储器单元的地址的物理块地址(pba),其中存储器单元被包括在存储器设备100中。存储器控制器200可以将指示逻辑块地址(lba)与物理块地址(pba)之间的映射关系的逻辑-物理地址映射表存储在缓冲存储器中。
49.存储器控制器200可以响应于来自主机300的请求来控制存储器设备100执行编程操作、读取操作或擦除操作。例如,如果从主机300接收到编程请求,则存储器控制器200可以将编程请求改变为编程命令,并且将编程命令、pba和数据提供给存储器设备100。如果从主机300接收到读取请求连同lba,则存储器控制器200可以将读取请求改变为读取命令,选择与lba相对应的pba,并且将读取命令和pba提供给存储器设备100。如果从主机300接收到擦除请求连同lba,则存储器控制器200可以将擦除请求改变为擦除命令,选择与lba相对应的pba,并且将擦除命令和pba提供给存储器设备100。
50.在一个实施例中,存储器控制器200可以在没有来自主机300的请求的情况下自主地生成编程命令、地址和数据,并且可以将它们传输到存储器设备100。例如,存储器控制器200可以向存储器设备100提供命令、地址和数据来执行后台操作。后台操作的示例包括用于损耗平衡的编程操作和用于垃圾收集的编程操作。
51.在一个实施例中,存储设备50可以进一步包括缓冲存储器。存储器控制器200可以控制主机300和缓冲存储器之间的数据交换。在一个实施例中,存储器控制器200可以将用于控制存储器设备100的系统数据临时存储在缓冲存储器中。例如,存储器控制器200可以将从主机300输入的数据临时存储到缓冲存储器,并且然后将临时存储在缓冲存储器中的数据传输到存储器设备100。
52.在各种实施例中,缓冲存储器可以被用作存储器控制器200的操作存储器或高速缓冲存储器。缓冲存储器可以存储待由存储器控制器200执行的命令或代码。在一个实施例中,缓冲存储器可以存储待由存储器控制器200处理的数据。缓冲存储器可以是例如sram或dram,诸如双倍数据速率同步动态随机存取存储器(ddr sdram)、ddr4 sdram、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)或rambus动态随机存取存储器(rdram)。
53.在各种实施例中,缓冲存储器可以在存储设备50的外部,例如,存储设备50外部的易失性存储器设备可以执行缓冲存储器的功能。
54.在一个实施例中,存储器控制器200可以控制至少两个或更多个存储器设备。在这种情况下,存储器控制器200可以以交错的方式来控制存储器设备,以增强操作性能。
55.主机300可以使用各种通信方法中的至少一种来与存储设备50通信。示例包括通用串行总线(usb)、串行at附件(sata)、串行附接scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、外围组件互连(pci)、pci快速(pcie)、非易失性存储器快速(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)、以及低负载dimm(lrdimm)通信方法。
56.图2是图示了图1的存储器设备100的一个实施例的图。参考图2,存储器设备100可以包括存储器单元阵列110、外围电路120和控制逻辑130。
57.存储器单元阵列110可以包括通过行线rl而被耦合到行解码器121的多个存储器
块blk1至blkz。多个存储器块blk1至blkz可以通过位线bl1至bln而被耦合到页缓冲器组123。存储器块blk1至blkz中的每个存储器块可以包括多个存储器单元。在一个实施例中,多个存储器单元可以是非易失性存储器单元。与同一字线耦合的存储器单元可以被定义为一个页。因此,每个存储器块可以包括多个页。
58.行线rl可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。
59.存储器单元阵列110中包括的存储器单元中的每个存储器单元可以由能够存储单个数据位的单级单元(slc)、能够存储两个数据位的多级单元(mlc)、能够存储三个数据位的三级单元(tlc)或者能够存储四个数据位的四级单元(qlc)形成。
60.外围电路120可以在控制逻辑130的控制下,对存储器单元阵列110的被选择的区域执行编程操作、读取操作或擦除操作。外围电路120可以驱动存储器单元阵列110。例如,外围电路120可以在控制逻辑130的控制下,向行线rl和位线bl1至bln施加各种操作电压或者对所施加的电压进行放电。
61.外围电路120可以包括行解码器121、电压发生器122、页缓冲器组123、列解码器124、输入/输出电路125和感测电路126。行解码器121通过行线rl而被耦合到存储器单元阵列110。行线rl可以包括至少一个源极选择线、多个字线和至少一个漏极选择线。在一个实施例中,字线可以包括普通字线和虚设字线。在一个实施例中,行线rl可以进一步包括管道选择线。
62.行解码器121可以对从控制逻辑130接收的行地址radd进行解码。行解码器121可以响应于经解码的地址来选择存储器块blk1至blkz中的至少一个存储器块。行解码器121可以响应于经解码的地址来选择被选择的存储器块的至少一个字线wl,使得从电压发生器122生成的电压被施加到至少一个字线wl。
63.例如,在编程操作期间,行解码器121可以将编程电压施加到被选择的字线,并且可以将编程通过电压(具有与编程电压的电平不同的电平(例如,低于编程电压的电平))施加到未被选择的字线。在编程验证操作期间,行解码器121可以将验证电压施加到被选择的字线,并且可以将验证通过电压(例如,高于验证电压)施加到未被选择的字线。在读取操作期间,行解码器121可以将读取电压施加到被选择的字线,并且可以将读取通过电压(例如,高于读取电压)施加到未被选择的字线。
64.在一个实施例中,存储器设备100的擦除操作可以在存储器块的基础上执行。在擦除操作期间,行解码器121可以响应于经解码的地址来选择一个存储器块。在擦除操作期间,行解码器121可以将参考(例如,接地)电压施加到与被选择的存储器块耦合的字线。
65.电压发生器122可以在控制逻辑130的控制下操作,以使用被提供给存储器设备100的外部电源电压来生成多个电压。例如,电压发生器122可以响应于操作信号opsig而生成待用于编程操作、读取操作和擦除操作的各种操作电压vop。在一个实施例中,电压发生器122可以在控制逻辑130的控制下生成编程电压、验证电压、通过电压、读取电压、擦除电压和/或其他电压。
66.在一个实施例中,电压发生器122可以通过调节外部电源电压来生成内部电源电压。内部电源电压可以被用作例如存储器设备100的操作电压。
67.在一个实施例中,电压发生器122可以使用外部电源电压或内部电源电压来生成多个电压。例如,电压发生器122可以包括多个抽运电容器,以接收内部电源电压并且通过
在控制逻辑130的控制下选择性地激活多个抽运电容器来生成多个电压。所生成的电压可以由行解码器121提供给存储器单元阵列110。
68.页缓冲器组123可以包括分别通过第一位线至第n位线bll至bln而被耦合到存储器单元阵列110的第一页缓冲器至第n页缓冲器pb1至pbn。第一页缓冲器至第n页缓冲器pb1至pbn可以在控制逻辑130的控制下操作。例如,第一页缓冲器至第n页缓冲器pb1至pbn可以响应于页缓冲器控制信号pbsignals而操作。在一个实施例中,在读取操作或验证操作期间,第一页缓冲器至第n页缓冲器pb1至pbn可以临时存储通过第一位线至第n位线bl1至bln接收的数据,或者可以感测第一位线至第n位线bl1至bln的电压或电流。
69.在编程操作期间,当编程电压被施加到被选择的字线时,第一页缓冲器至第n页缓冲器pb1至pbn可以将通过输入/输出电路125接收的数据data通过第一位线至第n位线bl1至bln传输到被选择的存储器单元。基于所传输的数据data,被选择的页中的存储器单元被编程。在编程验证操作期间,第一页缓冲器至第n页缓冲器pb1至pbn可以通过感测经由第一位线至第n位线bl1至bln从被选择的存储器单元接收的电压或电流来读取页数据。
70.在读取操作期间,第一页缓冲器至第n页缓冲器pb1至pbn可以通过第一位线至第n位线bl1至bln从被选择的页的存储器单元读取数据data,并且可以在列解码器124的控制下,将所读取的数据data输出到数据输入/输出电路125。
71.在擦除操作期间,第一页缓冲器至第n页缓冲器pb1至pbn可以将第一位线至第n位线bl1至bln浮置,或者向第一位线至第n位线bl1至bln施加擦除电压。
72.列解码器124可以响应于列地址cadd而在输入/输出电路125和页缓冲器组123之间传输数据。例如,列解码器124可以通过数据线dl来与第一页缓冲器至第n页缓冲器pb1至pbn交换数据,或者可以通过列线cl来与输入/输出电路125交换数据。
73.输入/输出电路125可以将从参考图1描述的存储器控制器(例如,图1的200)接收的命令cmd或地址addr传输到控制逻辑130,或者可以与列解码器124交换数据data。
74.在读取操作或验证操作期间,感测电路126可以响应于使能位信号vrybit而生成参考电流,并且可以将从页缓冲器组123接收的感测电压vpb与由参考电流生成的参考电压进行比较,并且输出通过信号pass或失败信号fail。
75.控制逻辑130可以响应于命令cmd和地址addr而输出操作信号opsig、行地址radd、页缓冲器控制信号pbsignals、以及使能位信号vrybit,并且可以相应地控制外围电路120。例如,控制逻辑130可以响应于子块读取命令和地址来控制被选择的存储器块的读取操作。控制逻辑130可以响应于子块擦除命令和地址来控制被选择的存储器块中包括的被选择的子块的擦除操作。附加地,控制逻辑130可以响应于通过信号pass或失败信号fail而确定在验证操作期间目标存储器单元是否已经通过验证。
76.在一个实施例中,控制逻辑130可以包括地址控制器150和编程控制器170。在一个实施例中,地址控制器150和编程控制器170可以在控制逻辑130的外部。例如,地址控制器150可以在行解码器121中。在一个实施例中,地址控制器150和编程控制器170可以在外围电路120中。
77.在一个实施例中,地址控制器150可以控制从存储器控制器(例如,图1的200)接收的地址addr。例如,地址控制器150可以基于从存储器控制器(例如,图1的200)接收的并且与被选择的字线相对应的地址来生成新地址。从地址控制器150生成的地址可以是通过将
分别与被选择的字线和同被选择的字线相邻的字线相对应的地址进行组合而获得的地址。
78.在一个实施例中,编程控制器170可以基于从地址控制器150生成的地址来控制外围电路120,以执行编程操作。例如,编程控制器170可以控制外围电路120来将lsb页数据lsb_data编程到与被选择的字线相邻的字线的存储器单元,并且然后可以读取被编程到被选择的字线的存储器单元的数据。
79.随后,编程控制器170可以控制外围电路120在被选择的字线的存储器单元上对从存储器控制器(例如,图1的200)接收的所读取的lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data进行编程。
80.通过上述编程操作,可以在与编程操作在其上被执行的被选择的字线相邻的字线的存储器单元上减小或防止发生干扰现象的可能性。而且,可以防止在存储器设备对多个管芯执行编程操作时发生i/o瓶颈现象。
81.图3是图示了图2的存储器单元阵列110、并且特别是存储器块blka的一个实施例的图,该存储器块blka可以代表图2的存储器单元阵列110中的多个存储器块blk1至blkz。
82.存储器块blka可以与彼此平行布置的第一选择线、字线和第二选择线耦合。例如,字线可以在第一选择线和第二选择线之间彼此平行地布置。第一选择线可以是源极选择线ssl,并且第二选择线可以是漏极选择线dsl。
83.存储器块blka可以包括被耦合在位线bl1至bln与源极线sl之间的多个串。位线bl1至bln可以被分别耦合到串,并且源极线sl可以被共同耦合到串。串可以具有相同的配置。将以示例的方式来描述耦合到第一位线bl1的串st。
84.串st可以包括在源极线sl和第一位线bll之间彼此串联耦合的源极选择晶体管sst、多个存储器单元f1至f16和漏极选择晶体管dst。每个串st中可以包括至少一个源极选择晶体管sst和至少一个漏极选择晶体管dst。在一个实施例中,每个串st中可以包括比附图中示出的存储器单元f1至f16的数目大的数目的存储器单元。
85.源极选择晶体管sst可以具有耦合到源极线sl的源极,并且漏选择晶体管dst可以具有耦合到第一位线bll的漏极。存储器单元f1至f16可以被串联耦合在源极选择晶体管sst和漏极选择晶体管dst之间。不同串中的源极选择晶体管的栅极可以被耦合到源极选择线ssl,漏极选择晶体管的栅极可以被耦合到漏极选择线dsl,并且存储器单元f1至f16的栅极可以被耦合到多个字线wl1至wl16。在不同串中的存储器单元中,耦合到每个字线的存储器单元的组可以被称为物理页ppg。因此,存储器块blka中的物理页的数目可以对应于字线wl1至wl16的数目。
86.每个存储器单元可以存储1位数据。该类型的存储器单元可以被称为单级单元(slc)。每个物理页ppg可以存储单个逻辑页lpg的数据。每个逻辑页lpg的数据可以包括与单个物理页ppg中的存储器单元的数目相对应的数据位。此外,每个存储器单元可以存储2位或更多位的数据。在该情况下,每个物理页ppg可以存储两个或更多个逻辑页lpg的数据。
87.能够存储2位数据的存储器单元可以被称为多级单元(mlc)。在一个实施例中,mlc单元可以是能够存储2位数据的存储器单元,能够存储3位数据的存储器单元可以被称为三级单元(tlc),并且能够存储4位数据的存储器单元可以被称为四级单元(qlc)。在一个实施例中,存储器单元方案可以在每个存储器单元中存储多位数据。因此,存储器设备100的实施例可以被实现为包括在每个存储器单元中存储的2位或更多位数据。
88.在一个实施例中,每个存储器块可以具有三维结构。每个存储器块可以包括堆叠在衬底上的多个存储器单元,其中存储器单元沿+x方向、+y方向和+z方向被布置。
89.图4图示了单次编程的一个示例,并且更具体地,图示了通过单次编程操作来将具有擦除状态e的多个存储器单元中的每个存储器单元编程到目标编程状态的过程。在图4中,水平轴指示存储器单元的阈值保持电平vth,并且竖直轴指示存储器单元的数目。
90.参考图4,假设存储器设备(例如,图1的100)以三级单元(tlc)方案来执行编程操作,在该三级单元(tlc)方案中三个数据位被存储在每个存储器单元中。此外,图4可以被应用于其中存储器设备(例如,图1的100)以单级单元(slc)方案、多级单元(mlc)方案、或者四级单元(qlc)方案操作的情况,在该单级单元(slc)方案中单个数据位被存储在每个存储器单元中,在该多级单元(mlc)方案中两个数据位被存储在每个存储器单元中,在该四级单元(qlc)方案中四个数据位被存储在每个存储器单元中。
91.在一个实施例中,存储器设备(例如,图1的100)可以对被选择的存储器单元执行单次编程操作。被选择的存储器单元在被编程之前可以处于擦除状态e。例如,被选择的存储器单元中的每个存储器单元可以从擦除状态e被编程到第一编程状态至第七编程状态p1至p7中的任一编程状态,例如,被选择的存储器单元中的每个存储器单元的目标编程状态可以是第一编程状态至第七编程状态p1至p7中的任一编程状态。
92.在当前情况下,由于存储器设备(例如,图1的100)执行单次编程操作,因此被选择的存储器单元可以被分别编程到目标编程状态。例如,被选择的存储器单元中的每个存储器单元可以从擦除状态e被编程到第一编程状态至第七编程状态p1至p7中的任一编程状态。
93.为了同时对被选择的存储器单元进行编程,与每个被选择的存储器单元耦合的位线的电位可以取决于所耦合的存储器单元的目标编程状态而被设置为不同的值。例如,随着被选择的存储器单元的目标编程状态变得较高,与对应存储器单元耦合的位线的电压电平可以被设置为较低值。随着被选择的存储器单元的目标编程状态变得较低,与对应存储器单元耦合的位线的电压电平可以被设置为较高值。
94.这样,在通过单次编程操作对被选择的存储器单元进行编程的情况下,待对被选择的存储器单元执行的编程循环的数目可以被减少。
95.然而,当单次编程操作被执行时,在与被选择的存储器单元耦合的字线相邻的字线的存储器单元上可能会发生干扰现象和/或i/o瓶颈现象。因此,当单次编程操作被使用时,干扰现象会降低被编程到存储器单元的数据的可靠性或编程操作的速度。
96.图5是描述了在图4的单次编程期间可能会发生的i/o瓶颈现象的一个示例的图。当存储器设备(例如,图1的100)包括多个管芯时,编程操作可以在每个管芯上被执行。在每个管芯上执行的编程操作可以是单次编程操作fine。
97.参考图5,存储器设备(例如,图1的100)可以通过多个通道与存储器控制器(例如,图1的200)耦合。至少一个管芯可以被耦合到多个通道中的每个通道。多个管芯中的每个管芯可以包括至少一个或多个平面,并且每个平面可以包括多个存储器块。
98.在图5中,假设存储器控制器(例如,图1的200)和存储器设备(例如,图1的100)通过第一通道至第四通道彼此耦合,并且每个通道被耦合到一个管芯。例如,与第一通道耦合的管芯可以是第一管芯die1,与第二通道耦合的管芯可以是第二管芯die2,与第三通道耦
合的管芯可以是第三管芯die3,并且与第四通道耦合的管芯可以是第四管芯die4。
99.在一个实施例中,编程操作可以在第一管芯至第四管芯die1至die4上连续地执行。待执行的编程方案可以是交错方案。例如,存储器设备(例如,图1的100)可以从存储器控制器(例如,图1的200)接收待被编程到第一管芯die1的数据。从存储器控制器(例如,图1的200)接收的数据可以是第一lsb页数据lsb_data1、第一csb页数据csb_data1和第一msb页数据msb_data1。
100.此后,存储器设备(例如,图1的100)可以对从存储器控制器(例如,图1的200)接收的数据进行编程,并且同时接收待被编程到第二管芯die2的数据。待被编程到第二管芯die2的数据可以是第二lsb页数据lsb_data2、第二csb页数据csb_data2和第二msb页数据msb_data2。
101.以与上述相同的方式,存储器设备(例如,图1的100)可以将数据编程到第二管芯die2,并且同时接收待被编程到第三管芯die3的第三lsb页数据lsb_data3、第三csb页数据csb_data3和第三msb页数据msb_data3。存储器设备(例如,图1的100)可以将数据编程到第三管芯die3,并且同时接收待被编程到第四管芯die4的第四lsb页数据lsb_data4、第四csb页数据csb_data4和第四msb页数据msb_data4。
102.此后,存储器设备(例如,图1的100)可以将数据编程到第四管芯die4,并且同时接收待被编程到第一管芯die1的数据。然而,由于以交错方案对第一管芯至第四管芯die1至die4执行编程操作,因此在数据已经被编程到第一管芯die1之后经过了很多时间之后,编程操作可以被再次执行。换言之,直到编程操作在第一管芯die1上恢复之前,可能要经过长时间(例如,在第二管芯至第四管芯die2至die4上执行编程操作所花费的时间)。
103.此外,由于被选择的存储器单元通过单次编程操作而被同时编程,因此在与被选择的字线相邻的字线的存储器单元上可能会发生干扰现象。
104.图6是用于描述模糊-精细编程的一个实施例的图。在图6中,水平轴指示存储器单元的阈值保持电平vth,并且竖直轴指示存储器单元的数目。另外,假设存储器单元以tlc方案被编程。在一些实施例中,图6可以被应用于其中编程操作以slc方案、mlc方案或qlc方案被执行的情况。
105.参考图6,在被编程之前,存储器单元可以处于擦除状态e。处于擦除状态e的存储器单元中的每个存储器单元可以通过模糊-精细操作而被编程到例如作为目标编程状态的第一编程状态至第七编程状态p1至p7中的一个编程状态。
106.首先,lsb页数据可以被编程到处于擦除状态e的存储器单元。在此,所执行的操作可以是第一编程操作1st pgm(foggy)。也就是说,存储器设备(例如,图1的100)可以从存储器控制器(例如,图1的200)接收与模糊-精细编程请求相对应的模糊编程命令,并且执行模糊编程操作foggy。因此,如果lsb页数据被编程到处于擦除状态e的存储器单元,则存储器单元可以进入擦除状态e或lp编程状态lp。
107.随后,所执行的编程操作可以是第二编程操作2nd pgm(fine)。
108.如果模糊编程操作foggy完成,则存储器设备(例如,图1的100)可以从存储器控制器(例如,图1的200)接收与模糊-精细编程请求相对应的精细编程命令,并且执行精细编程操作fine。通过精细编程操作fine,处于擦除状态e的存储器单元可以被编程到第一编程状态至第三编程状态p1至p3,并且处于lp编程状态lp的存储器单元可以被编程到第四编程状
态至第七编程状态p4至p7。
109.在一个实施例中,通过精细编程操作fine,处于擦除状态e和第一编程状态至第七编程状态p1至p7的存储器单元的阈值电压分布可以被更精细地调整。也就是说,通过精细编程操作fine,处于擦除状态e和第一编程状态至第七编程状态p1至p7的存储器单元的阈值电压分布可以通过精细编程操作fine而被清楚地彼此分离。
110.作为结果,当存储器设备(例如,图1的100)执行模糊-精细编程操作时,在lsb页数据被编程到存储器单元之后,存储器单元中的每个存储器单元可以具有擦除状态e以及第一编程状态至第七编程状态p1至p7中的一个状态。
111.图7a和图7b图示了图6的模糊-精细编程操作的一个实施例,其中实现用于在被选择的存储器单元通过模糊-精细编程操作被编程时对被选择的存储器单元进行编程的过程。
112.参考图6、图7a和图7b,图7a和图7b图示了对lsb页数据进行编程的第一编程操作(图6的1st pgm)、以及第二编程操作(图6的2nd pgm)。例如,图7a和图7b图示了模糊编程操作foggy和在第二编程操作(例如,图6的2nd pgm)中包括的精细编程操作fine。
113.参考图7a和图7b,在模糊-精细编程操作期间,待被编程到与被选择的页相邻的页的lsb页数据lsb_data可以在时间t1期间被输入到存储器设备(例如,图1的100)。如果lsb页数据lsb_data已经被输入到存储器设备(例如,图1的100),则lsb页数据lsb_data可以在时间t2期间被编程。在此,所执行的编程操作可以是模糊编程操作foggy。
114.在模糊编程操作foggy已经被完成之后,待被编程到被选择的页的lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data可以在时间t3期间被输入到存储器设备(例如,图1的100)。如果lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data已经被输入到存储器设备(例如,图1的100),则所输入的数据可以在时间t4期间被编程。在此,所执行的编程操作可以是精细编程操作fine。
115.参考图7a,lsb页数据lsb_data被输入到存储器设备(例如,图1的100),并且然后lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data被输入到存储器设备。以这种方式,模糊-精细编程操作可以被执行。
116.参考图7b,以与图7a相同的方式,在模糊-精细编程操作期间,待被编程到与被选择的页相邻的页的lsb页数据lsb_data在时间t1期间被输入到存储器设备(例如,图1的100),并且lsb页数据lsb_data可以在时间t2期间被编程。在此,所执行的编程操作可以是模糊编程操作foggy。
117.在模糊编程操作foggy已经被完成之后,待被编程到被选择的页的csb页数据csb_data和msb页数据msb_data可以在时间t5期间被输入到存储器设备(例如,图1的100)。与图7a不同,在图7b中,仅csb页数据csb_data和msb页数据msb_data可以被输入到存储器设备(例如,图1的100),并且被选择的页的lsb页数据lsb_data可以不被输入到存储器设备。
118.然而,与图7a相比,由于读取被选择的页的lsb页数据lsb_data所花费的时间以及将csb页数据csb_data、msb页数据msb_data和被选择的页的lsb页数据lsb_data进行组合所花费的时间,因此在图7b的情况下所消耗的总时间可能会增加。
119.例如,在时间t6期间,可以通过恢复操作rec而获得被选择的页的lsb页数据lsb_data。恢复操作rec可以是读取在模糊编程操作foggy期间被编程的数据的操作。换言之,被
选择的页的lsb页数据lsb_data可以通过恢复操作rec而被接收,而不是从存储器控制器(例如,图1的200)被接收。
120.如果被选择的页的lsb页数据lsb_data被接收到,则可以基于先前已经接收的csb页数据csb_data和msb页数据msb_data、以及被选择的页的lsb页数据lsb_data来生成新数据。新数据可以是针对其执行精细编程操作fine的数据。
121.在一个实施例中,执行恢复操作rec并生成新数据所花费的时间可以是时间t7(被称为冗余)。例如,在时间t7期间,经模糊编程的数据可以被读取,并且可以基于所读取的数据和被输入到存储器设备(例如,图1的100)的数据来生成新数据。
122.如果针对其执行精细编程操作fine的数据被生成,则新数据可以在时间t8期间被编程。所执行的编程操作可以是精细编程操作fine。
123.参考图7b,lsb页数据lsb_data可以被输入到存储器设备(例如,图1的100),并且然后可以通过基于所读取的lsb页数据lsb_data、所输入的csb页数据csb_data和msb页数据msb_data而生成的新数据来执行模糊-精细编程操作。
124.图8a和图8b是用于描述在图7a和图7b的模糊-精细编程操作期间可能会发生的i/o瓶颈现象的图。在图7a、图7b、图8a和图8b中,图8a图示了其中图7a的模糊-精细编程操作在多个管芯上被执行的情况,并且图8b图示了其中图7b的模糊-精细编程操作在多个管芯上被执行的情况。
125.参考图8a和图8b,假设存储器控制器(例如,图1的200)和存储器设备(例如,图1的100)通过第一通道至第四通道彼此耦合,并且每个通道被耦合到一个管芯。例如,与第一通道耦合的管芯可以是第一管芯die1,与第二通道耦合的管芯可以是第二管芯die2,与第三通道耦合的管芯可以是第三管芯die3,并且与第四通道耦合的管芯可以是第四管芯die4。
126.参考图8a,待被编程到第一管芯die1的与被选择的页相邻的页的第十一lsb页数据lsb_data11可以被接收。第十一lsb页数据lsb_data11可以是针对其执行模糊编程操作foggy的数据。在一个实施例中,当第十一lsb页数据lsb_data11在第一管芯die1上被模糊编程时,待被编程到第二管芯die2的与被选择的页相邻的页的第二十一lsb页数据lsb_data21可以被接收。第二十一lsb页数据lsb_data21可以是针对其执行模糊编程操作foggy的数据。
127.此后,当第二十一lsb页数据lsb_data21在第二管芯die2上被模糊编程时,待被编程到第三管芯die3的与被选择的页相邻的页的第三十一lsb页数据lsb_data31可以被接收。当第三十一lsb页数据lsb_data31在第三管芯die3上被模糊编程时,待被编程到第四管芯die4的与被选择的页相邻的页的第四十一lsb页数据lsb_data41可以被接收。当第四十一lsb页数据lsb_data41在第四管芯die4上被模糊编程时,待被编程到第一管芯die1的数据可以被再次接收。
128.在模糊编程操作foggy已经在第四管芯die4上被执行之后,待在第一管芯die1上执行的编程操作可以是精细编程操作fine。因此,当第四十一lsb页数据lsb_data41在第四管芯die4上被模糊编程时,待被编程到第一管芯die1的被选择的页的第一lsb页数据lsb_data1、第一csb页数据csb_data1和第一msb页数据msb_data1可以被接收。
129.然而,在模糊编程操作foggy已经在第一管芯die1上被执行之后,模糊编程操作foggy在第二管芯至第四管芯die2至die4上被连续地执行。因此,在模糊编程操作foggy已
经在第一管芯die1上被执行之后,直到新数据被输入之前,可能会发生时间延迟。换言之,可能会发生i/o瓶颈现象。
130.此外,在精细编程操作fine已经在第一管芯die1上被执行之后,精细编程操作fine在第二管芯至第四管芯die2至die4上被连续执行。因此,在精细编程操作fine已经在第一管芯die1上被执行之后,直到新数据被输入之前,可能会发生时间延迟。
131.参考图8b,以与图8a相同的方式,当第十一lsb页数据lsb_data11被模糊编程到第一管芯die1的与被选择的页相邻的页时,待被编程到第二管芯die2的与被选择的页相邻的页的第二十一lsb页数据lsb_data21可以被接收。当第二十一lsb页数据lsb_data21在第二管芯die2上被模糊编程时,待被编程到第三管芯die3的与被选择的页相邻的页的第三十一lsb页数据lsb_data31可以被接收。当第三十一lsb页数据lsb_data31在第三管芯die3上被模糊编程时,待被编程到第四管芯die4的与被选择的页相邻的页的第四十一lsb页数据lsb_data41可以被接收。当第四十一lsb页数据lsb_data41在第四管芯die4上被模糊编程时,待被编程到第一管芯die1的被选择的页的数据可以被再次接收。
132.在模糊编程操作foggy已经在第四管芯die4上被执行之后,待在第一管芯die1上执行的编程操作可以是精细编程操作fine。
133.然而,与图8a不同,精细编程操作fine通过经由恢复操作rec读取被选择的页的lsb页数据来利用数据的组合被执行。因此,当第四十一lsb页数据lsb_data41被模糊编程到第四管芯die4时,待被编程到第一管芯die1的被选择的页的的第一csb页数据csb_data1和第一msb页数据msb_data1可以被接收。
134.以与图8a相同的方式,在模糊编程操作foggy已经在第一管芯die1上被执行之后,模糊编程操作foggy在第二管芯至第四管芯die2至die4上被执行。因此,在模糊编程操作foggy已经在第一管芯die1上被执行之后,直到新数据被输入之前,可能会发生时间延迟。换言之,可能会发生i/o瓶颈现象。
135.此外,在精细编程操作fine已经在第一管芯die1上被执行之后,精细编程操作fine在第二管芯至第四管芯die2至die4上被执行。因此,在精细编程操作fine已经在第一管芯die1上被执行之后,直到新数据被输入之前,可能会发生时间延迟。
136.因此,当参考图8a和图8b描述的模糊-精细编程操作被使用时,在数据编程操作和数据输入操作之间可能会发生时间延迟,编程性能可能被降低。换言之,在模糊编程操作之后直到数据被接收到之前可能会引起时间延迟,并且在精细编程操作之后直到数据被接收到之前可能会发生时间延迟。
137.此外,在图8a和图8b中,随着用于将存储器设备(例如,图1的100)与存储器控制器(例如,图1的200)耦合的通道的数目增加,并且与每个通道耦合的管芯的数目增加,归因于i/o瓶颈现象的性能下降可能会加剧。
138.图9图示了在图7b的模糊-精细编程操作期间的就绪-忙碌信号,并且具体地,图示了在模糊-精细编程操作期间,就绪/忙碌信号rb进入高电平状态或低电平状态的过程。
139.在一种情况下,存储器设备(例如,图1的100)可以通过就绪/忙碌线而将指示存储器设备(例如,图1的100)是处于就绪状态还是处于忙碌状态的就绪/忙碌信号rb提供给存储器控制器(例如,图1的200)。
140.就绪/忙碌信号rb可以指示存储器设备(例如,图1的100)的状态。具有低电平状态
的就绪/忙碌信号rb可以指示存储器设备正在执行至少一个操作。具有高电平状态的就绪/忙碌信号可以指示存储器设备不在执行操作。
141.在一个实施例中,存储器设备可以从存储器控制器接收待被编程到与被选择的页相邻的页的lsb页数据lsb_data。在lsb页数据lsb_data从存储器控制器被接收的同时,存储器设备处于就绪状态,并且具有高电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
142.此后,在存储器设备执行针对lsb页数据lsb_data的模糊编程操作foggy的同时,存储器设备处于忙碌状态,并且具有低电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
143.在一种情况下,如果存储器设备完成了针对lsb页数据lsb_data的模糊编程操作foggy,则存储器设备可以从存储器控制器接收待被编程到被选择的页的csb页数据csb_data和msb页数据msb_data。在csb页数据csb_data和msb页数据msb_data从存储器控制器被接收的同时,存储器设备处于就绪状态,并且具有高电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
144.随后,存储器设备可以执行用于读取被编程到被选择的页的lsb页数据lsb_data的恢复操作rec,并且可以利用所读取的数据和所接收的数据的组合来执行精细编程操作fine。在存储器设备执行恢复操作rec和精细编程操作fine的同时,存储器设备处于忙碌状态,并且具有低电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
145.在一种情况下,如果存储器设备完成了精细编程操作fine,则具有高电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
146.因此,当在利用所接收的lsb页数据lsb_data执行模糊编程操作foggy之后,利用所接收的csb页数据csb_data和msb页数据msb_data执行精细编程操作fine时,数据可以通过两个忙碌时段而被编程。在其中数据通过两个忙碌时段而被编程的情况下,在模糊编程操作foggy和数据输入操作之间可能会发生时间延迟,并且在精细编程操作fine和数据输入操作之间可能会发生时间延迟。
147.根据一个或多个实施例,提供了用于通过一个忙碌时段来对数据进行编程的方法。
148.图10图示了用于减少或最小化图5和图8的i/o瓶颈现象的编程方法和就绪/忙碌信号的实施例。具体地,这些实施例对应于如下的过程,通过该过程,就绪/忙碌信号rb在模糊-精细编程操作期间进入高电平状态或低电平状态。
149.在图10中,假设存储器设备(例如,图1的100)对与第n字线wl_n耦合的存储器单元执行编程操作。例如,第n字线wl_n可以是编程操作在其上被执行的目标字线。此外,假设与作为目标字线的第n字线wl_n相邻的字线是第n+1字线wl_n+1。
150.参考图10,在一个实施例中,存储器设备可以从存储器控制器(例如,图1的200)接收待被编程到第n+1字线wl_n+1的存储器单元的lsb页数据lsb_data。在lsb页数据lsb_data从存储器控制器被接收的同时,由于编程操作、读取操作或擦除操作未被执行,因此存储器设备处于就绪状态,并且具有高电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。在此,所接收的lsb页数据lsb_data可以被编程到与第n字线wl_n相邻的第n+1字线wl_n+1的存储器单元。
151.不同于图8a和图8b的模糊-精细编程,本实施例中的存储器设备可以从存储器控制器接收lsb页数据lsb_data,并且然后连续地接收待被编程到第n字线wl_n的存储器单元的csb页数据csb_data和msb页数据msb_data。在csb页数据csb_data和msb页数据msb_data从存储器控制器被接收的同时,存储器设备处于就绪状态,并且具有高电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
152.此后,存储器设备可以将lsb页数据lsb_data编程到第n+1字线wl_n+1的存储器单元,第n+1字线wl_n+1是与目标字线相邻的字线。在此,所执行的编程操作可以是模糊编程操作foggy。在存储器设备执行模糊编程操作foggy的同时,存储器设备可以处于忙碌状态,并且具有低电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
153.如果针对lsb页数据lsb_data的模糊编程操作foggy被完成,则存储器设备可以执行恢复操作rec来获得被编程到第n字线wl_n的存储器单元的lsb页数据lsb_data。在存储器设备执行恢复操作rec的同时,存储器设备处于忙碌状态,并且具有低电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
154.在一个实施例中,如果lsb页数据lsb_data通过恢复操作rec被获得,则存储器设备可以将所读取的数据与csb页数据csb_data和msb页数据msb_data组合,并且然后将经组合的数据编程到作为目标字线的第n字线wl_n的存储器单元。在此,所执行的编程操作可以是精细编程操作fine。在存储器设备执行精细编程操作fine的同时,存储器设备处于忙碌状态,并且具有低电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
155.在一个实施例中,如果存储器设备完成了精细编程操作fine,则具有高电平状态的就绪/忙碌信号rb可以被输出到存储器控制器。
156.作为结果,当精细编程操作fine以连续地接收lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data的方案被执行时,数据可以在一个忙碌时段中被组合和编程。换言之,当就绪/忙碌信号rb从高电平状态变为低电平状态时,存储器设备可以开始模糊-精细编程操作。当就绪/忙碌信号rb再次从低电平状态变为高电平状态时,存储器设备可以终止模糊-精细编程操作。
157.因此,与图9的情况不同,在本实施例中,由于在模糊编程操作foggy已经被完成之后不需要接收csb页数据csb_data和msb页数据msb_data,因此数据可以通过一个忙碌时段而被编程。由于数据在一个忙碌时段中被编程,因此可以防止发生i/o瓶颈现象或减小i/o瓶颈现象的影响。此外,由于首先在第n+1字线wl_n+1(其是与目标字线相邻的字线)的存储器单元上执行编程操作,因此可以防止发生干扰现象或减小干扰现象的影响。
158.图11图示了用于编程操作的存储器设备的一个实施例。在图11中,实施例可以被包括在存储器设备(例如,图1的100)中,以执行图10的编程操作。例如,对于图10的编程操作,存储器设备可以包括地址控制器150和编程控制器170。在一个实施例中,地址控制器150和编程控制器170可以被包括在控制逻辑(例如,图2的130)中,或者被设置在控制逻辑的外部。
159.以与图10相同的方式,可以假设待在图11中执行的编程操作是根据本文描述的实施例的模糊-精细编程操作,模糊-精细编程操作待在其上被执行的目标字线是第n字线wl_n,并且与目标字线相邻的字线是第n+1字线wl_n+1。
160.参考图11,当存储器设备从存储器控制器接收与模糊-精细编程操作相对应的命
令时,地址控制器150可以从存储器控制器接收物理块地址pba。从存储器控制器接收的物理块地址pba可以是与第n字线wl_n相对应的地址,该第n字线wl_n是模糊-精细编程操作待在其上被执行的目标字线。
161.在本实施例中,由于lsb页数据lsb_data被编程到与第n字线wl_n相邻的第n+1字线wl_n+1的存储器单元,因此地址控制器150可以接收与第n字线wl_n相对应的地址并且生成新地址。例如,如果存储器设备接收与作为目标字线的第n字线wl_n相对应的地址,则可以通过将分别与目标字线以及和目标字线相邻的字线相对应的物理块地址进行组合来生成新的物理块地址。
162.当假设与目标字线相邻的字线是第n+1字线wl_n+1时,地址控制器150可以通过将与第n+1字线wl_n+1相对应的地址以及与第n字线wl_n相对应的地址进行组合来生成新地址。在一个实施例中,与第n+1字线wl_n+1相对应的地址可以是第一行地址radd1,并且与第n字线wl_n相对应的地址可以是第二行地址radd2。
163.因此,在已经生成新地址之后,地址控制器150可以将第一行地址radd1输出到编程控制器170,以首先将lsb页数据lsb_data编程到第n+1字线wl_n+1的存储器单元。响应于第一行地址radd1,编程控制器170可以输出操作信号opsig,以用于指示在与第一行地址radd1相对应的第n+1字线wl_n+1的存储器单元上执行模糊编程操作foggy。在此,待通过模糊编程操作foggy编程的数据可以是lsb页数据lsb_data。
164.此后,地址控制器150可以将第二行地址radd2输出到编程控制器170,以将lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data编程到第n字线wl_n。响应于第二行地址radd2,编程控制器170可以输出操作信号opsig,以用于指示在与第二行地址radd2相对应的第n字线wl_n的存储器单元上执行精细编程操作fine。在此,待通过精细编程操作fine编程的数据可以是lsb页数据lsb_data、csb页数据csb_data和msb页数据msb_data。
165.作为结果,通过上述编程操作,可以防止在编程操作在其上被执行的第n+1字线wl_n+1(其是与第n字线wl_n相邻的字线)的存储器单元上发生干扰现象(或者可以减小干扰现象的影响)。此外,当存储器设备对多个管芯执行编程操作时,可以防止发生i/o瓶颈现象(或减小i/o瓶颈现象的影响)。
166.图12图示了目标字线被编程的过程的一个实施例。在图12中,图12图示了作为模糊-精细编程操作待在其上被执行的目标字线的第n字线wl_n、与第n字线wl_n相邻的第n+1字线wl_n+1和第n-1字线wl_n-1、以及执行模糊-精细编程操作的过程。
167.在一个实施例中,模糊-精细编程操作可以在与第n字线wl_n耦合的存储器单元上被执行,例如,第n字线wl_n可以是目标字线。
168.参考图12,当存储器设备(例如,图1的100)执行模糊-精细编程操作时,存储器设备可以连续地接收待被编程到第n+1字线wl_n+1的存储器单元的lsb页数据lsb_data、待被编程到第n字线wl_n的存储器单元的csb页数据csb_data和msb页数据msb_data,并且模糊编程操作foggy然后可以被执行。模糊编程操作foggy可以包括将lsb页数据lsb_data编程到第n+1字线wl_n+1的存储器单元的操作,该第n+1字线wl_n+1是与目标字线相邻的字线。
169.在一个实施例中,当存储器设备将lsb页数据lsb_data编程到第n+1字线wl_n+1的存储器单元时,在第n-1字线wl_n-1和第n字线wl_n(其是目标字线)的存储器单元上的操作可以被禁止(例如,如附图标记inhibit所示)。
170.此后,如果在第n+1字线wl_n+1的存储器单元上的模糊编程操作foggy被完成,则存储器设备可以读取第n字线wl_n并且执行恢复操作rec来获得lsb页数据lsb_data。在存储器设备执行恢复操作rec的同时,在第n-1字线wl_n-1和第n+1字线wl_n+1的存储器单元上的操作可以被禁止(例如,如附图标记inhibit所示)。
171.如果lsb页数据lsb_data通过恢复操作rec被获得,则存储器设备可以将所读取的数据与csb页数据csb_data和msb页数据msb_data组合,并且然后经组合的数据可以被编程到作为目标字线的第n字线wl_n的存储器单元。在此,所执行的编程操作可以是精细编程操作fine。在存储器设备(例如,图1的100)执行精细操作fine的同时,在第n+1字线wl_n+1和第n-1字线wl_n-1的存储器单元上的操作可以被禁止(如附图标记inhibit所示)。
172.图13是用于描述在图10的编程期间可能会发生的i/o瓶颈现象的图。在图13中,图示了其中图10的模糊-精细编程操作在多个管芯上被执行的情况。
173.在图13中,假设存储器控制器(例如,图1的200)和存储器设备(例如,图1的100)通过第一通道至第四通道彼此耦合,并且每个通道被耦合到一个管芯。例如,与第一通道耦合的管芯可以是第一管芯die1,与第二通道耦合的管芯可以是第二管芯die2,与第三通道耦合的管芯可以是第三管芯die3,并且与第四通道耦合的管芯可以是第四管芯die4。
174.参考图13,待被编程到第一管芯die1的与被选择的页相邻的页的第十一lsb页数据lsb_data11、待被编程到第一管芯die1的被选择的页的第一csb页数据csb_data1和第一msb页数据msb_data1可以被连续地接收。第十一lsb页数据lsb_data11可以是针对其执行模糊编程操作foggy的数据。第一csb页数据csb_data1和第一msb页数据msb_data1可以是针对其执行精细编程操作fine的数据。
175.在一个实施例中,当在第十一lsb页数据lsb_data11、第一csb页数据csb_data1和第一msb页数据msb_data1已经被连续地接收之后,第十一lsb页数据lsb_data11在第一管芯die1上被模糊编程时,可以连续地接收待被编程到第二管芯die2的与被选择的页相邻的页的第二十一lsb页数据lsb_data21、待被编程到第二管芯die2的被选择的页的第二csb页数据csb_data2和第二msb页数据msb_data2。第二十一lsb页数据lsb_data21可以是针对其执行模糊编程操作foggy的数据。第二csb页数据csb_data2和第二msb页数据msb_data2可以是针对其执行精细编程操作fine的数据。
176.如上所述,当第二十一lsb页数据lsb_data21在第二管芯die2上被模糊编程时,可以连续地接收待被编程到第三管芯die3的与被选择的页相邻的页的第三十一lsb页数据lsb_data31、待被编程到第三管芯die3的被选择的页的第三csb页数据csb_data3和第三msb页数据msb_data3。此外,当第三十一lsb页数据lsb_data31被模糊编程到第三管芯die3时,可以连续地接收待被编程到第四管芯die4的与被选择的页相邻的页的第四十一lsb页数据lsb_data41、待被编程到第四管芯die4的被选择的页的第四csb页数据csb_data4和第四msb页数据msb_data4。
177.然而,与图8a和图8b不同,在图13的情况下,在每个管芯中,在已经完成精细编程操作fine之后,再次接收待被编程的数据所花费的时间可以被减少。这是因为在lsb页数据、csb页数据和msb页数据被连续地接收之后,模糊编程操作foggy、恢复操作rec和精细编程操作fine被连续地执行。换言之,由于模糊编程操作foggy、恢复操作rec和精细编程操作fine通过一个忙碌时段被执行,因此i/o瓶颈现象可以被防止或减轻。
178.附加地,由于恢复操作在目标字线上被执行,因此归因于连续的数据编程操作的降级可以被防止或减少。此外,由于编程操作首先在与目标字线相邻的字线的存储器单元上被执行,因此干扰现象可以被防止或减少。
179.图14是描述了可以由存储器设备执行的方法的一个实施例的图,该存储器设备例如可以是本文描述的存储器设备的实施例中的任何实施例。而且,以下讨论的存储器控制器可以对应于所公开的实施例中的任何实施例。
180.参考图14,在操作s1401处,存储器设备可以从存储器控制器接收命令、地址和数据。命令可以是与模糊-精细编程操作相对应的命令。地址可以是与模糊-精细编程操作待在其上被执行的目标字线相对应的物理块地址。数据可以是针对其执行模糊-精细编程操作的数据。
181.在操作s1403处,存储器设备可以通过将与和目标字线相邻的字线相对应的地址以及与目标字线相对应的地址进行组合来生成地址。例如,在目标字线是第n字线wl_n的情况下,存储器设备可以通过将与和第n字线wl_n相邻的第n+1字线wl_n+1相对应的地址以及与第n字线wl_n相对应的地址进行组合来生成地址。
182.在操作s1405处,存储器设备可以对与目标字线相邻的字线的存储器单元进行编程。在此,所执行的编程操作可以是模糊编程操作foggy,并且被编程的数据可以是lsb页数据。例如,在(新生成的地址中包括的地址中)与和目标字线相邻的字线相对应的地址被输出时,lsb页数据可以在相邻字线的存储器单元上被模糊编程。
183.在操作s1407处,存储器设备可以执行恢复操作。恢复操作可以是例如读取被编程到目标字线的存储器单元的数据的操作。
184.在本实施例中,由于lsb页数据、csb页数据和msb页数据被连续地接收,并且lsb页数据未被再次接收,可以通过读取被编程到目标字线的存储器单元的lsb页数据来生成针对其执行精细编程操作的数据。所读取的数据可以与csb页数据和msb页数据进行组合。
185.在操作s1409处,存储器设备可以对目标字线的存储器单元进行编程。在此,所执行的编程操作可以是精细编程操作fine,并且待被编程的数据可以是通过将lsb页数据、csb页数据和msb页数据组合而生成的数据。例如,在(新生成的地址中包括的地址中)与目标字线相对应的地址被输出时,通过将lsb页数据、csb页数据和msb页数据组合而生成的数据可以被精细编程到目标字线的存储器单元。
186.图15是图示了图1的存储器控制器的一个实施例的图,该存储器控制器可以被耦合到主机和存储器设备。在操作中,存储器控制器1000可以响应于来自主机的请求来访问存储器设备。例如,存储器控制器1000可以控制存储器设备的写入操作、读取操作、擦除操作和/或后台操作。存储器控制器1000可以用作存储器设备与主机之间的接口,并且可以驱动用于控制存储器设备的指令(例如,固件)。
187.参考图15,存储器控制器1000可以包括处理器1010、存储器缓冲器1020、错误校正码(ecc)电路1030、主机接口1040、缓冲控制器1050、存储器接口1060和总线1070。总线1070可以在存储器控制器1000的组件之间提供通道。
188.处理器1010可以控制存储器控制器1000的整体操作并且执行逻辑操作。处理器1010可以通过主机接口1040来与外部主机通信,并且可以通过存储器接口1060来与存储器设备通信。附加地,处理器1010可以通过缓冲控制器1050来与存储器缓冲器1020通信。处理
器1010可以通过使用存储器缓冲器1020作为操作存储器、高速缓冲存储器或缓冲存储器来控制存储设备的操作。
189.处理器1010可以执行闪存转换层(ftl)的功能。处理器1010可以通过ftl将由主机提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba并且使用映射表来将lba转换为pba。取决于映射的单位,使用ftl的地址映射方法可以以各种方式被修改。代表性的地址映射方法可以包括页映射方法、块映射方法和混合映射方法。
190.处理器1010可以将从主机接收的数据随机化。例如,处理器1010可以使用随机化种子来对从主机接收的数据进行随机化。经随机化的数据可以作为待存储的数据而被提供给存储器设备,并且可以被编程到存储器单元阵列。处理器1010可以驱动指令(例如,软件、固件等)来执行随机化操作或去随机化操作。
191.存储器缓冲器1020可以被用作处理器1010的工作存储器、高速缓冲存储器或缓冲存储器。存储器缓冲器1020可以存储待被处理器1010执行的代码和命令,并且可以存储待被处理器1010处理的数据。存储器缓冲器1020可以包括例如静态ram(sram)或动态ram(dram)。
192.ecc电路1030可以执行错误校正。例如,ecc电路1030可以基于待通过存储器接口1060写入存储器设备的数据来执行ecc编码操作。经ecc编码的数据可以通过存储器接口1060被传输到存储器设备。ecc电路1030可以对通过存储器接口1060从存储器设备接收的数据执行ecc解码操作。例如,ecc电路1030可以在存储器接口1060中作为存储器接口1060的组件。
193.主机接口1040可以在处理器1010的控制下与外部主机进行通信。主机接口1040可以使用各种通信方法中的至少一种通信方法来执行通信。示例包括通用串行总线(usb)、串行at附件(sata)、串行附接scsi(sas)、高速芯片间(hsic)、小型计算机系统接口(scsi)、外围组件互连(pci)、pci快速(pcie)、非易失性存储器快速(nvme)、通用闪存(ufs)、安全数字(sd)、多媒体卡(mmc)、嵌入式mmc(emmc)、双列直插式存储器模块(dimm)、寄存式dimm(rdimm)和低负载dimm(lrdimm)通信方法。
194.缓冲控制器1050可以在处理器1010的控制下控制存储器缓冲器1020。存储器接口1060可以在处理器1010的控制下与存储器设备通信,并且可以通过通道来与存储器设备通信命令、地址和数据。
195.在一个实施例中,存储器控制器1000可以既不包括存储器缓冲器1020也不包括缓冲控制器1050。例如,处理器1010可以使用代码来控制存储器控制器1000的操作。处理器1010可以从被设置在存储器控制器1000中的非易失性存储器设备(例如,只读存储器)加载代码。在一个实施例中,处理器1010可以通过存储器接口1060来从存储器设备加载代码。
196.存储器控制器1000的总线1070可以例如被分为控制总线和数据总线。数据总线可以在存储器控制器1000中传输数据。控制总线可以在存储器控制器1000中传输诸如命令和地址的控制信息。数据总线和控制总线可以彼此分离并且可以彼此不干扰。数据总线可以被耦合到主机接口1040、缓冲控制器1050、ecc电路1030和存储器接口1060。控制总线可以被耦合到主机接口1040、处理器1010、缓冲控制器1050、存储器缓冲器1020和存储器接口1060。
197.图16是图示了包括所描述的存储设备的存储器卡系统2000的一个实施例的框图。
198.参考图16,存储器卡系统2000可以包括存储器控制器2100、存储器设备2200和连接器2300。存储器控制器2100被耦合到存储器设备2200并且可以访问存储器设备2200。例如,存储器控制器2100可以控制存储器设备2200的读取操作、写入操作、擦除操作和后台操作。存储器控制器2100可以用作存储器设备2200与主机之间的接口。存储器控制器2100可以驱动用于控制存储器设备2200的指令(例如,固件)。存储器设备2200可以以与参考图1描述的存储器设备(例如,图1的100)相同的方式来实现。
199.在一个实施例中,存储器控制器2100可以包括组件,诸如随机存取存储器(ram)、处理单元、主机接口和存储器接口、以及ecc电路。
200.存储器控制器2100可以通过连接器2300来与外部设备通信,并且可以基于特定的通信协议来与外部设备(例如,主机)通信。在一个实施例中,存储器控制器2100可以通过各种通信协议中的至少一种通信协议来与外部设备通信。示例包括通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci-快速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和非易失性存储器快速(nvme)协议。在一个实施例中,连接器2300可以由上述各种通信协议中的至少一种通信协议来定义。
201.在一个实施例中,存储器设备2200可以被实现为各种非易失性存储器设备中的任何一种。示例包括电可擦除可编程rom(eeprom)、nand闪存、nor闪存、相变式ram(pram)、电阻式ram(reram)、铁电型ram(fram)和自旋转移力矩磁性ram(stt-mram)。
202.在一个实施例中,存储器控制器2100和存储器设备2200可以被集成到单个半导体设备中来形成存储器卡。示例包括个人计算机存储器卡国际协会(pcmcia)、紧凑型闪存卡(cf)、智能媒体卡(sm或smc)、记忆棒、多媒体卡(mmc、rs-mmc或mmcmicro)、sd卡(sd、minisd、microsd或sdhc)或通用闪存(ufs)。
203.在一个实施例中,存储器设备2200可以执行模糊-精细编程操作。模糊-精细编程操作可以是将lsb页数据编程到具有擦除状态e的存储器单元并且然后通过模糊编程操作和精细编程操作来将存储器单元编程到目标编程状态的操作。
204.当存储器设备2200执行模糊-精细编程操作时,lsb页数据、csb页数据和msb页数据可以被连续接收。此后,存储器设备2200可以将lsb页数据模糊编程到与目标字线相邻的字线。
205.在一个实施例中,如果lsb页数据被编程到与目标字线相邻的字线的存储器单元,则存储器设备2200可以执行读取被编程到目标字线的存储器单元的lsb页数据的恢复操作。如果lsb页数据通过恢复操作被读取,则存储器设备2200可以生成通过将lsb页数据、csb页数据和msb页数据组合而获得的新数据。
206.如果新数据被生成,则存储器设备2200可以将经组合的新数据精细编程到目标字线。
207.在上述模糊-精细编程期间,lsb页数据、csb页数据和msb页数据被连续接收。然后,模糊编程操作foggy首先在相邻字线的存储器单元上被执行,并且然后精细编程操作fine在目标字线的存储器单元上被执行。因此,在每个管芯中在精细编程操作完成之后接收待编程的数据所花费的时间可以被减少。例如,由于模糊编程操作foggy、恢复操作和精
细编程操作fine通过一个忙碌时段被执行,因此可以防止或减轻i/o瓶颈现象。
208.附加地,由于恢复操作在目标字线上被执行,因此可以防止或减少归因于连续的数据编程操作的降级。此外,由于编程操作首先在与目标字线相邻的字线的存储器单元上被执行,因此可以防止或减少干扰现象。
209.图17是图示了可以应用本文所描述的存储设备的固态驱动器(ssd)系统3000的一个实施例的框图。
210.参考图17,ssd系统3000可以包括主机3100和ssd 3200。ssd3200可以通过信号连接器3001来与主机3100交换信号sig,并且可以通过功率连接器3002来接收功率pwr。ssd 3200可以包括ssd控制器3210、多个闪存3221至322n、辅助电源3230和缓冲存储器3240。
211.在一个实施例中,ssd控制器3210可以执行如以上参考图1所述的存储器控制器(例如,图1的200)的功能。ssd控制器3210可以响应于从主机3100接收的信号sig来控制多个闪存3221至322n。在一个实施例中,信号sig可以是基于主机3100和ssd 3200之间的接口的信号。例如,信号sig可以是由各种接口中的至少一种接口兼容的信号。示例包括通用串行总线(usb)、多媒体卡(mmc)、嵌入式mmc(emmc)、外围组件互连(pci)、pci-快速(pci-e)、高级技术附件(ata)、串行ata(sata)、并行ata(pata)、小型计算机系统接口(scsi)、增强型小型磁盘接口(esdi)、电子集成驱动器(ide)、火线、通用闪存(ufs)、wi-fi、蓝牙和非易失性存储器快速(nvme)接口。
212.辅助电源3230可以通过功率连接器3002而被耦合到主机3100。辅助电源3230可以被供应有来自主机3100的功率pwr,并且可以由功率pwr充电。当来自主机3100的功率供应不能平稳地执行(例如,偏离预定水平或模式)时,辅助电源3230可以供应ssd 3200的功率。在一个实施例中,辅助电源3230可以位于ssd 3200内部或ssd 3200外部。例如,辅助电源3230可以在主板中,以向ssd 3200提供辅助功率。
213.缓冲存储器3240用作ssd 3200的缓冲存储器。例如,缓冲存储器3240可以临时存储从主机3100接收的数据或从多个闪存3221至322n接收的数据,或者可以临时存储闪存3221至322n的元数据(例如,映射表)。缓冲存储器3240可以是易失性存储器或者非易失性存储器,易失性存储器诸如是dram、sdram、ddr sdram、lpddr sdram和gram,非易失性存储器诸如是fram、reram、stt-mram和pram。
214.在一个实施例中,多个闪存3221至322n中的每个闪存可以执行模糊-精细编程操作。模糊-精细编程操作可以包括将lsb页数据编程到具有擦除状态e的存储器单元并且然后通过模糊编程操作和精细编程操作来将存储器单元编程到目标编程状态的操作。
215.当多个闪存3221至322n中的每个闪存执行模糊-精细编程操作时,lsb页数据、csb页数据和msb页数据可以被连续接收。此后,多个闪存3221至322n中的每个闪存可以将lsb页数据模糊编程到与目标字线相邻的字线。
216.在一个实施例中,如果lsb页数据被编程到与目标字线相邻的字线的存储器单元,则多个闪存3221至322n中的每个闪存可以执行读取被编程到目标字线的存储器单元的lsb页数据的恢复操作。如果lsb页数据通过恢复操作被读取,则多个闪存3221至322n中的每个闪存可以生成通过将lsb页数据、csb页数据和msb页数据组合而获得的新数据。如果新数据被生成,则多个闪存3221至322n中的每个闪存可以将经组合的新数据精细编程到目标字线。
217.在上述模糊-精细编程期间,lsb页数据、csb页数据和msb页数据可以被连续接收,并且模糊编程操作foggy可以首先在相邻字线的存储器单元上被执行。然后,精细编程操作fine可以在目标字线的存储器单元上被执行。因此,在每个管芯中在精细编程操作完成之后接收待被编程的数据所花费的时间可以被减少。例如,由于模糊编程操作foggy、恢复操作和精细编程操作fine通过一个忙碌时段被执行,因此i/o瓶颈现象可以被防止或减轻。
218.附加地,由于恢复操作在目标字线上被执行,因此可以防止或减少归因于连续的数据编程操作的降级。此外,由于编程操作首先在与目标字线相邻的字线的存储器单元上被执行,因此可以防止或减少干扰现象。
219.图18是图示了可以应用本文所描述的存储设备的用户系统4000的一个实施例的框图。
220.参考图18,用户系统4000可以包括应用处理器4100、存储器模块4200、网络模块4300、存储模块4400和用户接口4500。应用处理器4100可以运行用户系统4000中的组件、操作系统(os)和/或用户程序。在一个实施例中,应用处理器4100可以包括用于控制用户系统4000中的组件的控制器、接口、图形引擎等中的一项或多项。应用处理器4100可以被提供为片上系统(soc)。
221.存储器模块4200可以用作用户系统4000的主存储器、工作存储器、缓冲存储器或高速缓冲存储器。示例包括:易失性ram,诸如dram、sdram、ddr sdram、ddr2 sdram、ddr3 sdram、lpddr sdarm、lpddr2 sdram和lpddr3 sdram;或者非易失性ram,诸如pram、reram、mram和fram。在一个实施例中,应用处理器4100和存储器模块4200可以基于叠层封装(pop)被封装,并且然后可以被提供为单个半导体封装件。
222.网络模块4300可以与外部设备通信。例如,网络模块4300可以支持无线通信,诸如码分多址(cdma)、全球移动通信系统(gsm)、宽带cdma(wcdma)、cdma-2000、时分多址(tdma)、长期演进(lte)、wimax、wlan、uwb、蓝牙或wi-fi通信。在一个实施例中,网络模块4300可以被包括在应用处理器4100中。
223.存储模块4400可以在其中存储数据。例如,存储模块4400可以存储从应用处理器4100接收的数据。在一个实施例中,存储模块4400可以将存储模块4400中存储的数据传输到应用处理器4100。在一个实施例中,存储模块4400可以被实现为非易失性半导体存储器设备。示例包括相变式ram(pram)、磁性ram(mram)、电阻式ram(rram)、nand闪存、nor闪存或者具有三维(3d)结构的nand闪存。在一个实施例中,存储模块4400可以被提供为可移动存储介质(例如,可移动驱动器),诸如用户系统4000的存储器卡或外部驱动器。
224.在一个实施例中,存储模块4400可以包括多个非易失性存储器设备,并且这些非易失性存储器设备中的每个非易失性存储器设备可以以与以上参考图2和图3描述的存储器设备100相同的方式操作。存储模块4400可以以与以上参考图1描述的存储设备50相同的方式操作。
225.用户接口4500可以包括用于向应用处理器4100输入数据或指令或者向外部设备输出数据的接口。用户接口4500的示例包括用户输入接口,诸如键盘、小键盘、按钮、触摸面板、触摸屏、触摸板、触摸球、摄像头、麦克风、陀螺仪传感器、振动传感器、以及压电设备。用户接口4500可以进一步包括用户输出接口。示例包括液晶显示器(lcd)、有机发光二极管(oled)显示设备、有源矩阵oled(amoled)显示设备、led、扬声器、监视器等。
226.在一个实施例中,存储模块4400可以执行模糊-精细编程操作。模糊-精细编程操作可以包括将lsb页数据编程到具有擦除状态e的存储器单元并且然后通过模糊编程操作和精细编程操作来将存储器单元编程到目标编程状态的操作。
227.当存储模块4400执行模糊-精细编程操作时,lsb页数据、csb页数据和msb页数据可以被连续接收。此后,存储模块4400可以将lsb页数据模糊编程到与目标字线相邻的字线。
228.在一个实施例中,如果lsb页数据被编程到与目标字线相邻的字线的存储器单元,则存储模块4400可以执行读取被编程到目标字线的存储器单元的lsb页数据的恢复操作。如果lsb页数据通过恢复操作被读取,则存储模块4400可以生成通过将lsb页数据、csb页数据和msb页数据组合而获得的新数据。
229.如果新数据被生成,则存储模块4400可以将经组合的新数据精细编程到目标字线。
230.在上述模糊-精细编程期间,lsb页数据、csb页数据和msb页数据被连续接收,并且模糊编程操作foggy可以首先在相邻字线的存储器单元上被执行。然后,精细编程操作fine可以在目标字线的存储器单元上被执行。因此,在每个管芯中在精细编程操作完成之后接收待编程的数据所花费的时间可以被减少。例如,由于模糊编程操作foggy、恢复操作和精细编程操作fine通过一个忙碌时段被执行,因此可以防止或减轻i/o瓶颈现象。
231.附加地,由于恢复操作在目标字线上被执行,因此可以防止或减少归因于连续的数据编程操作的降级。此外,由于编程操作首先在与目标字线相邻的字线的存储器单元上被执行,因此可以防止或减少干扰现象。
232.根据一个或多个实施例,从存储器控制器接收的地址可以被新映射,并且编程操作可以使用新映射的地址来执行。作为结果,当存储器设备对顺序数据执行编程操作时,可以防止或减少降级。如本文所使用的,术语高电平状态和低电平状态可以分别对应于第一状态和第二状态。在另一实施例中,第一状态和第二状态可以分别对应于低电平状态和高电平状态。
233.本文描述的方法、过程和/或操作可以由待被计算机、处理器、控制器或其他信号处理设备执行的代码或指令来执行。计算机、处理器、控制器或其他信号处理设备可以是本文所述的那些或除本文所述的元件之外的元件。因为详细描述了构成方法(或计算机、处理器、控制器或其他信号处理设备的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备变换为用于执行本文的方法的专用处理器。
234.当至少部分地以软件实现时,控制器、处理器、设备、处理程序、单元、多路复用器、模块、发生器、管理器、逻辑、接口、解码器、驱动器、生成器、模块以及其他信号生成和信号处理特征可以包括例如存储器或用于存储例如待被计算机、处理器、微处理器、控制器或其他信号处理设备执行的代码或指令的其他存储设备。计算机、处理器、微处理器、控制器或其他信号处理设备可以是本文所述的那些或除本文所述的元件之外的元件。因为详细描述了构成方法(或计算机、处理器、微处理器、控制器或其他信号处理设备的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其他信号处理设备变换为用于执行本文的方法的专用处理器。
235.本文已经公开了实施例的示例,并且尽管采用了特定术语,但是特定术语仅在一般性和描述性意义上被使用和解释,而不是出于限制的目的。在一些情况下,对于本技术的本领域普通技术人员而言显而易见的是,除非另外特别指出,否则结合特定实施例描述的特征、特性和/或元素可以被单独使用,或者可以与结合其他实施例描述的特征、特性和/或元素组合使用。因此,本领域技术人员将理解,可以在不脱离如所附权利要求书中阐述的本公开的精神和范围的情况下,在形式和细节上进行各种改变。实施例可以被组合来形成附加实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1