专利名称:控制非易失性存储器的方法
技术领域:
本发明涉及一种非易失性存储器系统及非易失性存储器系统的数据读/写方法, 该存储器系统包括非易失性存储器和可操作来执行该存储器的读/写控制的存储器控制ο背景技术
已知与非(NAND)型闪速存储器作为电可擦可编程非易失性半导体存储器 (EEPROM)的一种。与或非(NOR)型相比,与非(NAND)型闪速存储器的单位单元面积更小, 且易于实现大容量存储。尽管可以扩大对于在单元阵列和页缓冲器之间同时地执行读/写是有效的单元范围(物理页长度,以基本实现快速的读/写,但是与或非(NOR)型相比,每单元读/写速度较慢。
随着这种性能的有效使用,在多种记录介质中,包括文件存储器和存储卡中,已采用与非(NAND)型闪速存储器。
在存储卡等中,非易失性存储器和存储器控制器被封装在一起,以根据从主机馈送的命令和逻辑地址,执行非易失性存储器的读/写控制。例如,(JP2006/155335A)提出了,从主机馈送逻辑地址和扇区计数(sector count),以从多个扇区读取数据。发明内容
在一个方面,本发明提供一种可连接到主机设备的非易失性存储器系统。该系统包括具有多个数据区的非易失性存储器;以及可操作来控制对非易失性存储器的读取和写入的存储器控制器。该存储器控制器根据从主机设备馈送的命令、扇区计数和扇区地址, 对非易失性存储器中的所选数据区内的多个扇区连续地执行读/写。
在一个方面,本发明提供一种用于可连接到主机设备的非易失性存储器系统的数据读/写方法。该系统包括具有多个数据区的非易失性存储器和可操作来控制对非易失性存储器的读和写操作的存储器控制器。该方法包括提供来自主机设备的命令、扇区计数和扇区地址;以及在存储器控制器的控制下,根据命令、扇区计数和扇区地址,对非易失性存储器中的所选数据区内的多个扇区连续地执行读/写。
在另一个方面,本发明提供一种控制非易失性存储器的方法,包括在命令锁存使能信号(CLE)被置为有效的情况下将第一命令输入所述非易失性存储器;在输入第一命令之后,在地址锁存使能信号(ALE)被置为有效的情况下将数据传送量输入所述非易失性存储器;在输入所述数据传送量之后,在命令锁存使能信号(CLE)被置为有效的情况下将第二命令输入所述非易失性存储器。
图1是说明根据本发明实施例的LBA-NAND存储器系统结构的视图。
图2是说明LBA-NAND存储器的功能块的视图。
图3是说明LBA-NAND存储器中的存储器单元阵列结构的视图。
图4是说明LBA-NAND存储器的管脚布置的视图。
图5是说明LBA-NAND存储器的管脚名称与功能的视图。
图6是说明LBA-NAND存储器中记录的系统数据的视图。
图7是说明LBA-NAND存储器的操作模式以及命令的视图。
图8是说明LBA-NAND存储器的操作模式当中的切换的例子的视图。
图9是说明LBA-NAND存储器的操作模式当中的切换的另一例子的视图。
图10是说明LBA-NAND存储器中的数据结构的视图。
图IlA是说明用于LBA-NAND存储器的命令结构的视图(部分1)。
图IlB是说明用于LBA-NAND存储器的命令结构的视图(部分2)。
图IlC是说明用于LBA-NAND存储器的命令结构的视图(部分3)。
图IlD是说明用于LBA-NAND存储器的命令结构的视图(部分4)。
图IlE是说明用于LBA-NAND存储器的命令结构的视图(部分5)。
图IlF是说明用于LBA-NAND存储器的命令结构的视图(部分6)。
图IlG是说明用于LBA-NAND存储器的命令结构的视图(部分7)。
图IlH是说明用于LBA-NAND存储器的命令结构的视图(部分8)。
图IlI是说明用于LBA-NAND存储器的命令结构的视图(部分9)。
图IlJ是说明用于LBA-NAND存储器的命令结构的视图(部分10)。
图12是用于LBA-NAND存储器的命令列表。
图13是说明对LBA-NAND存储器的各种信号的锁存时序的图。
图14是说明以同样方式的命令输入周期(cycle)时序图。
图15是说明以同样方式的用于节能模式的命令输入周期时序的图。
图16是说明以同样方式的在数据读取之后的命令输入时序的图。
图17是说明以同样方式的地址输入周期时序的图。
图18是说明以同样方式的用于峰值电流减小模式的地址输入周期时序的图。
图19是说明以同样方式的数据输入时序的图。
图20是说明以同样方式的串行读取时序的图。
图21是说明以同样方式的状态读取时序的图。
图22是以同样方式的读取周期时序的图。
图23是说明以同样方式的串行-EEP模式建立(set-up)时序的图。
图M是说明使用公共管脚从PNR模式和串行-EEP模式中选择的例子视图。
图25是具有错误检查的PNR模式中的时序图(1_1)。
图沈是具有错误检查的PNR模式中的时序图(1-2)。
图27是具有错误检查的PNR模式中的时序图(1_3)。
图28是具有错误检查的PNR模式中的时序图(1_4)。
图29是具有错误检查的PNR模式中的时序图(1-5)。
图30是PNR模式的流程图。
图31是缺省类型的MDA模式中的读访问的时序图(在1个扇区的情况下)。
图32是缺省类型的MDA模式中的读访问的时序图(在256个扇区的情况下)。
图33是缺省类型的MDA模式中的读访问的时序图(在64K个扇区的情况下)。
图34是在要使用终止命令中断的MDA模式中的读时序图。
图35是具有重传请求的MDA模式中的读时序图。
图36是在输入终止命令之后重起动新的序列时的时序图。
图37是可选读类型B(I)的MDA模式中的读访问的时序图。
图38是可选读类型B(2)的MDA模式中的读访问的时序图。
图39是可选读类型B(3)的MDA模式中的读访问的时序图。
图40是可选读类型B(4)的MDA模式中的读访问的时序图。
图41是可选读类型C(I)的MDA模式中的读访问的时序图。
图42是可选读类型C(2)的MDA模式中的读访问的时序图。
图43是可选读类型C(3)的MDA模式中的读访问的时序图。
图44是可选读类型C(4)的MDA模式中的读访问的时序图。
图45是当发生非法访问(情况1)时MDA模式中的读时序图。
图46是当发生非法访问(情况2)时MDA模式中的读时序图。
图47是MDA模式中的写访问的时序图(在1个扇区的情况下)。
图48是MDA模式中的写访问的时序图(在256个扇区的情况下)。
图49是MDA模式中的写访问的时序图(在64K个扇区的情况下)。
图50是在要使用终止命令中断的MDA模式中的写访问的时序图。
图51是具有数据重传的MDA模式中的写访问的时序图。
图52是说明关于MDA模式写的写错误类型的视图。
图53是可选写类型的MDA模式写的时序图。
图54是当发生非法访问(情况1)时的MDA模式写的时序图。
图55是当发生非法访问(情况2)时的MDA模式写的时序图。
图56是缺省类型的PNA模式中的读访问的时序图。
图57是在要使用终止命令中断的PNA模式中的读访问的时序图。
图58是具有重读的PNA模式中的读访问的时序图。
图59是可选读类型B(I)的PNA模式中的读访问的时序图。
图60是可选读类型B(2)的PNA模式中的读访问的时序图。
图61是可选读类型B(3)的PNA模式中的读访问的时序图。
图62是可选读类型B(4)的PNA模式中的读访问的时序图。
图63是可选读类型C(I)的PNA模式中的读访问的时序图。
图64是可选读类型C(2)的PNA模式中的读访问的时序图。
图65是可选读类型C(3)的PNA模式中的读访问的时序图。
图66是PNA模式中的读访问的时序图。
图67是在要使用终止命令中断的PNA模式中的写访问的时序图。6
图68是关于与传送错误相关联的数据重传的PNA模式中的写访问的时序图。
图69是可选写类型的PNA模式中的写访问的时序图。
图70是缺省写类型的VFA模式中的写访问的时序图。
图71是在要使用终止命令中断的VFA模式中的读时序图。
图72是用于重读的VFA模式中的读访问的时序图。
图73是可选读类型B(I)的VFA模式中的读访问的时序图。
图74是可选读类型W2)的VFA模式中的读访问的时序图。
图75是可选读类型B(3)的VFA模式中的读访问的时序图。
图76是可选读类型B(4)的VFA模式中的读访问的时序图。
图77是可选读类型C(I)的VFA模式中的读访问的时序图。
图78是可选读类型以2)的VFA模式中的读访问的时序图。
图79是可选读类型C(3)的VFA模式中的读访问的时序图。
图80是VFA模式中的写访问的时序图(1个扇区)。
图81是VFA模式中的写访问的时序图Q56个扇区)。
图82是在要使用终止命令中断的VFA模式中的写访问的时序图。
图83是具有错误恢复的VFA模式中的写访问的时序图。
图84是可选写类型的VFA模式中的写访问的时序图。
图85是包括错误处理的PNR模式中的流程视图。
图86是说明在读访问时包括错误处理的PNR、VFA、MDA模式中的流程的视图。
图87是说明在写访问时包括错误处理的PNR、VFA、MDA模式中的流程的视图。
图88是执行用于将特定模式改变到MDA模式的改变命令的时序图。
图89是执行用于将特定模式改变到PNA模式的改变命令的时序图。
图90是执行用于将特定模式改变到VFA模式的改变命令的时序图。
图91是NOP命令的注册(registration)的时序图。
图92是另一 NOP命令的注册的时序图。
图93是与固件重加载命令相关的操作的时序图。
图94是繁忙/就绪改变命令的时序图。
图95是ID读命令的时序图。
图96是状态读命令的时序图。
图97是密码设置命令的时序图。
图98是VFA单元设置命令的时序图。
图99是固件更新执行命令的时序图。
图100是地址复位命令的时序图。
图101是固件重加载命令的时序图。
图102是读/写终止命令的时序图。
图103是固件更新发送命令的时序图。
图104是说明主机I/O和LBA-NAND存储器内部操作之间关系的视图。
图105是说明固件更新中的错误处理流程的视图。
图106是数据刷新执行命令的时序图。
图07是MDA区擦除命令的时序图。
图08是闪存高速缓存(flash cache)执行命令的时序图。
图09是传送协议设置命令的时序图。
图10是最小繁忙时间设置命令的时序图。
图11是节能模式设置命令的时序图。
图12是应用了节能模式设置命令的读时序图。
图13是应用了节能模式设置命令的命令锁存时序图。
图14是节能模式退出命令的时序图。
图15是地址信息获取命令的时序图。
图16是最大容量信息获取命令的时序图。
图17是管脚信息获取命令的时序图。
图18是与读重试命令相关的读时序图。
图19是伴随有状态信息读取的扇区读类型A的时序图。
图20是伴随有状态信息读取的扇区读类型B的时序图。
图21是伴随有状态信息读取的扇区读类型C的时序图。
图22是伴随有状态信息读取的扇区写类型A的时序图。
图23是伴随有状态信息读取的扇区写类型B的时序图。
图24是用于说明PNR模式下的状态信息读取操作的图形。
图25是用于说明VFA/MDA模式下的状态信息读取操作的图形。
图26是用于说明启动(boot)代码维护模式下的状态信息读取操作的图形。
图27是共同地示出了 LBA-NAND存储器的每种操作模式和波-模(wave-mode)切换的图形。
具体实施方式
现在将参考附图描述本发明的实施例。
[存储器系统概述]
本实施例的非易失性存储器系统用存储模块来配置,该存储模块包括一个或多个NAND型闪速存储器,以及可操作来执行存储器的读/写控制的存储器控制器。所有安装的闪速存储器可以由单个存储器控制器控制作为逻辑存储器,这在下面称为逻辑块地址 (Logical Block Address) NAND闪速存储器(下面缩写为LBA-NAND存储器)。
LBA-NAND存储器具有可根据命令改变的多个数据区(逻辑块访问区)。具体地, 本实施例包括以下三个数据区,该三个数据区基于数据的用途和可靠性来划分。
(1)用于厂商(vender)应用的程序区“厂商应用程序固件区”,下面称为“VFA”区。
(2)用于最终用户应用的程序区,“音乐数据区”,下面称为“MDA”区。
(3)用于记录主机系统的启动数据的系统数据记录区,除VFA和MDA区外的“纯 NAND区”,下面称为“PNA”区。
PNA区被给予普通访问模式,用于根据输入命令和地址执行读/写操作(下面称为 “PNA”模式),以及附加地在通电(power-on)时设置的两种只读模式。
一种模式是通电之后用第一 PNA读模式命令的输入设置的读模式。这在下面称为8“ PNR (纯NAND读取)”模式。
另一种模式是通电之后用第二 PNA读模式命令的输入设置的读模式,用于与外部时钟同步地在SPI (串行外围接口)模式中的串行读取。下面该模式被称为“串行-EEP”模式。
对于读取对LBA-NAND存储器的读/写操作所需的系统数据和从LBA-NAND存储器读取主机本身的启动数据,这两种读模式是相同的。因此,PNR模式可以被解释为在广义上包含这两种模式,而串行-EEP模式可以被认为是PNR模式当中的特定模式。
在通电之后自动地执行的初始化操作(通电初始建立操作)中,从闪速存储器自动地读出存储器控制器所需的系统数据(固件FW)和启动数据,并传送到数据寄存器(缓冲器RAM)。例如,在存储器控制器中制备的硬件序列发生器上,执行该读控制。
当通电之后流逝一定的时间主机输入命令时,建立PNR模式或串行-EEP模式,以读出设置在LBA-NAND存储器的数据寄存器中的系统数据。可以在数据被读到主机中的PNR 区中之后(或与此并行地),启动存储器控制器。
除了在通电时用于PNR区的读模式以外,还可以根据命令建立用于对PNA、MDA和 VFA区的读和写访问的模式。下面,这些模式被称为PNA访问模式、MDA访问模式和VFA访问模式。
在应用程序区中,或者VFA和MDA区中,读/写访问的数据传送单元是扇区(512 字节或5 字节),数据传送格式是SSFDC(固态软盘卡)格式。LBA-NAND存储器使用扇区倍数来选择使用访问命令时可访问的扇区数目。例如,用户可以在1、4和8的扇区倍数当中来选择。
扇区计数(sector count)的使用允许每一个命令访问许多连续的扇区。总而言之,与该命令一起,主机设备提供表示数据量的扇区计数和扇区地址(逻辑地址)初始值, 以便可以从由此限定的多个扇区连续地读取数据,或将数据连续地写入由此限定的多个扇区。
具体地,地址输入由5个字节构成,其中前半部分,2字节被分配给扇区计数,而后半部分,3个字节被分配给扇区地址。该访问模式允许使用地址条件ID命令识别扇区计数和扇区地址。地址输入的字节数可扩展。
为了改变LBA-NAND存储器的模式,输入模式改变命令。总而言之,利用特定的命令的输入,通电时的PNR模式或串行-EEP模式被改变为MDA访问模式。此外,特定的改变命令的输入使得在PNR模式、VFA访问模式和MDA访问模式当中改变。
在存储器控制器处产生内部芯片使能信号/CE。使用该信号控制每个闪速存储器检查。
LBA-NAND存储器的擦除命令和复位命令是NOP。在发出该命令时,该控制什么都不执行,并将就绪(Ready)返回到主机。
[LBA-NAND 存储器结构]
图1示出了根据一实施例的非易失性存储器系统或LBA-NAND存储器20的结构。 该存储器20包括NAND型闪速存储器芯片21和可操作来执行用于存储器的读/写控制的存储器控制器22,两者被一体地封装。
闪速存储器芯片21可以包括多个存储器芯片。图1示出了两个存储器芯片,芯片1、芯片2,在此情况下,这两个存储器芯片也可以由单个存储器控制器22控制。存储器芯片的最大可安装数目可以根据调节器(regulator)的电流能力及其他因素决定,例如,可以是4个芯片。
存储器控制器22是单芯片式控制器,其包括用于处理到闪速存储器芯片21/来自闪速存储器芯片21的数据传送的NAND闪存接口 23 ;用于处理到主机设备/来自主机设备的数据传送的主机接口 25 ;可操作来临时地保持读/写数据等的缓冲器RAM 26 ;用来执行数据传送控制的MPU 24;以及用于NAND型闪速存储器21中的固件(FW)的读/写序列控制等的硬件序列发生器27。
对于该LBA-NAND存储器系统来说,由不同的芯片构成存储器芯片21和存储器控制器22不是必需的。图2示出了图1的LBA-NAND存储器20的功能块结构,其中存储器控制器22和存储器芯片21的逻辑控制看起来在一起。图3示出了其存储器核心的单元阵列结构。
存储器单元阵列1包括多个串联连接的电可擦可编程非易失性半导体存储器单元(在所示的例子中,32个存储器单元)M0-M31,以形成如图3所示排列的多个NAND基本单元(NAND串)NU中的一个。
NAND基本单元NU具有经由选择栅极晶体管(selection gate transistor) Sl连接到位线BLo、BLe的一端和经由选择栅极晶体管S2连接到公共源极线CELSRC的另一端。 存储器单元M0-M31具有分别连接到字线Wi)-WL31的控制栅。选择栅极晶体管S1、S2具有连接到选择栅极线S⑶、SGS的栅极。
沿字线排列的一组NAND基本单元构成数据擦除最小单元或块,并且沿位线布置多个这种块BLKO-BLKn-I,如图所示。
在位线BLo、BLe的一端布置感测放大器电路3,以服务单元数据读和写操作。在字线的一端布置行解码器2,以有选择地驱动字线和选择栅极线。在所示的情况下,偶数位线BLe和相邻的奇数位线BLo通过位线选择器有选择地连接到感测放大器电路3中的每个感测放大器SA。
通过输入控制器13输入命令、地址和数据。芯片使能信号/CE、写使能信号/WE、 读使能信号/RE及其他外部控制信号被输入到逻辑电路14中,以用于时序控制。在命令解码器8处将命令解码。
控制器6可操作来执行数据传送的控制和写/擦除/读的序列控制。状态寄存器 11可操作来向就绪/繁忙端子提供LBA-NAND存储器20的就绪/繁忙状态。除此以外,状态寄存器12被制备来经由1/0端口将存储器20的状态(通过/失败,就绪/繁忙等)通知主机。
地址经由地址寄存器5传送到行解码器2 (包括预行解码器加和主行解码器2b) 和列解码器4。写数据经由1/0控制电路7和经由控制电路6加载到感测放大器电路3(包括感测放大器3a和数据寄存器北)中。读数据被经由控制电路6和1/0控制电路7提供到外部。
为了根据不同的操作模式产生所需的高电压,提供高压发生器10。高压发生器10 基于从控制电路6给出的指令,产生一定的高电压。
图4示出了该实施例的LBA-NAND存储器中的封装管脚布置,以及图5概要示出了管脚名称和功能。为了比较,这些图示出了常规NAND型闪速存储器SLC大区块 (Large Block))中的封装管脚布置。
输入/输出端口 I/01-I/08被用于以字节为基础的命令、地址和数据的输入/输出。外部控制信号端子可以包括用于芯片使能信号/CE、写使能信号/WE、读使能信号/RE、 命令锁存使能信号CLE、以及地址锁存使能信号ALE的端子。
I/O信号是地址、数据或命令信号。命令锁存使能(CLE)信号是用于控制LBA-NAND 存储器中取(taking)操作命令的信号。当响应于写使能(/WE)信号的上升或下降,该信号被设置为“高(H)”电平时,在LBA-NAND存储器中可以取输入/输出端口 I/00-I/07上的数据作为命令数据。
地址锁存使能(ALE)信号是用于控制在LBA-NAND存储器中取地址数据的信号。当响应于写使能(/WE)信号的上升或下降,该信号被设置为“高”电平时,在LBA-NAND存储器中可以取输入/输出端口 I/00-I/07上的数据作为地址数据。
芯片使能(/CE)信号是设备选择信号,以及当在就绪状态中设为“高”电平时,该信号建立低功率待机模式。
写使能(/WE)信号是用于将数据从输入/输出端口 I/00-I/07取到设备中的信号。
读使能(/RE)信号是用于允许输入/输出端口 I/00-I/07串行提供数据到外部的信号。
从主机设备看时,该实施例的存储器具有与常规NAND型闪速存储器相同的信号端子布置,以及作为一种特性,其可以象常规NAND型闪速存储器一样被处理。换句话说,图 1所示的主机接口 25具有等同于NAND闪存接口 23的电气结构。
因此,除了从主机提供的地址不是NAND型闪速存储器21上的物理地址而是逻辑地址之外,它可以象常规NAND型闪速存储器一样被处理。在MPU M处从主机提供的逻辑地址经受地址转换,以访问NAND型闪速存储器21。
“DATA”和“CLK”是串行-EEP模式中用于LBA-NAND存储器20的操作的数据和时钟端子,以及“/HOLD”是其暂停端子。
定制控制管脚“C0M0”、“C0M1”和“COME”被制备用于关于设备的当前信息的请求和关于特殊的数据输入/输出的请求。
图6示出了将被记录在PNA区中的主机系统的系统数据(包括启动数据)的记录状态。该系统数据被记录在闪速存储器芯片21中的引导块BLKO中。该系统数据被要求具有高可靠性,且因此特别给出以下考虑。
在块中的字线mi)-WL31当中,至少在两端的字线WL0、WL31不被采用,因为邻近于选择栅极晶体管的单元具有比其他单元更大的写干扰。替换地,通过每隔一行或每隔几行使用字线,可以保证高得多的数据可靠性。
该单元阵列具有多个同时读/写范围,诸如,使用偶数位线BLe和一个字线选择的偶数页和使用奇数位线BLo和一个字线选择的奇数页。该系统数据仅仅被记录在这些页之一中(在该例子中,偶数页)。每隔几行使用位线对于进一步增强可靠性也是有效的。
因为最小工艺尺寸(设计规则)被制作较小,相邻单元之间的干扰引起较大的数据波动。因此,该实施例通过仅仅使用偶数页或奇数页,保证系统数据的可靠性。
例如,如果LBA-NAND存储器是能在一个存储器单元中储存2位G个值)数据的多值存储器,则2个页地址,或较上页和较下页(lower page),被分配给该2位。即使当 LBA-NAND存储器用来以此方式存储多个值时,对于要求具有更高可靠性的系统数据部分也优选应用仅仅使用较下页的二进制存储方案。
如图6所示,仅仅偶数页的较下页被用于系统数据部分。
以包括冗余区的数据的形式,执行串行-EEP模式中的系统数据的输出。如果在读取时发生某些符号(symbol)的数据错误,那么用备用块来替换该数据。如果发生8个或更多个符号的数据错误,那么照原样输出未纠正的数据,并就该状态显示读错误。
[系统概述和模式改变]
图7概括地示出了 LBA-NAND存储器的系统概述。如上所述,该存储器具有三个数据区,或PNA、VFA和MDA区,以及附加地具有控制器系统区。该控制器系统区是其中存储 LBA-NAND存储器中的存储器控制器的固件(FW)的区域。
作为“纯NAND”模式,有PNR模式,该PNR模式是在通电时建立的用于PNA区的读模式。使用命令<00h>-<Add>-<30h>建立PNR模式。在此情况下,地址<Add>是虚地址。
在该例子中,命令中的<h>表示十六进制数。实际上,将8位信号“00000000”并行给到8输入/输出端口 1/00-107。
“LBA-NAND”模式的例子包括分别用于对PNA、VFA和MDA区进行读/写访问的PNA 访问模式、VFA访问模式和MDA访问模式。
利用多个命令,执行在PNR模式、PNA访问模式、VFA访问模式和MDA访问模式之间改变。图8和9示出了两种模式变化视图。
如图8所示,禾Ij用COME = “L,,(或COME =“H,,)禾口 PNR模式命令 <00h>-<Add>-<30h>,在通电之后建立PNR模式。在完成PNR模式中作业之后,命令<FCh> 的输入导致到MDA访问模式的转变。
此后,改变命令的输入使得可以在访问模式PNA-MDA-VFA当中变化。
如图9所示,利用COME = “H”,C0M0 = “H”和COMl = “L”,在通电之后建立串行-EEP模式。串行-EEP模式是其中PNR中可读的数据也通过串行EEP接口提供到外部的模式。作为串行EEP接口,可以采用SPI接口。
同样在此情况下,在完成作业之后,命令<FCh>的输入导致到MDA访问模式的转变。此后,改变命令的输入使得可以在访问模式pna-MDA-VFA当中改变。
[数据结构]
图10示出了不同的数据区中的数据结构。
对于读和写两者,PNA区中的数据被给予2112字节(2048字节+64字节)的传送单元。当各项数据被串行输出时,以扇区(=2112字节)为基础,从第一扇区到第256扇区,连续地提供它们,导致总共512KB( = 540,6278字节)。
在1的扇区倍数(SM = 1)的情况下,VFA和MDA区被给予总共5 字节的传送单元,包括以所示数据格式的512字节(数据体)和16字节(冗余数据),以用于读和写。在写入时在主机设备中产生CRC数据和ECC数据,而在读取时在LBA-NAND存储器的存储器控制器中产生CRC数据和ECC数据。
在NAND型闪速存储器中存储512字节的一部分。在传送的数据中,仅仅数据体被12写入。实际上,在闪速存储器中删除了扩展的16字节,以及根据写数据产生ECC码,并与写数据一起存储。
在写入的时候,在LBA-NAND存储器的存储器控制器中利用6字节的ECC数据检查传送的数据的正确性,以及在读取的时候,在主机系统中利用6字节的ECC数据检查传送的数据的正确性。
除16字节的冗余数据外,也可以用512字节的传送单元执行读/写操作。这些可以使用用于指令数据结构的修改或变化的配置命令来改变和设置。
SM = 4或8的扇区倍数导致2KB或4KB的数据传送单元。这些通过重复SM = 1 数据格式四次或八次来产生。
在从主机更新控制器的固件(FW)的模式中,用如图所示的5 字节的传送单元执行写数据传送。VFA区具有8MB的默认数据大小,和具有可利用调整大小命令修改的以及以 256KB的容量修改单元可选择至32MB的容量。要存储的数据仅仅包括数据体,而冗余区数据不存储。在数据写入时输入的ECC码仅用于传送数据的标识,以及当发生一位错误时被纠正。
按以下的命令序列设置调整大小/密码。
调整大小:<00h>-<Config:A5>_< 新值1 字节 >-< 虚3 字节 >-<57h>
密码改变:<00h>-<Config11>-< 旧的 PW(密码)2 字节 >-
(新的PW 2 字节 >-<57h>
根据VFA区容量的增加或减小,MDA区的容量相应地减小或增加。MDA访问模式中的输出格式是+16字节的SSFDC模式。在扩展的16字节中,有效数据仅仅是6字节的ECC 数据,而其他数据被忽略/无效。
[命令结构]
图11A-11J示出了不同的操作模式中的命令结构。在这些图中, 表示到 LBA-NAND存储器的输入,以及[]表示来自LBA-NAND存储器的输出。此外,(B2R)表示繁忙 /就绪信号RY/BY进行到繁忙的转变,然后返回到就绪。
PNR模式是这样的一种读模式,其不需要地址输入,且地址被输入作为虚的 (dummy)(图IlA中的命令1)。在该PNR模式中,用2112字节的单元从逻辑地址LBA = 0 起连续地读出数据。
以如下的命令序列对于多个扇区连续地执行MDA访问模式中的读/写,在所述命令序列中,在命令之后,输入扇区计数<SC>和扇区地址(初始值)<SA> (图1IA中的命令 2)。
读
(l)<00h>-(SC :2 字节)_(SA :3 字节)-<30h>-(B2R)-[数据]_· · · <00h>-(虚 Add)-<30h>-[数据]...;或
(2)<00h>-(SC 2 字节)-(SA 3 字节)-<30h>-(B2R)-[数据]-<F8h>-(B2R)-[数据]…;或
(3)<00h>-(SC 2 字节)_(SA:3 字节)-<30h>-(B2R)-[数据]-(B2R)-[数据]_(B2R)_[数据]...
写
(1) <80h>- (SC :2 字节)-(SA :3 字节)-〈数据 >-<10h>- (B2R) -· · · <80h>-(虚 Add)-〈数据 >-<10h>-(B2R)...;或
(2)<80h>-(SC :2 字节)_(SA :3 字节)-〈数据 >-<15h>-(B2R)-<F2h>-< 数据 >-<10h>- (B2R) -<F2h>"< 数据 >-<10h>" (B2R) · · ·
类似于MDA访问模式,执行PNA访问模式(图IlA中的命令3)。在写入的时候, 利用42M字节的区域写入2112字节的写数据/命令。在写入的时候,所有数据被存储有 ECC。
VFA访问模式也类似于MDA访问模式(图1IA中的命令4)。
模式改变命令码被制备分别用于从PNR模式到MDA访问模式的改变、从串行-EEP 模式到MDA访问模式的改变、以及在MDA访问模式-PNA访问模式-VFA访问模式当中的改变(图IlA中的命令5)。
固件(FW)重加载命令,即,“Command-911”,图IlA中的命令7,用于重读闪速存储器芯片中存储的控制器的FW。当存储器控制器的操作变得无序时,需要缓冲器RAM的重新构建,且因此执行该命令。利用该命令,缓冲器RAM中的数据被备份,以及在执行系统启动之后,系统返回到MDA访问模式。最小繁忙时间是1秒。
IF读命令的执行使得能够读出分配给各个I/O端口的ID码,如图IlB中的命令 9所示。具体地,根据ID码,可以使用这些命令区别地读出用于二进制存储类型的4(ibit NAND闪速存储器(具有128K字节的擦除块大小和I字节的页长)的仿真的ID数据以及用于实际的LBA-NAND存储器的ID数据。
如图IlC所示,利用状态读命令,状态信息可以被输出到主机。具体地,如图IlC 所示,可以使用这些命令选择诸如一般的通过/失败(Pass/hil)、传送错误通过/失败、就绪/繁忙的信息,和对于LBA-NAND独特的特定的信息,例如节能模式、操作模式等等。除了就绪/繁忙端子以外,这些项状态信息被提供到输入/输出端口 I/O。
至于与1/01和1/02相关的通过/失败,前者当使用一个命令传送大量扇区时,以概要位(summary bit)表示命令的概要。相反,后者表示针对就在状态检查实施之前的数据传送的通过/失败的结果。两者都包括传送错误通过/失败。
使用定制命令(custom command)执行密码的设置和修改(图IlD中的命令11)。
VFA单元设置命令用于以256KB的单元将VFA区的容量大小设置直至32MB (图IlD 中的命令12)。输入值是256KB的整数倍(从“04h 00h”至“00h 00h")。该命令用来擦除旧的VFA数据和MDA数据。
FW更新执行指令用来验证从主机更新到存储器控制器的缓冲器RAM的FW数据,并将它传送和写入NAND闪速存储器中(图IlD中的命令13. 1)。
地址复位命令用来清除扇区计数和扇区地址(图IlD中的命令13. 2)。在完成该命令之后,系统返回到PNR模式,并可以从地址OOh起再次执行PNR模式。在PNR中该命令是有效的。
Fff重加载命令被应用来从闪速存储器重读取FW,并且当来自主机的FW更新失败时使用该FW重加载命令(图IlD中的命令13. 3)。
终止命令用来强制终止读/写。一旦该命令被输入,不再接收更多的新数据,并且缓冲器RAM中留下的所有数据被写入闪速存储器中(图IlD中的命令14)。在写入完成之后,系统将“就绪”返回给主机。进行写入直到它通过。如果在写时间tPROG中不能完成写入,那么该控制转到错误终止。
FW更新发送命令(图IlD中的命令15)用来当在发货给用户之后发现由FW引起的缺陷(bug)时更新FW。在用户的设置过程中,制备FW重写命令,以在市场上提供允许执行容易的FW更新的环境。
在命令的操作序列中,在缓冲器RAM中更新数据,然后验证该数据。该数据被以 511字节的间隔给予附加的CRC16数据。存储器控制器执行数据比较,以及,在失败的情况下,存储器控制器将传送错误返回到主机。不执行SSFDC的数据校正。
数据刷新(refresh)命令(图IlD中的命令16)作为推荐的命令呈现给用户。在此情况下,清楚地表示出有害影响(如电源中断的可能性和功耗的问题)。
安全擦除命令(图IlD中的命令17)是用来仅仅从闪速存储器擦除MDA区中的整个数据的命令。
清刷(flush)高速缓存(闪存-高速缓存)命令(图IlD中的命令18)是被推荐在断电之前从主机发出的命令。这使得系统能够终止控制器中的全部的未完成的处理,并将“就绪”返回到主机。
传送协议设置命令(图IlE中的命令19)用来修改系统中使用的条件。在表中示出了可修改的条件。
第一字节用来设置ECC/CRC16检查/纠错的条件以及传送扇区大小(亦即,扇区倍数)。当用ECC检查使能(ECC Check Enable)检测错误位时,将传送结果通知给状态寄存器。利用在该阶段的数据的重新传送,可以写入无错误的正确数据。
图IlE的表中的第二字节用来设置可选的读/写风格。具体地,作为读风格,与普通读类型A相反,可以设置类型B,类型B借助于继续命令<4 !/F8h>继续读操作。也可以在不使用继续命令的情况下,设置类型C,借助于繁忙状态信号(B2R)继续读取,以重复 21 )-[数据]- 210。
作为写风格,可以设置普通写类型A和继续写操作而不包括地址输入的类型B。
最小繁忙时间设置命令(图IlF中的命令20)用来设置主机可检测的最小繁忙时间,如表中所示。存储器控制器将该繁忙时间设置得长于最小繁忙时间。
节能模式设置和取消命令(图IlF中的命令21和图IlG中的命令22)用来设置和取消LBA-NAND模块的低功耗模式。
地址信息获取命令(图IlF中的命令23)用来提供地址空间信息,如表中所示。地址空间信息包括示出分别分配给扇区地址和扇区计数的字节数目的信息。
MDA区容量获取命令(图IlG中的命令24)用来标识每个产品上的MDA区的分配大小。具体地,它被提供到输入/输出端口,作为用5-字节逻辑地址表示的最大地址。例如,在4G字节的情况下,形成5-字节数据,如表中所示。
管脚信息获取命令(图1IH中的命令25)用来表示通过LBA-NAND模块检测的定制控制管脚的情况。具体地,COME、COMO、COMl的情况可以如表中所示。
还有其他命令,如通过模式(pass through mode)命令,用于通过直接通知NAND 闪速存储器21从主机设备对LBA-NAND存储器20中的主机I/F25的访问来执行模式改变, 而在控制器中不翻译命令的含义(图IlH中的命令沈);固件更新命令,用于在存储器控制器中的MPU上固件的更新(图IlH中的命令27);以及读重试命令,用于指示重读取(图IlH 中的命令28)。
VFA单元获取命令(图IlI中的命令29)用来标识每个产品上的VFA区的分配大
传送协议获取命令(图IlI中的命令30)用来标识LBA-NAND存储器的数据传送协议,如表中所示。
最小繁忙时间获取命令(图IlJ中的命令31),允许主机识别LBA-NAND存储器的操作情况,如表中所示。
图12概括地示出了上述命令。
[基本时序图]
下面具体描述不同操作模式中的命令、地址和数据的输入/输出时序。
图13是通常应用于命令、地址和数据输入的基本时序图。地址锁存使能ALE、命令锁存使能CLE等被验证。然后,在等候一定的建立(set-up)时间之后,使写使能/WE成为 “L”,以允许命令的信号输入等。响应于/WE到“H”的转变,输入信号被锁存。
图14是命令输入的时序图。在使命令锁存CLE成为“H”之后,使芯片使能/CE成为“L”,地址锁存使能ALE被无效,以及使写使能/WE成为“L”,命令“CMD”被允许与/WE到 “H”的转变同步地输入。
图15是用于节能模式的命令输入的时序图,该图基本上与图14相同。
图16是数据读取之后的下一个命令输入的时序图。夹在命令<00h>和<30h>之间的地址输入允许数据读取。然后,在一定的繁忙之后,输入读使能/RE,以允许与其同步地将读数据DoutO-DoutN以扇区为基础输出。
此后,当命令锁存使能CLE再次成为“H”和写使能/WE成为“L”时,允许输入数据读取之后的下一个命令<00h>。
图17是地址输入的时序图。在地址锁存使能ALE成为“H”之后和在“H”的持续时间期间,与写使能/WE同步地输入2字节SCO、SCl的扇区计数和3字节SAO、SA1、SA2的后续扇区地址。这允许在由扇区计数和扇区地址(初始值)决定的逻辑地址范围内进行连续的数据访问。
图18是节能模式中的地址输入的时序图,该图与图17基本上相同。通过对命令锁存使能CLE的有效时段(period) tADDP以及写使能/WE的“H”和“L”电平的时段tWHP 和tWPP的选择,可以设置节能模式。
图19是数据输入的时序图。在命令和地址输入之后,可以与写使能/WE同步地输入数据。
图20是从单元阵列读出并串行地读到外部的数据的时序图。从该单元阵列读出的数据可以以1-字节为基础与读使能/RE同步地串行传送并输出。在该输出操作过程中, 可以执行对NAND闪速存储器的写操作,且由此LBA-NAND存储器输出“就绪”。
图21是状态数据(通过/失败、就绪/繁忙等)的读时序。与写使能/WE同步地输入状态读命令“CMD”。然后,可以与读使能/RE同步地读出状态“ST”。
图22示出了包含命令输入和地址输入的数据读周期的时序图。如先前描述,夹在第一命令<00h>和第二命令<30h>之间,扇区计数SC和扇区地址SA被输入,以执行对单元16阵列的读操作。
然后,在一定的繁忙时间之后,利用读使能/RE的切换(toggle),如图20所述地串行输出读数据。
图23示出了通电时的串行-EEP模式的建立时序。在通电时的初始建立之后,以及当LBA-NAND存储器变为就绪时,识别定制控制管脚上的信号电平以用于模式设置。
具体地,利用COME = “H”,COMO = “H”和COMl = “L”,设置SPI模式(亦即,串行-EEP模式)。命令<FCh>的输入取消该模式。
图M概括地示出了用于PNR模式选择的条件。串行-EEP模式用“具有SPI的 PNR"表示。可以仅仅利用 COME = “L”,以及 COME = “H” 且 COMO = COMl = “H”,或者 COME =“H”且C0M0 = COMl = “L”来设置普通PNR模式。替换地,可以在这些定制控制管脚之一被开路及其他两个管脚处于适当的电平时,实现设置。
[PNR模式读时序]
图25- 是PNR模式的时序图,PNR模式是PNR区中在通电时的读操作,图25_28 示出了具有错误检查的情况。在图25-28当中,图25示出了无错误数据传送。
如上所述,利用命令输入和虚地址输入,在一定的繁忙时间之后开始读取。当该状态为通过(“P”)时,类似地重复相同的读操作,直至第256个扇区。
图沈示出了用于其中获得了表示错误‘ ”的状态的情况的一种处理方法。在收到错误“E”时,输入地址清除命令“FFh”,以从第一地址再次执行读取。
图27示出了类似地在获得表示错误‘ ”的状态时强制断电、重新启动以及再次读取的例子。
图观示出了用于其中主机执行数据检查并检测到数据传送错误的情况的处理方法。在此情况下,主机在收到错误检测时,输入地址清除命令“FFh”,以从第一地址再次执行读取。
图四示出了主机检测数据传送错误然后输入该数据的相同扇区地址以再次读取相同数据的情况的例子。
图30示出了被概述为一系列流程的图25-28中描述的PNR模式操作。该系统被起动(步骤Si),以及输入命令和地址(步骤S》,以开始读取。
如果利用状态检查检测到错误(步骤S; ),那么执行错误序列(步骤S4)。在此情况下,输入地址清除命令“FFh”,以清除该地址,从而从头重新开始读操作。替换地,电源被关断,以从头重新开始读操作。
如果在主机处利用传送数据检查检测到错误(步骤S6),那么选择处理方法(步骤 7),以执行错误序列(步骤S4)或重新发送在相同的地址地数据(步骤S5)。
如果在一个传送单元的数据传送中没有错误,那么确定是否读出了所有数据(步骤S8)。如果没有,那么利用地址增加来重复相同的读操作(步骤S9),直到所有数据被读出ο
[MDA访问模式· · ·用于读取]
下面描述MDA访问模式中的多种访问时序。
图31是其中从MDA区读出一个扇区的情况的时序图。如上所述,与命令一起,输入扇区计数M和扇区地址(开始地址LBA)N。然后,在一定的繁忙之后,可以与读使能/RE同步地读出数据。
图32是以同样的方式连续地从第一扇区(LBA = 30h)到第256个扇区(LBA = 12Fh)进行读取的时序图。在每个扇区读取之后,输入命令和地址,但是这是虚地址。根据最初输入的扇区地址(初始值)和扇区计数连续地在内部增加实际地址。
图33是以同样的方式从第一扇区(LBA = 30h)到第64K个扇区(LBA = 1002Fh) 连续读取的时序图。
图34示出了在读序列中在主机的待机(就绪)期间使用终止命令<FBh>中断的读操作。
图35是在多扇区读取过程中发生数据传送错误的情况的处理视图。当主机检测到数据传送错误时,它发出重试命令<31h>,以请求LBA-NAND重新传送。这使得能够重读相同的数据。
图36是以同样的方式发生数据传送错误的情况的另一处理视图。在此情况下,主机检测到传送错误,并发出终止命令<FBh>。这使得可以终止读操作一次,然后利用读命令和地址输入再次读出。
图37-40是可选读类型B的读取的时序图。
图37是在使用传送协议设置命令来设置可选读类型B的情况下,亦即,在每个扇区数据读取之后输入继续命令<reh>以继续读操作时的时序图。如果输入继续命令时钟超过输出请求数目(扇区计数),那么输出固定值<FFh>。总之,LBA-NAND输出固定值并变为待机以等待从主机发送的终止命令。
图38是类似地使用继续命令<F8h>来继续该读操作和使用终止命令<FBh>来终止该继续了的读操作的情况的时序图。
图39是类似地使用继续命令<F8h>来继续该读操作以及使用重试命令<31h>来重新传送与前一读取相同的扇区数据的情况的时序图。
图40是类似地使用继续命令<F8h>来继续该读操作以及使用相同的继续命令 <F8h>来执行中断以跳过(skip)数据读操作的情况的时序图。在该例子中,一个扇区包括 2112字节的数据D0-D2112。在第二扇区读取过程中,就在数据D0-D256被读出时输入继续命令<reh>,由此跳过该数据读操作。
接下来参考图41-44描述在MDA访问模式中使用可选读风格C的读访问。
图41-44是继续读操作而不是以扇区为基础每个读操作定位命令周期的情况的时序图。图41示出了仅仅利用读使能/RE连续地执行数据读取,并且在/RE输入超过输出请求的数目时输出固定值<F!^h>的例子。LBA-NAND存储器输出固定值,并等待从主机发送的终止命令。
图42是在与图41相同的读操作中应用终止命令<FBh>来终止读操作的情况的时序图。
图43是例如在与图41相同的读操作中,主机检测到数据传送错误,然后发出数据传送重试命令<31h>,并重新发送相同数据的情况的时序图。
图44是在与图41相同的读操作中,在应用终止命令<FBh>来终止读操作一次并发出新命令以再次执行该读操作的情况的时序图。
图45和46是在读操作过程中发生非法访问时MDA访问模式中的读取的时序图。VFA访问模式和PNA访问模式对于该非法访问具有相同规定(provisions)。
图45涉及在执行读命令过程中输入新命令而不终止命令的情况。在该例子中,在读取LBA = 30h的扇区数据之后,输入新命令和新地址。在此情况下,新地址被作为虚地址对待,并根据先前输入的地址继续执行读取。
图46涉及在执行读命令过程中输入新的写命令而不终止命令的情况。在该例子中,先前的读命令被自动地终止,以使该写命令有效。
在SM = 4或8的扇区倍数的情况下,为了终止读取并在小于扇区计数的级 (stage)上变换到下一个,需要发出终止命令。
[MDA访问模式· · ·用于写入]
接下来描述MDA访问模式中的写时序的例子。
图47是MDA访问模式中的一个扇区写入的时序图。写命令和写地址(亦即,扇区计数=1和扇区地址)被输入,以及一个扇区的写数据被输入并写入NAND闪速存储器中。 在写入过程中,“繁忙”被输出到主机。
在写入完成之后,状态读命令<70h>的输入允许读出状态数据。
图48是使用相同的开始逻辑地址LBA = 30h来连续地写256个扇区的情况的时序图,该256个扇区是利用扇区计数设置的。在根据状态数据(“P”)确认每个扇区写入的通过之后,重复虚地址和写数据输入以用于至第256个扇区的连续写入。
图49是利用虚地址输入到64K扇区的类似的连续写的时序图。
图50涉及在从开始地址LBA = 30h开始的写序列期间在就绪状态(Ready)输入终止命令<FM!>由此强制终止该写序列的情况。
图51是当写命令的状态表示写错误(‘ ”)时推荐的处理的时序图。如果该写错误是ECC不可校正的错误,那么如图所示再次输入相同的地址,以执行重传。
如图52所示,多项写状态信息被分配给I/O端口,并分类为四种情况通过、ECC 可纠正的传送错误、ECC不可纠正的传送错误以及写失败。因此,这判定使得可以选择执行数据重写或终止写序列。
图53是可选写风格的时序图,该可选写风格允许用命令<80h>和数据输入且不用虚地址输入,来继续进行写入。
图M和55示出了发生非法访问的情况。用于该非法访问的处理方法可类似地应用于PNA访问模式和VFA访问模式。
图M涉及在执行写命令的过程中,不终止该命令而输入新的写命令和地址的情况。在此情况下,新的输入地址被作为虚地址对待,且由此忽略该地址内容。因此,对由最初输入扇区计数和地址初始值决定的下一个扇区执行写入。
图55涉及执行写命令过程中输入读命令的情况。在此情况下,LBA-NAND存储器终止写入,并执行读命令。
[PNA访问模式...用于读取]
在对PNA区进行访问的模式中,或PNA模式中,首先描述读访问。在PNA访问模式中,访问单元具有2KB( = 2112字节)的扇区长度,256个扇区的最大扇区计数,以及512KB 的最大容量(=540, 672字节)。
图56是输入引导地址LBA = OOh以读出256个扇区(亦即,整个PNA区)的情况17/23 页的时序图。在2字节的扇区计数和3字节的扇区地址中,仅仅各个最先的一个字节<00h> 是有效的,其它字节是虚的。
图57涉及在就绪状态下输入终止命令<FBh>以强制地终止读操作的情况。
图58涉及在就绪状态输入读重试命令<31h>以再次输出就在此之前的读数据的情况。
图59-65示出了 PNA访问模式中的可选读风格。其中,图59_62涉及其中应用传送协议设置命令来设置读类型B的情况,亦即,使用继续命令<F8h>来继续该读操作的情况。
在图59中,在每个扇区数据读取之后输入继续命令<reh>,以继续该读操作。如果输入继续命令时钟超过输出请求数目(扇区计数),那么输出固定值<FFh>。如果LBA-NAND 存储器输出固定值,那么主机发送终止命令,以终止该命令。
图60是类似地使用继续命令<F8h>来继续读操作和使用终止命令<FBh>来终止该继续了的读操作的情况的时序图。
图61是类似地使用继续命令<F8h>来继续该读操作以及输入重试命令<31h>以重新传送与就在此之前的读取中的相同扇区数据的情况的时序图。
图62是类似地使用继续命令<F8h>来继续该读操作以及使用相同的继续命令 <F8h>来执行中断以跳过该数据读操作的情况的时序图。在该例子中,一个扇区包括2112 字节的数据D0-D2112。在第二扇区读取过程中,就在数据D0-D256已被读出时输入继续命令<reh>,由此跳过数据读操作。
图63-65涉及其中应用传送协议设置命令来设置读类型C的情况,亦即,在不使用继续命令<reh>的情况下继续该读操作的情况。
在图63中,连续地重复扇区数据读取,在其间夹着繁忙状态信号。在超过扇区计数的情况下,输出固定值<FFh>。在此情况下,LBA-NAND存储器输出固定值,以及主机发送终止命令,以终止该命令。
图64是应用类似的读类型C来继续该读操作以及使用终止命令<FBh>来终止该继续了的读操作的情况的时序图。
图65是其中应用类似的读类型C来继续该读操作和输入重试命令<31h>以重新传送与就在此之前的读取中的相同扇区数据的情况的时序图。
[PNA访问模式...用于写入]
接下来描述PNA访问模式的写时序。
图66是输入引导地址LBA = OOh以对PNA区中的所有扇区Q56个扇区)执行写入的情况的时序图。在写验证通过(“P”)的识别之后,与写数据一起输入虚地址,以执行连续的写入。
图67是其中输入终止命令<FBh>以强制终止写入的情况的时序图。
图68示出了当主机检测到写错误‘ ”时重新传送的相同地址和数据以用于写入的例子。
图69是借助于利用传送协议设置命令设置的可选写风格的写入的时序图。在此情况下,不输入虚地址,连续地输入写数据使得写数据被夹在繁忙信号之间,以对64K扇区执行写入。
[VFA访问模式· · ·用于读取]20
接下来描述VFA访问模式中的读时序。VFA区具有512字节(或5 字节)的默认数据长度。可以使用传送协议改变命令将其改变为2KB( = 2112B 倍数=4)或4KB(= 4224B 倍数8)。在此情况下,可以判定扩展的16字节的添加的适当性,以及采用根据16字节的添加识别数据传送系统的ECC功能的适当性。
VFA区的容量可以使用VFA调整大小命令来调整大小。
图70是其中输入了开始地址LBA = OOh以对VFA的256个扇区执行默认读类型的读取的情况的时序图。
图71涉及在就绪状态下输入终止命令<FBh>以强制终止读操作的情况。
图72涉及在就绪状态下输入重试命令<31h>以再一次输出就在此之前的读数据的情况。
图73-79示出了 VFA访问模式中的可选读风格。其中,图73_76涉及其中应用传送协议设置命令来设置读类型B的情况,亦即,使用继续命令<F8h>来继续该读操作。
在图73中,在每个扇区数据读取之后输入继续命令<reh>,以继续该读操作。如果输入继续命令时钟超过输出请求数目(扇区计数),那么输出固定值<FFh>。LBA-NAND存储器输出固定值,以及主机发送终止命令,终止该命令。
图74是类似地使用继续命令<F8h>来继续该读操作和使用终止命令<FBh>来终止该继续了的读操作的情况的时序图。
图75是类似地使用继续命令<F8h>来继续该读操作以及输入重试命令<31h>以重新传送与就在此之前的读取中的相同扇区数据的情况的时序图。
图76是类似地使用继续命令<F8h>来继续该读操作以及使用相同的继续命令 <F8h>来执行中断以跳过数据读操作的情况的时序图。在该例子中,一个扇区包括5 字节的数据D0-D527。在第二扇区读取过程中,就在数据D0-D256被读出时输入继续命令<F8h>, 由此跳过该数据读操作。
图77-79涉及其中应用传送协议设置命令来设置读类型C的情况,亦即,在不使用继续命令<reh>的条件下继续该读操作的情况。
图77涉及其中连续地重复扇区数据读取,在其间夹着繁忙状态信号的情况。
图78是其中应用终止命令<FBh>来终止类似读类型C的继续了的读操作的情况的时序图。
图79是其中应用类似的读类型C来继续读操作以及输入重试命令<31h>以重新传送与就在此之前的读取中的相同的扇区数据的情况的时序图。
[VFA访问模式· · ·用于写入]
图80涉及输入开始地址LBA = OOh以对256个扇区执行写入的情况,图80示出了命令、地址和一个扇区写数据输入。图81示出在收到写验证通过(“P”)时直至256个扇区的写数据输入。
图82涉及其中在从开始地址LBA = 30h开始的写序列过程中,在写就绪状态 (Ready)下输入终止命令<FBh>,由此终止该写序列的情况。
图83是当写命令的状态指示写错误(‘ ”)时的推荐的处理的时序图。如果该写错误是不可纠正的错误,那么如图所示再次输入相同的地址,以执行重新传送。
图84是其中输入用于每个扇区的写数据而不输入虚地址的可选写风格的时序图。
[命令视图概述]
图85-87示出了上述读/写访问的命令视图概述。
图85涉及在通电时设置PNR模式的情况。在建立(setup) PNR模式之后,输入命令“CMD”和地址“ADD”,以及一定的繁忙时间流逝后,检查状态“ST”。
对于状态错误提供两种处理方法。一种是利用命令<F!^h>返回到初始PNR模式建立,以重试建立而不关闭电源(地址复位)的方法。另一种是关闭电源然后再次从通电开始的方法。
读数据经受传送检验。当检测到传送错误时,相同数据被再一次传送。
图86涉及PNA、VFA、MDA访问模式中的读访问。在使用初始命令开始建立之后,输入命令和地址。然后,在一定的繁忙之后,检查状态“ ST ”。
对于状态错误提供两种处理方法。一种是利用命令<FFh>返回到初始建立,以重试建立(软复位)的方法。另一种是发出终止命令<rah>并转到初始命令的方法。
读数据经受传送检验。当检测到传送错误时,相同数据被再一次传送。
图87涉及PNA、VFA、MDA访问模式中的写访问。在使用初始命令开始建立之后,输入命令、地址和写数据。如果通过状态“ST”的检查,检测到数据传送错误,那么再次输入该写数据。
在写序列期间中可以发出终止命令<FBh>,以终止该写操作,并从头开始重试它。
[其他命令序列]
下面描述其他命令序列的具体时序图。图88-90示出了用于模式改变的命令序列。
图88示出了用于改变到MDA访问模式的改变命令<FCh>的输入时序。在一定的繁忙时段流逝后,模式被改变。这也可以用于(a)从PNA访问模式或VFA访问模式到MDA 访问模式的改变;以及(b)退出PNR访问模式或串行-EEP模式。在(a)的情况下,可以返回到原始模式。但是,在(b)的情况下,不可以返回到原始模式,因为原始模式是仅在通电时可以设置的读模式。
图89示出了用于从MDA或VFA访问模式到PNA访问模式的改变的命令序列,而图 90示出了用于从MDA或PNA访问模式到VFA访问模式的改变的命令序列。
图91和92示出了在先前使用的命令当中要被注册为NOP命令的命令。在图91 中,<60h>-<D0h>是在适当的地址上注册的旧的擦除命令。在图91中,<FFh>是旧的复位命令,在PNR模式中使其有效作为地址复位命令(参见图85)。
图93示出了存储器控制器所需的固件(FW)重加载命令<CMD>的序列。当控制器接收该命令时,它终止当前命令,并执行从缓冲器RAM到闪速存储器芯片的数据备份写入 (步骤1)。此后,它从闪速存储器芯片读出FW,并传送它以用于重加载(步骤2)。在执行该命令之后,它执行系统启动,并返回到就绪状态。
图94示出了命令<FEh>的时序图,该命令<FEh>用于在LBA-NAND存储器陷于 (stuck)繁忙状态时使LBA-NAND存储器强制返回到就绪状态。
图95示出了 ID数据读取命令序列,该ID数据读取命令序列准备了用于伪ID码数据读取的命令和用于如早先描述(参见图11B)的从原始LBA--NAND存储器读取的ID码的命令。
图96示出了状态读取命令序列。LBA-NAND存储器具有两种状态使用命令<70h> 输出的一般状态;以及使用命令<71h>输出的LBA-NAND专用状态,如图IlC所示。
图97是密码设置命令的时序图。默认密码是“FFhFFh”,以及在该时段期间,密码鉴权功能被禁止。在使用该命令来设置用户专用的密码之后,密码鉴权功能被使能。在执行该命令时,优选执行状态检查。图97示出了使用状态命令<71h>获得通过“P”的情况。
图98是VFA单元设置命令的时序图。如上所述,VFA区是可扩展的。可以使用该命令来改变VFA区的容量。当VFA区的容量增加时,MDA区失去该增加量的双倍的容量。在执行该命令时,也优选执行状态检查。图98示出了使用状态命令<71h>获得通过“P”的情况。
图99是在控制器中的FW更新之后的复位命令的时序图。当输入该命令时,在缓冲器RAM中FW被刷新(步骤1),以及这被写入在存储器芯片中(步骤2)。可以使用硬件序列发生器27来控制到存储器芯片中的这数据清刷(flush)。
图100是地址清除命令<F!^h>的时序图。该命令仅仅在PNR模式中是有效的。
图101是FW重加载命令<FDh>的时序图。借助于该命令,可以从清刷存储器重读 Fff,并将其加载到控制器中的缓冲器SRAM中。也可以使用硬件序列发生器27来控制该数据读取和传送。
图102示出了用于终止当前进行的读/写的命令<FBh>的序列。该命令如下响应。
在就绪时段中的数据读取过程中,在完成数据输出之后,数据缓冲器被清除 (clear)。如果正在输入写数据,那么在将该接收的写数据写入清刷存储器中之后,清除该数据缓冲器,以终止该命令。如果未在读取数据,那么清除数据缓冲器以终止该命令。如果没有在输入写数据,那么在将已经接收的写数据写入清刷存储器之后,清除数据缓冲器,以终止该命令。
在繁忙时段期间,不接受命令。
图103是从主机到LBA-NAND存储器的用于FW更新的数据传送的命令序列。5 字节的数据结构包含512字节数据体+2字节虚数据+2字节CRC16+11字节虚数据+1字节地址。最后的第5 字节对应于地址。
数据总是经受以5 字节为基础倍数=4的数据传送。该图形示出了 I字节数据传送单元,其中共同发送5字节地址和I字节数据。在所示的例子中,当通过状态检查检测到传送错误“失败(Fail),,时,相同数据被再次传送。
在5字节地址中,第一、第二、第四和第五字节是虚的,而第三字节是码页(code page)。
图104示出了控制器FW更新的序列。主机设备(音乐引擎)顺序发送命令和FW 数据到LBA-NAND存储器。当LBA-NAND存储器上的主机接口接收它们时,存储器控制器将 FW下载在缓冲器SRAM中。
当主机输入复位命令<FAh>和LBA-NAND存储器变为繁忙时,在缓冲器SRAM上刷新FW,并顺序地写入闪速存储器中。
图105示出了用于上述FW更新命令的错误处理的概述。在开始建立之后,第一命令和地址以及数据被传送到LBA-NAND存储器。根据状态“ST”检查该数据传送,以及当主机检测到错误时,该数据经受重新传送。
在输入第二命令之后,放入一定的繁忙时段,然后重复相同的操作。当在最后的FW 更新状态检查中发现错误时,该命令被软复位,以放弃FW更新。当没有发现错误时,发出用于在NAND闪速存储器中写FW的写命令以更新FW。
图106是数据刷新命令的时序图。该命令用来识别闪速存储器中记录的数据的一致性。如果在验证-读取数据中发现包含错误的块,则用备用块替换它,以及该原始块被再用作备用块。
该命令用作背景命令,并且就绪/繁忙管脚输出就绪状态。该命令的采用需要新建立数据刷新状态命令和数据刷新终止命令。
图107示出了用于为了安全从闪速存储器擦除MDA区中的所有数据的命令。
图108示出了用于终止LBA-NAND存储器中执行的所有处理的闪存高速缓存命令, 推荐在断电之前输入该命令。总之,在执行该命令<F9h>和一定的繁忙时段之后,建立就绪状态,以指示所有处理的终止。在该状态下断电可以避免由于在处理没有完全终止的状态下断电所引起的系统问题。
图109是传送协议设置命令的时序图。默认数据传送格式被以1扇区=528字节的形式ECC-纠正。配置命令随后的数据输入使得可以设置如图IlD所示的数据传送协议。
图110是最小繁忙时间设置命令的时序图。在配置命令之后1字节数据的输入使得可以确定最小繁忙时间,如图IlF所示。
图111是节能模式设置命令的时序图。该命令使读/写访问进入功耗比正常操作低的操作模式。
图112涉及将节能模式特别应用于读操作的情况。节能模式的设置使得可以将繁忙时段设置得比正常情况更长。
图113示出了另一节能模式设置方法。在节能模式命令和后续地址的输入之后的繁忙时段与命令锁存使能CLE的时序之间,设置偏移(offset)时间,以减小功耗。
图114是节能模式退出命令的时序图。该命令使得可以将节能模式复位到正常模式。
图115是地址获取命令的时序图。该命令使得可以将在LBA-NAND存储器的地址锁存周期中的默认情况通知主机。
图116是最大容量获取命令的时序图。该命令使得可以使用5字节数据来表示 LBA-NAND存储器所支持的MDA区和VFA区的总和的扇区总数。一个扇区包括512个字节。
图117是管脚信息获取命令的时序图。该命令允许主机识别LBA-NAND存储器中检测的公共管脚(COME、C0M0、C0M1)上的电平。
图118是读数据重发送请求命令的时序图。当主机检测到传送失败并输入该命令 <31h>时,LBA-NAND存储器重发送相同的读数据。
[附加实施例]
图119、120和121示出了应用于MDA和VFA的三种类型扇区读取的时序图,S卩,分别为具有状态信息“Matus_l”的类型A、B和C的时序图。它们的每一个是通过2字节扇区计数SC和和3字节扇区地址AD指定开始地址的例子。
尽管传送数据大小选自六个任选项512字节· N或(512+16字节)·Ν(Ν=Ι,4,248)。在该例子中,N被设为4。数据长度中的+16字节是通过CRC、ECC等的传送-数据校验位。
图119中示出的类型A是其中在扇区N至N+3的数据读取之后执行虚扇区地址 <00h>-<xx>-<30h> (xx是5字节虚地址)的输入及继续后面的扇区读取的例子。
图120中所示的类型B是其中在扇区N至N+3的读取之后通过输入继续命令 <reh>,继续后面的扇区读取的例子。
图121中所示的类型C是其中在扇区N至N+3的读取之后,在不输入继续命令 <F8h>的情况下,继续后面的扇区读取的例子。
图119-121每个示出了其中除内部就绪/繁忙以外,使用1/01至1/08当中的I/ 06,自第一数据被读取开始且直到到达扇区读取的最后的数据包,在“Status_l”读取中连续地指示繁忙状态(1/06 =“0”)的例子。
“Matus_l”读取用作后面的命令序列<70h>-BtatuS_l值]。
图122和123示出了应用于MDA和VFA的两种类型扇区写入的时序图,S卩,分别为具有状态信息“Matus_l”的类型A和B的时序图。它们的每一个是通过2字节扇区计数 SC和3-字节扇区地址AD指定开始地址的例子。
图122中所示的类型A是其中在扇区N至N+3的数据写入之后执行虚扇区地址 <80h>-<xx>的输入以及继续后面的扇区写入的例子。
图123中所示的类型B是其中在扇区N至N+3的写入之后在不输入虚扇区地址的情况下继续后面的扇区读取的例子。
注意,状态信息“Status_l”的读模式包括在PNR模式(图124)下的情况、在VFA/ MDA模式(图125)下的情况、以及在启动代码维护模式下的情况(图126)。
在每一种情况下,当根据上述命令序列在读取[MatUS_l值]之后连续地执行数据读取或写入时,需通过输入<00h>返回到数据读模式或数据写模式。图119-123中所示的状态“Matus_l”是图125中所示的状态,其中利用1/06,连续地显示繁忙状态至扇区读取或扇区写入的最后数据包。
利用“Matus_l”的1/06,主机可以检测是否LBA-NAND存储器系统正在进行一系列扇区读/写操作,或LBA-NAND存储器系统已经完成这一系列操作并准备就绪来执行新操作。
例如,设想在多任务操作主机中运行进行扇区读取的应用程序的同时,产生具有高优先级的新任务,并试图对LBA-NAND存储器系统的新的访问时的情况。在此情况下,如果“StatuS_l”的1/06是繁忙的,那么可以发出图50中所示的终止命令<FBh>。然后,在完成了在处理的这一系列操作之后,可以开始对应于该新任务的对LBA-NAND存储器系统的访问ο
[LBA-NAND 系统-概述]
图127示出了 LBA-NAND存储器的操作模式概述,包括如图8和9所述的操作模式改变。在通电时的初始建立之后,输入特定命令以设置PNR模式或串行-EEP模式,从而读出PNA数据,由此执行启动代码加载和系统启动。
可以使用改变命令<FCh>将PNR模式或串行-EEP模式改变为MDA访问模式。该改变命令可用来在对三个区域的访问当中,亦即在MDA访问模式、PNA访问模式和VFA访问模式当中,改变LBA-NAND访问模式。在最后将来自缓冲器RAM的所有数据写入闪速存储器中的闪存高速缓存完成之后,终止这些访问模式。
权利要求
1.一种控制非易失性存储器的方法,包括在命令锁存使能(CLE)信号被置为有效的情况下将第一命令输入所述非易失性存储器;在输入第一命令之后,在地址锁存使能(ALE)信号被置为有效的情况下将数据传送量输入所述非易失性存储器;在输入所述数据传送量之后,在命令锁存使能(CLE)信号被置为有效的情况下将第二命令输入所述非易失性存储器。
2.根据权利要求1的方法,其中,所述第一命令和第二命令指示所述非易失性存储器执行从其存储器单元阵列的数据读操作。
3.根据权利要求2的方法,进一步包括在地址锁存使能(ALE)信号被置为有效的情况下将数据传送地址输入所述非易失性存储器。
4.根据权利要求3的方法,进一步包括在输入所述第二命令之后,从所述非易失性存储器输出由所述数据传送量和数据传送地址指定的数据。
5.根据权利要求4的方法,进一步包括在输出所述数据之后,将所述第一命令输入所述非易失性存储器;在输入所述第一命令之后,将虚地址输入所述非易失性存储器;在输入所述虚地址之后,将所述第二命令输入所述非易失性存储器;以及在输入所述第二命令之后,从所述非易失性存储器输出与所述数据相连的下一个数据。
6.根据权利要求4的方法,进一步包括在输出所述数据之后,将继续命令输入所述非易失性存储器;以及在输入所述继续命令之后,从所述非易失性存储器输出与所述数据相连的下一个数据。
7.根据权利要求4的方法,进一步包括在输出所述数据之后,在没有输入命令的情况下输出与所述数据相连的下一个数据。
8.根据权利要求2的方法,进一步包括 将状态读命令输入所述非易失性存储器;以及输出除了就绪/繁忙(R/B)信号以外,指示所述非易失性存储器是否正在执行数据读操作的状态。
9.根据权利要求8的方法,其中, 所述状态读命令是<70h>。
10.根据权利要求2的方法,其中,所述非易失性存储器是NAND型闪速存储器。
11.根据权利要求1的方法,其中,所述第一命令和第二命令指示所述非易失性存储器执行到其存储器单元阵列的数据写操作。
12.根据权利要求11的方法,进一步包括在地址锁存使能信号(ALE)被置为有效的情况下将数据传送地址输入所述非易失性存储器。
13.根据权利要求12的方法,进一步包括在输入所述第二命令之前,将由所述数据传送量和数据传送地址指定的数据输入所述非易失性存储器。
14.根据权利要求13的方法,进一步包括在输入所述第二命令以及就绪/繁忙(R/B)信号被无效之后,将所述第一命令输入所述非易失性存储器;在输入所述第一命令之后,将虚地址输入所述非易失性存储器; 在输入所述虚地址之后,将与所述数据相连的下一个数据输入所述非易失性存储器;以及在输入所述下一个数据之后,将所述第二命令输入所述非易失性存储器。
15.根据权利要求13的方法,进一步包括在输入所述第二命令以及就绪/繁忙(R/B)信号被无效之后,将所述第一命令输入所述非易失性存储器;在输入所述第一命令之后,在没有输入虚地址的情况下输入与所述数据相连的下一个数据;以及在输入所述下一个数据之后,将所述第二命令输入所述非易失性存储器。
16.根据权利要求11的方法,进一步包括 输入状态读命令;以及输出除了就绪/繁忙(R/B)信号以外,指示所述非易失性存储器是否正在执行数据写操作的状态。
17.根据权利要求16的方法,其中,所述状态读命令是<70h>。
18.根据权利要求11的方法,其中,所述非易失性存储器是NAND型闪速存储器。
全文摘要
一种控制非易失性存储器的方法,包括在命令锁存使能信号(CLE)被置为有效的情况下将第一命令输入所述非易失性存储器;在输入第一命令之后,在地址锁存使能信号(ALE)被置为有效的情况下将数据传送量输入所述非易失性存储器;在输入所述数据传送量之后,在命令锁存使能信号(CLE)被置为有效的情况下将第二命令输入所述非易失性存储器。
文档编号G11C16/10GK102522118SQ20111029549
公开日2012年6月27日 申请日期2007年7月31日 优先权日2006年7月31日
发明者助川博, 工藤靖雄, 河本和也 申请人:株式会社东芝