串行接口nand的制作方法

文档序号:6478722阅读:223来源:国知局
专利名称:串行接口nand的制作方法
技术领域
本发明的实施例大体上涉及存储器装置的领域,且更明确地说,涉及NAND存储器 装置的串行外围接口(SPI)。
背景技术
串行外围接口(SPI)是在两个装置之间提供相对简单连接的通信接口。SPI包括 使得主装置能够与一个或一个以上从属装置进行通信的4导线串行总线。经由SPI同时传 输及接收数据,从而使其成为全双工协议。所述协议在处理器及其它装置当中提供低/中 等带宽(1兆波特)网络连接。SPI大体上具有包括两条控制线及两条数据线的四根导线。控制线包括串行时钟 (SCLK)线及芯片选择(CS)线。SCLK线用数字时钟信号来驱动以调节位在装置之间的流动。 CS用启用或停用正由主装置控制的从属装置的信号来驱动。数据线包括主输出/从输入 (M0SI)线及主输入/从输出(MIS0)线。M0SI线用以将数据从主装置的输出传送到从属装 置的输入。MIS0线用以将数据从从属装置的输出传送到主装置的输入。SPI的控制线及数据线的简单配置使得SPI能够在低成本下具有相对高的板密 度。换句话说,四个控制线在组件之间进行导引是简单的且可能不会占据印刷电路板(PCB) 上的显著量的表面面积。因此,SPI接口对于使用于例如计算机等要求紧密及简单布局的 应用中可能是有益的。计算机系统及其它电力系统大体上包括一个或一个以上存储器装置。举例来说, 计算机常常使用NOR快闪存储器及NAND快闪存储器。NOR及NAND快闪各自具有超越彼此 的某些优点。举例来说,NOR快闪存储器通常具有比NAND快闪慢的写入及擦除速度。此外, NAND快闪存储器通常具有比NOR快闪存储器大的耐久性。然而,NOR快闪存储器通常启用 对存储于存储器装置内的数据的随机存取,而NAND快闪存储器大体上要求以较大群组存 取及写入数据。举例来说,NAND快闪存储器通常包括各自包括多个页的多个块,其中每一 页包括大量字节的数据。在操作中,每次一个块地擦除数据,且每次一个页地写入数据。一般来说,通过并行接口实现例如处理器等装置与NAND存储器装置之间的通信。 换句话说,在装置与NAND存储器装置之间制造多个连接以在装置与NAND存储器之间实现 数据的同时(并行)传送,这与串行传送相反。遗憾的是,额外数目的连接可能增大接口的 复杂性,增大印刷电路板上使用的表面面积的量,且增大线之间的噪声(串扰)。本发明的实施例可针对于上文阐述的问题中的一者或一者以上。


