具有状态脉冲串输出的同步快闪存储器的制作方法

文档序号:6757640阅读:388来源:国知局
专利名称:具有状态脉冲串输出的同步快闪存储器的制作方法
技术领域
本发明总的涉及非易失性存储器器件,具体地,本发明涉及同步非易失性快闪存储器。
背景技术
存储器器件典型地被提供用作为计算机中的内部存储区域。术语存储器表示具有集成电路芯片形式的数据存储。存储器具有几种不同的类型。一种类型是RAM(随机存取存储器)。这典型地被用作为计算机环境下的主存储器。RAM是指读出和写入存储器,也就是,可以把数据写入到RAM和从RAM读出数据。这是与ROM不同的,ROM只允许读出数据。大多数RAM是易失性的,这意味着它需要稳定的电流来保持它的内容,只要电源被去激活,在RAM中无论什么数据都被丢失。
计算机几乎总是包含小量的只读存储器(ROM),它保存用于激活计算机的指令。与RAM不同,ROM不能被写入。EEPROM(电可擦可编程只读存储器)是一种特殊类型的非易失性ROM,它可以通过把它暴露在电荷中而被擦除。像其他类型的ROM一样,EEPROM传统上没有RAM那样快。EEPROM包括很大数目的、具有电隔离的栅极(浮动栅)的存储单元。数据是以浮动栅上的电荷的形式被存储在存储单元的。通过编程和擦除操作,电荷分别被输送到浮动栅或从浮动栅被去除。
另一种类型的非易失性存储器是快闪存储器。快闪存储器是一种EEPROM,它可以以块的形式,而不是一次一个字节地,被擦除和重新编程。许多现代的PCS具有它们自己的、被存储在快闪存储器芯片上的BIOS,这样,如果必要它可容易地被更新。这样的BIOS有时被称为快速BIOS。快闪存储器在调制解调器中也很通用,因为它使得调制解调器制造商能够支持新的协议(当这些协议成为标准化时)。
典型的快闪存储器包括存储器阵列,它包括很大数目的、以行和列的形式排列的存储单元。每个存储单元包括能够保持电荷的、浮动栅场效应晶体管。存储单元通常被编组为块。在一个块内的每个单元可以通过对浮动栅进行充电而被随机地电编程。通过块擦除操作,电荷可以从浮动栅上被去除。存储单元中的数据是由浮动栅上的电荷的存在与否而被确定。
同步DRAM(SDRAM)是一种DRAM,它能够以比传统的DRAM存储器高得多的时钟速度运行。SDRAM使它本身与CPU总线同步,以及能够以100MHz速率运行,比传统的FPM(快速页模式)RAM约快三倍,以及约为快速EDO(扩展数据输出)DRAM和BEDO(脉冲串扩展数据输出)DRAM的两倍。可以迅速地访问SDRAM,但它是易失性的。许多计算机系统被设计成使用SDRAM来操作,而从非易失性存储器得到好处。
由于上述的理由,以及由于下面阐述的其他理由,这些理由对于本领域技术人员在阅读和了解本技术说明后将是显而易见的,在本技术中需要一种可以以类似于SDRAM操作的方式操作的、非易失性存储器器件。
发明概要存储器器件的上述的问题和其他问题由本发明解决,以及可通过阅读和研究以下的技术说明而了解它们。
在一个实施例中,操作同步存储器器件的方法包括确定x个周期的读脉冲串长度以使来自同步存储器器件的数据输出以x个接连的时钟周期被输出,起动寄存器读操作,以便读出被存储在内部寄存器中的数据,以及在x个接连的时钟周期内在外部数据连接上输出被存储在内部寄存器中的数据。
在另一个实施例中,操作同步存储器器件的方法包括接受读寄存器命令,以及响应于读寄存器命令在x个时钟周期内输出来自同步存储器器件的寄存器数据。
在再一个实施例中,操作同步存储器器件的方法包括在存储器器件的阵列上执行写操作,以及在执行写操作期间,把来自处理器的寄存器读命令提供到存储器器件。寄存器读命令在第一时钟周期在存储器器件的输入端处被接受,以及被存储在存储器寄存器中的寄存器数据被读出。寄存器数据在多个时钟周期期间在同步存储器器件的数据通信连接上被输出。寄存器数据的输出在接受到寄存器读命令后、被延时了预定的时钟等待时间间隔。
同步存储器器件包括存储单元阵列、数据寄存器、以及时钟信号输入连接。控制电路响应于寄存器读命令在输出连接处提供来自数据寄存器的数据。控制电路根据编程的读脉冲串长度值在预定数目的时钟周期内输出数据。
附图简述

