具体实施方式
参照图1至图25,对实施方式的半导体存储器及存储器系统进行说明。
以下,一面参照附图,一面详细地对本实施方式进行说明。在以下的说明中,对具有相同功能及构成的要素标附相同符号。
另外,在以下的各实施方式中,标附着末尾带有用来加以区分的数字/字母的参照符号的构成要素(例如,字线WL或位线BL、各种电压及信号等)在无需相互加以区分的情况下,可以使用末尾的数字/字母被省略后的记法(参照符号)。
(1)第1实施方式
参照图1至图20,对第1实施方式的半导体存储器及存储器系统进行说明。
(a)构成例
参照图1至图10C,对第1实施方式的半导体存储器及存储器系统的构成例进行说明。
(a-1)存储器系统
图1是表示包含本实施方式的半导体存储器的存储器系统的构成例的示意图。
图1是表示本实施方式的存储器系统的图。
如图1所示,本实施方式的存储器系统9包含存储装置500、及主机设备600。
主机设备600例如通过连接器、缆线、无线通信、或因特网等,结合于存储装置500。主机设备600对存储装置500要求数据的写入、数据的读出、及数据的删除。
存储装置500包含存储器控制器5、及半导体存储器(存储器装置)1。
存储器控制器5使半导体存储器1执行与主机设备600的要求相对应的动作。存储器控制器5为了使半导体存储器1执行动作,而发布指令。存储器控制器5将所发布的指令发送至半导体存储器1。指令是表示半导体存储器1应该执行的动作的信号。
存储器控制器5例如包含处理器(CPU(Central Processing Unit,中央处理器))、内置存储器(例如,DRAM(Dynamic Random Access Memory,动态随机存取存储器)),缓冲存储器(例如,SRAM(Static Random Access Memory,静态随机存取存储器))、及ECC(ErrorCheck and Correction,错误检测与校正)电路等。处理器控制存储器控制器5整体的动作。内置存储器临时保存程序(软件/固件)及存储装置/半导体存储器的管理信息(管理表)。缓冲存储器临时保存在半导体存储器1与主机设备600之间收发的数据。ECC电路检测从半导体存储器1读出的数据内的错误,并校正所检测出的错误。
半导体存储器1存储数据。半导体存储器1基于来自存储器控制器5的指令(主机设备600的要求),执行数据的写入、数据的读出、及数据的删除。
半导体存储器1例如为NAND(Not And,与非)型闪速存储器。包含NAND型闪速存储器1的存储装置500(或者,存储器系统9)例如为存储卡(例如,SDTM卡、eMMCTM)、USB(Universal Serial Bus,通用串行总线)存储器、或固态驱动器(Solid State Drive,SSD)等。
例如,NAND闪速存储器1包含多个芯片。
在NAND型闪速存储器1与存储器控制器5之间,收发各种信号。例如,作为闪速存储器1与存储器控制器5之间的基于NAND接口规格的控制信号,芯片使能信号CEnx、指令锁存使能信号CLEx、地址锁存使能信号ALEx、写入使能信号WEnx、读出使能信号REnx、及写入保护信号WPnx等是用来控制多个存储芯片中对应的具有"x"识别编号的存储芯片。"x"由0以上的整数来表示。
信号CEnx是用来启动闪速存储器1的某芯片的信号。信号CLEx是用来通知如下内容的信号,即,供给至I/O端子(I/O线)IOx<7:0>的信号是指令。信号ALEx是用来通知如下内容的信号,即,供给至I/O端子IOx<7:0>的信号是地址。信号WEnx例如是指示经由I/O端子IOx<7:0>输入信号的信号。信号REnx例如是指示经由I/O端子IOx<7:0>输出信号的信号。信号WPnx例如是用来在电源的接通及断开时将闪速存储器1设定为保护状态的信号。
此外,以下,在无需对从I/O端子输入输出的信号的种类加以区分的情况下,将从I/O端子输入输出的信号记作I/O信号。
待命/忙碌信号RBnx基于闪速存储器1的动作状态而产生。待命/忙碌信号RBnx从闪速存储器1发送至存储器控制器5。待命/忙碌信号RBnx是通知存储器控制器5如下内容的信号,即,闪速存储器1是待命状态(受理来自存储器控制器5的命令的状态)还是忙碌状态(不受理来自存储器控制器5的命令的状态)。例如,待命/忙碌信号RBnx在数据的读出等动作中,将闪速存储器1设定为"L"(low,低)电平(忙碌状态),一旦动作完成,便将其设定为"H"(high,高)电平(待命状态)。
(a-2)闪速存储器
图2是表示本实施方式的闪速存储器的构成例的框图。
如图2所示,闪速存储器1包含输入输出电路(I/O电路)10、序列控制电路15、及核心电路20等。
I/O电路10包含输入缓冲器电路101、102、及输出缓冲器电路103、104。
输入缓冲器电路101、102接收来自存储器控制器5的信号及数据。
输入缓冲器电路101连接于多个外部控制端子(控制线)。输入缓冲器电路101接收所述信号CEnx、WEnx、REnx、CLEx、ALEx、WPnx。外部控制端子以与各信号CEnx、WEnx、REnx、CLEx、ALEx、WPnx对应的方式,设置于闪速存储器1。
输入缓冲器电路101将内部控制信号CNT输出至序列控制电路15。内部控制信号CNT是基于各种信号CEnx、WEnx、REnx、CLEx、ALEx、WPnx来产生及控制的。
输入缓冲器电路102连接于8个I/O端子IOx<7:0>。输入缓冲器电路102接收指令、地址、及数据。
输入缓冲器电路102将信号DIN经由数据总线990输出至序列控制电路15及复用器19。信号DIN与指令、地址、及数据(写入数据)对应。
输出缓冲器电路103、104将闪速存储器1的信号及数据传送至存储器控制器5。
输出缓冲器电路103连接于I/O端子IOx<7:0>。输出缓冲器电路103经由复用器19及数据总线991、999,接收来自核心电路20的信号DOUT。输出缓冲器电路103将所接收到的信号DOUT从I/O端子IOx<7:0>输出至存储器控制器5。例如,信号DOUT是从闪速存储器1的存储单元阵列(核心电路)读出的数据。
输出缓冲器电路104连接于待命/忙碌端子(待命/忙碌线)RBnx。输出缓冲器电路104接收来自序列控制电路15的内部待命/忙碌信号RB。输出缓冲器电路104将待命/忙碌信号RBnx输出至存储器控制器5。通过待命/忙碌信号RBnx,将闪速存储器的状态通知存储器控制器5。例如,待命/忙碌信号RBnx的信号电平是基于内部待命/忙碌信号RB的信号电平来控制的。
核心电路20包含多个平面200(200-0、200-1、200-2、200-3)。平面200是包含存储单元阵列201的电路区域。关于平面的内部构成,将在下文进行叙述。
例如,在本实施方式中,4个平面200设置于核心电路20内。4个平面200分别通过互不相同的信号CTL
来控制。
以下,为了区分针对各平面的信号,在针对第1平面200-0的信号的参照符号上标附"-P0",以表示这是针对第1平面(P0)200-0的信号。与之同样地,在针对第2平面(P1)200-1的信号的参照符号上标附"-P1",在针对第3平面(P2)200-2的信号的参照符号上标附"-P2",在针对第4平面(P3)200-3的信号的参照符号上标附"-P3"。
此外,在本实施方式的半导体存储器中,表示出的是闪速存储器具有4个平面200的例子,但实际上闪速存储器的平面的数量只要为2个以上就行。
序列控制电路(也可以称作内部控制器或状态设备)15进行闪速存储器1内的各电路的控制。
序列控制电路15接收内部控制信号CNT及信号(指令、地址、及数据)DIN。
序列控制电路15基于内部控制信号CNT及信号DIN,产生用来控制核心电路20的信号(以下,称作核心控制信号)CTL(CTL-P0、CTL-P1、CTL-P2、CTL-P3)。
序列控制电路15将核心控制信号CTL输出至核心电路20。核心控制信号CTL供给至核心电路20内的下述多个平面200(200-0、200-1、200-2、200-3)。
序列控制电路15将内部待命/忙碌信号RB输出至输出缓冲器电路104。序列控制电路15根据核心电路20的动作状况,控制内部待命/忙碌信号RB的信号电平(逻辑状态)。
序列控制电路15基于多个平面200的动作状态,能够输出下述信号PRIO。
例如,序列控制电路15包含多个平面控制电路150(150-0、150-1、150-2、150-3)。
多个平面控制电路150中的一个与多个平面200中的一个对应。例如,第1平面控制电路150-0控制第1平面200-0的动作。第2平面控制电路150-1控制第2平面200-1的动作。第3平面控制电路150-2控制第3平面200-2的动作。第4平面控制电路150-3控制第4平面200-3的动作。
序列控制电路15包含共通控制电路159。共通控制电路159共通控制多个平面200及多个平面控制电路50。
这些控制电路(内部模块)150、159浑然一体地配置于序列控制电路15内。这些控制电路150、159对每一个内部模块都具有控制对应的平面200的功能。
复用器19连接于数据总线990、991、999。数据总线999将核心电路20连接于复用器19。内部数据信号YIO是在复用器19与核心电路20之间收发的数据(信号)。
也存在对数据总线999供给来自序列控制电路15的信号(例如,信号PRIO)的情况。在这种情况下,信号PRIO例如从I/O端子IOx输出至存储器控制器5。
复用器19通过与闪速存储器1的动作相对应的序列控制电路15的控制,将核心电路20连接于输入缓冲器电路102及输出缓冲器电路103中的任一者。由此,在闪速存储器1的写入动作中,信号DIN经由数据总线990、999,从输入缓冲器电路102供给至核心电路20。在闪速存储器1的读出动作时,信号DOUT经由数据总线991、999,从核心电路20供给至输出缓冲器电路103。
例如,闪速存储器1除了所述电路以外,还包含电压产生电路(未图示)等。电压产生电路产生用于平面200的动作的各种电压。
在闪速存储器1具有多个平面200的情况下,存储器控制器5能够辨识出来自闪速存储器1的数据是来自哪个平面200的数据。
(a-3)核心电路
图3是表示本实施方式的闪速存储器中的核心电路的构成例的框图。
在图3中,抽选图示出了核心电路内的1个平面(在这里,是第1平面)。
如图3所示,平面200-0至少包含存储单元阵列201、行控制电路202、读出放大器电路203、数据保存电路204、及源极线驱动器205。
存储单元阵列201包含多个块BK(BK0、BK1、BK2、…)。块BK包含多个串单元SU(SU0、SU1、SU2、…)。串单元SU包含多个NAND串(存储单元串)222。NAND串222包含多个存储单元。
在NAND型闪速存储器中,块BK例如为数据的删除单位。本实施方式的闪速存储器的删除动作是以块为单位而执行的。但是,本实施方式的闪速存储器并不限定于以块为单位的删除动作,也可以使用小于块BK的单位执行删除动作。闪速存储器的删除动作在例如2011年9月18日提出申请的名为“非易失性半导体存储器装置”的美国专利申请13/235,389号、及2010年1月27日提出申请的名为“非易失性半导体存储装置”的美国专利申请12/694,690号中有所记载。这些专利申请的全文以参照的形式被引用于本申请说明书中。
存储单元阵列201的内部构成将在下文进行叙述。
行控制电路202控制存储单元阵列201的行(例如,字线)。
行控制电路12包含切换电路、及驱动电路等。切换电路将选择的块BK及串单元SU激活,而未将其它块BK及串单元SU激活。驱动电路将与块BK的激活/未激活相对应的电压供给至块BK及串单元SU。由此,行控制电路12根据应该执行的动作,给字线充电。
读出放大器电路203在数据的读出时,感应及放大输出至存储单元阵列201内的位线的信号(数据)。例如,读出放大器电路203感应出位线(或连接于位线的某配线)中的电流的产生、或位线的电位的变动,而将其作为来自存储单元的信号。由此,读出放大器电路203读出存储单元中所保存的数据。读出放大器电路203在数据的写入时,根据应该写入的数据,控制位线的电位。以此方式,读出放大器电路203根据应该执行的动作,给位线充电。
数据保存电路(例如,页缓冲器电路)204临时保存从存储单元阵列201输出的数据、或要向存储单元阵列201输入的数据。
源极线驱动器205控制存储单元阵列201内的源极线的电位。
此外,也可以根据存储单元阵列的内部构成,在平面200-0内设置阱驱动器。阱驱动器能够控制存储单元阵列201内的阱的电位。
<存储单元阵列>
图4是用来说明本实施方式的闪速存储器中的存储单元阵列的构成例的图。
在图4中,抽选图示出了1个块。
NAND串222包含多个存储单元MC、及选择晶体管ST1、ST2。
存储单元(存储单元晶体管)MC包含控制栅极、及电荷累积层(存储膜)。在NAND串222内,多个存储单元MC串联连接于选择晶体管ST1、ST2之间。串联连接的多个存储单元中,NAND串222的漏极侧的存储单元MC的一端(源极/漏极)连接于选择晶体管ST1的一端(源极/漏极)。NAND串222的源极侧的存储单元MC的一端连接于选择晶体管ST2的一端。
多条漏极侧选择栅极线
分别连接于多个串单元/>
的选择晶体管ST1的栅极。多条选择栅极线SGD对于每一个串单元/>
都是独立的。
源极侧选择栅极线SGS(SGS0、SGS1)共通连接于多个串单元SU之间,且共通连接于选择晶体管ST2的栅极。
例如,1条选择栅极线SGS为2个串单元SU所共有。在这种情况下,1个块BK内设置有2条源极侧选择栅极线SGS0、SGS1,。
此外,也可以将4条源极侧选择栅极线SGS设置于1个块BK内。在这种情况下,对每一个串单元逐个设置相互独立的选择栅极线。另外,也可以将1条源极侧选择栅极线SGS设置于1个块BK内。在这种情况下,1条源极侧选择栅极线SGS连接于块BK内的所有串单元SU。
字线
连接于多个串单元SU的存储单元MC的控制栅极。(m-1)为1以上的自然数。
不同的串单元SU的多个存储单元MC共通连接于多条字线WL中的1条。
在存储单元阵列201内,呈矩阵状配置的NAND串222中同一列的NAND串222的选择晶体管ST1的另一端(源极/漏极)共通连接于多条位线
中的任一条位线。例如,位线BL共通连接于多个块BK之间,且共通连接于NAND串222。(n-1)为1以上的自然数。
选择晶体管ST2的另一端(源极/漏极)连接于源极线SL。
数据的读出及写入在选择的块BK内的选择的串单元SU中,是对与从多条字线WL当中选择出来的1条共通连接的多个存储单元MC统一进行的。将数据的读出及写入的单位称作页。
例如,存储单元阵列201具有三维结构。在本实施方式中,三维结构的存储单元阵列的结构、动作、及制造方法引用例如2009年3月19日提出申请的名为“三维积层非易失性半导体存储器”的美国专利申请12/407,403号、2009年3月18日提出申请的名为“三维积层非易失性半导体存储器”的美国专利申请12/406,524号、2010年3月25日提出申请的名为“非易失性半导体存储装置及其制造方法”的美国专利申请12/679,991号、2009年3月23日提出申请的名为“半导体存储器及其制造方法”的美国专利申请12/532,030号中所记载的构成。
但是,在本实施方式的闪速存储器中,存储单元阵列201也可以具有二维结构。在二维结构的存储单元阵列201中,存储单元MC是沿着半导体衬底上的表面呈矩阵状排列的。在二维结构的存储单元阵列中,存储单元的控制栅极及电荷累积层是在与半导体衬底的表面垂直的方向上积层的。
(a-4)序列控制电路
图5是表示本实施方式的闪速存储器中的序列控制电路的构成例的框图。
如图5所示,序列控制电路15包含多个序列发生器51(51-0、51-1、51-2、51-3)、优先级控制电路52、多个指令解码器53(53-0、53-1、53-2、53-3、53-4)、54、55、地址缓冲器56、及复用器59等。
例如,图2的平面共通控制电路159包含图5的构成要素中的优先级控制电路52、指令解码器54、55、地址缓冲器56、及复用器59。
例如,图2的第1平面控制电路150-0包含序列发生器51-0、及指令解码器53-0。第2平面控制电路150-1包含序列发生器51-1、及指令解码器53-1。第3平面控制电路150-2包含序列发生器51-2、及指令解码器53-2。第4平面控制电路150-3包含序列发生器51-3、及指令解码器53-3。
序列发生器51控制对应的平面200的动作。
各序列发生器51为了控制平面200的动作,而输出核心控制信号CTL(CTL-P0、CTL-P1、CTL-P2、CTL-P3)。核心控制信号CTL是使用供给至序列发生器51的各种信号来产生及控制的。
各序列发生器51根据对应的平面200的动作状况,输出内部忙碌信号BS(BS-P0、BS-P1、BS-P2、BS-P3)。
内部忙碌信号BS输入至优先级控制电路52。
内部忙碌信号BS是闪速存储器1的内部状态信号之一。
内部忙碌信号BS是表示各平面是否处于动作中的信号。在内部忙碌信号BS的信号电平(逻辑状态)为"H"电平的情况下,通过内部忙碌信号BS,表示平面200的动作正在执行。
在多个序列发生器51中,信号PWBS(PWBS-P0、PWBS-P1、PWBS-P2、PWBS-P3)是在序列发生器51之间输入输出的。
信号PWBS是表示根据动作中的平面的动作状况来看,应该执行平面200的动作的调停的信号(或者,表示执行平面200的动作的调停的期间的信号)。以下,将信号PWBS称作调停信号。
在调停信号PWBS的信号电平为"H"电平的情况下,通过信号PWBS,表示要进行平面200之间的动作的调停。
调停信号PWBS的详细情况将在下文进行叙述。
对指令解码器53供给指令CMD作为信号DIN。
指令解码器53对像读出指令及写入指令这样的指令CMD进行解析(及解码)。例如,读出指令是指示执行读出动作的指令信号。写入指令是指示执行写入动作的指令信号。例如,指令也可以包含表示动作的对象平面的信号。
指令解码器53将指令CMD的解析结果作为信号CMDRD,输出至优先级控制电路52。指令解码器53将信号CMDRD供给至优先级控制电路52(优先级框PB)及对应的序列发生器51。
例如,指令解码器53基于所输入的控制信号CNT,能够识别出信号DIN是指令CMD还是地址ADR或是数据DT。
指令解码器53通过控制信号CNT及信号(例如,指令CMD及地址ADR中的至少一者)DIN,能够判断出供给来的指令CMD是否为针对对应的平面200的指令。由此,指令解码器53能够得当地对供给来的指令CMD进行解析,从而能够产生针对地址ADR所表示的平面200的信号CMDRD。
以下,也可以将通过指令解码器53、54所实施的指令解析而获得的信号CMDRD称作解码指令信号或解码信号。
指令解码器54对供给来的指令进行解析(及解码)。指令解码器54将指令的解析结果作为信号HPRIO,输出至优先级控制电路52。激活状态的信号HPRIO是表示基于指令CMD将应该执行的动作的优先级设定为最高值的信号。
指令解码器55对供给来的指令进行解析(及解码),指令解码器55将指令的解析结果作为信号POUT,输出至优先级控制电路52。激活状态的信号POUT是表示将下述优先级信号输出至存储器控制器5的信号。
地址缓冲器56对地址ADR进行解析(及解码)。地址ADR表示平面内的各选择单位。例如,地址ADR包含平面地址、块地址、页地址等。地址缓冲器56将地址ADR(或地址ADR的解析结果)供给至序列发生器51、优先级控制电路52、及复用器59。
优先级控制电路52使用内部忙碌信号BS、指令的解析结果CMDRD、及地址(地址的解码结果)ADR等,产生优先级信号PRIO(PRIO-P0、PRIO-P1、PRIO-P2、PRIO-P3)。
优先级控制电路52将优先级信号PRIO(PRIO-P0、PRIO-P1、PRIO-P2、PRIO-P3)输出至序列发生器51。优先级信号PRIO是表示各平面200的动作的优先顺序(优先级)的信号。优先级控制电路52通过优先级信号PRIO,能够控制序列发生器51的动作。
优先级控制电路52具有多个优先级框PB(PB-0、PB-1、PB-2、PB-3)。例如,多个优先级框PB与多个平面200(及序列发生器51)一对一地对应。
优先级框PB能够保存及控制对应的平面200的优先级信号PRIO。
复用器59是基于信号POUT来激活的。
复用器59能够将与各平面200对应的优先级信号
中与地址ADR对应的那一个作为信号PRIOz而输出。
例如,内部忙碌信号BS能够输出至控制电路15的外部。在这种情况下,与各平面200对应的内部忙碌信号BS供给至复用器59。复用器59基于地址ADR(例如,平面地址),能够选择多个内部忙碌信号BS中的1个。
由此,选择的内部忙碌信号BS从复用器59输出。结果,序列控制电路15能够将平面200的动作状态通知其它电路(例如,存储器控制器5)。
内部忙碌信号BS(或者,从内部忙碌信号产生的信号)经由端子RBnx发送至控制器5。
控制器5例如通过内部忙碌信号BS,能够检测出哪个平面正在执行读出动作。由此,控制器5基于内部忙碌信号BS的检测结果,针对读出动作已经结束的平面200,能够检测出可以对哪个平面200执行数据的读出(或者,可以对哪个平面发送新的指令)。
如下所述,本实施方式的闪速存储器通过对各平面的动作设定的优先级、及表示平面的动作状况的调停信号,能够控制(调停)多个平面的动作的时点。
(a-5)优先级框及优先级
参照图6至图8,对本实施方式的闪速存储器的优先级控制电路及优先级框进行说明。
<基本构成>
图6是对本实施方式的闪速存储器的优先级框进行说明的概念图。
在图6中,表示出了1个优先级框PB。
在本实施方式的闪速存储器中,优先级控制电路52以与4个平面200对应的方式,具有4个优先级框PB。
在本实施方式的闪速存储器中,优先级框PB能够产生及保存用来调停多个平面200的动作的优先级(优先级信号)。优先级是表示平面200的动作的优先顺序的值。
在本实施方式中,平面200的动作的优先级(优先顺序)是使用与基于来自控制器5的信号等的闪速存储器1的内部状态(平面200的动作状况)相关的多个信号(以下,也可以称作内部状态信号)来决定的。
例如,如图6所示,对优先级框PB至少供给指令CMD(或指令的解码结果)、高优先指令HPRIO、地址ADR、及内部忙碌信号BS。除了这些以外,对优先级框PB还可以供给其它优先级框(及自身)的优先级信号PRIOx。
优先级框PB基于这些供给来的信号及自身所保存的优先级的值,设定动作的优先级的值。
优先级框PB将所设定的值的优先级作为优先级信号PRIO,输出至对应的序列发生器51及复用器59。
优先级框PB持续保存所设定的值的优先级信号PRIO,直至平面200的动作状况发生变化为止,或直至被闪速存储器的外部要求变更优先级为止。
例如,优先级信号的值是根据指令的输入顺序来设定的。
另外,优先级信号PRIO的值能够基于信号HPRIO,针对与信号HPRIO相关联的动作(动作指令),设定为较高的值。
<构成例>
图7是用来说明本实施方式的闪速存储器的优先级控制电路中的优先级框的构成例的图。
在图7中,表示出了与1个平面(例如,第1平面200-0)对应的优先级框的构成例。与各平面对应的优先级框具有与图7的电路构成实质上相同的构成。
在图7所示的例子中,优先级框PB包含计算电路300、保存电路301、及选择电路302。
与闪速存储器1内的所有平面200(在这里,是4个平面)的控制(动作状况)相关的信号CMDRD、ADR、BS供给至与某1个平面200对应的1个优先级框PB。
计算电路300例如接收基于指令、地址、及内部状态信号的各种信号。
计算电路300接收来自指令解码器53的信号CMDRD
计算电路300接收来自地址缓冲器56的地址ADR/>
计算电路300接收来自序列发生器51的内部忙碌信号BS(BS-P0、BS-P1、BS-P2、BS-P3)。另外,对计算电路300,供给对应的优先级框PB0及其它优先级框PB1、PB2、PB3的优先级信号PRIO(PRIO-P0、PRIO-P1、PRIO-P2、PRIO-P3)。
例如,信号CMDRD是与读出指令的解码结果对应的信号。但是,对计算电路300供给的指令并不限定于读出指令。可以根据被要求的动作,对计算电路300供给读出指令以外的指令(例如,写入指令)。
在平面200-0的优先级框PB0中,计算电路300基于供给来的多个信号CMDRD、ADR、BS、PRIO,产生信号NxPRIO-P0。信号NxPRIO-P0是表示接下来应该赋予至对应的平面的优先顺序的信号。与优先级框PB0对应的平面200-0的动作状况及其它平面
的动作状况反映在信号NxPRIO-P0的值中。在本实施方式中,也可以将信号NxPRIO称作更新信号或更新值。
例如,在图7中,与多个平面200相关的信号供给至1个优先级框的计算电路300。也可以为只有与对应于优先盒的平面相关的信号供给至计算电路300。另外,计算电路300作为优先级控制电路52的构成要素,也可以在多个优先级框(寄存器)之间共通。
在平面200-0的优先级框PB0中,保存电路301保存当前的优先级(优先级信号)CrPRIO-P0(PRIO-P0)。保存电路301例如为寄存器。以下,也可以将保存电路301称作寄存器301。例如,寄存器301由触发器构成。
寄存器301接收来自选择电路302的信号。寄存器301临时保存所接收到的信号。例如,对寄存器301的控制端子供给时钟信号CLK。寄存器301同步于时钟信号CLK的时点,提取供给来的信号。
选择电路(以下,称作选择器)302连接于计算电路300与寄存器301之间。
选择器302的一输入端子(输入端口)连接于计算电路300的输出端子(输出端口)。选择器302的另一输入端子连接于寄存器301的输出端子。选择器302的输出端子连接于寄存器301的输入端子。
对选择器302供给在序列控制电路15内部(例如,优先级控制电路52)产生的信号(切换信号)PCHG,而将其作为控制信号。选择器302根据信号PCHG,选择来自计算电路300的信号NxPRIO-P0、及来自寄存器301的信号CrPRIO-P0中的任一者。信号PCHG是在变更对应的平面的动作的优先顺序(优先级)时被激活的信号。信号PCHG的信号电平在常态时被设定为"L"电平("0"状态)。信号PCHG的信号电平在激活时被设定为"H"电平("1"状态)。
例如,在信号PCHG的信号电平为"H"电平的情况下,选择器302选择信号NxPRIO-P0。在信号PCHG的信号电平为"L"电平的情况下,选择器302选择信号CrPRIO-P0。
选择器302将选择的信号输出至寄存器301。
在以上的构成中,优先级框PB将寄存器301内表示当前的优先级(平面的动作的优先顺序)的值作为优先级信号PRIO-P0,输出至多个序列发生器51(及复用器59)。
此外,优先级框PB的构成并不限定于图7的例子,也可以具有其它构成。优先级框只要至少具有以下2个构成及功能就行。
优先级框PB能够保存对应的平面的当前的动作的优先级(优先顺序)CrPRIO。
优先级框PB在多个平面的动作状态发生了变更的情况下,能够根据基于多个平面的状态所决定的更新值NxPRIO,变更对应的平面的动作的优先级(优先顺序)。
<优先级>
图8是用来说明本实施方式的闪速存储器中的对平面的动作设定的优先级(优先顺序、动作状态)的图。
在本实施方式的闪速存储器中,如图8的例子所示,优先级框PB根据多个平面200的动作的优先顺序,保存"0"、"1"、"2"及"3"中任一个值的优先级(优先级信号)。各平面200能够根据对应的优先级框PB中所设定的优先级,采取4个动作状态。
以"3"表示的优先级表示动作的优先顺序最高的状态(第1优先顺序)。在执行多个平面200的动作的调停的情况下,与保存"3"的优先级的优先级框对应的平面的动作始终被最优先执行。
以"2"表示的优先级表示动作的优先顺序仅次于"3"的优先级地较高的状态(第2优先顺序)。在执行多个平面的动作的调停的情况下,与保存"2"的优先级的优先级框对应的平面的动作仅次于与保存"3"的优先级的优先级框对应的平面的动作地被优先执行。
以"1"表示的优先级表示动作的优先顺序为第3位的状态。在执行多个平面200的动作的调停的情况下,与保存"1"的优先级的优先级框对应的平面的动作仅次于与保存"2"的优先级的优先级框对应的平面的动作地被优先执行。
以"0"表示的优先级表示动作的优先顺序最低的状态(第4位优先顺序)。例如,"0"的优先级表示平面的动作为初始状态(尚未开始动作的状态)、无需调停便能执行的动作中的状态、或动作结束后的状态。在执行多个平面的动作的调停的情况下,与保存"0"的优先级的优先级框对应的平面的动作以最后一位的顺序被执行。
例如,"3"的优先级的动作不受
的优先级的动作阻碍。以"2"的优先级的动作不阻碍"3"的优先级的动作的方式进行控制。
"2"的优先级的动作不受"1"及"0"的优先级的动作阻碍。以"1"的优先级的动作不阻碍"3"及"2"的动作的方式进行控制。"1"的优先级的动作不受具有"0"的优先级的平面的动作阻碍。以"0"的优先级的动作不阻碍其它优先级的动作的方式进行控制。
例如,对与用于主机设备的中断例程处理、数据处理的包(或指令)的种类相对应的平面的动作,设定较高的优先级。
<指令协议>
图9是表示本实施方式的闪速存储器中的指令协议(指令序列)的图。
图9的(a)表示闪速存储器的读出指令的指令协议。
如图9的(a)所示,在执行针对闪速存储器1的平面的读出动作的情况下,"00h"的信号及"30h"的信号作为指令CMD(CMDa、CMDb),从存储器控制器发送至闪速存储器。通过"00h"及"30h"的信号,表示应该执行的动作的种类及动作的开始(执行)。
地址ADR包含5个周期的地址信号A1、A2、A3、A4、A5。地址信号
分别表示动作对象的平面地址、块地址、列地址、及页地址等。
指令CMD及地址ADR经由I/O端子IOx<7:0>,供给至闪速存储器1内。
此外,也可以对指令CMD附加表示动作的对象平面的信息(后缀)。
图9的(b)表示本实施方式的存储器系统及闪速存储器中所使用的指令协议。
如图9的(b)所示,在本实施方式中,为了使闪速存储器1优先执行此后命令的动作,存储器控制器5在发送表示动作的指令CMD及选择地址ADR前,发送特殊指令(图9的(b)中的"xxh")CMDx。
特殊指令CMDx从存储器控制器5输出至I/O端子IOx<7:0>。在特殊指令CMDx之后,指令CMDa、地址ADR、及指令CMDb依次从存储器控制器5输出至I/O端子IOx<7:0>。
这样的话,在本实施方式中,指令信号CMDx就会在"00h"的指令信号CMDa之前发送。
特殊指令CMDx表示最优先执行随附于指令CMDx的指令的动作。
所以,包含指令CMDx的指令协议与图9的(a)的指令协议不同,能够对闪速存储器1表示所命令的动作是优先级较高的动作(例如,应该最优先执行的动作)。
以下,将指令CMDx称作高优先指令(或高优先指令信号)CMDx。
闪速存储器1接收高优先指令CMDx、指令CMDa、地址ADR、及指令CMDb。
高优先指令CMDx由指令解码器54来解析。高优先指令CMDx的解析结果(内部信号)作为信号HPRIO,供给至优先级控制电路52。计算电路300进行使用信号HPRIO的计算处理。
优先级框PB在高优先指令CMDx被激活的情况下,以优先执行针对高优先指令CMDx中所随附的地址ADR的指令CMD(CMDa、CMDb)的动作的方式,设定优先级。
<优先级的输出>
参照图10A及图10B,对本实施方式的半导体存储器及存储器系统中的优先级的输出动作进行说明。
图10A是用来说明本实施方式的闪速存储器及存储器系统中所使用的指令协议的图。
在图10A中,指令(图中的信号"ZZh")CMDz是命令输出闪速存储器1的各平面200的动作的优先级的指令。
在本实施方式中,存储器控制器5例如为了检测出闪速存储器的各平面200的动作的优先级,而发布指令(以下,称作优先级输出指令)CMDz。
在闪速存储器1接收到指令CMDz的情况下,闪速存储器1将平面200的动作的当前的优先级(优先级信号)PRIO作为对指令CMDz的回应,输出至存储器控制器5。闪速存储器1基于指令CMDz,输出与所有平面200的动作相关的当前的优先级。
例如,闪速存储器1基于指令CMDz,执行如下内部处理。
在闪速存储器1中,图5所示的指令解码器55对指令CMDz进行解析。基于指令CMDz的解析结果,将控制信号POUT激活。
闪速存储器1基于被激活的控制信号POUT,将与各平面200对应的优先级信号PRIO作为信号PRIOz而输出。
例如,在将读出使能信号REnx设定为"L"电平后,输出信号PRIOz经由图2的输出缓冲器电路103及I/O端子IOx<7:0>,输出至控制器5。
以此方式,闪速存储器1通过指令CMDz,将平面200正在执行的动作的优先级信号PRIOz(图10A中的"Da")发送至存储器控制器5。
例如,在与优先级信号PRIOz对应的I/O端子(I/O线)IOx<7:0>上的数据(信号)Da中,I/O端子IOx<7:6>的2比特的数据表示第4平面200-3的动作的优先级。另外,I/O端子IOx<5:4>的2比特的数据表示第3平面200-2的动作的优先级。I/O端子IOx<3:2>的2比特的数据表示第2平面200-1的动作的优先级。I/O线IOx<1:0>的2比特的数据表示第1平面200-0的动作的优先级。
由此,存储器控制器5能够取得与闪速存储器1的内部的动作状况相对应的平面200的优先级。
此外,该优先级信号PRIOz(信号Da)是与指令CMDz对应而输出的。但是,本实施方式并不限于信号物理性地同时输出的情况。即,各I/O端子IOx的输出时点也可以前后略微错开。也就是说,来自各I/O端子IOx的信号的输出只要不重合就行。
图10B是表示图10A的变化例的图。
为了检测出与指定的平面200相关的动作的优先级,地址也可以连同优先级输出指令一起,从存储器控制器5发送至闪速存储器1。
如图10B所示,存储器控制器5将至少1个平面200的地址ADR(图10B中的"Ax")跟在优先级输出指令CMDz之后,从存储器控制器5发送至闪速存储器1。
闪速存储器1将地址ADR所示的平面200的动作的当前的优先级作为信号PRIOz(图10B中的"Db"),经由I/O端子IOx<7:0>输出至存储器控制器5。
例如,在与优先级信号PRIOz对应的I/O端子(I/O线)IOx<7:0>上的数据(信号)Db中,I/O端子IOx<1:0>的2比特的数据表示选择的平面200的动作的优先级。I/O线IOx<7:2>的6比特的数据以"6'b00_0000"数据("000000"数据)来表示。
这样的话,与选择的平面200相关的动作的优先级就会由闪速存储器1通知存储器控制器5。
图10C表示与图10A及图10B不同的例子的图。
如图10C所示,与选择的平面200相关的动作的优先级也可以通过每一个平面200各自不同的指令(代码),由闪速存储器1通知存储器控制器5。
例如,设定"ZAh"的信号(代码)作为用来输出第1平面200-0的动作的优先级的指令CMDv。设定"ZBh"的信号作为用来输出第2平面200-1的动作的优先级的指令CMDv。设定"ZCh"的信号作为用来输出第3平面200-2的动作的优先级的指令CMDv。设定"ZDh"的信号作为用来输出第4平面200-3的动作的优先级的指令CMDv。
这些信号ZAh、ZBh、ZCh、ZDh互不相同。
根据信号ZAh、ZBh、ZCh、ZDh,与信号ZAh、ZBh、ZCh、ZDh对应的平面200的优先级经由I/O端子IOx<7:0>,由闪速存储器1通知存储器控制器5。
例如,对于各信号代码ZAh、ZBh、ZCh、ZDh,在与优先级信号PRIOz对应的I/O端子IOx<7:0>上的数据(信号)Dc中,I/O线IOx<1:0>的2比特的数据表示选择的平面200的动作的优先级。另外,I/O端子IOx<7:2>的6比特的数据以"6'b00_0000"数据来表示。
在本实施方式的闪速存储器1中,优先级框PB内所保存的优先级的值(信号
不仅会通过来自外部的指令而发生变化,也会通过正在执行的读出动作的结束而发生变化。
通过优先级的输出,存储器控制器5能够根据闪速存储器1的内部的动作状况,对与此后发布的指令及地址对应的平面200的动作设定合适的优先级。
由此,本实施方式的存储器系统及闪速存储器能够对平面应该执行的动作设定与闪速存储器的平面的内部状态相对应的灵活的优先顺序。
<调停信号>
如图5所示,在多个序列发生器51之间,收发调停信号PWBS(PWBS-P0、PWBS-P1、PWBS-P2、PWBS-P3)。
信号PWBS是用来调停多个平面的动作的信号。例如,调停信号PWBS表示应该执行调停的期间(时点)。
在调停信号PWBS中,当要开始会因为应该在平面200内执行的动作而产生负载(例如,某种大小以上的电流值、电流量或噪音)的内部处理(动作)的情况下,调停信号PWBS会被激活。
被激活的调停信号PWBS的信号电平设定为"H"电平。
例如,调停信号PWBS的信号电平的控制与在平面200内产生的消耗电流(或消耗电流量)相关联。调停信号PWBS的信号电平对应于字线WL开始充电的时点、或位线BL开始充电的时点,被设定为"H"电平。
在这种情况下,调停信号PWBS的信号电平被设定为"H"电平的期间的长度与内部处理所引发的电流产生的期间对应。
例如,调停信号PWBS-P0的激活/未激活的时点是基于从平面内的动作(内部处理)开始起进行计数(未图示)所得的值(例如,从动作开始起的时钟的累计值)来控制的。
调停信号PWBS-P0的激活/未激活的时点也可以基于通过序列发生器51获得的平面200内部的电位/电流的监控结果来控制。
本实施方式的闪速存储器通过基于调停信号PWBS及优先级信号PRIO调停各平面200的动作,而控制各平面200的动作的顺序。
多个序列发生器51相互监控各序列发生器51的调停信号PWBS。
在多个平面的并发动作中,多个平面的动作中"H"电平的调停信号PWBS的产生时点重叠的情况下,在多个序列发生器51中,对应的平面200的动作的优先级较低的序列发生器51将该平面的动作的状态设定为等待状态或缓行状态。例如,在本实施方式中,等待状态表示平面的内部处理/动作的待机状态。另外,在本实施方式中,缓行状态表示平面的内部处理/动作的低速化状态。
伴随于此,对应的平面的动作的优先级较高的序列发生器能够以优先执行该平面的动作的方式,例如,以基本设定的动作速度控制该平面的动作。
这样的话,在本实施方式的闪速存储器中,序列发生器51各自在有可能于正在并发执行的多个平面的动作中负载的产生时点在多个平面重叠的情况下,根据对各平面的动作设定的优先级的高低及调停信号PWBS,以优先于优先级较低的动作地执行优先级较高的动作的方式,执行正在执行的多个平面的动作间的调停。
按照以上所述,本实施方式的闪速存储器在平面的动作所引发的负载(例如,过大的电流及/或噪音)有可能在多个平面同时产生的情况下,基于优先级及调停信号,优先执行优先级较高的平面的动作,在时间上将优先级较低的平面的动作移位后再执行。
(c)动作例
参照图11至图20,对本实施方式的闪速存储器的动作例进行说明。以下,例示平面执行的动作是读出动作的情况。但是,平面执行的动作也可以是写入动作、删除动作等读出动作以外的动作。
[例1]
参照图11至图14,对本实施方式的闪速存储器的动作例的例1进行说明。
图11是用来说明本实施方式中的闪速存储器的动作中的优先级框的状态的图。
图11的横轴对应于时间。在图11中,表示出了与平面的动作状况相对应的优先级框的状态(优先级信号
)的变化。
图12是用来说明相对于本实施方式的闪速存储器的动作状况而发生的各种信号的变化的时序图。
图12的横轴对应于时间。在图12中,表示出了I/O信号(I/O端子)IOx的信号电平、待命/忙碌信号(待命/忙碌端子)RBnx的信号电平、调停信号PWBS的信号电平(电位)、平面的动作状况、及在闪速存储器内流通的电流Ix。
在图11及图12所示的动作例中,表示出了仅对4个平面中的1个平面执行指定动作的例子。
在图11及图12的例子中,表示出了第2平面200-1单独执行与指令对应的动作(例如,读出动作)的例子。在本例中,因为是单独的平面的动作,所以并不执行第2平面200-1的动作与其它平面的动作的调停。
以下,更加具体地对本例子中的平面的动作的控制进行说明。
<时刻t11>
图11及图12的时刻t11的状态STA11是开始闪速存储器1的动作前的状态。在状态STA11下,闪速存储器1内的各平面200的动作尚未执行。
因此,如图11所示,与各平面200对应的优先级框PB的优先级信号
的值被设定为"0"。在闪速存储器1内,表示出了尚未对任何平面200设定动作的优先顺序的状态。
如图12所示,在状态STA11下,因为是在闪速存储器的动作开始前,所以待命/忙碌信号RBnx的逻辑状态(信号电平)被设定为"H"状态。
<时刻t12>
在时刻t11之后,存储器控制器5例如发布指令CMD。例如,所发布的指令CMD及地址ADR是基于图9的(a)所示的指令协议。
指令CMD及地址ADR是从存储器控制器5发送至闪速存储器1。
如图12所示,存储器控制器5将指令CMD及地址ADR作为I/O信号,输出至I/O端子IOx<7:0>。
例如,在存储器控制器5发送指令CMD及地址ADR时,待命/忙碌信号RBnx被设定为"H"电平。通过"H"电平的待命/忙碌信号RBnx,对存储器控制器5表示闪速存储器1的各平面的动作尚未执行。
闪速存储器1接收I/O端子IO<7:0>上的指令CMD及地址ADR数据。由此,闪速存储器1开始动作。
在时刻t12,闪速存储器1对地址ADR所示的选择区域,开始指令CMD所示的动作。
指令CMD作为信号DIN,经由输入缓冲器电路102,输入至序列控制电路15的指令解码器53。指令解码器53对指令CMD进行解码。指令解码器53将指令CMD的解码结果(解码信号)CMDRD输出至优先级控制电路52(优先级框PB)及序列发生器51。
地址ADR经由输入缓冲器电路102,输入至序列控制电路15的地址缓冲器56。例如,地址缓冲器56对地址ADR进行缓冲(及解码)。地址缓冲器56将地址(地址的解码结果)ADR输出至优先级控制电路52、序列发生器51、及复用器59。由此,各序列发生器51能够辨识出自身所对应的平面200是否为动作的对象。
另外,地址ADR作为信号DIN,输入至指令解码器53。由此,各指令解码器53能够辨识出自身所对应的平面200是否为动作的对象
在优先级控制电路52内,各优先级框PB使用供给来的多个信号,执行各平面200的优先级的控制(设定)。
由此,闪速存储器1的各平面200的状态从状态STA11变成状态STA12。
例如,像时刻t12的各优先级框PB的状态STA12那样,通过优先级框PB所保存的值表示第2平面200-1的读出动作的执行。
图13是用来说明本实施方式的闪速存储器的动作时的平面的动作的优先级的变化的图。
在图13中,示意性地表示出了从图11的状态STA11向状态STA12变迁时的优先级框的动作及状态的变化。
如图13所示,在与第2平面200-1对应的优先级框PB1中,寄存器301保存"0"的优先级作为当前值(初始状态的值)CrPRIO-P1。优先级框PB将与"0"对应的信号作为优先级信号PRIO-P1而输出。
在将优先级信号PRIO-P1设定为"0"的状态下,如果闪速存储器1接收到指令CMD,那么信号PCHG会被激活。例如,优先级控制电路52将与第2平面200-1对应的优先级框PB的信号PCHG的信号电平从"0"("L"电平)变成"1"("H"电平)。
计算电路300使用供给来的信号CMDRD、地址ADR、内部状态信号(例如,内部忙碌信号BS)、及优先级信号PRIO进行计算处理。
例如,与第2平面200-1对应的指令信号CMDRD-P1及地址ADR-P1被激活。
这时,如果各平面200的内部忙碌信号
处于未激活状态下,那么计算电路300基于供给来的多个信号,以关于第2平面200-1应该仅次于"0"的值而设定的优先级成为"3"的方式,决定与第2平面200-1对应的信号(更新值)NxPRIO-P1的值。
由此,信号NxPRIO-P1的值被设定为"3"。
对选择器302,供给信号NxPRIO-P1及信号CrPRIO-P1。
通过"1"的信号PCHG,选择器302选择来自计算电路300的信号NxPRIO-P0。选择器302将选择的信号NxPRIO-P1输出至寄存器301。
寄存器301在基于时钟信号CLK的时点,提取该信号NxPRIO-P1。
由此,寄存器301内所保存的优先级的值得到更新。寄存器301保存"3"的值作为信号(当前值)CrPRIO-P1。
在寄存器301的值更新后,信号PCHG被去激活。信号PCHG的信号电平从"1"变成"0"。
寄存器301输出“3"的优先级信号PRIO-P1,以表示动作的优先级为"3"。
以此方式,将第2平面200-1的动作的优先顺序更新。第2平面200-1的优先级信号PRIO-P1从"0"变成"3"。
向各优先级框PB供给的信号是针对第2平面200-1的指令及地址。所以,关于第2平面200-1以外的平面200-0、200-2、200-3,与平面200-0、200-2、200-3对应的优先级框的优先级被维持为"0"。
例如,关于平面200-0、200-2、200-3,在更新第2平面200-1的动作的优先级时,优先级框PB0、PB2、PB3的变更信号PCHG不被激活。通过"0"电平的信号PCHG,选择器302选择来自寄存器301的信号CrPRIO。
由此,在平面200-0、200-2、200-3的优先级框PB中,寄存器301的值继续保存当前的值(在这里,是"0")。寄存器301输出"0"的优先级信号PRIO。
此外,在不执行动作的平面200-0、200-2、200-3的优先级框PB中,计算电路300的计算结果成为基于各平面的动作的状态的值。所以,就算变更信号PCHG被激活,不执行动作的平面P0、P2、P3的优先级框PB的优先级也依然被设定为与其动作状态相对应的值(在这里,是"0")。
作为设定优先级的结果,第2平面200-1的动作基于指令CMD及地址ADR而开始。
如图12所示,随着第2平面200-1的读出动作的开始,序列控制电路15将待命/忙碌信号RBnx的状态从"H"电平变成"L"电平。
序列发生器51基于信号CMDRD、地址ADR、及优先级信号PRIO,控制对应的平面200的动作。序列发生器51为了控制平面200的动作,而将控制信号CTL供给至平面200。
第2平面200-1通过来自序列发生器51-1的控制信号CTL-P1,执行读出动作。另一方面,其它平面200-0、200-2、200-3被序列发生器51-0、51-2、51-3设定为停止状态(未动作状态)。
在第2平面200-1的读出动作时,位线BL得到充电,以感应位线BL的电流(或电位)。在读出动作时,字线WL得到充电,以将选择单元激活。
由于字线WL及位线BL的充电,平面200-1内会产生电流Ia。序列发生器51-1对应于开始配线的充电所引发的消耗电流量达到某阈值以上的处理/动作的时点(或者,电流的产生时点),将调停信号PWBS的信号电平从"L"电平变成"H"电平。
序列发生器51-1输出"H"电平的调停信号PWBS。
另外,序列发生器51-1在产生某阈值以上的电流的处理/动作结束的时点,将调停信号PWBS-P1的信号电平从"H"电平变成"L"电平。由此,序列发生器51-1输出"L"电平的调停信号PWBS-P1。
例如,在位线BL的充电时点(例如,图12的时刻ta),序列发生器51-1使调停信号PWBS-P1的信号电平从"L"电平变迁至"H"电平。序列发生器51-1在位线BL的充电完成的时点,使调停信号PWBS-P1的信号电平从"H"电平变迁至"L"电平。
在字线WL的激活时点(例如,图12的时刻tb),序列发生器51-1使调停信号PWBS-P1的信号电平从"L"电平变迁至"H"电平。此后,在字线WL的未激活时点,序列发生器51-1使调停信号PWBS-P1的信号电平从"H"电平变迁至"L"电平。
此外,也存在如下情况,即,在1次数据的读出中执行位线BL的多次充电及字线的多次激活的情况下,执行3次以上调停信号PWBS的激活。
通过第2平面200-1的读出动作,读出存储单元阵列201内的选择地址(选择页)的数据。
在某个时点,读出的数据从闪速存储器1发送至存储器控制器5。例如,在发送数据时,闪速存储器1通过内部忙碌信号BS(或者,从内部忙碌信号BS产生的信号),可以将能够从多个平面中哪个平面200读出数据(或者,能够对哪个平面200发布指令)这个消息经由端子RBnx,通知控制器5。
<时刻t13>
在时刻t13,各平面200的状态从状态STA12变迁至状态STA13。状态STA13是平面的动作已经结束的状态。
通过第2平面200-1的读出动作的完成,从时刻t12到时刻t13这个期间,各平面200的状态从状态STA12变成状态STA13。
图14是用来说明本实施方式的闪速存储器的动作时的平面的动作的优先级的变化的图。
在图14中,示意性地表示出了从图11的状态STA12向状态STA13变迁时的优先级框的动作及状态的变化。
如果第2平面200-1的读出动作完成,那么第2平面200-1的内部忙碌信号BS-P1的信号电平从"H"电平变迁至"L"电平。
计算电路300基于供给来的多个信号,将更新信号NxPRIO-P1的值设定为"0"。
例如,优先级框PB1对激活状态的指令CMDRD-P1及地址ADR-P1,检测第2平面200-1的内部忙碌信号BS-P1是否已从激活状态("1")变成未激活状态("0")。未激活状态的内部忙碌信号BS-P1供给至计算电路300。计算电路300使用该内部忙碌信号BS-P1,执行计算处理。
在这种情况下,基于计算电路300的计算结果,接下来应该对第2平面200-1设定的优先级(更新值)NxPRIO-P1的值被决定为"0"。
如图14所示,如果优先级信号(当前的优先级)PRIO-P1为"3"的状态的第2平面200-1的读出动作完成,那么变更信号PCHG被优先级控制电路52激活。由此,变更信号PCHG从"0"变成"1"。
选择器302基于"1"的信号PCHG,选择信号NxPRIO-P1。由此,选择器302将"0"的信号NxPRIO-P1输出至寄存器301。
寄存器301在基于时钟信号CLK的时点,提取选择的信号NxPRIO-P1。由此,寄存器301所保存的优先级的值被更新为与信号NxPRIO-P1对应的值。
结果,第2平面的动作的优先级CrPRIO-P1的值被设定为"0"。
这样的话,在第2平面200-1的动作完成时,第2平面200-1的动作的优先顺序得到变更。
所以,所有优先级框PB的优先级的值都成为"0"。
通过选择的平面的动作的完成,待命/忙碌信号RBnx的信号电平(逻辑状态)从"L"电平变成"H"电平。
按照以上所述,在本实施方式的闪速存储器中,针对单独的平面的动作完成。
此外,在本实施方式中,闪速存储器的动作中的各平面的状态
的内容可以采用图10A至图10C所示的多种方法中的至少一种,随时输出。
在图11至图14的例子中,读出动作仅在1个平面执行。因此,不执行选择的平面的读出动作与其它平面的动作之间的调停。但是,无论同时(并行)执行动作的平面的数量是多少,都要输出与动作的调停相关的信号PWBS。
此外,在本实施方式的闪速存储器中,也可以按照如下所述构成,即,在基于内部忙碌信号BS检测出读出动作仅在1个平面执行的情况下,不输出与动作的调停相关的信号PWBS(信号PWBS的信号电平被维持为"L"电平),在基于内部忙碌信号BS检测出读出动作在2个以上平面执行的情况下,输出与动作的调停相关的信号PWBS。
[例2]
参照图15至图20,对本实施方式的闪速存储器的动作例进行说明。
图15是用来说明本实施方式的闪速存储器的动作例的例2中的多个平面的优先级的变化的图。
在图15所示的例2中,对因为多个平面的同时动作而发生平面之间的动作的调停的案例进行说明。在本例中,平面的动作是在不同时点开始的。
图16是用来说明相对于本实施方式的闪速存储器的动作状况而发生的各种信号的变化的时序图。图16的横轴对应于时间。在图16中,表示出了I/O信号IOx、待命/忙碌信号RBnx、调停信号PWBS、及电流Ix。
本例子中的闪速存储器的各平面的动作的大体流程如下所示。
通过众所周知的针对2个平面的同时读出动作(多平面读出),第1平面200-0与第3平面200-2同时开始读出动作。
此后,第2平面200-1在先行的平面200-0、200-2正在执行读出动作的某时点,开始读出动作。并行执行的多个读出动作中后开始的第2平面200-1的读出动作以最高优先级执行。
第2平面200-1的读出动作先行结束后,第1平面200-0的读出动作及第3平面200-2的读出动作结束。
以下,更加具体地对本例子中的使用优先级及调停信号的多个平面的动作的控制进行说明。
<时刻t21>
如图15所示,在时刻t21,多个平面的状态被设定为状态STA21。
状态STA21是各平面的动作开始前的状态。优先级框PB的优先级信号PRIO的状态在所有平面200都被设定为"0"(初始状态)。
这样的话,各平面200的优先级信号PRIO的状态表示尚未开始各平面的读出动作的状态。
<时刻t22>
在时刻t22,各平面200的优先级框PB的状态从状态STA21状态变成STA22。
各平面的优先级框的状态(优先级)的变化是通过闪速存储器1中的指令CMD的接收而发生的。
如图16所示,在时刻t22,存储器控制器5将指令及地址作为I/O信号,输出至I/O端子IOx<7:0>。
例如,存储器控制器5基于众所周知的多平面动作,将针对第1平面200-0的指令及地址、以及针对第3平面200-2的指令及地址作为I/O信号,依次发送至闪速存储器1。闪速存储器1接收针对第1平面200-0的指令CMD及地址ADR、以及针对第3平面200-2的指令CMD及地址ADR。
由此,平面200-0、200-2的动作开始。在多平面读出中,读出开始的时点在第1平面200-0与第3平面200-2中是同时的。
与例1同样地,在各优先级框PB中,计算电路300为了设定对应的平面的动作的优先级,而使用供给来的各种信号,执行计算处理。由此,设定各平面的动作的优先级。
图17是用来说明本实施方式的闪速存储器的动作时的平面的动作的优先级的变化的图。
在图17中,示意性地表示出了从图15的状态STA21向状态STA22变迁时的优先级框的动作及状态的变化。
如图17所示,在与第1平面200-0对应的优先级框PB0中,计算电路300基于计算结果,输出"3"的更新信号NxPRIO-P0。
选择器302通过"1"的变更信号PCHG,将更新信号NxPRIO-P0输出至寄存器301。
寄存器301对应于时钟信号CLK的时点,提取信号NxPRIO-P0。寄存器301保存信号NxPRIO-P0作为新的当前的优先级。由此,寄存器301所保存的值CrPRIO-P0从"0"变更成"3"。
寄存器301输出"3"的优先级信号PRIO-P0。
第3平面200-2的动作的优先级的设定与第1平面200-0的优先级的设定实质上是相同的。与第3平面200-2对应的优先级框PB通过与使用图17所说明的动作相同的动作,保存"3"的优先级。
与第2平面200-1及第4平面200-3对应的优先级框PB基于计算结果,继续保存"0"的优先级信号。
结果,第1及第3平面200-0、200-2中的读出动作开始。
在时刻t22,信号R/Bnx的信号电平从"H"电平变成"L"电平。
这样的话,多个平面的动作(在这里,是2个平面的读出动作)同时(并行)开始。
<时刻t23>
如图15所示,在时刻t23,各平面200的优先级框PB从状态STA22变成状态STA23。
如图16所示,本例中,在针对某平面的动作中(待命/忙碌信号RBnx为"L"电平的期间内),由控制器5发布针对其它平面的指令。
在待命/忙碌信号RBnx为"L"电平的期间内的时刻t23,存储器控制器5基于图10(b)的指令协议,将指令CMDx、CMDa、CMDb、及地址ADR发送至闪速存储器1。
在这里,特殊指令(高优先指令)CMDx附加于表示应该执行的动作的指令CMDa、COMDb。
在闪速存储器1中,序列控制电路15基于高优先指令信号CMDx,以对地址ADR所示的平面内的区域优先执行指令CMD的动作的方式,控制各电路的动作。
由此,以与高优先指令CMDx对应的平面的动作的优先级提高的方式,将闪速存储器1的优先级框PB的状态从状态STA22变更成状态STA23。
除了通过多个信号PRIO、CMDRD、BS、ADR以外,还通过与高优先指令CMDx对应的信号HPRIO,将与第2平面200-1对应的优先级框PB2的优先级的值设定为表示最高优先级的"3"。
同时,关于正在以第1优先级("3"的优先级)执行动作的平面200-0、200-2,这些平面的读出动作的优先级降低。
作为用来变更优先级的控制的一个具体例子,优先级框PB如下所述,改变所保存的优先级的值。
图18是用来说明本实施方式的闪速存储器的动作时的平面的动作的优先级的变化的图。在图18中,示意性地表示出了从图15的状态STA22向状态STA23变迁时的优先级框的动作及状态的变化。
在图18所示的例子中,第1平面200-0的优先级框PB0中,计算电路300通过包含高优先指令CMDx的指令协议、及其它内部信号的供给,重新计算更新信号NxPRIO-P0。
第1平面200-0的优先级框PB0辨识出信号CMDRD-P1及地址ADR已被激活。优先级框PB0辨识出内部忙碌信号BS-P0、BS-P2已被激活。优先级框PB0辨识出信号HPRIO(高优先指令CMDx)已被激活。
另外,对应的平面200-0及其它平面200-1、200-2、200-3的优先级信号(当前的优先级)PRIO供给至计算电路300。
基于优先级信号PRIO、被激活的信号CMDRD-P1、忙碌状态的内部忙碌信号BS-P0、P2、激活状态的信号HPRIO,在优先级框PB0中,计算电路300将更新信号NxPRIO-P0的值决定为"2"。
计算电路300将"2"的更新信号NxPRIO-P0输出至选择器302。
选择器302通过"1"的变更信号PCHG,将更新信号NxPRIO-P0输出至寄存器301。
寄存器301保存更新信号NxPRIO-P0。由此,寄存器301的值从"3"降至"2"。
在第1平面200-0的优先级框PB0中,寄存器301输出与"2"的值对应的优先级信号PRIO-P0。
在第3平面200-2的优先级框PB2中,优先级信号PRIO-P2的值通过与图18所示的动作实质上相同的动作,从"3"降至"2"。
在与平面200-0、200-2对应的优先级框PB0、PB2中,优先级信号PRIO-P0、PRIO-PB2的值被设定为表示第2高优先级的"2"。
这样的话,随着高优先指令CMDx的输入,不与高优先指令对应的平面的优先级框PB例如将所保存的优先级的值减去1。
由此,平面200-0、200-2的读出动作的优先级被设定为第2优先级。
在与第2平面200-1对应的优先级框PB1中,计算电路300基于与高优先指令CMDx对应的信号HPRIO、及其它信号CMDRD-P1、ADR、BS、PRIO,将更新信号NxPRIO-P1的值决定为"3"。计算电路300将"3"的更新信号NxPRIO-P1经由选择器302供给至寄存器301。
寄存器301所保存的值通过与使用图13所说明的例子类似的相同的动作,从"0"变更成"3"。由此,在优先级框PB1中,寄存器301保存反映高优先指令CMDx(信号HPRIO)的"3"的优先级信号CrPRIO-P1。
在第2平面200-1的优先级框PB1中,寄存器301输出与"3"的值对应的优先级信号PRIO-P1。
这样的话,第2平面200-1的读出动作被设定为第1优先级的动作。
按照以上所述,在本实施方式中,以能够最优先执行针对第2平面200-1的动作的方式,控制针对各平面200的动作的优先级。
序列发生器51基于所设定的优先级,控制对应的平面200的动作。各平面200遵从序列发生器51的控制,执行指定动作。因为平面200的动作,平面200内会产生负载。
例如,在闪速存储器1中,存在如下情况,即,在读出动作中,产生消耗电流瞬间增大的期间。在读出动作时,选择平面200-1内的字线WL及位线BL会被充电。因为字线WL的充电及位线BL的充电,平面200内的消耗电流有可能增大。
本实施方式的闪速存储器中,在对应的平面200的负载(消耗电流及/或噪音)有可能增大的时点,序列发生器51将调停信号PWBS激活。序列发生器51输出被激活的信号(例如,"H"电平的信号)PWBS。该调停信号PWBS相对于各序列发生器51相互输入输出。
各序列发生器51通过多个优先级信号PRIO、及多个调停信号PWBS,控制对应的平面的动作。由此,各序列发生器51判断对应的平面的动作的继续或待机。
在状态STA23的期间(从时刻t23到时刻t24的期间)内,执行第2平面200-1的读出动作。平面200-1的读出动作在第1及第3平面200-0、200-2的读出动作开始后开始。
平面200-1的读出动作的优先级被设定为比平面200-0、200-2的动作的优先级高的值。
例如,在状态STA23的期间内,与第2平面200-1对应的序列发生器51-1对应于开始用来给字线或位线充电的控制的时点,将调停信号PWBS-P1激活。序列发生器51-1将调停信号PWBS-P1的信号电平从"L"电平变成"H"电平。
序列发生器51-1将"H"电平的调停信号PWBS-P1供给至与其它平面200-0、200-2、200-3对应的序列发生器51-0、51-2、51-3。由此,在各序列发生器51中,判断及执行第2平面200-1的动作与其它平面的动作的调停。
以下,更加具体地对基于多个平面的并发动作中的优先级的动作的控制进行说明。
例如,在与信号PWBS-P1的激活偶然相同的时点,于第1平面200-0中,将调停信号PWBS-P0激活。由此,"H"电平的信号PWBS-P0供给至多个序列发生器51。
在动作中,关于第2平面200-1的动作,将优先级框PB1的优先级设定为"3"(第1优先级),关于第1平面200-0的动作,将优先级框PB2的优先级设定为"2"(第2优先级)。
与第2平面200-1对应的序列发生器51-1检测"H"电平的调停信号PWBS-P0。在这里,序列发生器51-1通过优先级框PB的输出,辨识出了与"H"电平的调停信号PWBS-P0对应的平面200-0的动作的优先级低于自身负责的平面200-1的动作的优先级。
由此,序列发生器51-1无动作的待机或延迟地,执行第2平面200-1的读出动作。
对应于第2平面200-1内的字线/位线的充电,会产生电流Ib作为闪速存储器的消耗电流Ix。
序列发生器51-1在第2平面200-1内的字线/位线的充电完成的时点,使调停信号PWBS-P1的信号电平从"H"电平变迁至"L"电平。
另一方面,与第1平面200-0对应的序列发生器51-0检测来自与优先级较高("3")的平面200-1对应的序列发生器51-1的已被激活的调停信号PWBS-P1。第1平面200-0的动作的优先级信号PRIO-P0的值低于第2平面200-1的动作的优先级信号PRIO-P1的值。
由此,在序列发生器51-0判断出对应的第1平面200-0中的配线的充电时点有可能与第2平面200-1中的配线的充电时点重叠的情况下,序列发生器51-0临时停止第1平面200-0的读出动作,或放慢动作速度。
序列发生器51-0检测调停信号PWBS-P1从"H"电平变迁至"L"电平的动作,而执行第1平面200-0内的字线/位线的充电。对应于第1平面200-0内的字线/位线的充电,会产生电流Ic。
第1平面200-0中的电流Ic产生的时点移位至第2平面200-1中的电流Ib产生的时点之后。
结果,在并行执行的多个平面200的动作中,优先级较高的平面200-1的动作比优先级较低的平面200-0的动作先执行。
按照以上所述,基于优先级的调停,来控制用于各平面的动作的内部处理的时点,由此使平面内的负载(例如,电流)的产生时点得以分散。
例如,当像状态STA22的期间(从时刻t22到时刻t23的期间)内的第1或第3平面200-0、200-2的读出动作那样,在执行第2优先级的平面200-0的动作的期间内,未激活第1优先级的读出动作中的调停信号PWBS(未在多个平面同时产生电流)时,序列发生器51-1、51-3以继续对应的平面200-0、200-2的动作的方式,控制平面200-0、200-2的动作。
由此,在状态STA22的期间内,无平面200-0、200-0的动作的延迟地,在平面200-0、200-2的动作中的配线的充电时点,产生电流Ia。
此外,图16的虚线所示的电流Iz表示的是电流在多个平面内实质上同时产生的情况下的电流波形。例如,在电流Ib与电流Ic同时产生的情况下,电流Iz作为消耗电流Ix产生于闪速存储器1内。电流Iz的峰值高于各平面的单独的电流(例如,电流Ib)的峰值。
通过像本实施方式这样,使多个平面内的电流的产生时点分散,能够降低在闪速存储器内产生的消耗电流的峰值。
<时刻t24>
如图15所示,如果与"3"的优先级对应的平面200-1的读出动作结束,那么各平面200的优先级框PB的状态从状态STA23变成状态STA24。
如下所述,从状态STA23向状态STA24的变化是通过闪速存储器1的内部状态信号的变化而发生的。
如所述图14所示,例如,随着第2平面200-1的读出动作的结束,第2平面200-1的内部忙碌信号BS-P1的状态从激活状态("H"电平)变成未激活状态("L"电平)。
对优先级框PB1,供给自身的当前的优先级信号PRIO-P1、以及来自其它优先级框PB0、PB2、PB3的优先级信号PRIO-P0、PRIO-P2、PRIO-P3。
由此,通过使用这些信号的计算电路300的计算处理,第2平面200-1的优先级框PB1将优先级信号PRIO-P1的值从"3"变成"0"。
这样的话,像优先级框PB1那样,各优先级框PB能够一面监控与多个平面200的动作相关的优先级信号的设定状况,一面灵活地设定自身应该保存的优先级。
图19是用来说明本实施方式的闪速存储器的动作时的平面的动作的优先级的变化的图。在图19中,表示出了从图15的状态STA23向状态STA24变迁时的优先级框的动作及状态的变化。
如图19所示,在第1平面200-0的优先级框PB0中,计算电路300对应于随着平面200-1的动作的完成而发生的内部忙碌信号BS-P1从"H"电平向"L"电平的变化,输出"3"的更新信号NxPRIO-P0。
"3"的更新信号NxPRIO-P0经由选择器302,保存于寄存器301内。这样的话,在优先级框PB0中,寄存器301所保存的优先级上升。寄存器301输出"3"的优先级信号PRIO-P0。
通过与图19的动作相同的动作,第1及第3平面200-0、200-2的优先级框PB2的值也从"2"变成"3"。
以此方式,在此前一直最优先执行的平面200-1的动作结束后,第1及第3平面200-0、200-2的读出动作从第2位优先级的动作变更成最优先的动作。
<时刻t25>
如果第1平面200-0及第3平面200-2的读出动作结束,那么各平面的内部状态信号发生变化。
由此,在时刻t25,多个平面的状态如下所述,从状态STA24变成状态STA25。
图20是用来说明本实施方式的闪速存储器的动作时的平面的动作的优先级的变化的图。在图20中,表示出了从图15的状态STA24向状态STA25的变迁时的优先级框的动作及状态的变化。
如图20所示,在第1平面200-0的优先级框PB0中,计算电路300对应于内部忙碌信号BS-P0的从"H"电平向"L"电平的变化,输出"0"的更新信号NxPRIO-P0。
选择器302通过"1"的信号PCHG,将更新信号NxPRIO-P0输出至寄存器301。
寄存器301保存"0"的优先级CrPRIO-P0。寄存器301输出"0"的优先级信号CrPRIO-P0。
由此,表示第1平面200-0的动作完成。
通过与图20的动作相同的动作,第3平面200-2的优先级框PB2的值也从"3"变成"0"。
从各平面200-0、200-1、200-2读出的数据在指定时点,从闪速存储器1发送至存储器控制器5。如上所述,在发送数据时,闪速存储器1通过内部忙碌信号BS(或者,从内部忙碌信号BS产生的信号),可以将哪个平面200能够进行数据的读出(能够对哪个平面发布指令)经由端子RBnx,通知控制器5。伴随于此,就算在并发执行多个平面的读出动作的情况下,控制器5也能够识别出数据是来自哪个平面的数据。
此后,待命/忙碌信号RBnx的信号电平从"L"电平变成"H"电平。
按照以上所述,在本实施方式的闪速存储器的动作中,多个平面的动作完成。
此外,在本实施方式中,闪速存储器的动作中的各平面的状态
的内容可以通过图10A至图10C所示的多个方法的至少一种,随时输出。
如上所述,在本实施方式的闪速存储器中,多个平面的动作是基于根据供给来的指令CMDx及闪速存储器的动作状况对各平面设定的优先级(优先顺序),并行执行的。
在本实施方式中,多个平面的动作是基于优先级及调停信号,来控制正在执行的动作中的平面内的内部处理的执行的时点。
<总结>
在本实施方式的半导体存储器及存储器系统中,半导体存储器并行执行多个平面的动作。
在本实施方式中,对多个平面的动作设定动作的优先级(优先顺序)。本实施方式的半导体存储器优先执行被设定为较高的优先级的动作。
在本实施方式的半导体存储器中,当执行希望进行平面之间的动作的调停的动作时,表示调停的执行的调停信号相对于对应的平面而被激活。
在本实施方式中,基于优先级及调停信号来控制多个平面的动作顺序(时点)。
例如,存在如下案例,即,在并行执行多个平面的动作,且每一个平面各自独立执行动作的情况下,从因为动作而产生的负载的观点出发,在多个平面同时执行动作并非优选。
例如,在多个平面同时执行读出动作的情况下,有可能随着较大的消耗电流的产生而导致闪速存储器的内部电位下降。在这种情况下,闪速存储器的动作变得不稳定。
本实施方式的闪速存储器能够通过包含优先级框PB的优先级控制电路52,进行多个平面200的动作的调停,以避免内部电位下降这样的不良状况。
在基于调停信号检测出执行优先级较高的动作的平面中的配线的充电时点有可能与执行优先级较低的动作的平面中的充电时点重叠的情况下,半导体存储器将执行优先级较低的动作的平面中的配线的充电设定为等待状态(或缓行状态)。由此,在本实施方式中,闪速存储器内的控制电路优先执行执行优先级较高的动作的平面中的配线的充电。
因此,本实施方式的半导体存储器能够避免多个平面中的电流的产生时点重叠。所以,本实施方式的半导体存储器能够降低在多个平面的动作中产生的消耗电流的峰值。
结果,本实施方式的半导体存储器能够抑制较大的消耗电流的产生所引发的内部电位的降低。
因此,本实施方式的半导体存储器能够谋求动作的稳定化。
本实施方式的半导体存储器是基于优先级控制并行执行的多个平面的动作的时点。另外,本实施方式的半导体存储器中,在判断出正在执行优先级较高的动作的平面中的配线的充电(电流的产生)时点不与正在执行优先级较低的动作的平面中的充电时点重叠的情况下,优先级较低的动作能够先于优先级较高的动作而执行。
由此,本实施方式的半导体存储器及存储器系统能够避免存储器系统的动作的停滞,从而能够谋求动作的效率化。
综上所述,本实施方式的半导体存储器及存储器系统能够改善动作特性。
[2]第2实施方式
参照图21至图25,对第2实施方式的半导体存储器及存储器系统进行说明。
在本实施方式的半导体存储器及存储器系统中,存储器控制器能够任意设定各平面应该执行的动作的优先级(优先顺序)。由此,本实施方式的半导体存储器及存储器系统能够构成对于半导体存储器的动作的控制来说自由度更高的系统。
结果,本实施方式的半导体存储器及存储器系统能够提高存储器及系统的方便性。
如下所述,本实施方式的半导体存储器及存储器系统设定动作的优先顺序,而控制多个平面的并行动作。
(a)构成例
参照图21至图23,对本实施方式的半导体存储器(例如,闪速存储器)的构成例进行说明。
<序列控制电路>
图21是用来说明第2实施方式的闪速存储器的构成例的框图。在图21中,抽选图示出了本实施方式的闪速存储器的序列控制电路的主要部分。
如图21所示,在本实施方式的闪速存储器中,序列控制电路15还包含指令解码器57、及数据解码器58。
对指令解码器57及数据解码器58,供给来自输入缓冲器电路101的信号CNT、及来自输入缓冲器电路102的信号DIN。
指令解码器57输出信号PC。信号PC供给至优先级控制电路52。
信号PC是能够将指定平面的动作的优先级的值设定为被外部指示的值的控制信号。信号PC是根据来自存储器控制器5(或主机设备600)的指令而产生的。
数据解码器58输出信号PDT。信号PDT供给至优先级控制电路52中的多个优先级框PB。
信号PDT是作为I/O信号DIN从存储器控制器5发送至闪速存储器1的数据。信号PDT是表示被存储器控制器5(或主机设备600)命令的动作的优先级的信号(数据、信息)。
以下,将信号PDT称作优先级设定数据。
<优先级框>
图22是表示本实施方式的闪速存储器中的优先级控制电路52内的优先级框的构成例的一个例子的框图。在图22中,表示出来了与第1平面对应的优先级框PB0。但是,与其它平面对应的优先级框的内部构成与图22所示的构成实质上是相同的。
如图22所示,优先级设定数据PDT供给至优先级框PB的计算电路300。
信号PCHG对应于控制信号PC的激活,被优先级控制电路52从"0(L)"电平变迁至"1(H)"电平。
在各优先级框PB中,计算电路300进行使用优先级控制电路52中所输入的优先级设定数据PDT的计算处理。由此,计算电路300决定更新信号NxPRIO。
以此方式,在本实施方式的闪速存储器中,使更新信号NxPRIO
反映优先级设定数据PDT所表示的值。
在将"1"电平的信号PCHG供给至选择器302的情况下,计算电路300的输出信号经由选择器302,提取至寄存器301。
<指令协议>
图23是表示本实施方式的闪速存储器及存储器系统中的指令协议的图。
图23的(a)表示读出指令的指令协议。图23的(a)表示与图9的(a)相同的指令协议。
图23的(b)表示本实施方式的闪速存储器及存储器系统中所使用的指令协议。
如图23的(b)所示,优先级设定数据PDT伴有指令(图中的"YYh")CMDy地,从存储器控制器供给至闪速存储器1。
为了收发优先级设定数据PDT,而对优先级设定数据PDT附加指令CMDy。
指令CMDy是用来设定此后开始执行的动作的优先级、及/或变更正在执行的动作的优先级(优先顺序)的指令。以下,将指令CMDy称作优先级设定指令。
优先级变更指令CMDy输入至优先级控制电路52内的指令解码器57。指令解码器57对优先级变更指令CMDy进行解析。由此,产生指令解码器信号PC。结果,在优先级框PB中,设定为能够设定/变更优先级的状态。
在优先级设定指令CMDy及优先级设定数据PDT之后跟着指令CMD及地址ADR。在图23的(b)的指令协议中,优先级设定数据PDT之后的指令CMD及地址ADR是设定或变更优先级的平面的动作的指令及动作对象的地址。
例如,也可以为在通过优先级设定指令CMDy及优先级设定数据PDT,变更正在执行的动作的优先级时,重新发送指令CMD及地址ADR。
此外,也可以为优先级设定指令CMDy及优先级设定数据PDT包含与优先级的设定/变更的对象平面(及动作)相关的信息。在这种情况下,要变更与已经发送完毕的指令对应的动作的优先级时,也可以为不重新发送动作指令及地址,而只将优先级设定指令CMDy及优先级设定数据PDT从存储器控制器5发送至闪速存储器1。
与第1实施方式同样地,本实施方式的闪速存储器能够输出优先级。存储器控制器5基于从闪速存储器1输出的优先级,能够决定所要设定/变更的优先级的值。
(b)动作例
参照图24及图25,对本实施方式的闪速存储器及存储器系统的动作例进行说明。在这里,也适当参照图1至图22,对本实施方式的闪速存储器及存储器系统进行说明。
图24是用来说明本实施方式的闪速存储器的动作例中的多个平面的优先级的变化的图。在图24所示的例子中,对因为多个平面的同时动作而发生平面之间的动作的调停的案例进行说明。
图25是用来说明相对于本实施方式的闪速存储器的动作状况而发生的各种信号的变化的时序图。图25的横轴对应于时间。在图25中,表示出了I/O信号IOx、待命/忙碌信号RBnx、调停信号PWBS、及电流Ix。
在图24及图25所示的例子中,多个平面的读出动作是一面通过内部处理及来自外部(例如,存储器控制器)的指示被变更动作的优先顺序一面并行执行的。
在本实施方式中,按照以下的流程,来执行多个平面的动作。
在第1平面200-0的读出动作开始后,通过来自存储器控制器5的指示,以最高优先顺序执行第2平面200-1的读出动作。这时,正在执行的第1平面200-0的读出动作的优先顺序降低。
第2平面200-1的读出动作的优先顺序通过来自存储器控制器5的指示,被变更成最低优先顺序。
第3平面200-2的读出动作通过来自存储器控制器5的指示,被以最高优先顺序执行。
第1平面200-0的读出动作先行完成。其次,第3平面200-2的读出动作完成。最后,第2平面200-1的读出动作完成。
以下,更加具体地对本实施方式的存储器系统及闪速存储器的动作例进行说明。
<时刻t31>
如图24及图25所示,在时刻t31,闪速存储器1的各平面200中,各优先级框PB具有状态STA31。状态STA31是在闪速存储器1中开始各平面的动作(例如,读出动作)前的状态。
各平面200的优先级框PB的状态被设定为初始状态(尚未开始读出动作的状态)。
在各优先级框PB中,优先级信号PRIO的值被设定为"0"。
<时刻t32>
在时刻t32,通过指令(例如,读出指令)CMD的接收,优先级框的状态从状态STA31变成状态STA32。
图23的(a)所示的指令CMDa、CMDb、及地址ADR从存储器控制器5发送至闪速存储器1。
由此,在时刻t32,开始第1平面200-0的读出动作。
与所述图17的动作实质上同样地,在与第1平面200-0对应的优先级框PB0中,寄存器301所保存的优先级信号PRIO-P0的值从"0"变成"3"。
序列控制电路15将待命/忙碌信号RBnx的信号电平从"H"电平变成"L"电平。
<时刻t33>
在闪速存储器1接收到针对第1平面200-0的指令后,存储器控制器5将优先级设定指令CMDy、优先级设定数据PDT、指令CMDa、CMDb、及地址ADR发送至闪速存储器1。指令CMDy及优先级设定数据PDT在指令CMD及地址ADR之前发送。
闪速存储器1接收优先级设定指令CMDy、优先级设定数据PDT、指令CMD、及地址ADR。
以基于优先级设定指令CMDy及优先级设定数据PDT,设定第2平面200-1的动作的优先级的方式,变更各优先级框PB的状态。
在本例中,通过包含优先级设定指令CMDy及优先级设定数据PDT的指令协议,将第2平面200-1的动作的优先级设定为与优先级设定数据PDT对应的值。
优先级设定指令CMDy供给至闪速存储器1内的指令解码器57。指令解码器57对优先级设定指令CMDy进行解析。由此,信号PC被激活。
优先级设定数据PDT供给至数据解码器58。数据解码器58对供给来的优先级设定数据PDT进行解析。优先级设定数据PDT的解析结果作为用来计算更新信号NxPRIO的信号之一,供给至多个优先级框PB。
通过被激活的信号PC,优先级控制电路52及优先级框PB辨识出要将与连同供给来的指令CMDy一起接收到的指令对应的动作的优先级设定(变更)为基于优先级设定数据PDT的值。
通过使用优先级设定数据PDT的计算处理,决定更新信号NxPRIO的值。
例如,在图24及图25的例子中,优先级设定数据PDT被设定为与"3"的优先级对应的数据(值)。
在时刻t33,除了各种信号CMDRD、BS、PRIO以外,还将信号PC及优先级设定数据PDT供给至各优先级框PB。
各优先级框PB辨识出多个信号CMDRD、BS、PRIO、PC、及优先级设定数据PDT是针对第2平面200-1的优先级框PB1的信号。
由此,在优先级框PB1中,寄存器301内的优先级PRIO-P1基于信号从"0"变更成"3"。
另一方面,在第1平面200-0的优先级框PB0中,基于信号CMDRD、BS、PRIO、PC、及优先级设定数据PDT,通过与图18的动作类似的动作,寄存器301内的优先级信号PRIO-P0(CrPRIO-P0)从"3"降至"2"。
<时刻t34>
图24及图25的例子中,在闪速存储器1接收到针对第2平面200-1的指令后,存储器控制器5将针对其它平面的指令发送至闪速存储器1。
在这里,要变更正在第2平面200-1中执行的动作的优先级的情况下,存储器控制器5会在发送针对其它平面的指令(及地址)前,将针对正在执行动作的第2平面200-1的优先级设定指令CMDy及优先级设定数据PDT发送至闪速存储器1。
在时刻t34,通过包含优先级设定指令CMDy的指令协议的接收,闪速存储器1的各平面200的动作的优先级的状态从状态STA33变成状态STA34。
在本例中,基于包含优先级设定指令CMDy及优先级设定数据PDT的指令协议,变更第2平面200-1的动作的优先级。
如上所述,优先级设定指令CMDy的解析结果(信号PC)及优先级设定数据PDT的解析结果作为用来计算更新信号NxPRIO的信号,供给至多个优先级框PB。通过使用优先级设定数据PDT的计算处理,决定更新信号NxPRIO的值。
优先级框PB-P2基于计算处理的结果,将与优先级设定数据PDT对应的值变更成对应的值。
例如,将优先级设定数据PDT设定为与"1"的优先级对应的数据(值)。
由此,第2平面200-1的优先级信号PRIO-P1的值从"3"降至"1"。
在发送用来变更针对第2平面200-1的优先级的指令后,存储器控制器5将针对第3平面200-2的指令CMD及地址ADR发送至闪速存储器1。在这里,为了设定针对第3平面200-2的动作的优先级,而发送优先级设定指令CMDy及优先级设定数据PDT。通过优先级设定指令CMD及优先级设定数据PDT,以将第3平面200-2的读出动作设定为最优先顺序的方式,执行各平面200的动作的优先级的设定。
由此,第3平面200-2的优先级信号PRIO-P2的值被设定为"3"。
第1平面200-0的优先级信号PRIO-P0的值被维持为"2"。另外,第2平面200-1的优先级信号PRIO-P1的值被维持为"1"。
以此方式,在时刻t34,通过优先级设定指令CMDy及优先级设定数据PDT,将第2平面200-1的读出动作的优先级变更成比第1及第3平面200-0、200-2的读出动作的优先级低的优先级。
结果,在以优先执行第3平面200-2的读出动作的方式,将第3平面200-2的读出动作的优先级设定为最高值的状态下,开始第3平面200-2的读出动作。
像第1实施方式中所说明的那样,基于优先级信号PRIO及调停信号PWBS,以各平面200中的负载(电流及/或噪音)的产生时点不重叠的方式,比其它平面200的读出动作优先地执行针对第3平面200-2的读出动作。例如,在将优先级被设定为低于第3平面的动作的优先级的平面的动作设定为缓行状态或等待状态的状态下,执行第3平面200-2的读出动作。
由此,以多个平面200的负载的产生时点不重叠的方式,将执行优先级较低的动作的平面的负载的产生时点移位至执行优先级较高的动作的平面的负载的产生时点后。
此外,在存储器控制器5发送优先级设定指令CMDy的情况下,例如,也可以为在发送优先级设定指令CMDy及优先级设定数据PDT前,通过图10A至图10C的优先级输出指令,将闪速存储器1内的各平面的优先级输出至存储器控制器5。由此,基于所输出的优先级,存储器控制器5能够适当控制优先级设定数据PDT的值。
<时刻t35>
在时刻t35,各平面200的动作的状态从状态STA34变成状态STA35。
在未发生调停所致的内部处理的移位的情况下,优先级较低的动作有可能在优先级较高的动作之前结束。
例如,在从时刻t34到时刻t35的期间内,第1平面200-0的第2优先级的读出动作结束。
由此,第1平面200-0的内部忙碌信号BS-P0被去激活。"L"电平的内部忙碌信号BS-P0供给至各优先级框PB。第1平面200-0的优先级框PB0中所保存的优先级信号PRIO-P0从"2"变成"0"。
随着第1平面200-0的动作的完成,基于"L"电平的内部忙碌信号BS-P0,第2平面200-1的动作的优先级从"1"升至"2"。此外,在本例中,第2平面200-1的动作的优先级也可以维持为"1"的值。
另外,第3平面200-2的动作是与第2平面200-1的动作并行执行的。
例如,通过与第3平面200-2相关的"H"电平的调停信号PWBS-P2的检测,序列发生器51-1、51-2基于优先级信号PRIO,以第2平面200-1中的电流的产生时点移位至第3平面200-2中的电流的产生时点之后的方式,优先级控制对应的平面200-1、200-2的动作时点。
以此方式,调停多个平面200的动作,以优先执行具有较高的优先级的平面200-2的动作。
由此,在闪速存储器1内,平面200的电流的产生时点得以分散。
按照以上所述,第3平面200-2的读出动作完成。
<时刻t36>
在时刻t36,各平面的动作的状态如下所述,从状态STA35变成状态STA36。
如果第3平面200-2的读出动作完成,那么优先级框的状态从状态STA35变成状态STA36。
内部忙碌信号BS-P2被去激活。"L"电平的内部忙碌信号BS-P2被供给至各优先级框PB。
通过读出动作的结束,第3平面200-2的优先级框PB2内所保存的值从"3"变成"0"。
结果,在闪速存储器1中,成为第2平面200-1的未完成的读出动作正在单独执行的状态。
因此,第2平面200-1的优先级框PB内所保存的优先级从"2"变成"3"。此外,本例中,在从多个平面的并发动作转变成1个平面的单独动作的情况下,第2平面200-1的优先级框PB1内所保存的优先级的值也可以不变。
<时刻t37>
在时刻t37,第2平面200-1的读出动作完成。通过读出动作的结束,第2平面P1的优先级框PB内所保存的值PRIO-P1从"3"变成"0"。
由此,各平面的动作的状态从状态STA36变成状态STA37。
结果,闪速存储器1内的所有平面200成为未执行动作(例如,读出动作)的状态。
此外,如上所述,从平面200读出的数据在合适的时点从闪速存储器1发送至存储器控制器5。与所述实施方式同样地,为了将能否从平面200读出数据(能否发布新的指令)这个消息通知存储器控制器5,内部忙碌信号(或从内部忙碌信号产生的信号)也可以经由端子RBnx从闪速存储器1发送至存储器控制器5。
按照以上所述,本实施方式的闪速存储器中的多个平面的并发动作结束。
此外,在本实施方式中,闪速存储器的动作中的各平面的状态
的内容可以通过图10A至图10C所示的多种方法中的至少一种,随时输出。
在本实施方式的闪速存储器及存储器系统中,包含高优先指令CMDx的指令协议与包含优先级设定指令CMDy的指令协议可以并用。
<总结>
像本实施方式这样,通过来自存储器控制器的指令,能够从闪速存储器1的外部变更平面的动作的优先级。
由此,本实施方式的半导体存储器及存储器系统能够提高动作的自由度。
另外,本实施方式的半导体存储器及存储器系统能够灵活地应对连接于半导体存储器的设备的动作状况及要求。
因此,本实施方式的半导体存储器及存储器系统能够提高系统的管理/运用的自由度。
综上所述,本实施方式的半导体存储器及存储器系统能够改善动作特性。
[3]第3实施方式
对第3实施方式的半导体存储器及存储器系统进行说明。
作为所述实施方式的半导体存储器及存储器系统的动作例,表示出了闪速存储器的读出动作的执行例。
闪速存储器执行的动作也可以是状态读出。
状态读出是将表示在闪速存储器内执行的动作(读出、写入、及删除)成功与否的状态信息从闪速存储器传输至存储器控制器的动作。由此,存储器控制器能够确认闪速存储器内的动作成功与否。
在所述实施方式中执行的各平面的动作并不限于读出动作,也可以是写入动作或删除动作。
本实施方式中,在各平面并行执行的动作并不限于相同动作,也可以为读出动作、写入动作、及删除动作混合存在。
[4]其它
作为本实施方式的半导体存储器,例示出了闪速存储器。
但是,本实施方式的存储器只要是具有多个平面(能够并发动作的控制单位)的存储器装置就行。
例如,本实施方式的存储器装置(半导体存储器)也可以是ReRAM(ResistiveRandom Access Memory,电阻随机存取存储器)、MRAM(Magnetic Random Access Memory,磁阻随机存取存储器)、DRAM或SRAM。
对本发明的若干实施方式进行了说明,但这些实施方式仅作为示例而提出,并非意图限定发明的范围。这些新颖的实施方式能够以其它各种实施方式来实施,可以在不脱离发明主旨的范围内,进行各种省略、替换、变更。这些实施方式及其变化包含在发明的范围及主旨中,并且包含在权利要求书所记载的发明及其均等的范围内。
[符号的说明]
1:闪速存储器
5:存储器控制器
15:序列控制电路
51:序列发生器
52:优先级控制电路
PB:优先级框
200:平面