图1为说明根据本发明的一个或一个以上实施例的存储器装置的实施例的框图;图2为说明根据本发明的一个或一个以上实施例的高速缓冲存储器加载NAND存 储器阵列的方法的框图;图3为进一步说明根据本发明的一个或一个以上实施例的高速缓冲存储器加载NAND存储器阵列的方法的流程图;图4为说明根据本发明的一个或一个以上实施例的SPI信号的时序图;图5为说明根据本发明的一个或一个以上实施例的将随机数据加载到NAND存储 器装置的高速缓冲存储器中的方法的框图;图6为进一步说明根据本发明的一个或一个以上实施例的将随机数据加载到 NAND存储器装置的高速缓冲存储器中的方法的流程图;图7为说明根据本发明的一个或一个以上实施例的与将随机数据加载到NAND的 高速缓冲存储器中相关联的SPI信号的时序图;图8为说明根据本发明的一个或一个以上实施例的在NAND存储器装置内移动数 据的方法的框图;图9为说明根据本发明的一个或一个以上实施例的在NAND存储器装置内移动及 修改数据的方法的框图;图10为进一步说明根据本发明的一个或一个以上实施例的在NAND存储器装置内 移动及修改数据的方法的流程图;及图11为说明根据本发明的一个或一个以上实施例的在NAND存储器装置内同时高 速缓冲存储器加载及执行数据的方法的流程图。
具体实施例方式图1包括描绘如大体上由参考标号10指定的NAND存储器系统的框图。NAND存 储器系统10可为多种类型中的任一者,例如使用于计算机、寻呼器、蜂窝式电话、个人备忘 记事本、控制电路等中的那些类型。系统10包括主装置12及从属装置14。在一个实施例 中,主装置12可包括微控制器且从属装置14可包括NAND存储器装置。主装置12经由各种传输线与从属装置14进行通信。在所说明的实施例中,主装 置12及从属装置14经由串行外围接口(SPI)发送及接收信号。在所说明的实施例中,SPI 包括SPI总线16。SPI总线16为以全双工模式进行操作的同步串行数据链路标准。SPI总 线16上的装置以使得主装置12能够起始去往一个或一个以上从属装置14的数据帧的主 /从模式进行操作。主装置12及从属装置14大体上包括使得其能够交换及存储数据值的 移位寄存器。在操作中,主装置12及从属装置14可对存储于寄存器中的数据进行各种操 作,例如将数据保存到存储器。SPI总线16包括主输出/从输入(M0SI)线、主输入/从输 出(MIS0)线、串行时钟(SCLK)线及芯片选择(CS)线。M0SI线包括用以将数据从主装置12的输出传送到从属装置14的输入的第一通信 线。MIS0线包括用以将数据从从属装置14的输出传送到主装置12的输入的第二通信线。SCLK线包括用数字时钟信号驱动以调节位在装置之间的流动的第一控制线。在所 说明的实施例中,SCLK线由主装置12驱动。实施例还可包括外部提供的调节主装置12以 及系统10中的其它装置的SCLK信号。举例来说,输出线上的数据可在SCLK线上的信号的 下降边沿上发生改变,且输入处的数据可在SCLK线上的信号的上升边沿上被锁存。换句话 说,线的状态可在SCLK线上的时钟信号的下降边沿处发生改变且在SCLK线上的时钟信号 的上升边沿上被读取。CS信号包括启用或停用从属装置14的第二控制线。启用及停用从属装置14可确定从属装置何时正与主装置12进行通信(例如,正由其控制)。换句话说,CS线可用以启 用从属装置14以与主装置12进行通信。CS线通常为低态有效信号。因此,主装置12可将 CS线驱动为低以启用从属装置14。在一个实施例中,系统10可包括多个从属装置14。举例来说,系统10可包括连接 到多个从属装置14中的每一者的单条SCLK线、单条MOSI线及单条MISO线。主装置12还 可包括各自连接到多个从属装置14中的一者的多个SC线。在操作中,主装置12可输出到 SCLK线、MOSI线及MISO线,且个别地双态触发相应CS线的状态以启动多个从属装置14中 的特定一者。在所说明的实施例中,从属装置(NAND存储器装置)14包括SPI控制器18、高速缓 冲存储器20、NAND存储器阵列22及ECC 24状态寄存器。SPI控制器18经由SPI总线16 接收及传输数据。经由SPI总线16传输的数据由SPI控制器18的输入接收。SPI控制器 18还经由在NAND存储器装置14内部的数据传送输入/输出线(DT I/O)及控制线26、28 及30传输及接收信号。DT I/O线实现与高速缓冲存储器20的通信。控制线26使得SPI 控制器18能够向高速缓冲存储器20传输控制信号及从高速缓冲存储器20接收控制信号。 控制线28使得SPI控制器能够向NAND存储器阵列22传输控制信号及从NAND存储器阵列 22接收控制信号。控制线30使得SPI控制器能够向错误校正码(ECC)状态寄存器24传输 控制信号及从错误校正码(ECC)状态寄存器24接收控制信号。在操作中,SPI控制器18接收经由SPI总线16传输的数据,且同步数据(DT I/O) 及控制信号在NAND存储器14的其它组件之间的流动。举例来说,SPI控制器18经由MOSI 线以串行化格式接收数据及命令,且剖析用于数据及命令的传入串行化信号。SPI控制器 18可包括提供由SPI控制器18传输及接收的信号的适当时序的移位寄存器。此外,SPI控 制器18可包括机上运行以解译包括命令、地址、数据及其类似者的传入信号的算法。所述 算法还可包括用以确定SPI控制器18的适当输出的例程,所述输出包括地址方案、错误校 正、数据在NAND存储器阵列22内的移动及其类似者。同样地,SPI控制器18可包括用以 同步经由MISO线从SPI控制器18到主装置12的数据传输的电路。在一个实施例中,SPI 控制器18将所接收的数据传输到高速缓冲存储器20、NAND存储器阵列22及/或ECC状态 寄存器24,而不将控制信号及数据转译为NAND格式。在操作中,经由高速缓冲存储器20逐字节地向NAND存储器阵列22传送数据 (DTI/0)或从NAND存储器阵列22传送数据(DT I/O)。高速缓冲存储器20充当用于正从 SPI控制器18传送到NAND存储器阵列22的数据的数据缓冲器。可将数据写入到高速缓冲 存储器20中,且随后写入到NAND存储器22中。同样地,可将数据从NAND存储器阵列22 读取到高速缓冲存储器20中,且随后经由SPI控制器18及MISO线从高速缓冲存储器20 传输到主装置12。高速缓冲存储器20可为各种大小。举例来说,高速缓冲存储器20可包 括2048个字节、4096个字节、8192个字节或其倍数。高速缓冲存储器20还可为例如256 个字节或512个字节等较小大小。应注意,在某一实施例中,数据寄存器可驻留于高速缓冲 存储器20或NAND存储器阵列22中,以提供用于在高速缓冲存储器20与NAND存储器阵列 22之间传送数据的路径。换句话说,多个数据位可在经写入到NAND存储器阵列22的地址 之前移位到数据寄存器中。NAND存储器阵列22包括经划分为块的存储器单元阵列。块包括固定数目的页。NAND存储器阵列22在基于页的操作中(例如,每次一个页)经编程及读取,且在基于块的 操作中(例如,每次一个块)经擦除。因为NAND存储器阵列22顺序地作为页来存取,所以 字节的随机数据存取可能是不可能的。换句话说,因为每次多个字节(例如,一页字节)地 进行读取及写入功能,所以无法从NAND存储器阵列22读取单个字节。NAND存储器阵列22可包括任何数目及大小的块及页。在其中NAND存储器装置14具有4千兆字节(Gb)容量的一个实施例中,NAND存储器阵列22可包括2048个块,其中 每一块包括各自为2112个字节的64个页。其它实施例可包括具有8192个块及8Gb容量、 16384个块及16Gb容量以及其类似者的NAND存储器装置14。NAND存储器单元具有有限数目的写入/擦除循环(例如,100,000个编程/擦除 循环)。为了延长NAND存储器装置14的寿命,可应用“损耗均衡”以将数据散布于存储器 的各种物理位置上。损耗均衡大体上包括将数据写入到各种位置以确保单元的均勻使用以 防止NAND存储器阵列22的某些部分过早失效。损耗均衡可包括最初将数据写入到NAND 存储器阵列22中的各种位置中的一者,或可包括从NAND存储器阵列22内的一个物理位置 (例如,地址)移动数据及将所述相同数据写入到NAND存储器阵列22中的另一物理位置。 SPI控制器18可管理用以确定向何处写入数据的损耗均衡例程。举例来说,SPI控制器18 上的算法及/或电路可监视存储器使用且确定适当地址以在NAND存储器阵列22内写入数 据。ECC状态寄存器24用以检测及/或校正可能在正常操作期间发生的位错误,以及 归因于随时间出现的电荷损失/增益而发生的位错误。举例来说,ECC状态寄存器24可包 括用以在从NAND存储器阵列22读回数据时检测及校正错误的电路。ECC状态寄存器24可 补充SPI控制器18上所使用的算法。ECC状态寄存器24还可包括一群组的子寄存器。这 些子寄存器可包括针对存储器装置数据启用任选ECC的ECC启用/停用寄存器、存储所发 现的总数目的错误的ECC类型寄存器、存储任何不可校正错误的位置的ECC位置寄存器、存 储关于NAND存储器阵列22上的任何错误校正过程的结果的信息的ECCNAND存储器结果寄 存器或存储关于高速缓冲存储器20上的任何错误校正过程的结果的信息的ECC高速缓冲 存储器结果寄存器。ECC状态寄存器24可包括所有先前ECC子寄存器或前述子寄存器的任 何组合。尽管将ECC状态寄存器24展示为在SPI控制器18外部,但ECC状态寄存器24可 与SPI控制器18成一体式。现转向图2,说明了经由SPI接口将数据高速缓冲存储器加载到NAND存储器阵列 22中的过程26的框图。过程26大体上包括将SPI输入28加载到高速缓冲存储器20及 NAND存储器阵列22。SPI输入28包括经由SPI总线16传输且传递通过SPI控制器18的 串行化数据。一旦高速缓冲存储器20经填充及/或所要量的数据经加载到高速缓冲存储 器20中,便将数据写入(执行)到NAND存储器阵列22。图3为进一步说明经由SPI接口将数据高速缓冲存储器加载到NAND存储器阵列 22中的方法30的流程图。一般来说,方法30包括将数据加载到高速缓冲存储器中(32)、 将数据执行到NAND存储器阵列22中(34)及读取执行的状态(36)。在框32处,方法30包括将数据加载到高速缓冲存储器中。将数据加载到高速缓 冲存储器中(框32)可包括经由SPI总线16提供串行化输入信号,其中串行化信号指示命 令、地址、数据及其类似者。举例来说,加载数据序列可包括提供程序加载命令,随后是列地址及一系列数据。在实施例中,程序加载序列包括1字节命令,随后是用于加载高速缓冲存 储器的开始列地址(2个字节),随后是待加载到高速缓冲存储器中的数据。图4中说明程序加载序列的实施例的时序图。在所说明的实施例中,CS线在通信 38的周期期间经驱动为低。换句话说,在主装置12正向从属装置14发送串行化数据或从 从属装置14接收串行化数据的同时,CS线经驱动为低。在前八个时钟周期期间,传输1字 节命令40。在一个实施例中,SPI控制器18可起始用以基于命令40及预期传入数据而将高 速缓冲存储器20的所有位初始化为1或0的序列。在所说明的实施例中,紧随1字节命令 40之后的是在接下来四个时钟周期期间传输的四个虚拟位42。可使用或可不使用虚拟位 42以使命令及/或12位列地址44与字节格式对准。换句话说,在需要串行化加载命令及 /或列地址44以八个位的增量传输的情况下,虚拟位可用以使传入串行化数据与八的增量 对准。举例来说,四个虚拟位42用以在与12位列地址组合时提供十六个位(八的倍数)。 虚拟位42可包括于串行化数据中的各种位置处,或可根本不包括。在虚拟位42之后,在接 下来十二个时钟周期期间传输十二位列地址44。如先前所论述,列地址44可指示将在高速 缓冲存储器20中何处存储随后的数据。列地址44可基于高速缓冲存储器20的大小而变 化。呈最高有效位(MSB)格式的第一数据字节46在接下来八个时钟周期期间经传输。在 所说明的实施例中,串行化信号包括2048个字节。数据字节46的总数目可基于页大小或 高速缓冲存储器20的大小而变化。举例来说,在一个实施例中,页大小可包括用于ECC的 额外64个字节(备用区域),且串行化信号包括3012个字节(2048个字节+64个字节)。 在最后的数据字节之后,CS线经驱动为高以放弃对从属装置14的控制。在CS线为高的周 期期间,SPI控制器可运行各种算法,将地址映射到给定位置,执行错误校正码,等等。现返回图3,在框34处,方法30包括执行数据。执行数据(框34)可包括经由 SPI总线16提供串行化输入信号,其中串行化信号指示命令、地址、数据及其类似者。举例 来说,程序执行序列可包括提供程序执行命令,随后是行地址。在实施例中,程序执行序列 包括1字节命令,随后是NAND存储器阵列22的待将数据加载到其中的块及页地址(3个字 节)。图4中还说明程序执行序列的实施例的时序图。如时序图中所说明,程序执行序 列可与先前论述的程序加载序列连续地执行。在所说明的实施例中,CS线在通信48的周 期期间经驱动为低。换句话说,在主装置12正向从属装置14发送串行化数据或从从属装 置14接收串行化数据的同时,CS线经驱动为低。在前八个时钟周期期间,传输1字节命令 50。在所说明的实施例中,紧随1字节命令50之后的是在接下来七个时钟周期期间传输的 七个虚拟位52。七个虚拟位52用以在与十七位行地址54组合时提供二十四个位(八的倍 数)。在虚拟位52之后,在接下来十七个时钟周期期间传输十七位行地址54。如先前所论 述,行地址54可指示待将数据存储于NAND存储器阵列22中所在之处的块及页地址。在行 地址54中的最后的数据位之后,CS线经驱动为高以放弃对从属装置14的控制。在此周期 期间,SPI控制器18可运行各种算法,将地址映射到给定位置,执行代码,等等。此外,高速 缓冲存储器20可使用错误校正码及/或将数据移动到NAND存储器阵列22中。再次返回图3,在框36处,方法30包括读取状态。读取状态可包括主装置12接收 指示执行序列(框34)的结果的串行化信号。换句话说,主装置12可经由SPI总线16发 布命令以询问与执行命令50相关联的算法是否已完成及/或成功。举例来说,读取状态序列可包括在MOSI线上提供读取状态寄存器命令,随后是在MISO线上提供的状态寄存器数 据输出。在实施例中,读取状态序列包括1字节命令,随后是状态寄存器数据输出(1个字 节)。图4中还说明读取状态序列的实施例的时序图。如时序图中所说明,读取状态序 列可与先前论述的程序加载序列及程序执行序列连续地执行。在所说明的实施例中,在通 信56的周期期间,CS线经驱动为低。换句话说,在主装置12正向从属装置14发送串行化 数据且从从属装置14接收串行化数据的同时期间,CS线经驱动为低。在前八个时钟周期 期间,传输1字节命令58。在所说明的实施例中,紧随1字节命令58之后的是在接下来八 个时钟周期期间在MISO线上传输的状态寄存器数据输出60。如先前所论述,状态寄存器数 据输出60可指示与执行命令50相关联的算法是否已完成及/或成功。因此,主装置12可 接收且解译状态寄存器数据输出60以确定操作是否已成功及/或完成,且使主装置12采 取的随后的命令及动作基于所述确定。应注意,ECC可在CS线经驱动为高(停用)时的任 何时间执行。现转向图5,说明了使得随机数据字节能够经由SPI接口加载到高速缓冲存储器 20的选定列地址64中的过程62的框图。所述过程62大体上包括将SPI输入28加载到高 速缓冲存储器20的特定地址64而不初始化高速缓冲存储器20中的所有位。换句话说,过 程62使得能够在地址64处修改高速缓冲存储器20的单个字节或更多而不改变存储于高 速缓冲存储器20中的其它字节的值。SPI输入28可包括经由SPI总线16传输且传递通过 SPI控制器18的串行化数据。类似于先前论述的实施例,一旦将特定数据加载到高速缓冲 存储器20中,便将数据写入(执行)到NAND存储器阵列22。图6为进一步说明经由SPI接口将随机数据加载到高速缓冲存储器20中及将数 据从高速缓冲存储器执行到NAND存储器阵列22的方法66的流程图。一般来说,方法66 包括将数据加载到高速缓冲存储器中(框68)、将随机数据输入加载到高速缓冲存储器中 (框70)、将数据执行到NAND存储器阵列22中(框72)及读取执行的状态(框74)。在框68处,方法66包括将数据加载到高速缓冲存储器中。类似于先前论述的实 施例,将数据加载到高速缓冲存储器中可包括经由SPI总线16提供串行化输入信号,其中 串行化信号指示命令、地址、数据及其类似者。举例来说,加载数据可包括提供程序加载命 令,随后是列地址及一系列数据。在实施例中,程序加载序列可包括1字节命令,随后是用 于加载高速缓冲存储器的开始列地址(2个字节),随后是待加载到高速缓冲存储器中的数 据。先前关于图4论述了程序加载序列的实施例的时序图。在框70处,方法66包括将随机数据加载到高速缓冲存储器中。将随机数据加载 到高速缓冲存储器20中可包括将数据加载到高速缓冲存储器20的特定地址。数据可为一 个字节或更多。举例来说,字节的数目可仅受高速缓冲存储器20的大小(例如,2048个字 节、4096个字节、8192个字节或更多)限制。与程序加载命令不同,将随机数据加载到高速 缓冲存储器20中并不初始化高速缓冲存储器20的位中的每一者,而替代地仅在目标地址 64处盖写数据。在实施例中,具有随机数据输入序列的程序加载包括具有随机数据输入命 令的1字节程序加载,随后是用于加载高速缓冲存储器的开始列地址(2个字节),随后是待 加载到高速缓冲存储器20中的数据。图7中说明具有随机数据输入序列的程序加载的实施例的时序图。类似于关于图4论述的程序加载序列的实施例,在所说明的实施例中,在通信76的周期期间,CS线经驱动 为低。在前八个时钟周期期间,传输1字节命令78 (例如,具有随机数据输入命令的程序加 载)。在一个实施例中,SPI控制器18不起始用以基于命令且预期传入数据而将高速缓冲 存储器20的所有位初始化为1或0的序列。在所说明的实施例中,紧随1字节命令78之后 的是在接下来四个时钟周期期间传输的四个虚拟位80。可使用或可不使用虚拟位80以使 命令及/或列地址82与字节格式对准。虚拟位80可包括于串行化数据中的各种位置处, 或可根本不包括。在虚拟位80之后,在接下来十二个时钟周期期间传输十二位列地址84。 如先前所论述,列地址84可指示待在高速缓冲存储器20中何处存储随后的数据。列地址 84可基于高速缓冲存储器20的大小及待将数据写入到高速缓冲存储器20中的所要位置而 变化。在接下来八个时钟周期期间,传输第一数据字节84。在所说明的实施例中,串行化信 号包括2048个字节。数据字节84的总数目可基于高速缓冲存储器20的大小而变化。在 最后的数据字节之后,CS线被驱动为高,以放弃对从属装置14的控制。在CS线为高的周 期期间,SPI控制器18可运行各种算法,将地址映射到给定位置,执行错误校正码,等等。现返回图6,在框72处,方法66包括执行数据。执行数据可包括经由SPI总线16 提供串行化输入信号,其中串行化信号指示命令、地址、数据及其类似者。举例来说,执行数 据序列可包括提供执行命令,随后是行地址。在实施例中,程序执行序列包括1字节命令, 随后是NAND存储器阵列22的待将数据加载到其中的块及页地址(3个字节)。上文已关于 图4论述了程序执行序列的实施例的时序图。再次返回图6,在框74处,方法66包括读取状态。读取状态可包括主装置12接收 指示执行序列(框72)的结果的串行化信号。换句话说,主装置12可经由SPI总线16发 布命令以询问与执行命令相关联的算法是否已完成及/或成功。举例来说,读取状态序列 可包括在MOSI线上提供命令,随后是在MISO线上提供的状态寄存器数据输出。在实施例 中,读取状态命令包括1字节命令,随后是状态寄存器数据输出(1个字节)。先前已关于图 4论述了程序读取序列的实施例的时序图。现转向图8,框图说明包括经由SPI接口在NAND存储器阵列22内移动数据(例 如,内部数据移动)的过程86。换句话说,可根据SPI序列/命令将存储于NAND存储器阵 列22中的数据移动到第二位置。所述过程大体上包括将数据从NAND存储器阵列22中的 第一地址88加载到高速缓冲存储器20中。现加载到高速缓冲存储器20中的数据随后经 执行到NAND存储器阵列22中的第二地址90。此技术在包括在NAND存储器阵列22内将数 据从一个物理位置移动到另一物理位置的损耗均衡例程中可能是特别有用的。此外,所述 技术对于将数据从NAND存储器阵列22中的具有不良单元的第一位置移动到NAND存储器 阵列22中的具有良好单元的第二位置可能是有用的。现转向图9,框图说明包括经由SPI接口在NAND存储器阵列22内移动及修改数据(例如,修改内部数据移动)的过程92。换句话说,可根据SPI命令/序列将存储于NAND 存储器阵列22中的数据移动到第二位置,且可在移动期间对数据进行修改。所述过程大体 上包括将数据从NAND存储器阵列22中的第一地址88加载到高速缓冲存储器20中。随后 对现加载到高速缓冲存储器20中的数据(例如,原始数据)进行修改。举例来说,高速缓 冲存储器20的单个字节或更多字节可用新数据94替换。举例来说,新数据94可包括作为 串行化数据从SPI输入28接收的数据。包括新数据94的高速缓冲存储器数据(例如,经修改的高速缓冲存储器数据)可接着被执行到NAND存储器阵列22中的第二地址90。类似 于关于图8所论述的技术,此技术在损耗均衡例程中及对于将数据从NAND存储器阵列22 中的第一位置移动到NAND存储器阵列22的第二位置并对其进行修改可能是特别有用的。 应注意,错误校正码可在CS线被驱动为高(停用)时的任何时间执行。因此,在数据被加 载到高速缓冲存储器20中、经修改且接着被执行回到NAND存储器阵列22中的情况下,可 在将数据加载到高速缓冲存储器20中、修改数据之后第一次执行ECC,且在将数据执行到 NAND存储器阵列22中之前第二次执行ECC。图10为进一步说明内部数据移动及/或经由SPI接口命令的修改内部数据移动的方法96的流程图。一般来说,方法96包括将数据从NAND存储器阵列22中的第一位置 读取到高速缓冲存储器中(98)、将随机数据输入加载到高速缓冲存储器中(100)(如果所 述方法包括修改内部数据移动)、将数据执行到NAND存储器阵列22中的第二位置(102)及 读取执行的状态(104)。在框98处,方法96包括将数据从第一位置读取到高速缓冲存储器中。类似于先 前论述的实施例,将数据读取到高速缓冲存储器20中可包括经由SPI总线16提供串行化 输入信号,其中串行化信号指示命令、地址、数据及其类似者。举例来说,将数据读取到高速 缓冲存储器中可包括提供页读取序列,其包括页读取命令,随后是待从NAND存储器阵列22 检索的数据的块及页地址。举例来说,块及页地址可对应于第一地址88。将指定块及地址 处的数据传送到高速缓冲存储器20。方法96可包括或可不包括将随机数据加载到高速缓冲存储器中的步骤100。举例 来说,如果所述方法的实施例包括在数据驻留于高速缓冲存储器20中时对其进行修改,则 可执行将随机数据加载到高速缓冲存储器中的步骤100。否则,方法96的实施例可能不包 括将随机数据加载到高速缓冲存储器中的步骤100。将随机数据加载到高速缓冲存储器中 (100)包括将数据加载到高速缓冲存储器20的特定地址。随机数据可包括一个字节或更 多。举例来说,字节的数目可仅受高速缓冲存储器20的大小(例如,2048个字节、4096个 字节、8192个字节或更多)限制。与程序加载命令不同,程序加载随机数据输入命令不初始 化高速缓冲存储器20中的位中的每一者,而是替代地仅在目标地址64处盖写数据。在实 施例中,具有随机数据输入序列的程序加载包括1字节命令,随后是用于加载高速缓冲存 储器的开始列地址(2个字节),且随后是待加载到高速缓冲存储器20中的数据。先前已关 于图7论述了程序加载随机数据输入序列的实施例的时序图。在图10的框102处,方法96还包括执行数据。类似于先前论述的实施例,执行数 据可包括经由SPI总线16提供串行化输入信号,其中串行化信号指示命令、地址、数据及其 类似者。举例来说,执行数据序列可包括提供程序执行命令,随后是行地址。在实施例中, 程序执行序列包括1字节命令,随后是NAND存储器阵列22的待将数据加载到其中的块及 页地址(3个字节)。先前已关于图4论述了程序执行命令的实施例的时序图。在框104处,方法96包括读取状态。读取状态可包括主装置12接收指示执行命 令(框102)的结果的串行化信号。换句话说,主装置12可经由SPI总线16发布命令以 询问与执行命令相关联的算法是否已完成及/或成功。举例来说,读取状态序列可包括在 MOSI线上提供读取状态命令,随后是在MISO线上提供的状态寄存器数据输出。在一个实 施例中,读取状态序列包括1字节读取状态命令,随后是状态寄存器数据输出(1个字节)。上文关于图4论述了程序读取命令的实施例的时序图。因此,方法96可用以将数据从NAND存储器阵列22的第一地址88读取到高速缓 冲存储器20中且将数据移动到NAND存储器阵列22中的第二地址90(见图8)。在替代实 施例中,方法96可用以将数据从NAND存储器阵列22的第一地址88读取到高速缓冲存储 器20中,修改存储于高速缓冲存储器20中的数据的至少一部分,且将数据移动到NAND存 储器阵列22中的第二地址90(见图9)。
现转向图11,其说明用于同时加载及卸载高速缓冲存储器20(例如,高速缓冲存 储器编程特征)的方法106的流程图。方法106使得能够释放高速缓冲存储器20,以使得 在来自高速缓冲存储器20或数据寄存器的页编程(例如,执行)正在发生的同时,可将新 数据加载到高速缓冲存储器20中。这提供在与未使用高速缓冲存储器编程特征的页编程 相比时较快的数据通过量。举例来说,对于2KB页来说,SPI NAND的典型页编程时间可为约 200到300微秒(μ s),且高速缓冲存储器加载时间在使用25ns周期的SCLK信号的情况下 为约410 μ S。在高速缓冲存储器加载的第一方法中,高速缓冲存储器加载及页编程可连续 地进行。换句话说,一旦完成了高速缓冲存储器加载,便对页进行编程,且高速缓冲存储器 加载的下一循环直到对页进行编程之后才开始。这可给出加载高速缓冲存储器及编程页的 610到710μ s的近似总时间。在使用高速缓冲存储器编程特征及方法106的情况下,数据 通过量通常仅受高速缓冲存储器加载时间限制。换句话说,页编程及高速缓冲存储器加载 可并行地进行,使得页在高速缓冲存储器正被加载的410 μ s期间被编程。在正在完成页编 程的同时,可用第二组数据加载高速缓冲存储器20,且因此,加载高速缓冲存储器且编程页 的总时间为大约410 μ S。在用以使用方法106的系统10中,可使用两个额外状态位。第一状态位可用以提 供高速缓冲存储器为忙碌或就绪的指示。第二状态位可用以提供装置(例如,数据寄存器 及/或NAND存储器阵列22)是否为忙碌或就绪的指示。举例来说,响应于读取状态命令产 生的状态寄存器字节可包括指示高速缓冲存储器及/或数据寄存器的状态的第一位及/或
笛一位在操作中,系统10可将数据加载到高速缓冲存储器20中,开始将数据页编程(例 如,执行)到NAND存储器阵列22,轮询高速缓冲存储器20及数据寄存器/NAND存储器阵列 22的状态直到高速缓冲存储器20就绪为止,将新数据加载到高速缓冲存储器中,轮询高速 缓冲存储器20及数据寄存器/NAND存储器阵列22的状态直到高速缓冲存储器20及数据 寄存器/NAND存储器阵列22就绪为止,且接着,将新数据执行到NAND存储器阵列22中。在图11中,第一步骤包括将第一数据加载到高速缓冲存储器20中,如框108处所 说明。类似于先前论述,将数据加载到高速缓冲存储器中(框108)大体上包括发布程序加 载序列(例如,程序加载命令、列地址及经由SPI总线16从主装置12到从属装置14的数 据)。接着执行第一数据,如框110处所说明。如关于图4中的执行命令的时序图所论 述,数据的执行开始将数据从高速缓冲存储器20加载到数据寄存器及NAND存储器阵列22 的序列。类似于先前论述,将数据从高速缓冲存储器20执行到NAND存储器阵列22大体上 包括发布程序执行序列(例如,程序执行命令、行地址,经由SPI总线16从主装置12到从 属装置14)。
在发布程序执行序列(框110)之后,方法106包括读取状态,如框112处所说明。 类似于先前论述,读取状态大体上包括从属装置14在MISO线上输出状态寄存器字节,及主 装置12读取状态寄存器字节以确定执行序列或其它命令的状态。在方法106中,读取状态 (框112)用以确定高速缓冲存储器是否就绪,如框114处所说明。如果状态寄存器字节中 的高速缓冲存储器状态位指示高速缓冲存储器20未就绪,则主装置12继续轮询状态寄存器。如果或一旦在读取状态步骤(框112)处读取的状态寄存器指示高速缓冲存储器 就绪(框114),则方法前进到将第二(新)数据加载到高速缓冲存储器中,如框118处所说 明。将第二数据加载到高速缓冲存储器中(框116)可与将第一数据的至少一部分执行到 数据寄存器/NAND存储器阵列22中并行(例如,同时)完成。换句话说,如果高速缓冲存 储器20在执行正在发生的同时变为就绪,则第二数据可开始加载到高速缓冲存储器20中, 同时数据仍正被执行到NAND存储器阵列22中。方法106接着包括读取状态,如框118处所说明。类似于框112处的过程,读取状 态(118)大体上包括从属装置14在MISO线上输出状态寄存器字节,及主装置12读取状态 寄存器字节以确定执行序列或其它命令的状态。在方法106中,读取状态(框112)用以确 定高速缓冲存储器是否就绪,如框120处所说明,以及装置(例如,数据寄存器/NAND存储 器阵列22)是否就绪,如框122处所说明。如果状态寄存器字节中的高速缓冲存储器状态 位及装置状态位指示高速缓冲存储器20及数据寄存器/NAND存储器阵列22未就绪,则主 装置12继续轮询状态寄存器字节。如果或一旦在读取状态步骤(框118)处读取的状态寄存器字节指示高速缓冲存 储器20就绪(框120)且数据寄存器/NAND存储器阵列22就绪(框122),则方法106前进 到将第二(新)数据执行到高速缓冲存储器中,如框124处所说明。在方法106的所说明的实施例中,如果存在待加载到高速缓冲存储器20中的额外 数据,则方法106可确定存在待加载的更多数据(例如,第三组数据),且返回到框112处的 读取状态以重复上文论述的方法。换句话说,方法106重复轮询状态寄存器及在高速缓冲 存储器20就绪时将第三组数据加载到高速缓冲存储器20中,且随后在高速缓冲存储器20 及数据寄存器/NAND存储器阵列两者就绪时执行第三组数据。然而,如果不存在待加载的 额外组数据,则方法106可前进到读取状态,如框128处所说明。基于所述状态,方法106 可终止、重复或起始主装置12以继续进行其它功能及命令。应注意,方法106中的各种步 骤可以变化的次序完成、跳过或重复以提供类似功能性。举例来说,可在框128处的读取状 态之后执行框126处的对更多数据的检查。应注意,如先前所论述的高速缓冲存储器加载及执行具有程序执行命令的数据序 列的一个优点包括能够指定所述序列中的每一程序执行命令的特定地址的灵活性。举例来 说,在执行命令中的每一者中提供特定地址使得每一程序执行能够指定待在何处存储每一 组数据。相反,在每一命令中不包括地址的方法可仅将数据放置于下一可用地址中(例如, 顺序页+1寻址)。以另一方式陈述,与仅将序列中的每一组数据指派到下一顺序地址的方 法相反,程序执行命令实现指定将序列中的每一组数据寻址于何处的灵活性。尽管本发明可容易受到各种修改及替代形式,但特定实施例已以实例方式展示于 图式中且将在本文中详细描述。然而,应理解,本发明不希望限于所揭示的特定形式。而是,本发明将涵盖属于如由所附权利要求书界定的本发明的精神及范围内的所有修改、等效物及替代物。
权利要求
一种经由SPI接口高速缓冲存储器加载NAND存储器装置的方法,其包含将数据加载到所述NAND存储器装置的高速缓冲存储器中;将数据从所述NAND存储器装置的所述高速缓冲存储器写入到所述NAND存储器装置的存储器阵列的地址;及轮询以确定所述正被写入的数据的状态。
2.根据权利要求1所述的方法,其中将数据加载到所述NAND存储器装置的所述高速缓 冲存储器中包含将程序加载序列发布到SPI控制器以将数据加载到所述高速缓冲存储器 中。
3.根据权利要求2所述的方法,其中所述程序加载序列包含1字节命令、2字节列地址 及至少1个数据字节。
4.根据权利要求1所述的方法,其中将数据从所述NAND存储器装置的所述高速缓冲存 储器写入到所述NAND存储器装置的所述存储器阵列的地址包含将程序执行序列发布到所 述SPI控制器以将数据写入到所述NAND存储器装置的所述地址。
5.根据权利要求1所述的方法,其包含在芯片选择信号被驱动到停用状态时执行错误 校正码。
6.根据权利要求1所述的方法,其中轮询以确定所述正被写入的数据的所述状态包含 将读取状态命令发布到所述SPI控制器以轮询写入到所述NAND存储器装置的所述地址的 所述数据的所述状态。
7.一种将数据随机地输入到NAND存储器装置的高速缓冲存储器的方法,其包含将程序加载随机数据输入序列发布到SPI控制器以将新数据加载到NAND存储器装置 的所述高速缓冲存储器的多个列地址中的一者中。
8.根据权利要求7所述的方法,其中所述程序加载随机数据输入序列包含1字节命令、 12位列地址及至少1个数据字节。
9.根据权利要求7所述的方法,其中所述程序加载随机数据输入序列包含虚拟位以使 所述地址与字节格式对准。
10.根据权利要求7所述的方法,其中将存储于所述高速缓冲存储器中的包含所述新 数据的数据写入到所述NAND存储器装置的NAND存储器阵列。
11.一种在NAND存储器装置内移动数据的方法,其包含经由SPI总线与SPI控制器进行通信,其中通信包含产生第一序列以从所述NAND存储 器装置的NAND存储器阵列的第一地址读取数据及产生第二序列以将所述数据写入到所述 NAND存储器装置的所述NAND存储器阵列的第二地址。
12.根据权利要求11所述的方法,其中所述第一序列包含页读取命令,且所述第二序 列包含程序执行命令。
13.根据权利要求11所述的方法,其包含轮询写入到所述NAND存储器装置的所述 NAND存储器阵列的所述数据的状态。
14.根据权利要求11所述的方法,其包含产生读取状态命令以轮询写入到所述NAND存 储器装置的所述NAND存储器阵列的所述第二地址的所述数据的状态。
15.根据权利要求11所述的方法,其中在所述NAND存储器装置内移动所述数据是基于 损耗均衡算法来使用的。
16.一种在NAND存储器装置中修改内部数据的方法,其包含将页读取序列发布到SPI控制器,以从所述NAND存储器装置的存储器阵列的第一地址 读取数据且将所述数据加载到所述NAND存储器装置的高速缓冲存储器中;将程序加载随机数据输入序列发布到SPI控制器,以将新数据加载到NAND存储器装置 的所述高速缓冲存储器的多个列地址中的一者中;及将程序执行序列发布到所述SPI控制器,以将数据从所述NAND存储器装置的所述高速 缓冲存储器写入到所述NAND存储器装置的所述存储器阵列的第二地址。
17.根据权利要求16所述的方法,其包含在发布所述程序加载随机数据输入序列之前 及之后执行错误校正码。
18.根据权利要求16所述的方法,其中所述程序加载随机数据输入序列仅修改由所述 新数据盖写的数据。
19.根据权利要求16所述的方法,其包含基于损耗均衡算法而在所述NAND存储器装置 的所述存储器阵列的所述第一地址与第二地址之间移动所述数据。
20.一种经由SPI接口在NAND存储器装置中高速缓存数据的方法,其包含将第一数据加载到所述NAND存储器装置的高速缓冲存储器;将所述第一数据写入到所述NAND存储器装置的NAND存储器阵列的第一地址;轮询所述高速缓冲存储器的状态;如果轮询指示所述高速缓冲存储器就绪,则用第二数据加载所述高速缓冲存储器的一 部分;轮询所述高速缓冲存储器及所述NAND存储器装置的所述状态;及如果轮询指示所述高速缓冲存储器就绪且所述装置就绪,则将所述第二数据写入到所 述NAND存储器装置的所述NAND存储器阵列的第二地址。
21.根据权利要求20所述的方法,其中加载第一数据包含将程序加载序列发布到SPI 控制器,写入所述第一数据包含将程序执行序列发布到所述SPI控制器,轮询所述高速缓 冲存储器及所述NAND存储器装置的所述状态包含将读取状态命令发布到所述SPI控制器, 轮询所述高速缓冲存储器及所述NAND存储器装置的所述状态包含将第二读取状态命令发 布到所述SPI控制器,且写入所述第二数据包含将第二程序执行序列发布到所述SPI控制器。
22.根据权利要求20所述的方法,其中针对待写入到所述NAND存储器装置的所述存储 器阵列的额外组数据重复所述方法。
23.根据权利要求20所述的方法,其中轮询所述NAND存储器装置的所述高速缓冲存储 器的所述状态包含所述SPI控制器输出包含高速缓冲存储器状态位的状态寄存器字节。
24.根据权利要求20所述的方法,其中轮询所述NAND存储器装置的所述状态包含所述 SPI控制器输出包含装置状态位的状态寄存器字节。
25.根据权利要求20所述的方法,其包含轮询所述高速缓冲存储器及所述NAND存储器 装置的所述状态,以确定是否已完成将所述第二数据写入到所述NAND存储器装置的所述 NAND存储器阵列的第二地址。
全文摘要
本发明提供包括经由SPI接口(16)操作NAND存储器装置(14)的实施例。一种此类方法(30)包括高速缓冲存储器加载(32)NAND存储器装置(14),其包括将数据加载到所述NAND存储器装置(14)的高速缓冲存储器(20)中;将数据从所述NAND存储器装置(14)的所述高速缓冲存储器(20)写入(34)到所述NAND存储器装置(14)的存储器阵列(22)的地址;及轮询(36)以确定所述正被写入的数据的状态。此外,一种此类方法(106)包括经由SPI接口(16)在NAND存储器装置(14)中高速缓存数据,其包含将第一数据加载(108)到所述NAND存储器装置(14)的高速缓冲存储器(20);将所述第一数据写入(110)到所述NAND存储器装置(14)的NAND存储器阵列(22)的第一地址(88);轮询所述高速缓冲存储器(20)的状态(112、114);如果轮询指示所述高速缓冲存储器(20)就绪,则用第二数据加载所述高速缓冲存储器(20)的一部分(116);轮询所述高速缓冲存储器(20)及所述NAND存储器装置(14)的状态(118、120);及如果轮询指示所述高速缓冲存储器(20)就绪且所述装置(14)就绪,则将所述第二数据写入(124)到所述NAND存储器装置(14)的所述NAND存储器阵列(22)的第二地址(90)。
文档编号G06F12/08GK101828172SQ200880111959
公开日2010年9月8日 申请日期2008年9月30日 优先权日2007年10月17日
发明者杰夫·余, 西奥多·T·皮耶克尼 申请人:美光科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1