专利名称:基于控制器性能要求的编程的制作方法
技术领域:
本发明大体涉及半导体存储器,且在一个特定实施例中,本发明涉及固态非易失
性存储器装置。
背景技术:
电子装置通常具有可用于其的某一类型的大容量存储装置。普通实例为硬盘驱动 器(HDD)。 HDD能够以相对低成本进行大量存储,当前消费者HDD可具有超过一个太字节的 HDD通常将数据存储于旋转的磁性媒体或圆盘上。数据通常存储为圆盘上的磁通 反转(magnetic flux reversal)的模式。为了将数据写入到典型HDD,以高速旋转圆盘,同 时浮动于圆盘上方的写入头产生一系列磁性脉冲以对准圆盘上的磁性颗粒来表示数据。为 了从典型HDD读取数据,在磁阻读取头浮动于以高速旋转的圆盘上方时在其中诱发电阻改 变。实际上,所得数据信号为模拟信号,所述模拟信号的峰值及谷值为数据模式的磁通反转 的结果。称为部分响应最大似然(PRML)的数字信号处理技术接着用于对模拟数据信号进 行取样以确定负责产生数据信号的可能的数据模式。 HDD具有归因于其机械性质的某些缺点。HDD易受归因于冲击、振动或强磁场而发 生损坏或过多读取/写入错误。此外,其为便携式电子装置中的功率的相对大的用户。
大容量存储装置的另一实例为固态驱动器(SSD)。代替在旋转媒体上存储数据, SSD利用半导体存储器装置来存储其数据,但包括接口及形状因数,使其对于其主机系统来 说好像为典型HDD。 SSD的存储器装置通常为非易失性快闪存储器装置。
快闪存储器装置已发展成用于广泛范围的电子应用的非易失性存储器的普遍来 源。快闪存储器装置通常使用允许高存储器密度、高可靠性,及低功率消耗的单晶体管 (one-transistor)存储器单元。经由对电荷存储或捕集层的编程或其它物理现象,单元的 阈值电压的改变确定每一单元的数据值。快闪存储器及其它非易失性存储器的一般用途包 括个人计算机、个人数字助理(PDA)、数码相机、数字媒体播放器、数字记录器、游戏、电器、 车辆、无线装置、蜂窝式电话,及可装卸式存储器模块,且非易失性存储器的用途继续扩展。
不同于HDD, SSD的操作通常归因于其固态性质而不受振动、冲击或磁场问题的影 响。类似地,由于没有移动零件,SSD具有比HDD更低的功率要求。然而,与具有相同形状 因数的HDD相比,SSD当前具有低得多的存储容量及显著更高的每位成本。
出于上文所陈述的原因,且出于所属领域的技术人员在阅读及理解本说明书后将 变得显而易见的其它原因,此项技术中需要替代性的大容量存储装置选择。
图1为根据本发明的实施例的存储器装置的简化的方框图。 图2为如可在图1的存储器装置中找到的实例NAND存储器阵列的一部分的示意 图。
4
图3为根据本发明的一个实施例的固态大容量存储装置系统的方框示意图。
图4为根据本发明的实施例的波形的描绘,其概念上展示如可由读取/写入通道 从存储器装置接收的数据信号。 图5为根据本发明的实施例的电子系统的方框示意图。 图6为用于校准控制器电路以达到特定存储器装置的可靠性特征的方法的一个 实施例的流程图。 图7为根据图6的方法的存储器阵列的子部分的一个实施例的方框图。 图8为用于通过响应于控制器性能要求而改变每单元位容量级来编程固态存储
器驱动器的方法的一个实施例的流程图。
具体实施例方式
在本实施例的以下详细描述中,参看形成其一部分且以说明的方式展示其中可实 践所述实施例的特定实施例的附图。充分详细地描述这些实施例以使得所属领域的技术人 员能够实践本发明,且应理解可利用其它实施例,且可在不偏离本发明的范围的情况下进 行过程、电或机械改变。因此,不应在限制意义上理解下文的详细描述。 传统固态存储器装置以二进制信号的形式传递数据。通常,接地电位表示数据位 的第一逻辑电平(例如,"O"数据值),而电源电位表示数据位的第二逻辑电平(例如,"l" 数据值)。多级单元(MLC)可指派(例如)四个不同阈值电压(Vt)范围(每一范围200mV), 其中每一范围对应于不同数据状态,从而表示四个数据值或位模式。通常,在每一范围之间 有0. 2V到0. 4V的静区或容限以防止Vt分布发生重叠。如果单元的Vt在第一范围内,则 单元可被认为存储逻辑11状态且通常被当作单元的经擦除状态。如果Vt在第二范围内, 则单元可被认为存储逻辑10状态。如果Vt在第三范围内,则单元可被认为存储逻辑00状 态。且如果Vt在第四范围内,则单元可被认为存储逻辑01状态。 当如上文所描述编程传统MLC装置时,单元通常首先被作为块擦除,以对应于所 述经擦除状态。在擦除单元的块之后,如果必要,每一单元的最低有效位(LSB)首先被编 程。举例来说,如果LSB为1,则不必编程,但如果LSB为0,则目标存储器单元的Vt被从对 应于11逻辑状态的Vt范围移动到对应于10逻辑状态的Vt范围。在编程LSB之后,以类 似方式编程每一单元的最高有效位(MSB),在必要情况下移位Vt。当读取传统存储器装置 的MLC时,一个或一个以上读取操作通常确定单元电压的Vt属于何范围中。举例来说,第 一读取操作可确定目标存储器单元的Vt指示MSB为1还是0,而第二读取操作可确定目标 存储器单元的Vt指示LSB为l还是0。然而,在每一情况下,从目标存储器单元的读取操作 返回单一位,而不管多少位存储于每一单元上。多个程序及读取操作的此问题随着更多位 存储于每一 MLC上而日益变得麻烦。由于每一此编程或读取操作为二进制操作,即,每一操 作对于每单元编程或返回单一信息位,从而在每一 MLC上存储更多位导致更长操作时间。
说明性实施例的存储器装置在存储器单元上将数据存储为Vt范围。然而,与传统 存储器装置相对照,编程及读取操作能够将数据信号不利用作为MLC数据值的离散位,而 是用作为MLC数据值的完全表示(例如,其完整位模式)。举例来说,在二位MLC装置中, 代替编程单元的LSB及随后编程所述单元的MSB,目标阈值电压可经编程从而表示这两个 位的位模式。即,一系列编程及验证操作将应用到存储器单元直到所述存储器单元获得其
5目标阈值电压,而不是编程到第一位的第一阈值电压,移位到第二位的第二阈值电压等。类 似地,代替利用多个读取操作来确定存储于单元上的每一位,单元的阈值电压可经确定及 传递为表示单元的完整数据值或位模式的单一信号。各种实施例的存储器装置不仅注意 存储器单元是否具有高于或低于某标称阈值电压的阈值电压(如传统存储器装置中进行 的)。替代地,产生表示跨越可能的阈值电压的连续区的存储器单元的实际阈值电压的电压 信号。此方法的优势随着每单元位计数增加而变得更加显著。举例来说,如果存储器单元 将存储八个位的信息,则单一读取操作将返回表示八个信息位的单一模拟数据信号。
图1为根据本发明的实施例的存储器装置101的简化的方框图。存储器装置101 包括以行及列布置的存储器单元的阵列104。尽管将主要参考NAND存储器阵列来描述各种 实施例,但各种实施例将不限于存储器阵列104的特定架构。适用于本实施例的其它阵列 架构的一些实例包括NOR阵列、AND阵列,及虚拟接地阵列。然而,一般来说,本文所描述的 实施例可适于允许产生指示每一存储器单元的阈值电压的数据信号的任何阵列架构。
行解码电路108及列解码电路110经提供以解码提供到存储器装置101的地址信 号。接收及解码地址信号以存取存储器阵列104。存储器装置101还包括输入/输出(1/ 0)控制电路112来管理命令、地址及数据到存储器装置101的输入以及数据及状态信息从 存储器装置101的输出。地址寄存器114耦合于1/0控制电路112与行解码电路108及列 解码电路IIO之间以在解码之前锁存地址信号。指令寄存器124耦合于1/0控制电路112 与控制逻辑116之间以锁存传入命令。控制逻辑116响应于命令来控制对存储器阵列104 的存取并产生用于外部处理器130的状态信息。控制逻辑116耦合到行解码电路108与列 解码电路110以响应于地址来控制行解码电路108及列解码电路110。
控制逻辑116还耦合到取样与保持电路118。取样与保持电路118以模拟电压电 平的形式锁存传入或传出的数据。举例来说,取样与保持电路可含有电容器或其它模拟存 储装置以用于对表示待写入到存储器单元的数据的传入电压信号或指示从存储器单元所 感测的阈值电压的传出电压信号进行取样。取样与保持电路118可进一步提供对所取样的 电压的放大及/或缓冲以向外部装置提供较强数据信号。 模拟电压信号的处理可采取类似于CMOS成像器技术的领域中众所周知的方法的 方法,其中响应于入射照明在成像器的像素处产生的电荷电平存储于电容器上。接着使用 具有参考电容器的差分放大器将这些电荷电平转换到电压信号,作为对所述差分放大器的 第二输入。接着将差分放大器的输出传递到模/数转换(ADC)装置以获得表示照明的强度 的数字值。在本实施例中,可响应于使电容器经受指示存储器单元的实际或目标阈值电压 的电压电平而将电荷存储于电容器上以分别用于读取或编程存储器单元。接着可使用具有 接地输入或其它参考信号作为第二输入的差分放大器来将此电荷转换成模拟电压。接着可 将差分放大器的输出传递到1/0控制电路112,以用于在读取操作的情况下从存储器装置 输出,或在编程存储器装置中的一个或一个以上验证操作期间用于比较。应注意,I/0控制 电路112可视情况包括模/数转换功能性及数/模转换(DAC)功能性以将所读取数据从 模拟信号转换成数字位模式并将写入数据从数字位模式转换成模拟信号,使得存储器装置 101可适于与模拟或数字数据接口通信。 在写入操作期间,对存储器阵列104的目标存储器单元进行编程,直到指示其Vt 电平的电压匹配保持在取样与保持电路118中的电平为止。作为一个实例,此可使用差分感测装置来将保持的电压电平与目标存储器单元的阈值电压进行比较来完成。非常类似于 传统存储器编程,编程脉冲可应用到目标存储器单元以增加其阈值电压,直到达到或超过 所要的值为止。在读取操作中,目标存储器单元的Vt电平被传递到取样与保持电路118以 用于视ADC/DAC功能性被提供到存储器装置外部还是内部而定直接地作为模拟信号或作 为模拟信号的数字化表示而传送到外部处理器(图1中未展示)。 可以多种方式确定单元的阈值电压。举例来说,可在目标存储器单元变成启动时 的点处对字线电压进行取样。或者,可将升压电压施加到目标存储器单元的第一源极/漏 极侧,且阈值电压可取作其控制栅极电压与其另一源极/漏极侧处的电压之间的差。通过 将电压耦合到电容器,将与电容器共享电荷以存储取样的电压。注意到,取样的电压不需要 等于阈值电压,而是仅指示所述电压。举例来说,在将升压电压施加到存储器单元的第一源 极/漏极侧并将已知电压施加到其控制栅极的情况下,在存储器单元的第二源极/漏极侧 处形成的电压可被取作数据信号,由于所形成的电压指示存储器单元的阈值电压。
取样与保持电路118可包括高速缓存,S卩,用于每一数据值的多个存储位置,使得 存储器装置101可在将第一数据值传递到外部处理器时读取下一数据值,或在将第一数据 值写入到存储器阵列104时接收下一数据值。状态寄存器122耦合于1/0控制电路112与 控制逻辑116之间以锁存状态信息,以用于输出到外部处理器。 存储器装置101经由控制链路132在控制逻辑116处接收控制信号。控制信号可 包括芯片启用CEft、命令锁存启用CLE、地址锁存启用ALE,及写入启用WE#。存储器装置101 可经由多路复用输入/输出(I/O)总线134从外部处理器接收命令(以命令信号的形式)、 地址(以地址信号的形式),及数据(以数据信号的形式)且经由1/0总线134将数据输出 到外部处理器。 在特定实例中,在1/0控制电路112处经由1/0总线134的输入/输出(I/O)引 脚[7:0]接收命令且将其写入到命令寄存器124。在1/0控制电路112处经由总线134的 输入/输出(I/O)弓|脚[7:0]接收地址且并将其写入到地址寄存器114。在I/0控制电路 112处,对于能够接收八个并行信号的装置可经由输入/输出(I/O)引脚[7:0]接收数据, 或对于能够接收十六个并行信号的装置可经由输入/输出(I/O)引脚[15:0]接收数据, 且将其传送到取样与保持电路118。对于能够传输八个并行信号的装置还可经由输入/输 出(I/O)引脚[7:0]输出数据,或对于能够传输十六个并行信号的装置还可经由输入/输 出(I/O)引脚[15:0]输出数据。所属领域的技术人员将了解,可提供额外电路及信号,且 图1的存储器装置已经简化以帮助集中于本发明的实施例。此外,虽然已根据用于接收及 输出各种信号的普通惯例来描述图1的存储器装置,但应注意,各种实施例不由所描述的 特定信号及I/0配置限制,除非本文明确指出。举例来说,可在与接收数据信号的那些输入 分离的输入处接收命令及地址信号,或可经由I/O总线134的单一 1/0线串行传输数据信 号。由于数据信号表示位模式而非个别位,8位数据信号的串行通信可与表示个别位的八个 信号的并行通信同样有效。 图2为如可在图1的存储器阵列104中找到的实例NAND存储器阵列200的一部 分的示意图。如图2中所展示,存储器阵列200包括字线2021到202N及交叉位线2041到 204M。为了易于在数字环境中寻址,字线202的编号及位线204的编号通常各自为二的某 个幂
存储器阵列200包括NAND串2061到206M。每一 NAND串包括晶体管2081到208N, 每一晶体管位于字线202与位线204的相交处。晶体管208(图2中描绘为浮动栅极晶体 管)表示用于存储数据的非易失性存储器单元。每一NAND串206的浮动栅极晶体管208源 极到漏极地串联连接在一个或一个以上源极选择栅极210(例如,场效应晶体管(FET))与 一个或一个以上漏极选择栅极212(例如,FET)之间。每一源极选择栅极210位于局部位 线204与源极选择线214的相交处,而每一漏极选择栅极212位于局部位线204与漏极选 择线215的相交处。 每一源极选择栅极210的源极连接到共用源极线216。每一源极选择栅极210的 漏极连接到对应NAND串206的第一浮动栅极晶体管208的源极。举例来说,源极选择栅极 2101的漏极连接到对应NAND串2061的浮动栅极晶体管2081的源极。每一源极选择栅极 210的控制栅极连接到源极选择线214。如果多个源极选择栅极210用于给定的NAND串 206,则其可能串联耦合于共用源极线216与所述NAND串206的第一浮动栅极晶体管208 之间。 每一漏极选择栅极212的漏极在漏极触点处连接到对应NAND串的局部位线204。 举例来说,漏极选择栅极2121的漏极在漏极触点处连接到对应NAND串2061的局部位线 2041。每一漏极选择栅极212的源极连接到对应NAND串206的最后浮动栅极晶体管208 的漏极。举例来说,漏极选择栅极2121的源极连接到对应NAND串2061的浮动栅极晶体管 208N的漏极。如果多个漏极选择栅极212用于给定的NAND串206,则其可能串联耦合于对 应位线204与所述NAND串206的最后浮动栅极晶体管208N之间。 浮动栅极晶体管208的典型构造包括源极230及漏极232、浮动栅极234,及控制 栅极236,如图2中所展示。浮动栅极晶体管208使其控制栅极236耦合到字线202。浮动 栅极晶体管208的列是耦合到给定局部位线204的那些NAND串206。浮动栅极晶体管208 的行是共同耦合到给定字线202的那些晶体管。晶体管208的其它形式还可用于本发明的 实施例,例如,NROM、磁性或铁电晶体管及能够被编程以采用两个或两个以上阈值电压范围 的一者的其它晶体管。 各种实施例的存储器装置可有利地用于大容量存储装置中。对于各种实施例,这 些大容量存储装置可采用传统HDD的相同形状因数及通信总线接口 ,从而允许其在多种应 用中代替此类驱动器。HDD的一些共同形状因数包括常用于当前个人计算机及较大数字媒 体记录器的3.5" 、2.5〃及PCMCIA(个人计算机存储器卡国际协会)形状因数,以及常用于 较小个人电器的1. 8〃及1〃形状因数,例如,移动电话、个人数字助理(PDA)及数字媒体播 放器。 一些共用总线接口包括通用串行总线(USB)、AT附件接口 (ATA)[还称为集成驱动器 电子设备或IDE]、串行ATA(SATA)、小计算机系统接口 (SCSI)及美国电气电子工程师学会 (IEEE) 1394标准。虽然列出多种形状因数及通信接口,但实施例不限于特定形状因数或通 信标准。此外,实施例不需要遵守HDD形状因数或通信接口。图3为根据本发明的一个实 施例的固态大容量存储装置300的方框示意图。 大容量存储装置300包括根据本发明的实施例的存储器装置301 、读取/写入通道 305及控制器310。读取/写入通道305提供从存储器装置301所接收的数据信号的模/ 数转换以及从控制器310所接收的数据信号的数/模转换。控制器310经由总线接口 315 提供大容量存储装置300与外部处理器(图3中未展示)之间的通信。应注意,读取/写入通道305可服务一个或一个以上额外存储器装置,如由以虚线形式的存储器装置301' 所描绘。用于通信的单一存储器装置301的选择可经由多位芯片启用信号或其它多路复用 方案来处理。 存储器装置301经由模拟接口 320及数字接口 325耦合到读取/写入通道305。 模拟接口 320提供模拟数据信号在存储器装置301与读取/写入通道305之间的通路,而 数字接口 325提供控制信号、命令信号及地址信号从读取/写入通道305到存储器装置301 的通路。数字接口 325可进一步提供状态信号从存储器装置301到读取/写入通道305的 通路。模拟接口 320及数字接口 325可共享如关于图1的存储器装置IOI所提及的信号 线。尽管图3的实施例描绘到存储器装置的双向模/数接口,读取/写入通道305的功能 性可任选地如关于图1所论述而并入到存储器装置301中,使得存储器装置301仅使用数 字接口直接与控制器310通信以用于传递控制信号、命令信号、状态信号、地址信号及数据 信号。 读取/写入通道305经由一个或一个以上接口 (例如,数据接口 330及控制接口 335)耦合到控制器310。数据接口 330提供读取/写入通道305与控制器310之间的数字 数据信号的通路。控制接口 335提供控制信号、命令信号及地址信号从控制器310到读取 /写入通道305的通路。控制接口 335可进一步提供状态信号从读取/写入通道305到控 制器310的通路。还可直接在控制器310与存储器装置301之间传递状态及命令/控制信 号,如由将控制接口 335连接到数字接口 325的虚线所描绘。 尽管在图3中描绘为两个不同的装置,但读取/写入通道305及控制器310的功 能性可替代地由单一集成电路装置执行。且虽然将存储器装置301保持为单独装置将在使 实施例适于不同形状因数及通信接口中提供更多灵活性,由于其也为集成电路装置,整个 大容量存储装置300可制造为单一集成电路装置。 读取/写入通道305为适于至少提供数字数据流到模拟数据流的转换及模拟数据 流到数字数据流的转换的信号处理器。数字数据流以二进制电压电平的形式提供数据信 号,B卩,指示具有第一二进制数据值(例如,O)的位的第一电压电平,及指示具有第二二进 制数据值(例如,l)的位的第二电压电平。模拟数据流以具有两个以上电平的模拟电压的 形式提供数据信号,其中不同电压电平或范围对应于两个或两个以上位的不同位模式。举 例来说,在适于每存储器单元存储两个位的系统中,模拟数据流的第一电压电平或电压电 平的范围可对应于位模式ll,模拟数据流的第二电压电平或电压电平的范围可对应于位模
式io,模拟数据流的第三电压电平或电压电平的范围可对应于位模式oo,及模拟数据流的
第四电压电平或电压电平的范围可对应于位模式Ol。因此,根据各种实施例的一个模拟数 据信号将转换成两个或两个以上数字数据信号,且反之亦然。 实际上,在总线接口 315处接收控制及命令信号以用于经由控制器310存取存储 器装置301。视需要何种类型的存取(例如,写入、读取、格式化等)而定,还可在总线接口 315处接收地址及数据值。在共享总线系统中,总线接口 315将连同多种其它装置一起耦合 到总线。为了将通信引导到特定装置,可将识别值置于总线上,所述识别值指示总线上的何 装置将根据后续命令起作用。如果识别值匹配由大容量存储装置300所采用的值,则控制 器310将接着在总线接口 315处接受后续命令。如果识别值不匹配,则控制器310将忽略 后续通信。类似地,为了避免总线上的冲突,共享总线上的各种装置可在其个别地控制总线时指示其它装置停止外传通信。用于共享总线及避免冲突的协议是众所周知的且将不在本 文中详述。控制器310接着将命令、地址及数据信号传递到读取/写入通道305上以用于 处理。应注意,从控制器310传递到读取/写入通道305的命令、地址及数据信号不必为在 总线接口 315处所接收的相同信号。举例来说,用于总线接口 315的通信标准可不同于读 取/写入通道305或存储器装置301的通信标准。在此情形下,控制器310可在存取存储 器装置301之前转译命令及/或寻址方案。此外,控制器310可在一个或一个以上存储器 装置301内提供负载均衡,使得存储器装置301的物理地址可针对给定逻辑地址而随时间 改变。因此,控制器310可将逻辑地址从外部装置映射到目标存储器装置301的物理地址。
对于写入请求,除命令及地址信号以外,控制器310还将把数字数据信号传递到 读取/写入通道305。举例来说,对于16位数据字,控制器310将传递16个具有第一或第 二二进制逻辑电平的个别信号。读取/写入通道305可接着将数字数据信号转换成表示数 字数据信号的位模式的模拟数据信号。以前述实例继续,读取/写入通道305将使用数/ 模转换来将16个个别数字数据信号转换成具有指示所要的16位数据模式的电位电平的单 一模拟信号。对于一个实施例,表示数字数据信号的位模式的模拟数据信号指示目标存储 器单元的所要的阈值电压。然而,在编程单晶体管存储器单元中,情况常常为相邻存储器单 元的编程将增加先前所编程的存储器单元的阈值电压。因此,对于另一实施例,读取/写入 通道305可考虑这些类型的阈值电压的预期改变,且将模拟数据信号调整为指示低于最终 所要的阈值电压的阈值电压。在转换来自控制器310的数字数据信号之后,读取/写入通 道305将接着将写入命令及地址信号连同模拟数据信号一起传递到存储器装置301,以用 于编程个别存储器单元。编程可以逐单元为基础而发生,但通常每一操作一数据页地执行。 对于典型存储器阵列架构,数据页包括耦合到字线的所有其它存储器单元。
对于读取请求,控制器将把命令及地址信号传递到读取/写入通道305。读取/写 入通道305将把读取的命令及地址信号传递到存储器装置301。作为响应,在执行读取操作 之后,存储器装置301将返回指示由地址信号及读取的命令所界定的存储器单元的阈值电 压的模拟数据信号。存储器装置301可以并行或串行方式传送其模拟数据信号。
模拟数据信号还可不作为离散电压脉冲传送,而是作为模拟信号的大体上连续流 传送。在此情况下,读取/写入通道305可使用类似于用于HDD存取中的称为PRML或部分 响应最大似然的信号处理。在传统HDD的PRML处理中,HDD的读取头输出表示HDD圆盘的 读取操作期间遭遇的通量反转的模拟信号的流。并非试图捕获响应于由读取头所遭遇的通 量反转而产生的此模拟信号的真实峰值及谷值,而是周期性地对所述信号取样以形成信号 模式的数字表示。此数字表示接着可经分析以确定负责产生模拟信号模式的通量反转的可 能模式。此相同类型的处理可用于本发明的实施例。通过对来自存储器装置301的模拟信 号取样,可使用PRML处理来确定负责产生模拟信号的阈值电压的可能的模式。
图4为对根据本发明的实施例的波形的描绘,其概念上展示如可能由读取/写入 通道305从存储器装置301接收的数据信号450。数据信号450可被周期性地取样,且数 据信号450的数字表示可由所取样的电压电平的振幅来形成。对于一个实施例,可使取样 与数据输出同步,使得取样发生于数据信号450的稳态部分期间。通过如在时间tl、t2、t3 及t4处由虚线所指示的取样来描绘此实施例。然而,如果同步化的取样变得不对准,则数 据样本的值可显著不同于稳态值。在替代性实施例中,可增加取样速率以允许(例如)通过观测由数据样本所指示的斜率变化来确定稳态值可能出现在何处。通过时间t5、 t6、 t7 及t8处的虚线所指示的取样来描绘此实施例,其中时间t6与t7处的数据样本之间的斜率 可指示稳态条件。在此实施例中,在取样速率与表示的精确度之间进行取舍。较高的取样 速率导致较精确的表示,但也增加处理时间。不管是取样与数据输出同步还是使用更频繁 的取样,数字表示接着可用于预测何传入电压电平可能负责产生模拟信号模式。进而,可从 传入电压电平的此预期模式预测正被读取的个别存储器单元的可能的数据值。
因为认识到错误将在从存储器单元301读取数据值中出现,读取/写入通道305 可包括错误校正。错误校正通常用在存储器装置,以及HDD中,以从预期错误中恢复。通 常,存储器装置将把用户数据存储于第一组位置中且将错误校正码(ECC)存储于第二组位 置中。在读取操作期间,响应于用户数据的读取请求而读取用户数据与ECC。使用已知算 法,将从读取操作返回的用户数据与ECC进行比较。如果错误在ECC的极限内,则将校正错 误。 图5为根据本发明的实施例的电子系统的方框示意图。实例电子系统可包括个人 计算机、PDA、数码相机、数字媒体播放器、数字记录器、电子游戏、电器、车辆、无线装置、移 动电话等。 电子系统包括主机处理器500,所述主机处理器500可包括高速缓冲存储器502以 增加处理器500的效率。处理器500耦合到通信总线504。多种其它装置可在处理器500 的控制下耦合到通信总线504。举例来说,电子系统可包括随机存取存储器(RAM) 506 ; — 个或一个以上输入装置508,例如,键盘、触摸垫、指向装置等;音频控制器510 ;视频控制器 512 ;及一个或一个以上大容量存储装置514。至少一个大容量存储装置514包括用于与总 线504通信的数字总线接口 515,根据本发明实施例的具有用于传送表示两个或两个以上 数据位的数据模式的数据信号的模拟接口的一个或一个以上存储器装置,及适于执行从总 线接口 515所接收的数字数据信号的数/模转换及从其存储器装置所接收的模拟数据信号 的模/数转换的信号处理器。 固态存储器驱动器控制器的性能(例如上文所说明)可受许多因素影响。举例来 说,每单元可编程的不同状态的量可影响编程的可靠性及速度。 归因于制造过程期间每一单元的组成的轻微差异,位存储的可靠性可跨越存储器 阵列在单元间或块间变化。此外,此变化在不同集成电路裸片之间不同,使得没有两个存储 器装置共享相同特征。 所存储的状态的可靠性可基于指派给存储器单元的阈值电压(即,编程的状态) 而不同。 一些单元可能能够以比其它单元更大的阈值电压及/或更紧密的阈值电压容许度 来编程并保持更大的阈值电压及/或更紧密的阈值电压容许度。更可靠的存储器单元为可 以某一阈值电压编程且接着精确地保持所述电压的单元。单元越可靠,越多位可被编程到 所述单元中。本发明的方法校准固态驱动器控制器以达到存储器阵列的区域的可靠性且接 着可基于可靠性校准表来改变编程到所述区域中的若干电平。 在以下论述中,每单元位的数目还可表达为每单元电平。举例来说,每单元存储两 个位与每单元四个电平相同。每单元三个位由每单元八个电平来表示。
图6说明用于校准存储器控制器以达到存储器阵列的区域的可靠性的方法的一 个实施例的流程图。在论述图6的方法的同时,参看图7的部分存储器单元阵列的方框图。
11
校准方法将电压601写入到中央存储器单元701。所述电压为表示经编程的状态(例如,单个位状态或多个位状态)的阈值电压。如先前所论述,阈值电压可由控制电路产生、耦合到存储器装置及控制存储器装置,作为表示所要的阈值电压的数字信号。读取/写入通道及/或控制器电路接着对数字信号执行数/模转换以产生所要的阈值电压的模拟表示。 由另一模拟电压所表示的状态(例如,位模式)被写入603到周围存储器单元703、705中的一者或一者以上。中央单元701接着经读取604以确定周围电压的写入已影响中央单元的存储的电压的程度。这些单元703 、705上的电压接着被改变605,通常是增加,且在每一改变606之后读取中央单元以确定对中央单元701的影响。将对中央单元701的可靠性的指示存储于存储器中的表607中以供将来参考。在一个实施例中,此可靠性指示为指示由周围单元的阈值电压的改变所引起的中央单元701的平均阈值电压改变的偏移。举例来说,所述偏移对于用于编程周围单元的每5V可为5mV改变。接着,此偏移可稍后在编程存储器的所述区域中的单元时使用。 围绕中央单元701的经编程的单元的量及定向可针对不同实施例而变化。邻近中央单元701且在字线方向上的单元通过电容性耦合及通过程序干扰而影响中央单元。由于单元701、703、705均共享相同字线,用不同且尤其越来越高编程电压对字线进行重复偏置将在一定程度上影响中央单元701的阈值电压。 对沿位线方向710、711的单元的编程通过电容性耦合影响中央单元701上的阈值电压。随着越来越高的电压被编程于邻近单元710、711上,邻近位线单元710、711的耦合将倾向于归因于单元701、710、711之间的耦合而提高中央单元701的阈值电压。
在另一校准方法实施例中,某些单元可经历若干写入/读取循环以便确定单元在阈值电压改变方面的降级的量。在此实施例中,针对第一写入/读取循环确定某一编程电压的阈值电压改变的量。在不同量的写入/读取循环之后,对于相同编程电压,此初始改变用作参考且与阈值电压改变的量进行比较。所得可靠性指示为参考阈值电压改变与确定量的写入/读取循环之后的阈值电压改变之间的偏移。 在又一校准方法实施例中,在一个读取操作之后,将初始参考阈值电压改变与对特定存储器单元的一定量的读取操作之后的阈值电压改变进行比较。举例来说,执行一个读取操作且下一读取操作接着确定在一个读取操作之后阈值电压的移动的参考量。接着,对同一存储器单元执行另外IOO个读取操作。所述两个阈值电压移动之间的差为作为此校准实施例的可靠性指示的偏移。 这些校准实施例响应于以上条件而确定存储器单元的阈值电压的"参考"预期改变。如果实际改变大于参考改变,则单元或单元的区域的可靠性降低且单元的位容量级(bitc即acity level)应减小以增加所存储的数据的可靠性。 对存储器阵列的不同区域的代表性单元执行图6及图7中所说明的校准方法。可对整个存储器阵列或阵列的特定区域中的随机单元执行所述方法。举例来说,可对阵列的角落单元且在中央执行所述方法。在另一实施例中,可检查每一存储器块的某些区域。在又一实施例中,可使用沿存储器阵列的周期性间隔的单元执行方法。 校准可在制造过程期间执行一次且可靠性指示存储于非易失性存储器中。在另一实施例中,在存储器装置的每次通电时执行校准。
固态驱动器控制器以每单元不同位容量级不同地执行。举例来说,随着待编程于每一单元上的位的量增加,编程所述单元所需的时间也增加。此情形归因于更大量的状态需要更大量的较低电压编程脉冲。由于经编程的状态更紧密地在一起,因此需要较小编程脉冲来阻止单元被过度编程到下一状态。 图8说明用于基于驱动器控制器的性能要求编程固态存储器驱动器的方法的流程图。所述系统最初确定控制器的所要(例如,所需的)性能801。如先前所论述,性能级可为所需的可靠性、编程速度,或一些其它性能标准的级别。举例来说,性能级可能为固态驱动器控制器能够在小于1毫秒内编程存储器单元的块。 如果使用编程可靠性来调整控制器性能,则系统可确定被存储的数据的类型或用户可输入所需的可靠性的级别。如果系统确定程序代码正被存储,则比(例如)存储图像数据的情况需要更低错误率。此情形归因于程序代码中的位的改变可具有比图像的少数像素被丢失的情况更严重的结果的假设。少量丢失的像素将可能在上百万像素的图像中不被注意到,而程序中的错误指令可能影响程序的操作。 通常,存储于单元中的位的量越大,所述单元的可靠性越低。因此,程序代码将存储于具有每单元较低数目的电平的单元中。图像可利用较密集的电平/单元。
如果使用编程速度来调整控制器性能,则系统调整每单元电平来与所要的/所需的编程速度相关。可以逐单元、逐页、逐块或一些其它单元分组为基础来调整每单元电平。可在存储器装置第一次通电时、测试操作期间、在制造装置时一次性地,或在使用期间每次通电之后执行每单元电平与所得编程速度的相关。接着可在存储器中建立一表,所述表列出每单元位容量级与对应编程速度。所述表可存储于非易失性存储器阵列中或可由控制器电路存取的某个其它存储器位置中。 在一个实施例中,每一电平的编程速度针对存储器阵列的不同区域而不同。因此,表可包括针对每一电平的编程速度及其中所述属性为真的存储器阵列的相关联的区域。
以与可靠性校准类似的方式完成编程速度表产生。以不同位容量级编程存储器阵列的各种区域中的代表性单元。为存储器的每一区域记录以每一位容量级进行编程所需的时间。接着将此数据存储供将来参考。 —旦已知所要的(例如,所需的)控制器性能,基于所选择的编程可靠性或编程速度来调整待存储于单元中的位的量803。 使用图6及图7的存储器阵列可靠性校准实施例,已知存储器阵列的不同区域的
可靠性与电平/单元的量相关。此信息已被存储于存储器中的可靠性表中。系统控制器或
其它控制电路一旦已知所要的/所需的可靠性就可从存储器存取此表。 类似地,一旦已知所要的/所需的编程速度,系统控制器或其它控制电路就可存
取存储器中的编程速度表以确定保持所述速度所必需的对应的每单元电平。控制器接着可
使用此信息确定如何将数据写入到存储器装置。 如果可靠性将被用于改变性能,则控制器将所要的/所需的可靠性与来自表的可靠性校准数据(例如,每一单元的可靠性的指示)进行比较以确定数据应存储805于存储器的何区域以便符合可靠性要求。举例来说,如果表展示存储器阵列的一个区域具有用于存储每单元三个或三个以上电平的较高可靠性,则控制器可使用此区域来存储照片数据。控制器可接着在将此数据写入到那些单元时使用较高电平(即,较高阈值电压)。
在另一实施例中,如果控制器正在存储程序代码或用户指示需要最高可靠性,则控制器可存取所述表以确定在任何电平下存储器的何区域具有最高可靠性。控制器接着使用由表指示为处于所述特定区域的所要可靠性级的最大电平量将数据写入到高可靠性区域。 如果编程的速度将被用于改变控制器性能,则控制器将所要的/所需的编程速度
与表中的对应电平进行比较。此电平接着用以将数据写入到存储器装置805。 图8的编程方法可在编程存储器块内的不同存储器单元时改变电平。举例来说,
一个存储器块可同时具有多级(multiple level)单元与单级(single level)单元两者。
多级单元包括每单元三个或三个以上电平(即,1.5位/单元)且还可响应于所要的控制器
性能而在整个存储器块中改变多级单元的电平。 在图8的方法的替代性实施例中,可能的是,存储器存储容量必须做出牺牲以便实现某一性能级。在此情况下,基于可靠性将数据重写到存储器的不同区域。举例来说,图像数据最初以SLC位容量级被写入到存储器以便快速编程数据(S卩,以符合所要的性能级)。然而,图像数据可能已以较缓慢、更为压縮的MLC位容量级但以较低可靠性级写入。换句话说,牺牲存储容量以便符合性能目标。在此情况下,稍后在性能并非问题时以较低可靠性级MLC格式(即,基于可靠性级)重写数据。接着可擦除图像数据的第一区域。
如在先前实施例中,控制器通过产生指示存储所要的数据模式所必需的阈值电压的数字信号来写入数据。数/模转换处理将此数字信号转换成指示待写入到单元的所要的阈值电压的模拟信号。
结论 本发明的实施例提供视所要的固态驱动器控制器性能而定以每单元不同电平存储数据的能力。关于可靠性性能,校准程序响应于不同电平而确定存储器阵列的不同区域的可靠性。此数据被存储于由控制器存取的表中以便确定存储器阵列的何区域存储不同类型的数据使得实现可靠性的特定级。关于编程速度性能,产生编程速度与对应位容量级的表且将其存储于存储器中。 控制器可基于每单元的中间阈值电平建立性能级。换句话说,如果每单元两位意味着四个电平且每单元三个位意味着八个电平,则控制器可确立所要的性能级为每单元六个电平或每单元2. 5个位。在不同实施例中,控制器可将可靠性、电平/单元,及性能信息存储于存储器的不同部分中的个别存储器块或子块上或相同块内。此可在预定可靠性及性能级下执行。 尽管在本文中已说明及描述特定实施例,但一般所属领域的技术人员将了解经计算以实现相同目的的任何布置可替代所展示的特定实施例。本发明的许多修改对于所属领域的技术人员将显而易见。因此,此申请案希望涵盖对本发明的任何修改或变化。
1权利要求
一种用于对包含存储器阵列及控制器电路的固态驱动器进行编程的方法,所述方法包含针对待存储于所述存储器阵列中的数据而确定控制器性能级;确定提供所述控制器性能级的位容量级;以及以所述位容量级将所述数据写入到所述存储器阵列。
2. 根据权利要求1所述的方法,其中所述控制器性能级包含编程速度及编程可靠性。
3. 根据权利要求1所述的方法,其中确定位容量级包含从存储器读取表,所述表包含 对与所述存储器阵列的多个区域中的每一者的位容量级相关的所述存储器阵列的所述多 个区域中的每一者的可靠性的指示。
4. 根据权利要求1所述的方法,且其进一步包含确定所述存储器阵列的其中可以所述 位容量级满足所述控制器性能级的区域。
5. 根据权利要求1所述的方法,且其进一步包含针对可在所述存储器阵列的存储器单元上编程的多个位容量级中的每一者确定编程 速度;针对所述控制器电路产生第一编程速度;以及以所述多个位容量级中的对应于所述第一编程速度的第一位容量级将所接收的数据 写入到所述存储器阵列。
6. 根据权利要求5所述的方法,其中在所述存储器装置的初始通电时完成确定针对所 述多个位容量级中的每一者的所述编程速度。
7. 根据权利要求5所述的方法,其中在所述存储器装置的制造过程期间仅一次性地完 成确定针对所述多个位容量级中的每一者的所述编程速度。
8. 根据权利要求5所述的方法,且其进一步包括存储每一编程速度与其对应位容量级。
9. 根据权利要求8所述的方法,其中将每一编程速度及其对应位容量级存储于所述存 储器阵列中。
10. 根据权利要求5所述的方法,其中写入所述所接收的数据包括沿所述存储器阵列 的相同字线写入。
11. 根据权利要求5所述的方法,其中写入所述所接收的数据包括在所述存储器阵列 的相同存储器块内以所述多个位容量级中的不同位容量级写入。
12. 根据权利要求1所述的方法,且其进一步包含如果所述控制器性能级降低了所述位容量级,则基于可靠性级将所述数据写入到所述 存储器阵列的区域。
13. 根据权利要求1所述的方法,且其进一步包含 以所述位容量级将所述数据写入到所述存储器阵列的第一区域;以及 如果所述控制器性能级降低了所述位容量级,则基于可靠性级将所述数据写入到所述存储器阵列的第二区域。
14. 根据权利要求13所述的方法,且其进一步包含擦除所述存储器阵列的所述第一区域。
15. 根据权利要求13所述的方法,其中所述将所述数据写入到所述存储器阵列的所述第一区域包含以单级单元位容量级写入所述数据,且其中将数据写入到所述存储器阵列的 所述第二区域包含以多级单元容量级写入所述数据。
16. —种固态驱动器,其包含非易失性存储器单元阵列,其具有耦合到位线的存储器单元列及耦合到字线的存储器 单元行;以及控制电路,其用于控制所述非易失性存储器单元阵列的操作,其中所述控制电路适于 响应于对待存储于所述非易失性存储器阵列中的数据的控制器性能级的确定来编程所述 存储器单元、确定提供所述控制器性能级的编程级,及以所述编程级将所述数据写入到所 述非易失性存储器阵列。
17. 根据权利要求16所述的固态存储器装置,其中所述控制电路进一步包含用以从正 被编程的所述存储器单元读取模拟数据信号及用以产生指示所述读取的模拟数据信号的 数字阈值电压信号的电路。
18. 根据权利要求16所述的固态存储器装置,其中所述控制电路进一步包含用以接收 指示经编程的存储器状态的数字数据信号及用以将所述数字数据信号转换成指示所述经 编程的存储器状态的阈值电压的模拟数据信号的电路。
19. 根据权利要求16所述的固态存储器装置,其中所述存储器阵列被组织为NAND架 构,所述NAND架构具有多个非易失性存储器单元块,其中每一非易失性存储器单元块可响 应于针对所述控制电路所产生的编程速度而在单级单元与多级单元两者中编程。
全文摘要
本发明揭示方法及固态驱动器,例如,一种适于接收及发射表示三个或三个以上电平的位模式的模拟数据信号的固态驱动器(例如以相对于传达指示个别位的数据信号的装置促进数据传递速率的增加)。对包含非易失性存储器单元阵列的所述固态驱动器的编程可能包括响应于控制器电路的所要性能级而调整正被编程的每一存储器单元的电平。
文档编号G11C16/34GK101765888SQ200880100576
公开日2010年6月30日 申请日期2008年7月25日 优先权日2007年7月26日
发明者弗朗姬·F·鲁帕尔瓦尔, 维沙尔·萨林, 辉俊胜 申请人:美光科技公司