图1A是本发明的同步快闪存储器的方框图;图1B是本发明的一个实施例的集成电路管脚互联图;图1C是本发明的一个实施例的集成电路互联凸点网格阵列(bumpgrid array)图;图2表示本发明的一个实施例的模式寄存器;图3表示具有一个、两个和三个时钟周期的CAS等待时间的读操作;图4表示激活在本发明的一个实施例的存储器的一个组中的一个特定的行;图5表示在工作的命令与读或写命令之间的时序;图6表示读命令;图7表示本发明的一个实施例的接连的读脉冲串的时序;图8表示在本发明的一个实施例的一页内的随机读访问;图9表示后面跟随写操作的读操作;图10表示按照本发明的一个实施例的、通过使用脉冲串终结命令终结的读脉冲串操作;图11表示写命令;图12表示后面跟随读操作的写操作;图13表示本发明的一个实施例的电源功率降低操作;图14表示在脉冲串读出期间时钟中止操作;图15表示具有两个导引扇区的存储器的一个实施例的存储器地址变换;图16是按照本发明的一个实施例的、自定时的写序列的流程图;图17是按照本发明的一个实施例的、完整的写状态检验序列的流程图;图18是按照本发明的一个实施例的、自定时的块擦除序列的流程图;图19是按照本发明的一个实施例的、完整的块擦除状态检验序列的流程图;
图20是按照本发明的一个实施例的、块保护序列的流程图;图21是按照本发明的一个实施例的、完整的块状态检验序列的流程图;图22是按照本发明的一个实施例的、器件保护序列的流程图;图23是按照本发明的一个实施例的、块的非保护序列的流程图;图24表示起动和装载模式寄存器操作的时序;图25表示时钟中止模式操作的时序;图26表示脉冲串读操作的时序;图27表示交替组读出访问的时序;图28表示全页脉冲串读操作的时序;图29表示通过使用数据屏蔽信号的脉冲串读操作的时序;图30表后面跟随对不同组读出的写操作的时序;图31表示后面跟随对同一个组读出的写操作的时序;图32表示本发明的存储器系统;以及图33表示本发明的多处理器系统。
发明详细描述在本发明的以下的详细的说明中,参考了构成本发明的一部分的附图,以及其中显示了可以实施本发明的特定的实施例。这些实施例充分详细地被描述,以使得本领域技术人员能够实施本发明,以及将会看到,可以利用其他实施例和可以作出逻辑的、机械的和电的改变,而不背离本发明的精神和范围。所以,以下的详细说明并不是在限制的意义上作出的,以及本发明的范围仅仅由权利要求限定。
以下的详细说明分成两个主要的节。第一节是接口功能说明,它详细阐述与SDRAM存储器的兼容性。第二节是功能性说明,它具体说明快闪结构功能性命令。
接口功能说明参照图1A,描述本发明的一个实施例的方框图。存储器器件100包括非易失性快速存储单元102的阵列。阵列被排列成多个可寻址的组。在一个实施例中,存储器包含四个存储器组104、106、108和110。每个存储器组包含存储单元的可寻址的扇区。被存储在存储器中的数据可以通过使用由地址寄存器112接受的、外部提供的位置地址被访问。利用行地址复用电路114,对这些地址进行译码。这些地址也可以通过使用组控制逻辑116和行地址锁存与译码电路118被译码。为了访问存储器的适当的列,列地址计数和锁存电路120把接受的地址耦合到列译码电路122。电路124提供输入/输出选通、数据屏蔽逻辑、读数据锁存电路和写驱动器电路。数据通过数据输入寄存器126被输入和通过数据输出寄存器128被输出。命令执行逻辑130被提供来控制存储器器件的基本操作。状态机132也被提供来控制在存储器阵列和单元上执行的特定的操作。状态寄存器134和识别寄存器136也可被提供来输出数据。
图1B表示本发明的一个实施例的互联的管脚分配。存储器封装150具有54个互联管脚。管脚结构基本上类似于已可提供的SDRAM封装。对于本发明特定的两个互联管脚是RP#152和Vccp 154。虽然本发明可以共享看来与SDRAM的相同的互联标签,但在互联管脚上提供的信号的功能在这里被描述,以及除非这里阐述的,它不应当等同于SDRAM的信号的功能。图1C表示存储器封装160的一个实施例,它具有凸起连接,而不是图1C的管脚连接。所以,本发明并不限于特定的封装结构。
在描述存储器器件的操作特性之前,先给出互联管脚和它们的各个信号的更详细的说明。输入时钟连接被使用来提供时钟信号(CLK)。时钟信号可以被系统时钟驱动,以及所有的同步快闪存储器输入信号在CLK的上升沿处被采样。CLK也给内部脉冲串计数器加增量,以及控制输出寄存器。
输入时钟允许(CKE)连接端被使用来激活(HIGH(高)状态)和去激活(LOW(低)状态)CLK信号输入。去激活时钟输入可提供电源功率降低和等待操作(此处所有的存储器组是空闲的),工作的电源功率降低(在任一个组中存储器行是ACTIVE(工作的)),或时钟中止操作(脉冲串/访问在进行中)。CKE是同步的,除非在器件进入功率降低模式以后,此处CKE成为非同步的,直至退出这个模式以后为止。输入缓冲器,包括CLK,在功率降低模式期间是被禁止的,以便提供低的等待功率。CKE在不需要功率降低模式(不同于RP#深度功率降低)的系统中可以维持在HIGH(高)。
芯片选择(CS#)输入连接端提供一个信号,以便允许(寄存的LOW(低))和禁止(寄存的HIGH(高))在命令执行逻辑中提供的命令译码器。当CS#被寄存为HIGH时所有的命令被屏蔽。另外,CS#在具有多个组的系统上提供外部的组选择,以及CS#可被看作为命令代码的一部分;但不一定是必须的。
用于RAS#、CAS#和WE#(连同CAS#、CS#一起)的输入命令输入连接端规定要被存储器执行的命令,正如下面详细地描述的。输入/输出屏蔽(DQM)连接端被使用来提供用于写访问的输入屏蔽信号,和用于读访问的输出允许信号。当DQM在写周期期间被采样HIGH时,输入数据被屏蔽。当DQM在读周期期间被采样HIGH时,输出缓冲器被置于高阻抗(高-Z)状态(在两个时钟等待时间后)。DQML相应于数据连接DQ0-DQ7,以及DQMH相应于数据连接DQ8-DQ15。DQML和DQMH在表示为DQM时被认为是相同的状态。
地址输入端133主要被使用来提供地址信号。在所表示的实施例中,存储器具有12条线(A0-A11)。其他的信号可以在地址连接处被提供,正如下面描述的。地址输入端在ACTIVE(工作的)命令(行地址A0-A11)和READ/WRITE(读/写)命令(列地址A0-A7)期间被采样,以便选择各个存储器组中的一个位置。地址输入也被使用来在LOADCOMMAND REGISTER(装载命令寄存器)操作期间提供操作代码(OpCode),在下面解释。地址线A0-A11也被使用来在LOAD MODEREGISTER(装载模式寄存器)操作期间输入模式设置值。
输入复位/功率降低(RP#)连接140被使用于复位和功率降低操作。在初始器件功率上升时,在一个实施例中,在发出可执行的命令之前,RP#从低转移到高以后需要100μs延时,以便内部器件初始化。RP#信号清除状态寄存器,把内部状态机(ISM)132设置在阵列读模式,以及当处在LOW(低)时,把器件置于深度功率降低模式。在功率降低模式期间,所有的输入连接,包括CS#142,都处在“不用管它”,以及所有的输出处在High-Z(高阻)状态。当RP#信号等于VHH电压(5伏)时,在WRITE和ERASE期间,所有的保护模式被忽略。RP#信号也允许器件保护比特被设置为1(保护)以及允许16比特寄存器的块保护比特(在位置0和15)被设置为0(非保护),当被加上VHH时。保护比特将在下面更详细地被描述。在所有其他操作模式期间,RP#被保持为HIGH。
组地址输入连接,BA0和BA1规定哪个组加上ACTIVE、READ、WRITE、或BLOCK PROTECT命令。DQ0-DQ15连接143是数据总线连接,被使用于双向数据通信。参照图1B,VCCQ连接被使用来提供隔离的功率到DQ连接,以便改善对噪声的抗扰性。在一个实施例中,VCCQ=VCC或1.8V±0.15V。VSSQ连接被使用来提供隔离的地到DQ连接,以便改善噪声抗状性。VCC连接提供供电电源,诸如3V。通过VSS连接来提供地连接。另一个工作电压被提供到VCCP连接144。VCCP连接在器件初始化、WRITE和ERASE操作期间可以外部地连接到VCC以及源电流。也就是,写入或擦除存储器器件可以通过使用VCCP电压被执行,而所有其他的操作可以用VCC电压来执行。VCCP连接被耦合到高电压开关/泵电路145。
以下的节提供同步快闪存储器的操作的更详细的说明。本发明的一个实施例是非易失性、扇区电可擦的(快闪)、可编程只读存储器,包含被组织为4,194,304字×16比特的67,108,864比特。其他流行的密度也是预期的,但本发明并不限于示例的密度。每个存储器组被组织为四个独立的可擦除的块(总共16个)。为了确保关键的固件被保护免受偶然的擦除或过写入,存储器可包括16个256K字硬件和软件可锁定的块。存储器的四个组的结构支持真正的同时发生的操作。
到任何组的读访问可以与到任何其他的组的背景写入或擦除操作同时发生。同步快闪存储器具有同步的接口(所有的信号在时钟信号CLK的上升沿处被登记)。到存储器的读访问可以是面向脉冲串的。也就是,存储器访问在选择的位置处开始以及在编程的序列中编程的数目的位置上继续。读访问从后面跟随READ命令的ACTIVE命令的登记开始。与ACTIVE命令一致的登记的地址比特被使用来选择要被访问的组和行。与READ命令一致的登记的地址比特被使用来选择脉冲串访问的开始列的位置和组。
同步快闪存储器提供可编程的读脉冲串长度,1、2、4、或8个位置或全页,带有脉冲串终结任选项。另外,同步快闪存储器使用内部管线结构达到高速度操作。
同步快闪存储器可以操作在低功率存储器系统中,诸如工作在3伏的系统。深度功率降低模式可以连同功率节省等待模式一起被提供。所有的输入和输出是低压晶体管-晶体管逻辑(LVTTL)可兼容的。同步快闪存储器提供快闪工作性能方面重大的优点,包括与自动列地址生成同步地闪现高数据速率的数据的能力以及在脉冲串访问期间在每个时钟周期随机地改变列地址的能力。
通常,同步快闪存储器类似于操作在低压的多组DRAM被配置。以及包括同步接口。每个组被组织为行和列。在正常操作之前,同步快闪存储器被初始化。以下的节提供详细的信息,包括器件初始化,寄存器规定,命令说明和器件操作。
同步快闪存储器被加上电源,以及以预定的方式被初始化。在功率加到VCC,VCCQ和VCCP(同时地)以及时钟信号稳定后,RP#140从LOW状态转移到HIGH状态。在RP#转移到HIGH后需要一个延时,诸如100μs延时,以便完成内部器件初始化。在延迟的时间过去以后,存储器被置于阵列读模式,以及准备好接受模式寄存器编程或可执行的命令。在非易失性模式寄存器147(NV模式寄存器)的初始编程后,内容在初始化期间被自动装载到易失性模式寄存器148。器件在编程状态下被加上功率,以及不需要在发出工作命令之前重新装载非易失性寄存器147。这将在下面更详细地说明。
模式寄存器148被使用来规定同步快闪存储器的特定的工作模式。这个规定包括选择脉冲串长度、脉冲串类型、CAS等待时间、和工作模式,如图2所示。模式寄存器通过LOAD MODE REGISTER(装载模式寄存器)命令被编程以及保持存储的信息,直至它被重新编程为止。模式寄存器的内容可被复制到NV模式寄存器147。NV模式寄存器设置值在初始化期间自动装载模式寄存器148。关于ERASE NVMODEREGISTER(擦除NV模式寄存器)和WRITE NVMODE REGISTER(写入NV模式寄存器)命令序列的细节在下面被提供。本领域技术人员将会看到,SDRAM要求模式寄存器在每次初始化操作期间必须被外部地装载。本发明允许缺省模式被存储在NV模式寄存器147。NV模式寄存器的内容然后被复制到易失性模式寄存器148,以便在存储器操作期间访问。
模式寄存器比特M0-M2规定脉冲串长度,M3规定脉冲串类型(顺序的或交错的),M4-M6规定CAS等待时间,M7和M8规定工作模式,M9被设置为1,以及M10和M11在本实施例中被保留。因为当前不执行写脉冲串,故M9被设置为逻辑1,以及写访问是单个位置(非脉冲串)访问。当所有的组是空闲时,模式寄存器必须被装载,以及在初始化以后的操作之前,控制器必须等待规定的时间。
对同步快闪存储器的读访问可以是面向脉冲串的,脉冲串长度是可编程的,如表1所示。脉冲串长度确定对于给定的READ命令可被自动访问的列位置的最大数目。对于顺序的和交错的脉冲串类型都可得到1、2、4、或8个位置的脉冲串长度,以及对于顺序的类型可得到全页的脉冲串长度。全页的脉冲串可以结合BURSTTERMINATE(脉冲串终结)命令被使用来生成任意的脉冲串长度,也就是,脉冲串可被选择地终结,以便提供定做的长度的脉冲串。当发出READ命令时,等于脉冲串长度的列的块实际上被选择。对于该脉冲串的所有的访问发生在这个块内,意味着如果到达边界,脉冲串将隐蔽在该块内。当脉冲串长度被设置为2时这个块被A1-A7唯一地选择,当脉冲串长度被设置为4时这个块被A2-A7选择,以及当脉冲串长度被设置为8时这个块被A3-A7选择。其余的(最低有效的)地址比特被使用来选择该块内的开始位置。如果到达边界,则全页的脉冲串隐蔽在该页内。
在给定的脉冲串内的访问可被编程为顺序的或交错的;这被称为脉冲串类型,以及通过比特M3被选择。在一个脉冲串内的访问的次序由脉冲串长度、脉冲串类型和开始的列地址确定,如表1所示。
表1 脉冲串的定义

列地址选通(CAS)等待时间是在READ命令的登记与DQ连接端处的第一片输出数据的可提供性之间的延时(以时钟周期为单位)。等待时间可被设置为一,二,或三个时钟周期。例如,如果READ命令在时钟边沿n处被登记,以及等待时间是m个时钟,则数据将是由时钟边沿n+m可提供的。由于提早一个周期的时钟边沿(n+m-1)的结果,DQ连接将开始驱动数据,以及如果相关的访问时间是满足的话,数据在时钟边沿n+m之前是正确的。例如,假设时钟周期时间是使得所有的相关的访问时间是满足的,如果READ命令在T0时被登记,以及等待时间被编程为两个时钟,DQ将在T1后开始驱动,以及数据在T2之前是正确的,如图3所示。图3表示示例的工作频率,不同的时钟等待时间设置值可以以这个频率被使用。正常的操作模式通过把M7和M8设置为零而被选择,以及编程的脉冲串长度应用到READ脉冲串。
以下的真值表提供在本发明的存储器的实施例的操作命令方面的更多的细节。这里提供命令的说明,以及接着是真值表2。
真值表1 接口命令和DQM操作

真值表2 快闪存储器命令序列

COMMAND INHIBIT(命令禁止)功能阻止同步快闪存储器执行新的命令,不管CLK信号是否允许。同步快闪存储器实际上被去选择,但已在进行的操作不受影响。
NO OPERATION(NOP)(不操作)命令被使用来对于被选择的同步快闪存储器(CS#为LOW(低))执行NOP。这阻止在空闲或等待状态期间登记不想要的命令,但已在进行的操作不受影响。
模式寄存器数据通过输入端A0-A11被装载。在所有的阵列组是空闲时只能发出LOAD MODE REGISTER(装载模式寄存器)命令,以及在预定的延时(MRD)被满足之前不能发出随后的可执行的命令。在NV模式寄存器147中的数据在上电初始化时被自动装载到模式寄存器148,它是缺省数据,除非它与LOAD MODE REGISTER命令一起被动态地改变。
ACTIVE(工作的)命令被使用来打开(或激活)特定的阵列组中的一行,用于以后的访问。在BA0,BA1输入端上的数值选择那个组,以及在输入端A0-A11上提供的地址选择那一行。这一行保持对于访问是工作的,直至下一个ACTIVE命令、功率降低、或复位为止。
READ(读)命令被使用来起动对工作的行的脉冲串读访问。在BA0,BA1输入端上的数值选择那个组,以及在输入端A0-A7上提供的地址选择开始的列位置。读出的数据出现在DQ上,该DQ受到在两个时钟之前存在的、在数据屏蔽(DQM)输入端上逻辑电平的支配。如果给定的DQM信号被登记为HIGH,则相应的DQ将在两个时钟后是High-Z(高阻);如果DQM信号被登记为LOW,则DQ将提供正确的数据。因此,DQM输入端可被使用来在读操作期间屏蔽输出数据。
WRITE(写)命令被使用来起动对工作的行的单个位置的写访问。WRITE命令前面必须有WRITE SETUP(写建立)命令。在BA0,BA1输入端上的数值选择那个组,以及在输入端A0-A7上提供的地址选择列位置。在DQ上出现的输入数据被写入到存储器阵列,该DQ受到与数据一致的DQM输入逻辑电平的支配。如果给定的DQM信号被登记为LOW,则相应的数据将被写入到存储器;如果DQM信号被登记为HIGH,则相应的数据输入将被忽略,以及对该字/列位置不执行WRITE。具有DQM HIGH的WRITE命令被认为是NOP。
ACTIVE TERMINATE(工作终结)命令对于同步快闪存储器是不需要的,但它可被提供以类似于SDRAM PRECHARGE命令的方式来终结读操作。ACTIVE TERMINATE命令可被发出来终结正在进行的BURST READ(脉冲串读出),以及可以是或不一定是组特定的。
BURST TERMINATE(脉冲串终结)命令被使用来截断固定长度的脉冲串或全页的脉冲串。在BURST TERMINATE命令之前的最近的READ命令将被截断。BURST TERMINATE不是组特定的。
装载命令寄存器操作被使用来起动对命令执行逻辑(CEL)130的快闪存储器控制命令。CEL接受和解释加到器件的命令。这些命令控制内部状态机132和读路径(即,存储器阵列102、ID寄存器136或状态寄存器134)的操作。
在任何READ或WRITE命令可被发出到同步快闪存储器内的一个组之前,在该组中的一行必须被“打开”。这是通过ACTIVE命令(由CS#,WE#,RAS#,CAS#规定的)完成的,该命令选择要被激活的组和行,见图4。
在打开一行(发出ACTIVE命令)后,READ或WRITE命令可被发出到由时间间隔(tRCD)技术说明规定的行,tRCD(MIN)应当由时钟周期划分,以及舍入到下一个整个数目,确定在ACTIVE命令后的、READ或WRITE命令可被借以进入的、最早的时钟边沿。例如,对于90MHz时钟(11.11ns周期)的30ns的tRCD技术说明导致2.7个时钟,它被舍入为3。这反映在图5上,它覆盖其中2<tRCD(MIN)/tCK<3的任意情形。(相同的程序过程被使用从时间单位到时钟周期来转换其他技术说明极限值)。
以后的、对同一个组的不同的行的ACTIVE命令可被发出,而不必关闭先前工作的行,只要在对同一个组的接连的ACTIVE命令之间的最小时间间隔是由tRC规定的话。
在第一组被访问的同时,以后的、对另一个组的ACTIVE命令可被发出,这导致总计行访问开销的减小。在对不同组的接连的ACTIVE命令之间的最小时间间隔是由时间间隔tRRD规定。
READ脉冲串从READ命令(由CS#,WE#,RAS#,CAS#规定)起动,如图6所示。开始的列和组地址从READ命令提供。在READ脉冲串期间,来自开始列地址的正确的数据读出单元在READ命令后的CAS等待时间后是可以得到的。每个随后的数据读出单元在下一个时钟上升沿之前是正确的。在完成脉冲串后,假设没有其他命令被起动,DQ将进到High-Z状态。全页的脉冲串将继续,直至终结为止。(在该页的结尾,它将隐蔽到列0,并继续进行。)来自任何READ脉冲串的数据可以用以后的READ命令截断,以及来自固定长度READ脉冲串的数据可以紧接地被来自以后的REAB命令的数据所跟随。在任一种情形下,连续的数据流可被保持。来自新的脉冲串的第一数据单元跟随在完成的脉冲串的最后的单元后面,或跟随在被截断的较长的脉冲串的最后的想要的数据单元后面。新的READ命令应当在最后的想要的数据单元是正确的时钟边沿之前的x周期被发出,其中x等于CAS等待时间减1。这示于图7中对于1,2,和3的CAS等待时间;数据单元n+3或者是4的脉冲串的最后的,或者是较长的脉冲串的最后想要的。同步快闪存储器使用流水线结构,所以,不需要与预取的结构有关的2n法则。READ命令可以在先前的READ命令后的任何时钟周期被起动。可以执行在一页内的全速的随机读访问,如图8所示,或可以执行对不同的组的每个随后的READ。
来自任何READ脉冲串的数据可以用以后的WRITE命令被截断(WRITE命令之前必须有WRITE SETUP),以及来自固定长度READ脉冲串的数据可以紧接地被来自随后的WRITE命令(受到总线换向限制)的数据所跟随。WRITE可以在紧接在来自READ脉冲串的最后的(或最后想要的)数据单元后面的时钟边沿处被起动,只要I/O竞争可被避免。在给定的系统设计中,可以有可能性驱动输入数据的器件在同步快闪存储器DQ进到High-Z之前进到Low-Z(低阻)。在这种情形下,至少单个周期延时将出现在最后的读数据与WRITE命令之间。
DQM输入被使用来避免I/O竞争,如图9所示。DQM信号必须在WRITE命令之前至少坚持(HIGH)两个时钟(对于输出缓冲器,DQM等待时间是两个时钟)坚持(HIGH),以便抑制来自READ的数据输出。一旦WRITE命令被登记,DQ将进到High-Z(或保持在High-Z),而不管DQM信号的状态。DQM信号必须在WRITE命令之前被去除坚持,(对于输入缓冲器,DQM等待时间是零),以便确保写入的数据不被屏蔽。图9表示其中时钟频率允许不用加上NOP周期而避免总线竞争的情形。
固定长度或全页READ脉冲串可以用ACTIVE TERMINATE命令(可以是或不一定是组特定的)或BURST TERMINATE(不是组特定的)命令截断。ACTIVE TERMINATE或BURST TERMINATE命令应当在最后的想要的数据单元是正确的时钟边沿之前的x周期被发出,其中x等于CAS等待时间减1。这是在图10上对于每个可能的CAS等待时间所表示的;数据单元n+3或者是四的脉冲串的最后的想要的数据单元,或者是较长的脉冲串的最后想要的数据单元。
单个位置WRITE从WRITE命令(由CS#,WE#,RAS#,CAS#规定)起动,如图11所示。开始的列和组地址从WRITE命令提供。一旦WRITE命令被登记,就可如真值表4和5规定的那样执行READ命令。图12上表示一个例子。在WRITE期间,正确的数据输入与WRITE命令一致地被登记。
不像SDRAM那样,同步快闪存储器不需要PRECHARGE命令来去激活在特定的组中打开的行,或在所有的组中打开的行。ACTIVETERMINATE命令类似于BURST TERMINATE命令;然而,ACTIVE TERMINATE可以是或不一定是组特定的。在ACTIVE TERMINATE命令期间坚持输入A10是HIGH,将终结在任何组中的BURST READ。当A10在ACTIVETERMINATE命令期间是低时,BA0和BA1将确定哪个组将接受终结操作。ACTIVE TERMINATE对于不是由A10、BA0、BA1寻址的组被认为是NOP。
当不是正在进行访问时,如果时钟允许,CKE与NOP或COMMANDINHIBIT(当没有进行访问时)一致地被登记为LOW,则出现功率降低。在内部状态机操作(包括WRITE操作)完成后,进入功率降低使得去激活输入和输出缓冲器(不包括CKE),以便在待机状态时节省功率。
功率降低状态可通过在想要的时钟边沿处(满足tCKS)登记NOP或COMMAND INHIBIT和CKE HIGH而退出。对于示例性功率降低操作,参阅图13。
当列访问/脉冲串正在进行和CKE被登记为LOW时出现时钟中止模式。在时钟中止模式下,内部时钟被去激活,“冻结”同步逻辑。对于CKE借以被采样为LOW的每个时钟上升沿,下一个内部的时钟上升沿被中止。在被中止的内部时钟边沿的时间出现在输入管脚处的任何命令或数据被忽略,出现在DQ管脚处的任何数据将保持被驱动,以及脉冲串计数器不加增量,只要时钟被中止(见图14的例子)。时钟中止模式可通过登记CKE HIGH而退出;内部时钟和相关的操作将在以后的时钟上升沿时继续进行。
在一个实施例中,脉冲串读/单个写模式是缺省模式。所有的WRITE命令导致单个列位置(长度为一的脉冲串)的访问,而READ命令按照编程的脉冲串长度和序列对列进行访问。以下的真值表3表示使用CKE信号的存储器操作。
真值表3-CKE

真值表4-当前状态组n-到组n的命令

真值表5-当前状态组n-对组m的命令

功能说明同步快闪存储器引用多个特性,以使得它理想地适用于在SDRAM总线上的代码存储和执行适当的应用。存储器阵列被分段成各个擦除块。每个块可被擦除,而不影响被存储在其他的块中的数据。这些存储器块通过对命令执行逻辑130(CEL)发出命令而被读出、写入和擦除。CEL控制内部状态机132(ISM)的操作,它完全控制所有的ERASENVMODE REGISTER(擦除NV模式寄存器)、WRITE NVMODE REGISTER(写入NV模式寄存器)、WRITE(写入)、BLOCK ERASE(块擦除)、BLOCK PROTECT(块保护)、DEVICE PROTECT(器件保护)、UNPROTECT ALL BLOCK(非保护所有的块)和VERIFY(验证)操作。ISM 132保护每个存储单元不受到过分擦除,以及使得每个存储单元最佳化,以便最大数据保持。另外,ISM大大地简化在系统中或在外部编程器中为了写入器件所必须的控制。
同步快闪存储器被组织为16个独立的可擦除的存储器块,它们允许擦除存储器的一部分而不影响其余的存储器数据。任何的块可以是硬件保护的,免受不利的擦除或写入。保护的块要求在被修正之前RP#管脚被驱动到VHH(相当高的电压)。在位置0和15处的256K字的块可以具有附加的硬件保护。一旦对于这些块执行了PROTECT BLOCK(保护块)命令,UNPROTECT ALL BLOCKS命令就松开除了在位置0和15处的块以外的所有的块,除非RP#管脚是处在VHH。这在系统内固件更新期间对于关键的代码提供附加的安全性,如果出现不想要的功率扰动或系统复位的话。
功率接通初始化、ERASE、WRITE、和PROTECT的时序可通过使用ISM来控制存储器阵列中所有的编程算法而被简化。ISM确保保护不被过分擦除,以及使得对每个单元的写余量最佳化。在WRITE操作期间,ISM自动加增量以及监视WRITE企图,验证在每个存储单元上写余量以及更新ISM状态寄存器。当BLOCK ERASE操作被执行时,ISM自动地过写整个寻址的块(消除过分擦除),加增量和监视ERASE企图,以及设置在ISM状态寄存器中的比特。
8比特ISM状态寄存器134允许外部处理器200在WRITE、ERASE和PROTECT操作期间监视ISM的状态。8比特状态寄存器(SR7)的一个比特完全被ISM设置和清除。这个比特表示ISM是否忙于ERASE、WRITE或PROTECT任务。附加的错误信息在三个其他比特中(SR3、SR4和SR5)被设置写入和保护块错误,擦除和非保护所有的块错误,以及器件保护错误。状态寄存器比特SR0,SR1和SR2提供ISM操作进行中的细节。用户可监视器件级或组级ISM操作(包括哪个组处在ISM控制下)是否正在进行中。这六个比特(SR3-SR5)必须被主系统清除。下面参照表2更详细地描述状态寄存器。
CEL 130接受和解释对器件的命令。这些命令控制ISM和读路径(即,存储器阵列,器件配置或状态寄存器)的操作。在ISM是工作的同时,命令可被发出到CEL。
为了允许最大功率保存,同步快闪存储器的特征在于非常低的电流的、深的功率降低模式。为了进入这个模式,RP#管脚140(复位/功率降低)被取为VSS±0.2V。为了防止有害的RESET,RP#必须在器件进入复位模式之前保持为Vss在100ns内。对于RP#保持在Vss,器件将进入深度功率降低模式。在器件进入深度功率降低模式后,在RP#上从LOW到HIGH的转移,将导致如这里概述的、器件功率接通初始化序列。在进入复位模式后但在进入深度功率降低模式之前RP#从LOW到HIGH的转移需要在发出可执行的命令之前1μs的延时。当器件进入到深度功率降低模式时,不包括RP#缓冲器的所有的缓冲器被禁止,以及电流抽取是低的,例如,在3.3V VCC下50μA的最大值。在深度功率降低期间,加到RP#的输入必须保持在Vss。进入到RESET(复位)模式,清除状态寄存器134,以及把ISM 132设置为阵列读模式。
同步快闪存储器阵列结构被设计成允许扇区被擦除,而不打扰阵列的其余部分。阵列被划分成16个可寻址的“块”,它们是可独立地擦除的。通过擦除块,而不是整个阵列,总的器件耐久性被增强,作为系统灵活性。只有ERASE和BLOCK PROTECT功能是面向块的。16个可寻址的块被相等地划分成四个组104、106、108和110,每个组四个块。四个组具有同时读-写功能。对于任何组的ISM WRITE或ERASE操作可以与对任何其他组的READ操作同时进行。可以对状态寄存器134进行轮询,以确定哪个组处于ISM操作中。同步快闪存储器具有单个基础操作ISM,控制功率接通初始化、ERASE、WRITE、和PROTECT操作。在任何时间只可进行一个ISM操作;然而,某些其他命令,包括READ操作,可以在进行ISM操作的同时被执行。由ISM控制的操作命令被规定为组级操作或器件级操作。WRITE及ERASE为组级ISM操作。在ISM组操作被起动后,对组的任何位置的READ可能输出不正确的数据,而对任何其他组的READ将读出阵列。READ STATUS REGISTER命令将输出状态寄存器134的内容。ISM状态比特将表示,ISM操作何时完成(SR7=1)。当ISM操作完成时,组将自动进入阵列读模式。ERASE NVMODE REGISTER,WRITE NVMODE REGISTER,BLOCK PROTECT,DEVICE PROTECT,和UNPROTECT ALL BLOCK是器件级的ISM操作。一旦ISM器件级操作被起动,对任何组的READ将输出阵列的内容。READSTATUS REGISTER(读状态寄存器)命令可被发出,以确定ISM操作的完成。当SR7=1时,ISM操作将完成以及以后的ISM操作可被起动。任何块可以用硬件电路保护,不受到不想要的ERASE或WRITE的影响,它要求RP#管脚在WRITE或ERASE开始之前被驱动到VHH,正如下面解释的。
任何块可被硬件保护,以提供对于固件的最敏感部分的额外保护。在WRITE或ERASE硬件保护的块期间,RP#管脚必须保持在VHH上,直至WRITE或ERASE完成为止。在不是RP#=VHH的情形下,对于保护的块的任何WRITE或ERASE企图将被阻止,以及将导致写或擦除错误。在位置0和15处的块可以具有附加的硬件保护,以阻止不利的WRITE或ERASE操作。在本实施例中,这些块不可以通过UNPROTECT ALL BLOCK命令被软件松开的,除非RP#=VHH。任何块的保护状态可以通过用READSTATUS REGISTER命令读出它的块保护比特而被检验。另外,为了保护一个块,必须与块地址一起发出三周期命令序列。
同步快闪存储器的特征在于,具有三种不同类型的READ。取决于模式,READ操作将从存储器阵列、状态寄存器、或器件配置寄存器之一产生数据。对器件配置寄存器或状态寄存器的READ必须在LCR-ACTIVE周期之后,以及输出数据的脉冲串长度将由模式寄存器设置值规定。以后的READ或不在LCR-ACTIVE周期之后的READ就读出阵列。然而,存在几个差别,并将在以下的节中被描述。
对任何组的READ命令输出存储器阵列的内容。在进行WRITE或ERASE ISM操作的同时,在ISM控制下对组中的任何位置的READ可能输出不正确的数据。在退出RESET操作后,器件将自动进入到阵列读模式。
对状态寄存器134进行的READ,要求与在读阵列时相同的输入顺序,除了LCR READ STATUS REGISTER(70H)周期必须在ACTIVE READ周期之前以外。状态寄存器数据输出的脉冲串长度由模式寄存器148规定。状态寄存器内容在经过CAS等待时间的下一个时钟上升沿被更新和锁存。器件将自动进入到阵列读模式,用于以后的READ。
对任何的器件配置寄存器136进行的READ,要求与在读状态寄存器时相同的输入顺序,除了必须发出特定的地址以外。WE#必须是HIGH(高电平),以及DQM和CS#必须是LOW(低电平)。为了读出制造商兼容性ID,地址必须是在000000H,以及为了读出器件ID,地址必须是在000001H。任何的块保护比特在每个擦除块内的第三地址(xx0002H)处被读出,而器件保护比特从位置000003H处被读出。
DQ管脚被使用来输入数据或用来输入阵列。地址管脚被使用来规定地址位置或在LOAD COMMAND REGISTER周期期间对CEL输入命令。命令输入把8比特命令发出到CEL,以便控制器件的工作模式。WRITE被使用来对存储器阵列输入数据。以下的节描述这两种输入类型。
为了执行命令输入,DQM必须是LOW,以及CS#和WE#必须是LOW。地址管脚或DQ管脚被使用来输入命令。不被使用于输入命令的地址管脚是“不用管它”的,以及必须保持为稳定的。8比特命令在DQ0-DQ7或A0-A7处被输入,以及在时钟上升沿处被锁存。
对存储器阵列的WRITE把想要的比特设置为逻辑0,但不能把给定的比特从逻辑0改变到逻辑1。把任何比特设置为逻辑1需要把整个块擦除。为了执行WRITE,DQM必须是LOW,CS#和WE#必须是LOW,以及VCCP必须保持在VCC。对保护的块的写入也要求RP#管脚保持在VHH。A0-A11提供要被写入的地址,而要被写入到阵列的数据在DQ管脚处被输入。数据和地址在时钟的上升沿被锁存。WRITE的前面必须有WRITE SETUP命令。
为了简化写入存储器块,同步快闪存储器引用ISM,它在WRITE和ERASE周期内控制所有的内部算法。8比特命令组被使用来控制器件。对于正确的命令的清单,可参阅真值表1和2。
8比特ISM状态寄存器134(见表2)被轮询,以检验ERASE NVMODEREGISTER、WRITE NVMODE REGISTER、WRITE、ERASE、BLOCK PROTECT、DEVICE PROTECT、或UNPROTECT ALL BLOCK的完成或任何相关的错误。ISM操作的完成可以通过发出READ STATUS REGISTER(70H)命令而被监视。状态寄存器的内容被输出到DQ0-DQ7,以及在由模式寄存器设置值规定的、固定脉冲串长度内在下一个时钟上升沿(经过CAS等待时间)处被更新。ISM操作将在SR7=1时完成。所有的规定的比特由ISM设置,但仅仅ISM状态比特被ISM复位。擦除的/非保护的块,写入/保护的块,器件保护必须通过使用CLEAR STATUS REGISTER(50H)命令清除。这允许用户选择何时轮询和清除状态寄存器。例如,主系统可以在检验状态寄存器之前执行多个WRITE操作,而不是在每次单独的WRITE以后检验。坚持RP#信号或将器件功率降低也将清除状态寄存器。
表2状态寄存器

器件ID、制造商兼容性ID、器件保护状态和块保护状态都可通过发出READ DEVICE CONFIGURATION(90H)命令而被读出。为了读想要的寄存器,必须坚持特定的地址。对于各种器件配置寄存器136的更多的细节,可参阅表3。
表3器件配置

可发出命令,以使器件进入不同的操作模式。每个模式具有特定的操作,这些操作可在该模式下被执行。几种模式要求一系列命令在它们到达之前被写入。以下的节描述每个模式的性质,真值表1和2列出对于执行想要的操作所需要的所有的命令序列。读-写功能允许对于任何组执行基础操作写或擦除,而同时读出任何其他组。对于写操作,在真值表2中的LCR-ACTIVE-WRITE命令序列必须在接连的时钟周期内完成。然而,为了简化同步快闪控制器操作,在命令序列中可以发出没有限制的数目的NOP或COMMAND INHIBIT。为了附加保护,在三个周期内,这些命令序列必须具有相同的组地址。如果在LCR-ACTIVE-WRITE命令序列期间组地址改变,或如果命令序列不是接续的(除了NOP和COMMAND INHIBIT以外,它们是许可的),写和擦除状态比特(SR4和SR5)将被设置,以及操作被禁止。
在功率接通以后和在对器件发出任何工作命令以前,同步快闪存储器被初始化。在功率被加到VCC、VCCQ和VCCP(同时地)以及时钟是稳定以后,RP#从LOW转移到HIGH。在RP#转移到HIGH以后,需要一个延时(在一个实施例中,100μs的延时),以便完成内部器件初始化。在完成器件初始化时器件处在阵列读模式,以及可执行的命令可被发出到器件。
为了读出器件ID、制造商兼容性ID、器件保护比特和每个块保护比特,发出READ DEVICE CONFIGURATION(90H)命令。在这个模式下,特定的地址被发出来读出想要的信息。制造商兼容性ID在000000H处被读出;器件ID在000001H处被读出。制造商兼容性ID和器件ID在DQ0-DQ7处输出。器件保护比特在000003H处被读出;以及每个块保护比特在每个块内的第三地址位置(xx0002H)处被读出。器件和块保护比特在DQ0处输出。
需要在接连的时钟边沿处的三个接连的命令来把数据输入到阵列(NOP和COMMAND INHIBIT许可处在周期之间)。在第一周期,利用在A0-A7处的WRITE SETUP(40H)给出LOAD COMMAND REGISTER命令,以及组地址在BA0、BA1上被发出。下一个命令是ACTIVE,它激活行地址和确认组地址。第三周期是WRITE,在此期间发布开始的列、组地址、和数据。ISM状态比特在接着的时钟边沿(经过CAS等待时间)处被设置。在ISM执行WRITE时,ISM状态比特(SR7)将是0。在ISM控制下对组的READ操作可能产生不正确的数据。当ISM状态比特(SR7)被设置为逻辑1时,WRITE被完成,以及组将处在阵列读模式,并准备好可执行的命令。写入到硬件保护的块,也要求RP#管脚在第三周期(WRITE)之前被设置为VHH,以及RP#必须保持在VHH,直至ISM WRITE操作完成为止。如果LCR-ACTIVE-WRITE命令序列没有在接连的周期完成或组地址在三个周期的任一个内改变,则写和擦除状态比特(SR4和SR5)被设置。在ISM起动WRITE后,它不能被中断,除了由RESET或通过功率降低这个部件以外。在WRITE期间这样做,可能打乱被写入的数据。
执行ERASE序列将把块内的所有的比特设置为逻辑1。对于执行ERASE所必须的命令序列类似于WRITE的命令序列。为了提供对于偶然块擦除的附加安全性,需要在接连的时钟边沿处的三个接连的命令来起动块的ERASE。在第一周期,把A0-A7处的ERASE SETUP(20H)发布给LOAD COMMAND REGISTER,以及要被擦除的块的组地址在BA0,BA1上被发出。下一个命令是ACTIVE,其中A10,A11,BA0,BA1提供要被擦除的块的地址。第三周期是WRITE,在此期间在DQ0-DQ7处给出ERASE CONFIRM(DOH),以及重新发布组地址。ISM状态比特在接着的时钟边沿(经过CAS等待时间)处被设置。在ERASE CONFIRM(DOH)被发布后,ISM将开始所寻址的块的ERASE。对于其中存在所寻址的块的组的任何的READ操作可能输出不正确的数据。当ERASE操作完成时,该组处在阵列读模式,并准备好可执行的命令。擦除被硬件保护的块,也要求RP#管脚在第三周期(WRITE)之前被设置为VHH,以及RP#必须保持在VHH,直至ERASE完成(SR7=1)为止。如果LCR-ACTI VE-WRITE命令序列没有在接连的周期完成(NOP和COMMANDINHIBIT许可处在周期之间)或组地址在一个或多个命令周期内改变,则写和擦除状态比特(SR4和SR5)将被设置,以及操作被禁止。
模式寄存器148的内容可以用WRITE NVMODE REGISTER命令被复制到NV模式寄存器147中。在写入到NV模式寄存器之前,ERASE NVMODEREGISTER命令序列必须被完成,以便把NV模式寄存器中所有的比特设置为逻辑1。为了执行ERASE NVMODE REGISTER和WRITE NVMODEREGISTER所必须的命令序列类似于WRITE的命令序列。对于完成ERASENVMODE REGISTER和WRITE NVMODE REGISTER所必须的LCR-ACTIVE-WRITE命令的更多的信息可参阅真值表2。在ERASE NVMODE REGISTER或WRITE NVMODE REGISTER命令序列的WRITE周期被登记后,READ命令可被发出到阵列。在当前的ISM操作被完成和SR7=1之前,将不允许新的WRITE操作。
执行BLOCK PROTECT序列,对于给定的块允许进行第一级的软件/硬件保护。存储器包括16比特寄存器,它具有相应于16个可保护的块的一个比特。存储器也具有寄存器,以提供被使用来保护整个器件不受到写入和擦除操作的器件比特。为了执行BLOCK PROTECT所必须的命令序列类似于WRITE的命令。为了提供对于偶然块保护的附加安全性,需要三个接连的命令周期来起动BLOCK PROTECT。在第一周期,把A0-A7处的PROTECT SETUP(60H)命令发布给LOAD COMMANDREGISTER,以及要被保护的块的组地址在BA0、BA1上被发出。下一个命令是ACTIVE,它起动在要保护的块中的行,以及确认组地址。第三周期是WRITE,在此期间在DQ0-DQ7处发布BLOCK PROTECT CONFIRM(01H),以及重新发布组地址。ISM状态比特在接着的时钟边沿(经过CAS等待时间)处被设置。ISM将开始保护操作。如果LCR-ACTIVE-WRITE没有在接连的周期完成(NOP和COMMAND INHIBIT许可处在周期之间)或组地址改变,则写和擦除状态比特(SR4和SR5)将被设置,以及操作被禁止。当ISM状态比特(SR7)被设置为逻辑1时,PROTECT已完成,以及该组将处在阵列读模式,并准备好可执行的命令。一旦块保护比特被设置为1(保护的),它只能被复位为0,如果UNPROTECTALL BLOCKS命令的话。UNPROTECT ALL BLOCKS命令序列类似于BLOCKPROTECT命令;然而,在第三周期,利用UNPROTECT ALL BLOCKS COMFIRM(D0H)命令发出WRITE,以及地址是“不用管它”。对于附加信息,参阅真值表2。在位置0和15处的块具有附加安全性。一旦在位置0和15处的块保护比特被设置为1(保护的),每个比特就只能被复位为0,如果RP#在UNPROTECT操作的第三周期之前被加到VHH,以及保持在VHH,直至操作完成(SR7=1)为止。另外,如果器件保护比特被设置,则RP#必须在第三周期之前被加到VHH,及保持在VHH,直至BLOCKPROTECT或UNPROTECT ALL BLOCKS操作完成为止。为了检验块的保护状态,可以发出READ DEVICE CONFIGURATION(90H)命令。
执行DEVICE PROTECT序列,把器件保护比特设置为1,以及阻止块保护比特修正。为了执行DEVICE PROTECT所必须的命令序列类似于WRITE的命令。需要三个接连的命令周期来起动DEVICE PROTECT序列。在第一周期,把A0-A7处的PROTECT SETUP(60H)命令发布给LOADCOMMAND REGISTER,以及组地址在BA0、BA1上被发出。组地址是“不用管它”,但相同的组地址必须在所有的三个周期内被使用。下一个命令是ACTIVE。第三周期是WRITE,在此期间在DQ0-DQ7处发布DEVICEPROTECT(F1H),以及RP#被加到VHH。ISM状态比特在接着的时钟边沿(经过CAS等待时间)处被设置。可执行的命令可被发布到器件。RP#必须保持在VHH,直至WRITE完成(SR7=1)为止。在当前的ISM操作完成前,将不允许新的WRITE操作。一旦器件保护比特被设置,它就不能被复位到0。对于器件保护比特被设置为1,BLOCK PROTECT或BLOCK UNPROTECT被阻止,除非RP#在任一个操作期间处在VHH。器件保护比特不影响WRITE或ERASE操作。对于块和器件保护操作的更多的信息,可参阅表4。
表4保护操作真值表

在ISM状态比特(SR7)被设置后,器件/组(SR0)、器件保护(SR3)、组A0(SR1)、组A1(SR2)、写/保护块(SR4)和擦除/非保护(SR5)状态比特可被检验。如果SR3、SR4、SR5状态比特之一或组合被设置,则在操作期间出现错误。ISM不能复位SR3、SR4或SR5比特。为了清除这些比特,必须给出CLEAR STATUS REGISTER(50H)命令。表5列出错误的组合。
表5 状态寄存器错误译码

同步快闪存储器被设计和被制造,满足先进的代码和数据存储要求。为了确保这个可靠性级,VCCP在WRITE或ERASE期间必须保持为Vcc。在这些限制以外的操作可以减小可对器件执行的WRITE和ERASE周期的数目。每个块是对于100,000WRITE/ERASE周期的耐久性的最小值被设计和被处理的。
同步快闪存储器提供可以在阵列读模式下被利用来节省功率的几个功率节省特性。深度功率降低模式可以通过把RP#加到VSS±0.2V而被允许。在这个模式下的电流抽取(ICC)是低的,诸如50μA的最大值。当CS#是HIGH时,器件将进入工作等待模式。在这个模式下,电流也是低的,诸如30mA的最大ICC电流。如果在写、擦除、或保护操作期间CS#被加到HIGH,则ISM将继续WRITE操作,以及器件消耗工作的Iccp功率,直至操作完成为止。
参照图16,图上表示按照本发明的一个实施例的自定时写序列的流程图。序列包括装载命令寄存器(代码40H)、接受工作的命令和行地址、以及接受写命令和列地址。然后,序列提供状态寄存器轮询,以确定写入是否完成。该轮询监视状态寄存器比特7(SR7),以确定它是否被设置为1。可以包括可任选的状态检验。当写入完成时,阵列被置于阵列读模式。
参照图17,图上提供了按照本发明的一个实施例的完全的写状态-检验序列的流程图。该序列查看状态寄存器比特4(SR4),以确定它是否被设置为0。如果SR4是1,则在写操作中有错误。序列也查看状态寄存器比特3(SR3),以确定它是否被设置为0。如果SR3是1,则在写操作期间有不正确的写错误。
参照图18,图上提供按照本发明的一个实施例的自定时块擦除序列的流程图。该序列包括装载命令寄存器(代码20H),以及接受工作的命令和行地址。存储器然后确定块是否被保护。如果它不被保护,则存储器对该块执行写操作(D0H),以及对于完成情形监视状态寄存器。可以执行任选的状态检验,以及存储器被置于阵列读模式。如果块是保护的,则不允许擦除,除非RP#信号处在提高了的电压(VHH)。
图19表示按照本发明的一个实施例的完全的块擦除状态-检验序列的流程图。该序列监视状态寄存器,以确定是否出现命令序列错误(SR4或SR5=1)。如果SR3被设置为1,则出现不正确的擦除或非保护的错误。最后,如果SR5被置为1,则发生块擦除或非保护错误。
图20是按照本发明的一个实施例的块保护序列的流程图。该序列包括装载命令寄存器(代码60H),以及接受工作的命令和行地址。存储器然后确定块是否被保护。如果它不被保护,则存储器对该块执行写操作(01H),以及对于完成情形监视状态寄存器。可以执行任选的状态检验,以及存储器被置于阵列读模式。如果块是保护的,则不允许擦除,除非RP#信号处在提高了的电压(VHH)。
参阅图21,图上提供了按照本发明的一个实施例的完全的块状态-检验序列的流程图。该序列监视状态寄存器比特3、4、和5,以确定是否检测到错误。
图22是按照本发明的一个实施例的器件保护序列的流程图。该序列包括装载命令寄存器(代码60H),以及接受工作的命令和行地址。存储器然后确定RP#是否处在VHH。存储器执行写操作(F1H),以及对于完成情形监视状态寄存器。可以执行任选的状态检验,以及存储器被置于阵列读模式。
图23是按照本发明的一个实施例的块非保护序列的流程图。该序列包括装载命令寄存器(代码60H),以及接受工作的命令和行地址。存储器然后确定该存储器件是否被保护。如果它不被保护,则存储器确定引导位置(块0和15)是否被保护。如果没有一个块被保护,则存储器对该块执行写操作(D0H),以及对于完成情形监视状态寄存器。可以执行任选的状态检验,以及存储器被置于阵列读模式。如果器件是保护的,则不允许擦除,除非RP#信号处在提高了的电压(VHH)。同样地,如果引导位置是保护的,则存储器确定是否所有的块应当是不保护的。
图24显示初始化和装载模式寄存器运行的时序。模式寄存器通过接受装载模式寄存器命令和在地址线上接受工作代码(操作码)而被编程。把运行码装入该模式寄存器中。如上所述,在功率接通后,非易失性模式寄存器的内容被自动地装载到模式寄存器,以及不一定需要模式寄存器操作。
图25表示时钟中止模式操作的时序,以及图26表示另一个脉冲串读操作的时序。图27表示交替的组读出访问的时序。这里,需要工作的命令来改变组地址。图28上表示全页脉冲串读操作。应当指出,完全页脉冲串不是自终结的,而需要终结的命令。
图29通过使用数据屏蔽信号表示读操作的时序。DQM信号被使用来屏蔽数据输出,这样,在DQ连接上不提供Doutm+1。
参照图30,图上表示写操作的时序,后面跟随对不同的组的读出。在这个操作中,对组a执行写操作,以及对组b执行随后的读出。在每个组中访问同一个行。
参照图31,图上表示写操作的时序,后面跟随对同一个组的读出。在这个操作中,对组a执行写操作,以及对组a执行随后的读出。对于读操作访问不同的行,以及存储器必须等待先前的写操作被完成。这是与图30的读操作不同的,其中读操作并不由于写操作而被延时。
同步快闪存储器提供没有等待时间的写操作。这是与SDRAM不同的,SDRAM要求系统提供对于写操作的等待时间,就像读操作那样。所以写操作并不从系统总线中取走与SDRAM花费的一样多的周期。因此,可改进系统读通过量,见图12,其中写入的数据Din在与写命令和列地址同一个时钟周期上被提供。图12的时钟周期T1不需要是NOP命令(见图30)。读命令可以在跟随在写数据后面的下一个时钟周期上被提供。因此,虽然读操作需要DQ连接在读命令后的预定的数目的时钟周期内(等待时间)保持为可以得到的,但DQ连接可以紧接在写命令被提供后(没有等待时间)被使用。这样,本发明允许零总线换向能力。这是大大地不同于SDRAM的,在SDRAM中当在读和写操作之间交替时在系统总线上需要大量等待。同步快闪存储器提供这两个特性,以及可提高总线通过量。
参照图32,本发明的系统32包括同步存储器302,它具有内部的写锁存器304,被使用来存储在DQ输入端306上接受的写数据。写锁存器被耦合到存储器阵列310。另外,存储器阵列可被安排成多个可寻址的块。数据可被写入到一个块,而同时可对其他的块执行读操作。阵列的存储单元可以是非易失性存储单元。数据通信连接306被使用于与外部设备(诸如处理器320或其他存储器控制器)的双向通信。
数据缓冲器330可被耦合到数据通信连接,以便管理双向数据通信。这个缓冲器可以是传统的FIFO或流水线的输入/输出缓冲器电路。写锁存器被耦合在缓冲器与存储器阵列之间,以便锁存在数据通信连接上提供的数据。最后,控制电路被提供来管理在阵列上执行的读和写操作。
通过锁存输入写数据,数据总线306(DQ)可被释放以及通过使用锁存的数据执行写操作。在执行第一写操作的同时,随后的、对存储器的写操作可被禁止。然而,可以得到总线,以便在存储器上立刻执行读操作。本发明不应当与传统的输入/输出缓冲器结构混淆。也就是,虽然现有的存储器器件使用在DQ输入路径上的输入缓冲器和在DQ输出路径上的输出缓冲器,但是用于读和写操作的时钟等待时间被保持为相同的。本发明可包括输入/输出缓冲器电路来提供与DQ路径和外部处理器的接口。附加的写锁存器允许存储器来隔离对存储器的一个区域的写路径/操作,而同时允许在其他存储器区域上的数据读操作。
现有的快闪存储器器件具有非常有限的同时操作能力。也就是,现有的快闪存储器典型地在执行写操作的同时,阻碍从存储器的读出。某些存储器器件通过中止正在进行的写操作、然后允许对阵列的读出,而允许写入的同时进行读出。另外的快闪存储器通过提供有限的扇区、这些扇区可被写入而存储器的其余部分可供读出使用,而允许写入的同时进行读出。这样的快闪存储器的目的是消除系统中对于分开的EEPROM的需要。有限的扇区空间提供在快闪存储器中的EEPROM单元,以及留下存储器的其余部分用于快闪操作。
本发明提供被安排成类似于SDRAM的组结构的快闪阵列。在一个实施例中,64M的同步快闪存储器被划分成四个组,它们具有与64MSDRAM相同的寻址。这些组被进一步分成更小的可寻址的扇区,它们可被擦除或被编程。存储器允许基于组的同时的读和写。因此,一个组可被写入,而同时可以对任何其他的组执行同时读出。
正如本领域技术人员已知的,SDRAM可以在每个组打开一个公共的行。读和写操作可以在打开的行和跨过阵列的组上顺序地执行。
本同步快闪存储器具有类似于SDRAM的组结构,允许在一个组被写入的同时在每个组中打开一行。参照图33,图上表示本发明的处理系统400的一个实施例。同步快闪存储器410通过双向数据总线435被耦合到多个处理器440,442,444和446。存储器包括被排列成多个组412,414,416和418的非易失性存储单元的阵列。一般地示出读/写电路430以便管理与阵列的数据通信。在操作时,处理器,诸如处理器440,可起动对于阵列组412的行420的写操作。在执行写操作时,第二处理器,诸如处理器442,可以从第二阵列组的行420中读出数据。这允许四个处理器在同步快闪存储器上独立地工作。本发明并不限于四个组或四个处理器。单个或多个处理器可对于一个组执行写操作,而同时从其余的存储器阵列组读出数据,例如见图32。因此,可以同时进行写操作和多个同时的读操作。
如上所述,本发明的同步快闪存储器可以执行组特定的读操作,而同时对另一个组执行写操作。当第一和第二个外部处理器试图对存储器读和写时,出现一个问题。也就是,如果处理器试图对同一个存储器块执行操作,则这两个处理器需要知道,正在对存储器执行哪些操作,以避免竞争。在现有的系统中,总线主机被使用来跟踪由多个处理器执行的同时操作。为了减小总线主机的开销,可以提供两个任选项。
一个任选项是在存储器中包括自动读状态模式,它在试图对存储器执行第二操作时输出状态寄存器的内容。也就是,当对存储器执行写操作时,在存储器上执行的任何读操作会输出状态寄存器的内容。这个任选项通过输出状态数据而中断读操作,即使是试图对不同的阵列块执行读操作。第二个任选项是要求处理器读出状态寄存器来确定存储器的写状态。利用这个任选项再次中断读操作。
本发明可提供两个状态读出模式,来避免在对于不同的阵列组的同时读操作时的干扰。在本同步快闪存储器中提供的第一状态模式提供整个存储器器件的状态。也就是,状态寄存器表示是否正在对存储器阵列或非阵列寄存器执行写操作。这个状态模式,在这里被称为存储器状态模式,由来自外部处理器的请求而被选择地激活。响应于存储器状态命令,存储器的控制电路在DQ连接上提供状态寄存器数据。
第二状态模式是存储器阵列组特定的模式。在这个模式下,状态数据被自动地提供在DQ连接上。也就是,如果处理器对于阵列组起动写操作,则该组被置于组状态模式。在写操作正在被执行的同时,任何以后的、从该组读出的企图导致在DQ连接上输出状态寄存器数据。因此,存储器控制电路允许多处理器系统互相不干扰地一起工作。
存储器包括组寄存器450(图33),它可被设置来识别哪个阵列组正在被写入。在操作时,存储器对组寄存器进行编程,以及使用组寄存器作为指针。在读操作期间,把读访问与组寄存器进行比较,以及如果在该组地址处有正在进行的写操作,则存储器自动输出状态寄存器数据。所以,本发明可以减小总线主机的开销,因此,可以允许更好的多处理器能力。
单个脉冲串状态如上所述,现有的快闪存储器包括单个状态读操作。在这些存储器中,一旦存储器进入写模式,从存储器读出的任何企图都提供状态寄存器的内容。这允许用户监视写操作如何在进行。
本发明具有状态读模式,它用状态读命令输出来自状态寄存器的数据。而且,同步快闪存储器可以通过使用装载命令寄存器操作被编程,以建立脉冲串长度和时钟等待时间。这些设置值主要在读操作期间被使用来控制输出数据的时序。现有的快闪存储器其间的问题是,输出的寄存器数据没有为受控的脉冲串长度和等待时间的输出作好准备。
本存储器可被置于寄存器读模式,以及在一系列时钟周期(脉冲串)内输出寄存器数据。脉冲串的长度通过对模式寄存器进行编程而被预先规定,正如以上说明的。例如,模式寄存器可被设置为具有4个字的脉冲串长度和3的时钟等待时间。在接受到状态寄存器读命令后,由于时钟等待时间,本存储器在3个时钟周期后输出状态寄存器内容,以及由于脉冲串长度设置值,在4个周期内在总线(DQ连接)上继续输出状态寄存器内容。寄存器读操作不限于状态寄存器读数,也可应用于读出器件识别寄存器、制造商识别寄存器、或用来存储操作数据的任何多个工作寄存器。
通过使用脉冲串长度和时钟等待时间设置值来控制寄存器数据输出可减小在存储器器件中进行写操作的同时读出时的混淆。例如,如果用户需要知道在存储器器件中操作的状态,则可以起动读状态命令,以及状态寄存器数据在全脉冲串长度内被输出。
结论同步快闪存储器包括非易失性存储单元的阵列。存储器阵列被排列成行和列,以及可被进一步排列成可寻址的块。数据通信连接被使用来与外部设备(诸如,处理器或其他存储器控制器)进行双向数据通信。存储器可以在一系列时钟周期期间在数据通信连接上输出来自存储寄存器的数据,以提供寄存器数据的脉冲串。存储器还可以按照规定的时钟等待时间值提供寄存器数据。寄存器数据可包括状态数据、操作设置值数据、制造识别、和存储器器件识别。
权利要求
1.一种操作同步存储器器件的方法,包括确定x个周期的读脉冲串长度,以使从同步存储器器件输出的数据以x个接连的时钟周期被输出;起动寄存器读操作,以便读出被存储在内部寄存器中的数据;以及在x个接连的时钟周期内在外部数据连接上输出被存储在内部寄存器中的数据。
2.权利要求1的方法,还包括确定y个周期的时钟等待时间,以使被存储在内部寄存器中的数据在起动寄存器读操作后的y个时钟周期被输出。
3.权利要求1的方法,其中内部寄存器数据包括操作数据,状态数据、制造识别、或存储器器件识别。
4.一种操作同步存储器器件的方法,包括接受读寄存器命令;以及响应于读寄存器命令在x个时钟周期内输出来自同步存储器器件的寄存器数据。
5.权利要求4的方法,其中同步存储器器件是具有非易失性存储单元的同步快闪存储器器件。
6.权利要求4的方法,其中寄存器数据在接受到读寄存器命令后的y个时钟周期被输出。
7.权利要求4的方法,其中寄存器数据包括操作数据、状态数据、制造识别、或存储器器件识别。
8.权利要求4的方法,其中x个时钟周期从2、4、8或16个时钟周期中选择。
9.一种读出在同步存储器器件中的寄存器数据的方法,包括把来自处理器的寄存器读命令提供到存储器器件;在第一时钟周期在存储器器件的输入端上接受寄存器读命令;读出被存储在存储器寄存器中的寄存器数据;在多个时钟周期期间在同步存储器器件的数据通信连接上输出寄存器数据,其中寄存器数据的输出在接受到寄存器读命令后被延时了预定的时钟等待时间间隔。
10.权利要求8的方法,其中寄存器数据包括操作数据、状态数据、制造识别、或存储器器件识别。
11.权利要求8的方法,还包括设置同步存储器器件的脉冲串长度,以便规定寄存器数据被输出的多个时钟周期;以及设置时钟等待时间间隔。
12.权利要求10的方法,其中脉冲串长度从2、4、8或16个时钟周期中选择。
13.权利要求8的方法,其中同步存储器器件是具有非易失性存储单元的同步快闪存储器器件。
14.操作同步存储器器件的方法,包括对存储器器件的阵列执行写操作;在执行写操作期间,把来自处理器的寄存器读命令提供到存储器器件;在第一时钟周期在存储器器件的输入端上接受寄存器读命令;读出被存储在存储器寄存器中的寄存器数据;在多个时钟周期期间在同步存储器器件的数据通信连接上输出寄存器数据,其中寄存器数据的输出在接受到寄存器读命令后被延时了预定的时钟等待时间间隔。
15.权利要求13的方法,其中寄存器数据表示存储器器件的写状态。
16.权利要求13的方法,还包括设置同步存储器器件的脉冲串长度,以便规定寄存器数据被输出的多个时钟周期;以及设置时钟等待时间间隔。
17.一种同步存储器器件,包括存储单元的阵列;数据寄存器;时钟信号输入连接;以及控制电路,响应于寄存器读命令在输出连接上提供来自数据寄存器的数据,控制电路根据编程的读脉冲串长度值在预定数目的时钟周期内输出数据。
18.权利要求16的同步存储器器件,其中存储单元是非易失性的。
19.权利要求16的同步存储器器件,其中数据寄存器是状态寄存器,以及数据表示存储器器件的写状态。
20.权利要求16的同步存储器器件,其中控制电路在读寄存器命令后的预定时钟等待时间间隔后,在输出连接上提供数据。
21.一种处理系统,包括处理器;以及被耦合到处理器的非易失性同步存储器器件,包括,存储单元的阵列,状态寄存器,时钟信号输入连接,以及控制电路,响应于由处理器提供的寄存器读命令在输出连接上提供来自状态寄存器的数据,控制电路根据编程的读脉冲串长度数值在预定数目的时钟周期内输出数据。
22.权利要求20的处理系统,其中控制电路在读寄存器命令后的预定时钟等待时间间隔后,在输出连接上提供数据。
全文摘要
同步快闪存储器包括非易失性存储单元的阵列。存储器阵列被排列成行和列,以及可被进一步排列成可寻址的块。数据通信连接被使用来与外部设备(诸如,处理器或其他存储器控制器)进行双向数据通信。存储器可以在一系列时钟周期期间在数据通信连接上输出来自存储寄存器的数据,以提供寄存器数据的脉冲串。存储器可以按照规定的时钟等待时间值提供寄存器数据。寄存器数据可包括状态数据、操作设置值数据、制造识别、和存储器器件识别。
文档编号G11C7/10GK1466762SQ01816420
公开日2004年1月7日 申请日期2001年7月27日 优先权日2000年7月28日
发明者F·F·鲁帕瓦尔, F F 鲁帕瓦尔 申请人:微米技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1