CN103544991B - 闪存装置及其操作的方法 - Google Patents
闪存装置及其操作的方法 Download PDFInfo
- Publication number
- CN103544991B CN103544991B CN201210241228.0A CN201210241228A CN103544991B CN 103544991 B CN103544991 B CN 103544991B CN 201210241228 A CN201210241228 A CN 201210241228A CN 103544991 B CN103544991 B CN 103544991B
- Authority
- CN
- China
- Prior art keywords
- instruction
- serial
- flash memory
- logic
- memory device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
本发明涉及一种闪存装置及其操作方法,该闪存装置中的逻辑读取操作时机可由焊盘串行输出电路改善,所述焊盘串行输出电路接收最后指令时脉前的预解码指令信号以及预取逻辑信号,其在所述指令输入序列的最后时脉中对所述焊盘串行输出电路中的指令执行快速解析。在另一实施方式中,第一指令的预解码以及数据预取可在指令输入的第4个时脉中执行,第二指令的预解码可在指令输入的第7个时脉中执行。二元及四元输入/输出串行周边接口的两种串行协议接口以及四元周边接口皆可支持。
Description
技术领域
本发明是有关于一种闪存装置及其操作的方法,且特别是有关于一种在闪存上的逻辑数据读取的装置及方法。
背景技术
由于较少的脚位数及简单的接口,单位串行及多位串行闪存已经变得普遍。最简单的接口是一位串行周边接口(SerialPeripheralInterface,SPI)。一位串行周边接口通信协议包含使用者送出8位的指令、地址字节、以及选择性的虚拟字节(dummybytes)给串行周边接口闪存装置,并且串行周边接口闪存装置将回传数据给使用者作为回应。单一的8位指令可识别读取、抹除/程序化、或另一个适当的操作。对于要求快速读取效能的高效能系统应用,已经发展出例如双串行周边接口(SPI-Dual)、四串行周边接口(SPI-Quad)、以及四元周边接口(QuadPeripheralInterface,QPI)的多位串行接口。在四串行周边接口中,以一次一位的方式串行地提供8位指令,但是所有的后续栏位(例如地址、选择性的虚拟字节、以及数据)是在4位(四)串行基础上完成以改善读取量。在四元周边接口中,所有的栏位(例如8字节指令、地址、选择性的虚拟字节以及数据)都是以4位串行完成。以此方式,四元周边接口于两个时脉周期提供8位指令,而四串行周边接口则需要8个时脉周期。各种多位串行快闪接口通信协议说明于例如由Jigour等人申请的第7558900号美国专利,其发布于2009年7月7日。
闪存装置所执行的读取操作类型典型上包括闪存单元阵列读取以及逻辑读取。图1绘示在典型的闪存中,用以执行逻辑读取的电路方块示意图。逻辑电路12从不同的寄存器(例如图2中的寄存器4)接收逻辑数据,例如状态数据、联合电子设备工程委员会(JointElectronDeviceEngineeringCouncil,JEDEC)制造商以及部分认证数据。逻辑电路12也接收串行输入SI,其包括多个指令以及不同的输入数据。逻辑电路12完全地解码在第8个时脉上的各个指令,假若所述指令为信号JEDEC、RDSR1或RDSR2时,则分别选择数据JEDECID、SR1或是SR2,并将所选择的指令以逻辑数据LOGICDATA的身分提供至数据寄存器14。当指令为闪存装置读取指令时,数据寄存器14也从所述闪存单元阵列中接收阵列数据ARRAYDATA。基于来自逻辑电路12的输入信号,例如信号JEDEC、RDSR1以及RDSR2,数据寄存器14选择逻辑数据LOGICDATA或是阵列数据ARRAYDATA,并且将所选择数据以串行数据输出信号SDOUT/输出。焊盘串行输出电路16包括输出驱动器,当焊盘串行输出电路16在串行数据输出信号SDOUT/为逻辑数据时被信号RDLD所致能,或是在串行数据输出信号SDOUT/为存储器阵列数据时被信号OEIN所致能时,所述输出驱动器即输出串行数据输出信号SDOUT/至封装的闪存装置的接触面,例如铅、焊盘或是脚位等。焊盘串行输出电路16是由系统时脉SCK控制,而逻辑电路12以及数据寄存器14则由时脉信号CLK所控制,也就是由输入焊盘电路10所缓冲的系统时脉SCK。
逻辑电路12的更详细细节绘示于图2中。逻辑电路12对串行输入SI中的指令解码,并且提供一信号,其可唯一识别逻辑读取指令、用于读取数据JEDECID的说明性信号JEDEC、用于读取第一状态寄存器的信号RDSR1以及用于读取第二状态寄存器的信号RDSR2。这些信号在组合性逻辑电路24中组合,以获得象征逻辑数据读取指令的信号RDLD。信号RDLD被施于多工器26的选定输入,当触发信号RDLD时,多工器26从其多个数据输入的其中之一选择逻辑数据LOGICDATA,否则即选择来自于寄存器25的数据,寄存器25储存由主阵列感测放大器2接收的闪存阵列数据。
焊盘串行输出电路16的更详细细节绘示于图3中。输出驱动器34由时脉信号CLK以及来自D型正反器32的输出致能信号OE控制。D型正反器32基于施加于输入端SET的信号RDLD以及施加于输入端D的信号OEIN而产生输出致能信号OE。输入信号OEIN用于阵列读取。D型正反器32以及输出驱动器34皆由时脉信号CLK控制。
发明内容
本发明的一实施例提供一种闪存装置,其具有可回应于一组逻辑读取指令而输出逻辑数据的能力,包括外部信号输入端、可定址闪存单元阵列、数据寄存器、多数个寄存器以及指令和控制逻辑电路。数据寄存器耦接于所述可定址闪存单元阵列,用以接收并储存来自于所述可定址闪存单元阵列的阵列数据。多个寄存器用以储存逻辑数据。指令和控制逻辑电路,包括预取逻辑电路(pre-fetchlogic)以及输出控制逻辑电路。预取逻辑电路耦接于所述外部信号输入端,用以当所述外部信号输入端接收指令的最高有效位的第一部分序列为预测的特定逻辑数据读取指令时,依据所述多个逻辑读取指令的特定其中之一,从所述多个逻辑数据寄存器的其中之一预取逻辑数据。输出控制逻辑电路耦接于所述外部信号输入端,用以当所述外部信号输入端接收指令的最高有效位的第二部分序列为预测的所述多数个逻辑数据读取指令的任意其中之一时,产生预测的逻辑读取指令信号。所述闪存装置更包括焊盘串行输出电路,其耦接于所述数据寄存器、预取逻辑电路、输出控制逻辑电路以及外部信号接收端,用以当该预测的逻辑读取指令信号以及除了所述第一部分序列及第二部分序列之外的部分指令解析收到的所述多个逻辑数据读取指令的任意其中之一时,选择及输出来自所述预取逻辑电路的逻辑数据。
本发明的另一实施例提供一种操作闪存装置的方法,所述闪存装置具有闪存单元阵列,用以回应于具有预定指令位数量的逻辑读取指令,以提供逻辑数据至应用程序。所述方法包括:接收位数少于预定指令位数量的指令的位序列,所述多个接收的位序列为所述指令的多个最高有效位。在所述闪存装置的逻辑电路中对所述接收的位序列预解码(pre-decoding),以判别所述接收位序列是否匹配对应的逻辑读取指令的位序列。在所述焊盘串行输出电路中完成对所述指令其余位的解码,以判别在所述预解码的步骤中的匹配是否正确地预测所述逻辑读取指令。依据所述逻辑读取指令输出逻辑数据。
本发明的另一实施例提供一种操作闪存装置的方法,所述闪存装置具有闪存单元阵列,用以回应于具有预定指令位数量的逻辑读取指令,以提供逻辑数据至应用程序,所述方法包括:接收位数少于预定指令位数量的指令的第一位序列,所述多个接收的第一位序列为所述指令的多个最高有效位。在所述闪存装置的逻辑电路中对所述接收的第一位序列预解码,以判别所述接收的第一位序列是否匹配对应的逻辑读取指令的位序列。依据在所述预解码步骤中匹配的所述逻辑读取指令来预取逻辑数据。接收位数少于预定指令位数量但多于所述第一位序列的指令的第二位序列,所述多个接收的第二位序列为所述指令的多个最高有效位。在所述闪存装置的逻辑电路中对所述接收的第二位序列预解码,以判别所述接收的第二位序列是否匹配对应的逻辑读取指令的位序列。在所述焊盘串行输出电路中完成对所述指令其余位的解码,以判别在所述第二序列预解码的步骤中的匹配是否正确地预测所述逻辑读取指令。输出在所述预取步骤中所预取的逻辑数据。在一变化中,最高有效位的所述第一序列以及第二序列为7位。在另一变化中,最高有效位的所述第一部分序列为4位,且最高有效位的所述第二部分序列为7位。
附图说明
图1是现有技术中一种闪存装置的焊盘、逻辑电路以及数据寄存器电路的方块示意图。
图2是图1中的逻辑电路的细部方块示意图。
图3是图1中的焊盘串行输出电路的细部方块示意图。
图4是绘示图1中的闪存装置的失效情形的时序图。
图5是绘示图4的时序图的部分的细部时序图。
图6是一种包括指令预解码及数据预取的闪存装置架构的电路示意图。
图7是绘示不同的逻辑读取指令的数位表示法的示意图。
图8是绘示包括于图6中的闪存装置的操作的不同信号的时序图。
图9是图6中的闪存装置的焊盘、逻辑电路以及数据寄存器电路的方块示意图。
图10是图9中的逻辑电路的细部方块示意图。
图11是图9中的焊盘串行输出电路的细部方块示意图。
图12是一种包括用于QPI模式中的指令预解码及数据预取的闪存装置架构的部分电路示意图。
图13是概述图6的闪存装置的操作中,使用指令预解码以及逻辑数据预取进行逻辑数据读取的流程图。
图14是概述闪存装置的操作中,仅使用7位指令预解码以及逻辑数据预取进行逻辑数据读取的流程图。
其中,附图标记说明如下:
2、109:主阵列感测放大器
4、25、107:寄存器
10、48、134:输入焊盘电路
12、54、124:逻辑电路
14、52、122:数据寄存器
16、46、130、131、132、133:焊盘串行输出电路
24、102、108、110:组合性逻辑电路
26、104、116:多工器
32、112、114:D型正反器
34、118:输出驱动器
40:写入控制逻辑电路
42:状态寄存器
50、120:指令和控制逻辑电路
56:高压产生器
58:页面地址闩锁及计数器
60:字节地址闩锁及计数器
62:安全寄存器
64:列解码电路
64_1:写入保护逻辑电路
66:闪存单元阵列
68:行解码电路
68_1:256字节页面缓冲器
68_2:32感测放大器区块
100:4位预解码器
106:7位预解码器
140、160:流程图
141~150、161~169:步骤
ARRAYDATA:阵列数据
A1、B1、C1、D1、E1、F1:箭号
A2、B2、C2、D2:时间点
CLK:时脉信号
CLK1、CLK’:缓冲时脉输入脚位
CS:芯片选择输入脚位
D、SET、SET1’:输入端
IO0、IO1、IO2、IO3:第一~第四输入/输出信号线
JEDEC、RDSR1、RDSR2、RDLD、OEIN、PD4_RDSR1、PD4RDSR2、PD4_JEDEC、PD7_RDSR1、PD7_RDSR2、PD7_JEDEC、SET1、ARRAYREAD:信号
JEDECID、SR1、SR2:数据
LOGICDATA:逻辑数据
OE:输出致能信号
PRECMD<1:0>:预指令信号
Q:输出端
SI:串行输入
SDOUT/:串行数据输出信号
SCK:系统时脉
SCK’:系统时脉输入脚位
SELECT<1:0>:选择信号
具体实施方式
闪存可广泛地适用于数位电子装置及系统中。然而,具有高效能的装置及系统通常需要闪存操作在较高的频率。举例而言,在存储器读取的操作情形中,虽然在所述指令后使用虚置时脉(dummyclock)可允许较高频率的操作,但逻辑读取操作的速度仍可能出现瓶颈。此问题是因在指令解码和逻辑电路、数据寄存器电路、互联内部信号线中过多的延迟所造成。
例如信号JEDEC读取指令(9Fh)、第一状态寄存器读取指令(信号RDSR105h)以及第二状态寄存器读取指令(信号RDSR235h),其皆为逻辑读取指令的例子。信号JEDEC读取指令从所述装置输出制造商以及装置身分字节,用以判断所述装置的身分。信号RDSR1以及RDSR2读取指令分别输出第一状态寄存器以及第二状态寄存器的内容。
图4绘示信号JEDEC、RDSR1以及RDSR2在非常高频操作中的操作情形,并假设在所述闪存装置中没有其他瓶颈。串行输入SI包括8个时脉,用以在上升边缘控制8个指令位,之后接着多个在下降边缘用于控制数据的额外时脉。所述闪存可设计为使第8个时脉不只在指令的上升边缘控制其最低有效位(LeastSignificantBit,LSB),也在其下降边缘控制其第1个数据位,即最左边的向下箭头所指之处。因此,用于完成指令解码及抓取(fetch)以及输出数据的时序容忍度(timingmargin)仅为相当短的半周期。
不幸的是,假设在所述闪存中没有其他瓶颈,则当操作的频率提升至一特定点时,所述半周期的时序容忍度是不足的,如同图5中所绘示。当出现许多延迟时,其中较为显著的延迟以箭号A1、B1、C1、D1及E1标示。箭号A1标示由系统时脉SCK的缓冲所导致的延迟,其使得内部时脉信号CLK可以被提供。箭号B1标示在所述第8个位到达后,解码所述指令以产生信号JEDEC、RDSR1或是RDSR2的延迟。箭号C1标示在逻辑电路12中,在信号JEDEC、RDSR1或是RDSR2产生后选择适当逻辑数据的延迟。箭号D1标示在阵列数据ARRAYDATA和逻辑数据LOGICDATA之间选择用于输出串行数据输出信号SDOUT/时,与数据寄存器14中的组合性逻辑电路24以及多工器26(绘示于图2)中的时脉信号CLK的上升边缘有关的延迟。箭号E1标示延着RDLR信号路径以及在D型正反器32中的时脉信号CLK的上升边缘,与用于产生输出致能信号OE有关的延迟,其中输出致能信号OE致能输出驱动器34。箭号F1标示整体的延迟,其在此例中为将近整个周期且远超过所述半周期的时序容忍度。
理想的闪存的操作频率一般而言是较高的。在存储器阵列读取操作中,当改善的时机消除瓶颈时,逻辑读取操作中的时机延迟可能超过所述半周期的时序容忍度,且成为更高频率操作中的下一个瓶颈。有利的是,此处的多个实施方式可用不同的方式改善逻辑读取操作的时机。
逻辑读取操作的时机可由焊盘串行输出电路改善,其在最后一个指令时脉前接收预解码指令信号以及预取逻辑数据,并且对所述焊盘串行输出电路的指令输入序列的最后一个时脉的指令执行快速解析(fastresolution),以避免串行逻辑电路延迟、数据寄存器延迟以及内部信号线延迟。在一SPI的说明性实施方式中,指令预解码在指令输入的第7个时脉中完成,且用以产生预指令(pre-command)信号,所述预指令信号可预先提供至所述焊盘串行输出电路,所述预解码指令也可用以预取逻辑数据,所述逻辑数据可预先提供至所述焊盘串行输出电路。在另一SPI的说明性实施方式中,指令预解码在指令输入的第4个时脉中完成,用以产生预指令信号,所述预指令信号可预先提供至所述焊盘串行输出电路,而另一指令预解码则在指令输入的第7个时脉中完成,用以预取逻辑数据,所述逻辑数据可预先提供至所述焊盘串行输出电路。在一QPI的说明性实施方式中,指令预解码在4位指令输入的第一个时脉中完成,用以产生预指令信号,所述预指令信号可预先提供至所述四个焊盘串行输出电路的各个电路,所述预指令信号也可预取逻辑数据,所述逻辑数据可预先提供至所述四个焊盘串行输出电路的各个电路。快速指令解析可在四个焊盘串行输出电路的各个电路的指令输入序列的第2个时脉中完成,所述四个焊盘串行输出电路各接收所述指令的4个LSB。所述指令预解码、逻辑数据预取以及在焊盘串行输出电路中的快速指令解析的技术可单独或以任意组合使用,以改善逻辑读取的时机。
图6绘示一闪存装置结构的方块示意图,其包括逻辑读取指令预解码、逻辑数据预取以及在焊盘串行输出电路中的快速指令解析。由于不同的定址、读取以及写入电路,闪存单元阵列66可定址用于读取以及写入,所述电路包括列解码电路64以及行解码电路68,其中,行解码电路68包括32感测放大器区块681以及256字节页面缓冲器682,32感测放大器区块681用以读取闪存单元阵列66,256字节页面缓冲器682用以写入闪存单元阵列66。写入保护逻辑电路641回应于状态寄存器42以在特定情形下防止写入闪存单元阵列66。指令和控制逻辑电路50控制高压产生器56以及页面地址闩锁及计数器58,其中高压产生器56以及页面地址闩锁及计数器58轮流控制列解码电路64。指令和控制逻辑电路50也控制字节地址闩锁及计数器60,其轮流控制行解码电路68。指令和控制逻辑电路50包括四个输入/输出信号线IO0~IO3、缓冲时脉输入脚位CLK1以及芯片选择输入脚位CS。支持SPI和QPI,包括标准SPI指令、双(dual)SPI指令、四元(quad)SPI指令以及QPI指令。当使用「致能QPI(38h)」指令将所述装置从标准/双/四元SPI模式切换至QPI模式时,QPI操作即被支持。使用「禁能QPI(FFh)」指令可将所述装置切回至标准/双/四元SPI模式。
指令预解码的实施方式可用三个指令说明,即信号RDSR1(05h)、RDSR2(35h)以及JEDEC(9Fh)。其可加入额外的逻辑数据以及逻辑读取指令,举例而言,第三状态寄存器,但此处所描述的原则仍可应用。由于指令位是在时脉的上升边缘感测,所以任何指令皆可以明确地在第8个时脉的上升边缘判断。然而,如同图7所绘示,信号JEDEC、RDSR1以及RDSR2指令的LSB为相同,即皆为1。因此,在这些指令中,在第7个时脉的上升边缘可以进行明确的判断。虽然所述8个指令位对于所述指令解码器仍为未知,但所述指令可由提早一个时脉周期对指令位解析而获得,即仅基于7个指令位。此外,如同图7所绘示,这些指令的4个最高有效位(MostSignificantBit,MSB)是不同的。所以,在这些指令中,在第4个时脉的上升边缘可进行明确的判断,用以从状态寄存器42预取数据JEDEC、SR1以及SR2。在所述4个指令位之后的解码操作可能不会像其他指令一般的明确,但这样的不明确性可以基于7个位的预解码及/或在焊盘串行输出电路46(绘示于图6)执行的指令解析而解决。
图8是具有4位指令预解码以及数据预取、7位指令预解码以及在所述焊盘串行输出电路的指令解析的信号JEDEC、RDSR1和RDSR2指令的时序图。图9是绘示图6中的闪存电路中,用于实现上述操作的详细方块示意图。逻辑电路54的细节绘示于图10中,焊盘串行输出电路46的细节绘示于图11中。
如图9所示,系统时脉SCK施于焊盘串行输出电路46,并且同时施于输入焊盘电路48,系统时脉SCK缓冲于输入焊盘电路48且以时脉信号CLK的身份提供。时脉信号CLK施于逻辑电路54以及数据寄存器52,所述数据寄存器52配置于指令和控制逻辑50(绘示于图6)。逻辑电路54也接收逻辑数据,例如信号JEDEC以及来自状态寄存器的状态数据SR1以及SR2。逻辑电路54额外接收串行输入SI。
如图10绘示,逻辑电路54包括4位预解码器100,其解码串行输入SI的4个MSB,并且若所述4个MSB分别指示为信号RDSR1、RDSR2或JEDEC时,4位预解码器100触发信号PD4RDSR1、PD4RDSR2或PD4JEDEC。信号PD4RDSR1、PD4RDSR2以及PD4JEDEC施于组合性逻辑电路102,其产生用于控制多工器104的选择信号SELECT<1:0>。制造商和部分标识信号JEDEC以及来自状态寄存器的状态数据SR1和SR2以数据输入的身分施于多工器104,这些信号的选择是基于选择信号SELECT<1:0>,并以预取数据信号逻辑数据LOGICDATA的身分施于焊盘串行输出电路46(绘示于图9)。因此,如图8所示,在时间点A2时,逻辑数据LOGICDATA可以在第4个时脉的上升边缘后即提供至焊盘串行输出电路46。
图10绘示逻辑电路54包括7位预解码器106,其解码串行输入SI的7个MSB,并且若所述7个MSB分别指示为信号RDSR1、RDSR2或JEDEC时,7位预解码器106触发信号PD7RDSR1、PD7RDSR2或PD7JEDEC。信号线PD7RDSR1、PD7RDSR2以及PD7JEDEC施于组合性逻辑电路108,其产生预指令信号PRECMD<1:0>。所述预指令信号PRECMD<1:0>可以在时间点B2(绘示于图8)提供至焊盘串行输出电路46,即缓冲时脉信号CLK的第7个时脉的上升边缘。如图8所示,预指令信号PRECMD<1:0>的值如同所绘示的为0及1。
如图11所示,焊盘串行输出电路46包括组合性逻辑电路110,其接收预指令信号PRECMD<1:0>以及串行输入SI,用以在最后一个运算码(opcode)周期中执行快速指令解析。预指令信号PRECMD<1:0>标示所述指令是否为预期的信号RDSR1、RDSR2、JEDEC或是这些指令以外的指令。组合性逻辑电路110组合预指令信号PRECMD<1:0>与所述指令的LSB,以解析所述指令是否确实为信号RDSR1、RDSR2或JEDEC,并且将此结果施于D型正反器112的输入端D,用以在时间点C2(绘示于图8)产生输出至输入端SET1’,亦即在第8个时脉信号CLK之后的上升边缘。因此,当所述指令为预期的信号RDSR1、RDSR2或JEDEC,并且所述指令的LSB为1(绘示于图7)时,信号SET1被触发。否则,信号SET1不会被触发。
焊盘串行输出电路46也包括另一D型正反器114,其在输出端Q提供输出致能讯号OE至输出驱动器118。D型正反器114在其输入端D接收信号OEIN,其用于致能阵列读取。D型正反器114也包括输入端SET1’以及SET,其分别接收信号SET1和RDLD。当信号SET1和RDLD皆为0时,D型正反器114的状态以及输出驱动器118的致能情形是由用来执行阵列读取的信号OEIN所决定。然而,当信号SET1为1,即确认应执行逻辑读取时,输出致能讯号OE在时间点D2(绘示于图8)产生,即在第8个指令时脉的下降边缘产生。此时机确保来自输出驱动器118的数据在第8个指令的时脉下降边缘为可用的,并可预期在所述闪存装置中用于适当的操作中。
串行数据输出信号SDOUT/和逻辑数据LOGICDATA施于多工器116的输入端,并且在以下的方法中择其一施于输出驱动器118的输入端。信号ARRAYREAD与闪存单元阵列66的读取相关,且在阵列读取指令解码前都不会被触发。因此,信号ARRAYREAD预设是不会触发的,此使得所述多工器将预设为选择逻辑数据LOGICDATA。
在一些指令组中,无法基于所述指令的7个MSB作出所述指令的明确判断。举例而言,信号JEDEC(9Fh或是10011111)即无法基于所述7个MSB与9Eh(10011110)区隔。类似地,信号RDSR1(05h或00000101)亦无法基于所述7个MSB与04h(00000100)区隔。当无法基于所述7个MSB进行明确判断时,将出现两种可能的结果。
第一个情况以指令9Eh为例。目前9Eh为无效的指令,由于输出信号JEDEC数据不会影响所述闪存且可能会被所述装置或系统忽略,因此从所述无效的9Eh推测信号JEDEC实务上可能不会出现问题。此外,一个精心设计的系统或装置不应发布此种无效的指令。因此,当因无效指令产生不明确性时,此问题可忽视。尽管如此,对于所述闪存控制系统而言,理想上仍希望能避免将无效的指令误解为有效的指令。
第二个情况以指令04h为例。在一些闪存中,目前04h为写入禁能指令,其被发布以将所述状态寄存器中的写入致能闩锁(writeenablelatch,WEL)位从1重置为0。因此,以电脑程序的观点而言,04h可以是有效的指令。然而,假若如此的指令被所述闪存控制电路误解为信号RDSR105h,电脑程序将发生故障。对于接收这些无法基于其7个MSB进行明确判断的有效指令的闪存而言,理想上希望所述闪存控制系统能够侦测潜在的错误指令以及适当地处理其解码。
焊盘串行输出电路46中的组合性逻辑电路110在以下的方法中对7位预解码进行模糊解析。无效指令9Eh以及写入致能闩锁指令04h的LSB皆包括一个0。在此情形中,组合性逻辑电路110的输出端传输0至正反器112的输入端D,使D型正反器112储存0并使得输出端Q传输0至正反器114的输入端SET1’,其不覆盖输入端D的逻辑值。因此,输出致能信号OE的任何触发(assertion)由输入端D所控制。
此处描述的技术可应用于SPI或QPI接口中。图6中所示的闪存装置结构可以修改为如图12所示,用以如同QPI一般支持一位以及多位SPI。
在一位以及多位SPI接口中,8位指令以一位的串行提供,也就是在8个时脉的各个时脉中各提供一个位。此输入以串行输入SI提供。对于多位SPI而言,图6所示的闪存装置结构可修改为包括多个焊盘串行输出电路电路,其数量等于在一时间点中控制的多个输出位数量,并且在每个焊盘串行输出电路中可执行快速指令解析。预指令信号PRECMD<1:0>可以具有0、1值以致能各个焊盘串行输出电路,用以输出。
在QPI接口中,8位的指令以4位串行提供,也就是使用两个时脉个别传送4个位。对于QPI接口而言,图6所示的闪存装置结构可以修改为如图12所示。指令和控制逻辑区块120包括数据寄存器122以及逻辑电路124。焊盘串行输出电路130、131、132以及133可以搭配分别与其连接的输入/输出信号线IO0、IO1、IO2以及IO3使用。此外,逻辑数据LOGICDATA的位<4,0>、<5,1>、<6,2>以及<7,3>可以分别由逻辑电路124传输至焊盘串行输出电路130、131、132以及133,且预指令信号PRECMD<1:0>可以由逻辑电路124传输至焊盘串行输出电路130、131、132以及133。串行数据输出信号SDOUT/的位<4,0>、<5,1>、<6,2>以及<7,3>可以分别由数据寄存器122传输至焊盘串行输出电路130、131、132以及133。系统时脉SCK可以传输至焊盘串行输出电路130、131、132以及133。用于QPI的快速指令解析可用以下的方法执行。即,当信号RDSR1、RDSR2以及JEDEC的IO3至IO0分别为0101、0101以及1111(图7)时,预指令信号PRECMD<1:0>的0、1值可用于致能焊盘串行输出电路130、131、132以及133的输出。
图13是绘示使用4位和7位指令预解码进行逻辑数据读取操作的概括流程图140。系统时脉SCK缓冲于输入焊盘电路48以提供缓冲的时脉信号CLK至逻辑电路54以及数据寄存器52(步骤141)。在4个时脉信号CLK控制进入指令的4个MSB,且所述4个MSB被逻辑电路54预解码(步骤142)之后,在逻辑电路54中根据在所述4个位中预解码的逻辑读取指令(例如信号JEDEC或是状态寄存器中的状态数据SR1或SR2)预取逻辑数据(步骤143)。所述预取逻辑数据在第8个系统时脉SCK时脉之前提供至焊盘串行输出电路46(步骤144)。在7个时脉信号CLK控制进入指令的7个MSB,且在逻辑电路54中被预解码以产生预指令信号(步骤145)之后,提供所述预指令信号至焊盘串行输出电路46(步骤146)。所述预指令信号与在焊盘串行输出电路46中,用于快速指令解析的LSB(在第8个系统时脉SCK的上升边缘)结合,以解决预解码指令的模糊性(步骤147)。假若所述指令不为逻辑读取指令(步骤148中的否),不进行逻辑数据读取而继续存储器操作(步骤150)。假若所述指令为逻辑读取指令(步骤148中的是),所述预取逻辑数据在第8个系统时脉SCK的下降边缘被选择,且由系统时脉SCK控制的焊盘串行输出电路46输出(步骤149)。
有利的是,逻辑数据、SR1数据以及SR2数据的其中之一可在第4个时脉即预取,因此即使在逻辑电路54中执行多工,所述的选定数据仍具有充足的时间被处理为对于在焊盘串行输出电路46中的多工器116是可用的。有利的是,逻辑数据可在焊盘串行输出电路46中的多工器116进行多工,且由多工器116直接提供至输出驱动器118,因而避免信号线及其他传输和闸延迟。有利的是,包括多工器116以及输出驱动器118的焊盘串行输出电路46可由系统时脉SCK控制,因而避免时脉缓冲延迟。有利的是,解码模糊性可在焊盘串行输出电路46中的组合性逻辑电路110的系统时脉SCK的上升边缘解决,使得除非所述指令被解析为逻辑读取指令,否则任何在逻辑读取指令中被预取的数据皆不会选为输出驱动器118的输入。
图14绘示使用7位指令预解码的逻辑数据读取操作的概括流程图160。系统时脉SCK缓冲于输入焊盘电路48中以提供缓冲的时脉信号CLK至逻辑电路54以及数据寄存器52(步骤161)。在7个时脉信号CLK控制进入指令的7个MSB,且所述7个MSB被逻辑电路54预解码以产生预指令信号(步骤162)之后,将所述预指令信号提供至焊盘串行输出电路46(步骤163)。此外,逻辑数据(例如信号JEDEC或是状态寄存器中的状态数据SR1或SR2)在逻辑电路54中被预取,此是根据在所述7个位中预解码出哪个逻辑读取指令(步骤164),并将所述逻辑数据提供至焊盘串行输出电路46(步骤165)。所述预指令信号与在焊盘串行输出电路46中,用于快速指令解析的LSB(在第8个系统时脉SCK的上升边缘)结合,以解决预解码指令的模糊性(步骤166)。若所述指令不为逻辑读取指令(步骤167中的否),不进行逻辑数据读取而继续存储器操作(步骤169)。假若所述指令为逻辑读取指令(步骤167中的是),所述预取逻辑数据在第8个系统时脉SCK的下降边缘被选择,且由系统时脉SCK控制的焊盘串行输出电路46输出(步骤168)。
本发明的描述,包括所提出的优点及其应用仅用以说明,此说明并非用以限定本发明,故本发明之保护范围当视申请权利要求所界定者为准。在此所公开的实施例可能改变及修改,任何所属技术领域技术人员研读本专利文件之后将明了该些实施例的各种元件的实际替换及等效。除非另有界定,否则在此所给予的特定数值仅用以说明,其可依需求而变化。其中,本发明所提出的各个时间点除非另有明确界定,否则皆非确切时间点,且将随着电路布局、信号线阻抗、以及本领域熟知的其他实际设计因素而变化。所参考的某一范围的各种数值将包括此范围内的所有数值。在不脱离本发明的范围内,当可进行在此所公开的实施例的这些及其他改变及修改,包含该些实施例的各种元件的替换及等效。
Claims (12)
1.一种闪存装置,其具有能够回应于一组逻辑读取指令而输出逻辑数据的能力,包括:
外部信号输入端;
可定址闪存单元阵列;
数据寄存器,耦接于该可定址闪存单元阵列,用以接收并储存来自于该可定址闪存单元阵列的阵列数据;
多个寄存器,用以储存逻辑数据;
指令和控制逻辑电路,包括:
预取逻辑电路,耦接于该外部信号输入端,用以当该外部信号输入端接收指令的最高有效位的第一部分序列为预测的特定逻辑数据读取指令时,依据该些逻辑读取指令的特定其中之一,从该多个寄存器的其中之一预取逻辑数据;
输出控制逻辑电路,耦接于该外部信号输入端,用以当该外部信号输入端接收指令的最高有效位的第二部分序列为预测的该多个逻辑数据读取指令的任意其中之一时,产生预测的逻辑读取指令信号;以及
焊盘串行输出电路,耦接于该数据寄存器、该预取逻辑电路、该输出控制逻辑电路以及外部信号接收端,用以当该预测的逻辑读取指令信号以及除了该第一部分序列及该第二部分序列之外的部分指令解析收到该些逻辑数据读取指令的任意其中之一时,选择及输出来自该预取逻辑电路的逻辑数据。
2.如权利要求1所述的闪存装置,其中:
该外部信号输入端遵守串行周边接口协议,并包括串行输入信号线;以及
该焊盘串行输出电路遵守串行周边接口协议,并包括串行数据输出线。
3.如权利要求1所述的闪存装置,其中:
该外部信号输入端遵守四元周边接口协议,并且包括第一串行输入/输出信号线、第二串行输入/输出信号线、第三串行输入/输出信号线以及第四串行输入/输出信号线;以及
该焊盘串行输出电路遵守四元周边接口协议,并且包括第一一位焊盘串行输出电路,其耦接于该第一串行输入/输出信号线、第二一位焊盘串行输出电路,其耦接于该第二串行输入/输出信号线、第三一位焊盘串行输出电路,其耦接于该第三串行输入/输出信号线以及第四一位焊盘串行输出电路,其耦接于该第四串行输入/输出信号线。
4.如权利要求1所述的闪存装置,其中该第一以及该第二部分序列的最高有效位为7位。
5.如权利要求4所述的闪存装置,其中:
该外部信号输入端遵守串行周边接口协议,并且包括串行输入信号线;以及
该焊盘串行输出电路遵守串行周边接口协议,并且包括串行数据输出线。
6.如权利要求1所述的闪存装置,其中:
最高有效位的该第一部分序列为4位;以及
最高有效位的该第二部分序列为7位。
7.如权利要求6所述的闪存装置,其中:
该外部信号输入端遵守四元周边接口协议,并且包括第一串行输入/输出信号线、第二串行输入/输出信号线、第三串行输入/输出信号线以及第四串行输入/输出信号线;以及
该焊盘串行输出电路遵守四元周边接口协议,并且包括第一一位焊盘串行输出电路,其耦接于该第一串行输入/输出信号线、第二一位焊盘串行输出电路,其耦接于该第二串行输入/输出信号线、第三一位焊盘串行输出电路,其耦接于该第三串行输入/输出信号线以及第四一位焊盘串行输出电路,其耦接于该第四串行输入/输出信号线。
8.如权利要求1所述的闪存装置,更包括:
系统时脉输入信号线,耦接于该焊盘串行输出电路;以及
输入焊盘电路,耦接于该系统时脉,用以提供缓冲的时脉信号至该预取逻辑电路、该输出控制逻辑电路以及该数据寄存器。
9.一种操作闪存装置的方法,该闪存装置具有闪存单元阵列,用以回应于具有预定指令位数量的逻辑读取指令,以提供逻辑数据至应用程序,该方法包括:
接收位数少于预定指令位数量的指令的位序列,该些接收的位序列为该指令的多个最高有效位;
在该闪存装置的逻辑电路中对该接收的位序列预解码,以判别该接收位序列是否匹配对应的逻辑读取指令的位序列;
在焊盘串行输出电路中完成对该指令其余位的解码,以判别在该预解码的步骤中的匹配是否正确地预测该逻辑读取指令;以及
依据该逻辑读取指令输出逻辑数据。
10.一种操作闪存装置的方法,该闪存装置具有闪存单元阵列,用以回应于具有预定指令位数量的逻辑读取指令,以提供逻辑数据至应用程序,该方法包括:
接收位数少于预定指令位数量的指令的第一位序列,该些接收的第一位序列为该指令的多个最高有效位;
在该闪存装置的逻辑电路中对该接收的第一位序列预解码,以判别该接收的第一位序列是否匹配对应的逻辑读取指令的位序列;
依据在该预解码步骤中匹配的该逻辑读取指令来预取逻辑数据;
接收位数少于预定指令位数量但多于该第一位序列的指令的第二位序列,该些接收的第二位序列为该指令的多个最高有效位;
在该闪存装置的逻辑电路中对该接收的第二位序列预解码,以判别该接收的第二位序列是否匹配对应的逻辑读取指令的位序列;
在焊盘串行输出电路中完成对该指令其余位的解码,以判别在该第二位序列预解码的步骤中的匹配是否正确地预测该逻辑读取指令;以及
输出在该预取步骤中所预取的逻辑数据。
11.如权利要求10所述的方法,其中该第一位序列以及该第二位序列为该指令的7个最高有效位。
12.如权利要求10所述的方法,其中:
该第一位序列为该指令的4个最高有效位;以及
该第二位序列为该指令7个最高有效位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210241228.0A CN103544991B (zh) | 2012-07-12 | 2012-07-12 | 闪存装置及其操作的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210241228.0A CN103544991B (zh) | 2012-07-12 | 2012-07-12 | 闪存装置及其操作的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103544991A CN103544991A (zh) | 2014-01-29 |
CN103544991B true CN103544991B (zh) | 2016-06-22 |
Family
ID=49968372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210241228.0A Active CN103544991B (zh) | 2012-07-12 | 2012-07-12 | 闪存装置及其操作的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103544991B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11256652B2 (en) * | 2019-06-20 | 2022-02-22 | Analog Devices International Unlimited Company | Multi-I/O serial peripheral interface for precision converters |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097657A (en) * | 1998-05-12 | 2000-08-01 | Atmel Corporation | Method for reading out the contents of a serial memory |
CN101048823A (zh) * | 2004-08-30 | 2007-10-03 | 爱特梅尔股份有限公司 | 无虚设字节的闪存存储器读出操作法 |
CN101740098A (zh) * | 2008-11-12 | 2010-06-16 | 精工电子有限公司 | 半导体存储装置的读出电路及半导体存储装置 |
CN101882468A (zh) * | 2009-05-08 | 2010-11-10 | 旺宏电子股份有限公司 | 地址信号传输方法及存储器系统 |
CN102194508A (zh) * | 2010-02-23 | 2011-09-21 | 安森美半导体贸易公司 | 存储器装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2805653A1 (fr) * | 2000-02-28 | 2001-08-31 | St Microelectronics Sa | Memoire serie programmable et effacable electriquement a lecture par anticipation |
-
2012
- 2012-07-12 CN CN201210241228.0A patent/CN103544991B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6097657A (en) * | 1998-05-12 | 2000-08-01 | Atmel Corporation | Method for reading out the contents of a serial memory |
CN101048823A (zh) * | 2004-08-30 | 2007-10-03 | 爱特梅尔股份有限公司 | 无虚设字节的闪存存储器读出操作法 |
CN101740098A (zh) * | 2008-11-12 | 2010-06-16 | 精工电子有限公司 | 半导体存储装置的读出电路及半导体存储装置 |
CN101882468A (zh) * | 2009-05-08 | 2010-11-10 | 旺宏电子股份有限公司 | 地址信号传输方法及存储器系统 |
CN102194508A (zh) * | 2010-02-23 | 2011-09-21 | 安森美半导体贸易公司 | 存储器装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103544991A (zh) | 2014-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100466980B1 (ko) | 낸드 플래시 메모리 장치 | |
KR101154148B1 (ko) | 복수 개의 독립적인 직렬 링크 메모리 | |
JP5193045B2 (ja) | 出力制御部を備えたメモリ | |
US8208315B2 (en) | Method and system to access memory | |
US7769909B2 (en) | Device and method for access time reduction by speculatively decoding non-memory read commands on a serial interface | |
CN106716383B (zh) | 存储器装置和控制存储器装置的方法、存储器系统 | |
TWI534615B (zh) | 串列周邊介面控制器、串列周邊介面快閃記憶體及其存取方法和存取控制方法 | |
KR101375797B1 (ko) | 저장 용량이 큰 멀티 미디어 카드 | |
KR20020041276A (ko) | 트레이스 제어 회로 | |
CN103544991B (zh) | 闪存装置及其操作的方法 | |
KR100377708B1 (ko) | 저소비 전력화가 가능한 파이프라인 방식의 반도체 기억장치 | |
US7405973B2 (en) | Repair circuit of semiconductor memory device | |
JP5467134B1 (ja) | フラッシュメモリ装置およびメモリ装置の操作方法 | |
US8614920B2 (en) | Method and apparatus for logic read in flash memory | |
US8151075B2 (en) | Multiple access type memory and method of operation | |
WO2013128624A1 (ja) | マイクロコンピュータおよび不揮発性半導体装置 | |
TWI501240B (zh) | 快閃記憶體及操作記憶體裝置的方法 | |
US7516290B2 (en) | Memory controller | |
US20050120159A1 (en) | Integrated memory device with multiple reading and writing commands | |
CN116504293B (zh) | nor flash的读取方法、装置、存储芯片及设备 | |
CN102486934B (zh) | 串行接口的快闪存储器装置及其复位动作的执行方法 | |
KR101001142B1 (ko) | 커맨드 처리회로 및 그를 이용한 상변화 메모리 장치 | |
US6996697B2 (en) | Method of writing a group of data bytes in a memory and memory device | |
US20050125622A1 (en) | Memory device capable of supporting sequential multiple-byte reading | |
KR20070089900A (ko) | 버스트 읽기 레이턴시 기능을 갖는 낸드 플래시 메모리장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |