CN1269906A - 具有批量操作用非易失性单元的块选择的标志寄存器的集成电路 - Google Patents
具有批量操作用非易失性单元的块选择的标志寄存器的集成电路 Download PDFInfo
- Publication number
- CN1269906A CN1269906A CN98808790A CN98808790A CN1269906A CN 1269906 A CN1269906 A CN 1269906A CN 98808790 A CN98808790 A CN 98808790A CN 98808790 A CN98808790 A CN 98808790A CN 1269906 A CN1269906 A CN 1269906A
- Authority
- CN
- China
- Prior art keywords
- register
- instruction
- batch operation
- address
- circuit
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Logic Circuits (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
用于对PLD、FPGA、基于快闪的微控制器、EEPROM、快闪存储器件或包含这些单元的其它集成电路的非易失性存储单元实行批量编程、擦除、检验和储备操作的批量操作逻辑电路(图1)包括用于指定批量操作所限的一个或多个选中的单元块的标志寄存器(31)。批量操作电路包括控制器(11),该控制器具有状态机(13)和相关的控制逻辑(17,19),该控制器分配系统时钟信号并把控制信号提供给指令寄存器(21)、标志寄存器(31)、地址寄存器(33)和一个或多个数据寄存器(35),以控制通过串行输入(SDI)把指令和数据装入这些寄存器。状态机响应于把它从支持用户状态切换到批量操作状态的模式信号(MODE)。使用标志寄存器(31)使得简化了寄存器安装指令(图4)及基本批量操作指令(及从寄存器使用串行输出的流过操作)的指令集,同时对不同的批量操作提供更广的可能块选择。
Description
技术领域
本发明涉及包括非易失性单元(EEPROM或快闪存储(flash memory)单元)的块的集成电路,诸如可编程逻辑器件、现场可编程门阵列、基于快闪(Flash-based)的微控制器和其它可配置逻辑以及EEPROM和快闪存储器件等。本发明尤其涉及这些电路中用于寻址或选择所指定的非易失性元件或元件组用以擦除、编程、检验、储备(margin)或其它操作的装置,尤其是用于这种选择或寻址的串行装置。
背景技术
通常,通过对非易失性存储单元组所进行的诸如编程、擦除、检验、可靠性强调(stress)和储备操作等批量(bulk)操作来实行系统中的可配置逻辑的编程和调试。在逻辑芯片中,存储单元可包括用于配置和编程功能块(也叫做类属(generic)逻辑块)的那些存储单元和输入/输出块(或宏单元),以及使这些块相互互连并与器件引脚互连从而在器件内按路由发送各种信号的其它存储单元。由于这种电路及其被编程而实行的逻辑功能的复杂性,容易对一器件进行调试并在必要时重新编程是非常有用的。为了避免在发现差错时不得不擦除整块芯片并重新编程,能够选择需要修正的那些单元组(或块)是有用的。类似地,较大的系统通常包括非易失性存储芯片,当系统第一次接通时,从这些非易失性存储芯片把程序装入其它易失性芯片。可给系统的特定易失性芯片分配非易失性存储芯片中不同的单元组。为了便于更改非易失性存储器的选中部分的内容,通常把这些存储芯片分割成可选择性编程的块。
已使用不同的方法来选择用于各种批量操作的非易失性存储单元的块。在一个这样的方法中,在器件操作期间把静态电压电平加到器件的外部引脚或端子,以在不同的单元组及不同的期间操作中进行选择。尤其是,地址引脚指定要对哪一个单元组进行操作,其中每个地址(即,引脚电平的集合)选中唯一的不重叠单元集合。在为特定的器件操作所选中被解码地址和单元集合之间存在一对一的映射。例如,接收二进制输入电平的十个地址引脚可选择多达1024(=210)个不同单元组。其它外部引脚选择将发生哪一种操作。数据引脚(其数目通常为八或更多)把器件数据从引脚加到单元(用以编程)或从单元加到引脚(用以检验和储备操作)。通常,擦除操作不需要输入数据。这种全静态方法的一个缺点是,所需外部引脚的数目随着不同单元组和操作数目的增加而快速增加。因而,为了对用于M个不同操作中的每一个操作的N个独有的单元组进行解码(使用二进制输入引脚电平)并把数据加到八个数据引脚上至少需要[log2(M·N)]+8个引脚。
第二种选择方法把来往于器件的数据用作串行位流。为了进行编程,把通过单个器件引脚以串行方式输入的数据值存储在器件内的数据锁存器中,然后传送到由地址引脚上的电平集合所指定的单元。根据芯片的设计和器件技术,擦除和可靠性强调操作可能或可能不需要输入数据。为了进行检验和储备操作,把单元中的数据读入数据锁存器,这些锁存器可以是与用于编程的锁存器相同的锁存器。然后,可使锁存的数据流出到单个数据输出引脚上。此串行位流技术把数据传送所需的引脚数减少到一个(虽然一些器件为数据输入和数据输出使用两个分开的引脚)。如先前在全静态方法中所述,仍然由加到器件的外部引脚的静态电平来指定待实行的特定操作和待被操作的特定单元组。Atmel ATF16V8器件所使用的这种数据流方法利用六个地址引脚,三个引脚选择操作模式,输入和输出有分开的数据引脚,还有一个是用于全部十二个引脚的时钟引脚。假设是8位并行数据,则全静态方法需要18个引脚。
第三种方法把数据和经编码的地址作为串行位流加到各个数据和地址引脚,并在开始单元操作前把这些位存入数据和地址锁存器。在解码地址和不重叠的单元组之间仍然存在1∶1的映射,而且通过以并行方式把静态电平加到器件的多个外部引脚来选择操作。Atmel ATF22V10C是使用这种技术的器件的一个例子。在此情况下,需要八个引脚来完全指定地址、数据输入、数据输出和操作模式选择。然而,该方法仍然存在在可选单元操作的数目增加时需要更多引脚的缺点。
第四个选择技术使用串行流动的数据、地址和指令码。在Turner等人的4,855,954号、Josephson等人的5,237,218号及Tsui等人的5,412,260号美国专利以及在IEEE规范1149.1(通常叫做联合测试行动组[JTAG]规范)中介绍了该方法。此标准化方法利用内部状态机、一组移位寄存器及仅四个器件引脚来实行各种操作。状态机包括可通过以适当的方式驱动模式、时钟和串行数据输入(SDI)引脚来改变的正常用户、命令安装和程序执行状态。还有为进行批量的编程和测试操作而允许多个器件串行连接或以菊形链的形式层叠在一起的串行数据输出(SDO)引脚。这些控制引脚可通过多路复用在状态机处于其正常用户模式时用作功能引脚的引脚来获得。除了在系统中编程(ISP)操作中使用以外,控制引脚还可被边界扫描操作(可利用另一个状态机)所共享。移位寄存器包括指令寄存器、地址寄存器和一个或多个数据寄存器。当状态机处于其命令安装状态时,以串行方式具有SDI引脚把命令或指令移入指令寄存器,然后进行解码。在程序执行状态中,执行经解码的指令。指令可包括以串行方式把地址移入地址寄存器、以串行方式把数据移入数据寄存器之一并(在必要时利用特定数据寄存器中的数据)对位于该地址寄存器所指示的地址处的一组非易失性单元进行编程、擦除或检验的命令。(擦除操作不需要数据寄存器的任何数据)。不同的指令部件可选择待执行的不同类型的操作,还可指定将被操作的不同单元组或单元块(可能重叠)。例如,Tsui等人的专利列举了用于单元擦除的几个不同指令,包括体系结构块擦除(ARCHBE)、逻辑阵列块擦除(ARRBE)、可编程互连阵列块擦除(PIABE)和全局块擦除(GBE)。
JTAG方法的一个优点是,它仅需要四个引脚就可实行。由于此方法是标准化的,所以对编程和测试硬件及支持它的软件的开发对于器件制造商和用户来说相当简单。通过给不同的单元块即不同的指令,可对不同(可能重叠)的单元块实行同一基本类型的操作,给器件检验和特征化提供了相当的灵活性。使用重叠的单元组可有助于更快地隔离任何器件的功能失误,更容易对不同单元组的操作范围限制作特征化,而且还有助于更快地生产器件测试。然而,这种途径的缺点在于,随着增加更多的指令,指令解码器变得更复杂。为了对N种不同类型的操作中的每一种提供N个不同单元组的选择需要N×M个指令。
第五个方法以每个单元组的锁存器位(必须对任一个单元操作都单独可选)来替代JTAG方法的地址寄存器和内部地址解码器。任何,使全解码地址流入锁存器集合。例如,Altera MAX PLD单元阵列以行锁存器来实行该方法,行锁存器包括用于阵列中单元的每一行的位。数据锁存器存储每一阵列列的数据位,且数据流入数据锁存器。行和数据锁存器一起选择为批量操作而选中哪一位。由与阵列中的每个非易失性单元相关联的行锁存器位和数据锁存器来唯一地识别该单元。此外,通过设定多个行锁存器位,可同时选择任何行集合,从而提供灵活的重叠单元组能力。然而,由于行的编程必须单独可选,所以该方法需要对每一行有分开的锁存器位,从而在行数大的器件中需要大量锁存器位。另一个缺点是,对于每一种操作,行锁存器位以相同的方式分割阵列内的单元组。此外,虽然只有被操作的行才需要不同的位值,但必须给所有的行锁存器位安装用于所有单元操作的数据。这些都增加了大型器件的时间和成本。
许多非易失性存储器件利用通过把每个存储单元必须经历的擦除循环的次数减到最少而把这些器件的耐久性或使用寿命最大化的标志。例如,在Coffman等人的5,491,809号美国专利中揭示了一种擦除诸如快闪EPROM等块可擦非易失性存储器的方法,该方法消除了对擦除存储单元块的非必要擦除,以避免过擦除和耐久性低的问题,该方法还可保证擦除和更改指定的块。该方法利用存储器控制器,该控制器包括用于每一块的“skipdat”锁存器。每个skipdat锁存器对特定块起到标志寄存器的作用,从而向存储器控制器指示(1)该块是否已处于被擦除状态因而不需要擦除,或者(2)是否已保护该块而防止其擦除,或者(3)该块是否既未擦除也未被保护。存储器控制器控制擦除操作,从而不对标明已擦除或防止擦除的任何块尝试擦除。由于存储器件分割而成的每一块需要它自己的skipdat锁存器,所以这些锁存器的数目可能非常大。作为另一个例子,在Lin等人的5,414,664和5,596,530号美国专利中描述了一种组织成存储单元块的快闪EPROM器件,该器件利用擦除检验电路、块擦除标志和控制逻辑,仅重新擦除擦除检验操作失败的那些块,从而避免对已完全擦除的块的过擦除。擦除操作通过设定选中块的块擦除标志开始。擦除具有设定标志的所有块。擦除检验操作检验具有设定标志的块的擦除,然后使通过检验测试的那些块的标志复位或清除。然后,只对标志仍旧保持设定(即擦除检验测试失败)的那些块进行重新擦除操作。
在Assar等人的5,388,083;5,479,638及5,485,595号美国专利中描述了一种替代硬盘驱动器的快闪存储体系结构。由于快闪存储单元在最终失败前只有有限次数的擦除-写循环,所以为了可把快闪存储器用作大容量存储器件,该存储器件使用磨损调整(wear 1eveling)技术,该技术利用一组‘用过/空余’和‘旧/新’标志,(1)识别其中存储有信息或空(空余)的存储块,以及(2)指示哪一个用过的块包含一文件(旧)的版本及被哪一个包含一文件(新)的当前版本取代。在更新文件时,把经修改的文件仅写入空的块,即仅写入标为‘空余’的块。然后,把被写的块标为‘用过’和‘新’,而把已被取代的块重新标为‘旧’。当存储器件变满时,进行多扇区擦除循环,以擦除旧/新标志已被设定为‘旧’的那些块。8位标志或寄存器保持跟踪每一块的擦除计数。每当任一特定块的擦除计数逼近预定的最大值时,把该块的内容移到具有最少的擦除循环次数的空块中,并对严重擦除的块设定‘禁止擦除’标志。在所有的块已达到预定的最大值后,清除擦除计数器和禁止标志,并重复该算法。因而,该方法保证了基本上没有一个块的擦除次数比任何其它块更多。可把各种标志以及计算机所使用的逻辑地址与存储器体系结构中的实际物理地址之间的相应映射存储在非易失性存储器中。标志的数目也随着块(相应于硬驱扇区)数的增加而增加。
本发明的一个目的是提供一种具有非易失性单元的集成电路及一种系统中编程方法,通过该方法可使用最少数目的必需外部引脚、指令和内部存储位,而为各种批量操作选择电路的不同非易失性单元组。
发明内容
通过集成电路中的批量操作逻辑电路来满足这个目的,该集成电路包括一标志寄存器,用于指定一批量操作所限的集成电路的选中非易失性存储单元块,直到标志寄存器的位变为指向另一个块。批量操作逻辑电路发展和改进了以上所讨论的已有JTAG方法,从而简化了指令组,同时给可在一批量操作中被操作的不同单元组或块的数目提供了更大的灵活性。(批量操作是在一器件的全部存储单元块上同时或依次实行的操作,例如擦除对FPGA器件中的一互连阵列进行编程的所有单元。公共批量操作包括编程、擦除、检验和储备)。
除了标志寄存器以外,批量操作逻辑电路还包括一地址寄存器、一个或多个数据寄存器、一具有相关指令解码装置的指令寄存器以及一批量操作控制器,批量操作控制器可由状态机及相关的控制电路构成。如同已有的JTAG电路,本逻辑仅需要用于模式信号、系统时钟、串行输入和串行输出的四个外部引脚。各寄存器经由串行输入端以串行方式接收经编码的指令、标志位、地址位和数据。串行输出允许多个器件以菊形链接在一起,并使串行输入位流过各个寄存器而到达串行输出端及该链中的下一器件。控制器尤其是其状态机响应于模式信号和系统时钟信号,用以在正常用户状态和批量操作状态之间进行转换。控制器把来自系统时钟输入的时钟信号分配给各寄存器,并提供控制信号,以在状态机的批量操作状态期间实行把一指令装入指令寄存器并执行经解码的指令(包括装入其它寄存器)。标志寄存器与集成电路的地址解码器交互,从而对一批量操作仅使能由存储在该寄存器中的标志位直到的选中单元块。
对集成电路实行批量操作的方法包括以下步骤:利用模式信号把控制器的状态从正常用户状态切换到批量操作状态,交替把寄存器安装指令装入指令寄存器及把一个或多个步骤、地址或数据位装入各自的标志、地址或数据寄存器中,把批量操作指令装入指令寄存器,并使用一个或多个标志、地址和数据寄存器执行由该指令所指定的批量操作。所执行的批量操作仅限于该标志寄存器所选中的单元块。
附图概述
图1示出依据本发明的批量操作逻辑的方框图。
图2示出依据本发明的一个较佳实施例的图1的逻辑的更详细的方框图。
图3示出图1和2的逻辑中的标志寄存器的示例位分配。
图4示出装入图1和2的逻辑中的指令寄存器来实行依据本发明的批量操作的系统中编程指令的表。
图5示出图1和2的逻辑中的控制器状态机的状态图。
本发明的较佳实施方式
参考图1和2,具有有批量操作能力的非易失性单元的集成电路使用所示的逻辑来提供这种能力。许多硬件基本上类似于依据JTAG标准(IEEE1149.1-1990)实行边界扫描和系统中编程的所使用的硬件,但其进一步改进在于本发明允许块选择。具有这种批量操作能力的集成电路包括可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、基于快闪的微控制器和包含EEPROM或快闪存储单元的其它可配置逻辑以及诸如EEPROM和快闪存储器件等非易失性存储芯片,这些器件都可分割成可单独选择的块。批量操作包括编程、检验、储备和擦除,其中对特定操作选中的全部非易失性单元块。指定的单元块或组可与其它指定的块重叠,可对不同的块集合实行不同的操作。
批量操作逻辑电路包括响应于分别用于把时钟信号和控制信号提供给逻辑电路的其余部分(包括寄存器)的端子MODE、TCLK和RST上所提供的模式、时钟和复位信号的控制器11。控制器11可包括状态机13、解码逻辑15、控制逻辑17和时钟逻辑19,它们都经由控制线14、16和18连接。依据IEEE标准1149.1-1990,状态机13可实现为根据本机状态和来自MODE、TCLK和RST端子的信号电平来处理一组状态公式的PLA型电路。以下讨论如图5所示的各个状态图。由解码逻辑块15对状态机13的状态进行解码,使用经解码的状态来控制控制逻辑块17和时钟逻辑19。控制逻辑17如下所述控制各寄存器。时钟逻辑19接收来自TCLK端子的时钟信号并把输入时钟信号提供给寄存器。
批量操作逻辑电路还包括指令寄存器21及相关的指令解码电路23。指令从串行数据输入(SDI)端子经由信号线20接收,并依据状态机13的经解码状态被移入指令寄存器21。把经解码的指令提供给控制逻辑块17,然后,控制逻辑块17依据经解码的指令使SDI端子处接收到的数据指向寄存器31、33、35(36-38)中选中的一个寄存器。
本发明的逻辑电路的一个独有特征是,提供了标志寄存器31用于指定将在批量操作期间被操作的非易失性单元块。以下将对此进行更详细地讨论。其它寄存器包括地址寄存器33和一个或多个数据寄存器35。只有一个数据寄存器是绝对必要的。使用多个数据寄存器可简化从这些寄存器引向待编程的非易失性单元组的编程线的布局。因而,一数据寄存器38可专用于构成器件的输入/输出宏单元,另一个数据寄存器37可专用于构成和编程每个类属逻辑块(例如,在FPGA中)中的非易失性单元,再一个数据寄存器36可专用于对器件的其它非易失性单元进行编程,诸如对于可编程互连阵列(PIA)。不同类型的器件可具有不同数目的数据寄存器。
图1和2的电路还包括多路复用器41,其输出42具有输出缓冲器43连到串行数据输出(SDO)端子。为了对所有的器件进行系统中编程,SDO端子允许多个器件以串联方式链接在一起。SDO多路复用器41接收来自指令寄存器21的输出的一个输入40a及来自各其它寄存器31、33、35、(36-38)的输出的另一个输入40b。控制逻辑块17提供线44上的控制信号,以使能(或禁用)输出缓冲器43并选择将把至多路复用器41的哪一个输入经由缓冲器43提供给SDO端子。因而,当输出缓冲器43被使能时,经过选中的寄存器和多路复用器41把从SDI端子移入的数据传送到SDO端子,从而通过该链中的下一个器件。这种使能发生在响应于FLOWTHRU指令(例如,指令寄存器(IR)码111)。
如上所述,本发明的主要特征是使用标志寄存器31来控制将通过后续的器件操作中操作哪些单元。标志寄存器由存储标志位的一组锁存器构成。每个标志位的输出更改了器件的相关逻辑(例如,地址解码电路),从而选中指定的单元块。可使用标志寄存器中所设定的标志,或者如同暗示寻址把标志寄存器与地址寄存器相结合,或者仅通过地址寄存器的直接寻址来实行批量操作(例如,擦除可编程器件的选中单元)。图3示出六位标志寄存器及典型的标志位分配的一个可能的例子。例如,位0、1和2指定FPGA器件中的指定非易失性单元块,这些位分别负责可编程互连阵列(PIA)的编程连接、逻辑阵列块的编程功能以及逻辑和I/O块的特定构造和体系结构。此外,这些位使能仅用于擦除操作而不是其它批量操作的那些单元块。相反,在设定时,把位3、4和5应用于所有的批量操作,包括编程、擦除、检验和储备。位3选中非易失性单元阵列的所有行,而位4和5仅指定诸如那些单元的子集,诸如单元的偶数或奇数行或列。因而,如果设定标志位1(例如,至逻辑电平1),将在把擦除指令装入指令寄存器后,对芯片的一个部分即可编程互连阵列的非易失性单元执行擦除操作,而如果设定标志位2,则将在芯片的另一部分即本例中的逻辑阵列块中执行擦除操作。类似地,其它标志位为指令寄存器接收到的指令所指定的批量操作选择该器件的其余部分的单元。注意,不同位所指定的组可能重叠,从而可由不止一位选中任何特定的单元。此外,不需要足够的标志位来提供唯一地识别(与数据锁存器相结合)单元阵列中的各个单元的能力。而是,一些操作可使用地址寄存器中经编码的地址来选择阵列位,例如对于单元的编程,而其它操作可使用标志和地址位的组合来确定所选的单元。因而,标志位仅可使能编号为偶数的行(例如,图3中的标志位4),而地址寄存器中的经编码的地址可选择特定的行,根据该特定行是编号为偶数还是奇数的行来使能或禁用该特定行。或者,在暗示寻址中,可在器件的不同部分重新使用地址寄存器中的地址,而标志位指定哪一部分将被操作。在此情况下,标志位有效地变为地址的整数部分。较佳的器件还允许进行传统的寻址而不使用标志寄存器,诸如在将对整个器件进行编程时,一次一个地址。一些指令可参考标志寄存器的内容来执行,可执行其它指令而忽略标志寄存器。
标志寄存器可具有任意尺寸,且不同的位可与一个或多个特定操作相关。还可以有多个标志寄存器,每个专用于控制一特定的操作。虽然较佳的标志寄存器是用于通过单个引脚的串行输入的移位寄存器,但在需要速度时,也可使用从多个器件引脚并行输入标志位。此外,虽然通常使用标志位来指定非易失性单元,但对于一些测试操作,可能想要选择易失性单元(诸如SRAM单元)。因而,一些指定的组可包括易失性和非易失性单元的组合,或甚至仅包括易失性单元。
参考图4,通过提供指定单元组的标志寄存器明显地减少了用于实行批量操作的指令集。利用经编码的指令的已有器件需要多个指令来对不同的单元组实行同一基本操作。这不再需要。然而,在标志寄存器识别将被操作的单元组(可能与地址寄存器相结合)时,一个指令就可指定该操作。指令集包括安装各特定数据寄存器的指令(000、001和010),这些寄存器包括标志寄存器、地址寄存器和一个或多个适当的数据寄存器。如果使用不止一个数据寄存器,则可由控制逻辑17来读取标志寄存器31的内容,来控制安装数据寄存器36、37或38中的哪一个寄存器。指令集还包括指示执行特定批量操作的指令(011、100、101和110),这些操作包括编程、擦除、检验和储备。最后,一个指令(111)指示控制逻辑使能至SDO端子的输出缓冲器并允许下一指令、标志、地址或数据序列从SDI端子经过受影响的寄存器到达SDO端子。其它指令集也是可能的。
参考图5,依据IEEE标准1149.1-1990来实现图2的状态机13。状态机的定时由TCLK端子上的时钟信号来提供。状态机通常具有几个可能的状态,包括正常用户状态、命令安装状态和程序执行状态。后两个状态可统称为批量操作状态,它们具有具体的安装和执行周期。利用MODE端子上所提供的模式信号并与TCLK和SDI端子接收到的信号相结合来改变状态机。因而,例如,如果在一时钟信号转换处MODE=高且SDI=低,则在状态机还未处于正常用户状态时,它可变为该状态。如果MODE=高且SDL=高,则状态机可从正常用户状态变为命令安装状态,或者当状态机已处于某一个批量操作状态时,它将在命令安装状态和程序执行状态之间进行切换。如果MODE=低,则状态不变,且SDI端子为数据输入端。在正常用户状态下,状态机禁止对非易失性单元进行编程或其它改变,器件如先前的编程进行操作。这是上电或接收到可选端子RST上的复位信号时的默认状态。一旦处于批量操作状态,则状态机依据图5所示的状态图来接管诸如编程、擦除、检验和储备等批量操作的控制。如下提出了典型的程序序列,其中DR指任一个数据寄存器(包括标志和地址寄存器),IR指指令寄存器:
(1) Logic Reset(逻辑复位)
(2) Run ISP(运行ISP)
(3) Select DR Scan(选择DR扫描)
(4) Select IR Scan(选择IR扫描)
(5) Capture IR(俘获IR)
(6) Shift IR;repeat for N cycles(移位IR;重复N个循环)
(N=IR length(N=IR长度))
Comment:Instruction=LOAD FLAG(建议:指令=安装标志)
(7) Exit IR(退出IR)
(8) Updae IR(更新IR)
(9) Select DR Scan(选择DR扫描)
(10) Capture DR(俘获DR)
(11) Shift DR;repeat for M cycles(移位DR;重复M个循环)
(M=Flag Register Length(M=标志寄存器长度))
Comment:Data=Flag Bit data(建议:数据=标志位数据)
(12) Exit DR(退出DR)
(13) Update DR(更新DR)
(14) Select DR Scan(选择DR扫描)
(15) Select IR Scan(选择IR扫描)
(16) Capture IR(俘获IR)
(17) Shift IR;repeat for N cycles(移位IR;重复N个循环)
Comment:Instruction=LOAD ADDRESS(建议:指令=安装地址)
(18) Exit IR(退出IR)
(19) Updae IR(更新IR)
(20) Select DR Scan(选择DR扫描)
(21) Capture DR(俘获DR)
(22) Shift DR;repeat for K cycles(移位DR;重复K个循环)
(K=Address Register Length(K=数据寄存器长度))
Comment:Data=Programming Address(建议:数据=编程地址)
(23) Exit DR(退出DR)
(24) Update DR(更新DR)
(25) Select DR Scan(选择DR扫描)
(26) Select IR Scan(选择IR扫描)
(27) Capture IR(俘获IR)
(28) Shift IR;repeat for N cycles(移位IR;重复N个循环)
Comment:Instruction=PROGRAM(建议:指令=编程)
(29) Exit IR(退出IR)
(30) Updae IR(更新IR)
(31) Run ISP/Idle(运行ISP/空)
(32) Select DR Scan(选择DR扫描)
等。
在此例中可看出,步骤的顺序是首先安装指令LOAD FLAG,然后通过把所需的标志数据装入标志寄存器来执行该指令。接着,把指令LOAD ADDRESS装入指令寄存器,然后通过把选中的地址装入地址寄存器来执行该指令。假设先前已把数据装入数据寄存器,则当把PROGRAM指令装入指令寄存器时,编程将在状态机进入Run ISP/Idle状态时开始,并将在状态机离开该状态时结束。然而,本发明不需要实际编程间隔的状态机控制。
使用标志寄存器来指定将被从操作的单元组明显地简化了所需的指令集,结果简化了指令解码电路。标志寄存器还允许指定可能相互重叠的许多可能的单元组或块,不同的操作可在不同的单元上进行而不会使指令复杂。通过仅对指定的扇区或单元块实行诸如擦除等批量操作,可明显节省测试时间量,因为用户不必对芯片的其它部分进行重新编程。在可对芯片的一部分进行专门编程和擦除时,可使逻辑测试更简单,从而减少测试时间且更可靠地保证芯片的可用性。
Claims (17)
1.在一种包含非易失性存储单元的集成电路中,批量操作逻辑电路用于从多个所述非易失性单元的块中选择一个块并对所述选中的块实行指定的操作,其特征在于所述批量操作逻辑电路包括:
响应于模式信号和系统时钟信号的批量操作控制器,用于在集成电路的正常用户状态和批量操作状态之间进行转换,所述控制器在处于所述批量操作状态时提供时钟信号和控制信号,
指令寄存器及相关的解码装置,所述指令寄存器连到串行输入并响应于来自所述控制器的控制信号而经由所述串行输入接收指令,所述指令经过所述相关解码装置的解码,把所述经解码的指令提供给所述控制器,以及
数据寄存器、地址寄存器和标志寄存器,这些寄存器都连到所述串行输入并响应于来自所述控制器的相应于所述经解码的指令的控制信号,所述标志寄存器与集成电路的地址解码器交互,以把对所述非易失性单元所执行的批量操作仅限于由所述标志寄存器通过所述串行输入接收到的标志位所指定的所述单元块中的一个选中块。
2.如权利要求1所述的电路,其特征在于所述批量操作逻辑电路所在的所述集成电路是从可编程逻辑器件、现场可编程门阵列和基于快闪的微控制器所构成的组中选出的逻辑器件,这些逻辑器件都利用所述非易失性存储单元构成和编程。
3.如权利要求1所述的电路,其特征在于所述批量操作逻辑电路所在的所述集成电路是分割成块的非易失性存储器件。
4.如权利要求1所述的电路,其特征在于可由与所述指令寄存器相关的解码装置可解码的指令集包括指示控制器给所述数据、地址和标志寄存器中的一个寄存器装入通过所述串行输入以串行方式接收到的位的寄存器装入指令以及指示控制器对所述非易失性单元执行批量操作的批量操作指令。
5.如权利要求4所述的电路,其特征在于所述批量操作指令包括擦除所述标志寄存器所指定的单元块的擦除指令。
6.如权利要求4所述的电路,其特征在于所述批量操作指令包括对所述标志寄存器所指定的单元块内来自位于所述地址寄存器所指定的地址处的所述数据寄存器的数据进行编程的编程指令。
7.如权利要求4所述的电路,其特征在于所述批量操作指令包括用于检验所述标志寄存器所指定的单元块中位于所述地址寄存器所指定的地址处的存储内容的检验指令,可把所述存储内容读入所述数据寄存器以从所述数据寄存器通过连到所述数据寄存器的串行输出而输出。
8.如权利要求4所述的电路,其特征在于所述批量操作指令包括用于所述标志寄存器所指定的所述单元块的储备指令。
9.如权利要求4所述的电路,其特征在于还包括通过选择装置连接到所述指令寄存器、数据寄存器、地址寄存器和标志寄存器中每一个的串行输出,所述指令集还包括指示控制器把以串行方式通过所述串行输入接收的位通过选中的寄存器传送到所述串行输出的流过指令。
10.如权利要求1所述的电路,其特征在于所述批量操作控制器包括状态机和相关的控制电路。
11.如权利要求1所述的电路,其特征在于所述标志寄存器的位分配分别把不同的重叠非易失性单元组指定为所述块。
12.如权利要求1所述的电路,其特征在于由所述标志寄存器所指定的所述单元块的尺寸与其它指定的块不同。
13.如权利要求1所述的电路,其特征在于由所述标志寄存器所指定的至少一个单元块包括易失性存储单元。
14.一种对包含组织成单元块的非易失性存储单元的集成电路进行批量操作的方法,其特征在于所述方法包括:
(a)利用加到所述集成电路的批量操作控制器的模式信号把所述控制器的状态从正常用户状态切换到批量操作状态,
(b)在所述批量操作控制器的控制下,把寄存器安装指令交替装入所述集成电路的指令寄存器中,且响应于所述寄存器安装指令,通过连到所述集成电路的各个标志、地址和数据寄存器的串行输入把标志、地址和数据位的一个或多个集合装入所述寄存器,
(c)把批量操作指令装入所述指令寄存器,以及
(d)执行由所述指令寄存器中的所述批量操作指令所指定的批量操作,所述批量操作仅限于由所述标志寄存器中的标志位所选中的一个或多个单元块,至少一些批量操作使用所述地址和数据寄存器的内容以及所述标志位。
15.如权利要求14所述的方法,其特征在于还包括使所述标志寄存器中的标志位保持不变地重复步骤(b)-(d),至少给所述地址寄存器重新安装用于同一批量操作指令的不同地址位。
16.如权利要求14所述的方法,其特征在于所述批量操作指令包括从擦除、编程、检验和储备操作指令构成的组中选出的一个或多个指令。
17.如权利要求14所述的方法,其特征在于所述标志寄存器的位分配分别把不同的重叠非易失性单元组指定为所述块。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/986,506 US5848026A (en) | 1997-12-08 | 1997-12-08 | Integrated circuit with flag register for block selection of nonvolatile cells for bulk operations |
US08/986,506 | 1997-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1269906A true CN1269906A (zh) | 2000-10-11 |
CN1261947C CN1261947C (zh) | 2006-06-28 |
Family
ID=25532498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB988087901A Expired - Fee Related CN1261947C (zh) | 1997-12-08 | 1998-12-04 | 具有批量操作用非易失性单元的块选择的标志寄存器的集成电路 |
Country Status (10)
Country | Link |
---|---|
US (1) | US5848026A (zh) |
EP (1) | EP1038298A4 (zh) |
JP (1) | JP2001526443A (zh) |
KR (1) | KR20010014129A (zh) |
CN (1) | CN1261947C (zh) |
CA (1) | CA2294797A1 (zh) |
MY (1) | MY133908A (zh) |
NO (1) | NO20002282L (zh) |
TW (1) | TW419892B (zh) |
WO (1) | WO1999030324A1 (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100446126C (zh) * | 2002-01-04 | 2008-12-24 | 英特尔公司 | 使用多个命令周期的闪存存储器访问 |
CN1647214B (zh) * | 2002-04-08 | 2010-04-28 | 斯班逊有限公司 | 用于动态页编程的更新设计 |
US8904046B2 (en) | 2006-12-06 | 2014-12-02 | Conversant Intellectual Property Management Inc. | Apparatus and method for capturing serial input data |
CN106415505A (zh) * | 2014-06-19 | 2017-02-15 | 株式会社电装 | 存储装置、闪存存储器控制装置以及程序 |
CN107564563A (zh) * | 2016-06-30 | 2018-01-09 | 华邦电子股份有限公司 | 存储器装置及其操作方法 |
CN109635401A (zh) * | 2018-12-04 | 2019-04-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种动态可配置存储控制器设计方法 |
CN110008075A (zh) * | 2018-01-05 | 2019-07-12 | 深圳市中兴微电子技术有限公司 | 一种芯片调试方法及装置 |
CN111344689A (zh) * | 2017-11-14 | 2020-06-26 | 国际商业机器公司 | 配置状态寄存器的批量存储和加载操作 |
WO2022267065A1 (en) * | 2021-06-25 | 2022-12-29 | Intel Corporation | Processing devices for reducing scan traffic, method and computer program |
CN117312185A (zh) * | 2023-10-17 | 2023-12-29 | 苏州异格技术有限公司 | 一种fpga内存储融合方法、装置及fpga内存系统 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356620B2 (en) | 2003-06-10 | 2008-04-08 | Altera Corporation | Apparatus and methods for communicating with programmable logic devices |
US6289300B1 (en) | 1998-02-06 | 2001-09-11 | Analog Devices, Inc. | Integrated circuit with embedded emulator and emulation system for use with such an integrated circuit |
US6385689B1 (en) * | 1998-02-06 | 2002-05-07 | Analog Devices, Inc. | Memory and a data processor including a memory |
US6701395B1 (en) | 1998-02-06 | 2004-03-02 | Analog Devices, Inc. | Analog-to-digital converter that preseeds memory with channel identifier data and makes conversions at fixed rate with direct memory access |
EP0935195A2 (en) | 1998-02-06 | 1999-08-11 | Analog Devices, Inc. | "An integrated circuit with a high resolution analog-to-digital converter, a microcontroller and high density memory and an emulator for an integrated circuit |
TW368626B (en) * | 1998-04-17 | 1999-09-01 | Winbond Electronics Corp | Microprocessor with self-programmed embedded flash memory and programming method |
JP2001274253A (ja) * | 2000-03-28 | 2001-10-05 | Toshiba Corp | Fpga互換ゲートアレイ |
US6424581B1 (en) * | 2000-08-14 | 2002-07-23 | Matrix Semiconductor, Inc. | Write-once memory array controller, system, and method |
US6473845B1 (en) * | 2000-09-28 | 2002-10-29 | Hewlett-Packard Company | System and method for dynamically updating memory address mappings |
EP1438662A2 (en) | 2001-10-11 | 2004-07-21 | Altera Corporation | Error detection on programmable logic resources |
US7127550B1 (en) * | 2001-10-31 | 2006-10-24 | Sandisk Corporation | Multi-module simultaneous program, erase test, and performance method for flash memory |
US7260658B2 (en) * | 2002-05-31 | 2007-08-21 | Oracle International Corporation | Verifying input/output command data by separately sending data to be written and information about contents of the data |
KR100506061B1 (ko) * | 2002-12-18 | 2005-08-03 | 주식회사 하이닉스반도체 | 특성 조정 장치를 부가한 메모리 장치 |
JP4615241B2 (ja) * | 2003-04-08 | 2011-01-19 | 三星電子株式会社 | マルチチップでマルチセクタ消去動作モードを実行する半導体メモリチップ及びマルチチップパッケージ、及びマルチセクタ消去方法 |
US7334182B2 (en) * | 2004-11-24 | 2008-02-19 | Northrop Grumman Corporation | Serial data preservation method |
US7492810B2 (en) * | 2005-04-04 | 2009-02-17 | General Electric Company | Method and apparatus for segmented code correlation |
US7506205B2 (en) * | 2006-02-14 | 2009-03-17 | Atmel Corporation | Debugging system and method for use with software breakpoint |
US9141477B2 (en) * | 2007-10-12 | 2015-09-22 | International Business Machines Corporation | Data protection for variable length records by utilizing high performance block storage metadata |
KR20100106410A (ko) * | 2007-12-21 | 2010-10-01 | 모사이드 테크놀로지스 인코퍼레이티드 | 전력 절약 특성을 갖는 비-휘발성 반도체 메모리 디바이스 |
US8291248B2 (en) | 2007-12-21 | 2012-10-16 | Mosaid Technologies Incorporated | Non-volatile semiconductor memory device with power saving feature |
US8230317B2 (en) * | 2008-04-09 | 2012-07-24 | International Business Machines Corporation | Data protection method for variable length records by utilizing high performance block storage metadata |
US8190832B2 (en) * | 2009-01-29 | 2012-05-29 | International Business Machines Corporation | Data storage performance enhancement through a write activity level metric recorded in high performance block storage metadata |
US9513912B2 (en) | 2012-07-27 | 2016-12-06 | Micron Technology, Inc. | Memory controllers |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4855954A (en) * | 1985-03-04 | 1989-08-08 | Lattice Semiconductor Corporation | In-system programmable logic device with four dedicated terminals |
US4879688A (en) * | 1985-03-04 | 1989-11-07 | Lattice Semiconductor Corporation | In-system programmable logic device |
US5412260A (en) * | 1991-05-03 | 1995-05-02 | Lattice Semiconductor Corporation | Multiplexed control pins for in-system programming and boundary scan state machines in a high density programmable logic device |
US5237218A (en) * | 1991-05-03 | 1993-08-17 | Lattice Semiconductor Corporation | Structure and method for multiplexing pins for in-system programming |
US5491809A (en) * | 1993-01-05 | 1996-02-13 | Texas Instruments Incorporated | Smart erase algorithm with secure scheme for flash EPROMs |
US5479638A (en) * | 1993-03-26 | 1995-12-26 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporation wear leveling technique |
US5388083A (en) * | 1993-03-26 | 1995-02-07 | Cirrus Logic, Inc. | Flash memory mass storage architecture |
US5485595A (en) * | 1993-03-26 | 1996-01-16 | Cirrus Logic, Inc. | Flash memory mass storage architecture incorporating wear leveling technique without using cam cells |
US5414664A (en) * | 1993-05-28 | 1995-05-09 | Macronix International Co., Ltd. | Flash EPROM with block erase flags for over-erase protection |
KR970005644B1 (ko) * | 1994-09-03 | 1997-04-18 | 삼성전자 주식회사 | 불휘발성 반도체 메모리장치의 멀티블럭 소거 및 검증장치 및 그 방법 |
-
1997
- 1997-12-08 US US08/986,506 patent/US5848026A/en not_active Expired - Lifetime
-
1998
- 1998-12-04 CA CA002294797A patent/CA2294797A1/en not_active Abandoned
- 1998-12-04 CN CNB988087901A patent/CN1261947C/zh not_active Expired - Fee Related
- 1998-12-04 KR KR19997012188A patent/KR20010014129A/ko not_active Application Discontinuation
- 1998-12-04 JP JP2000524794A patent/JP2001526443A/ja not_active Withdrawn
- 1998-12-04 WO PCT/US1998/025775 patent/WO1999030324A1/en not_active Application Discontinuation
- 1998-12-04 EP EP98961911A patent/EP1038298A4/en not_active Withdrawn
- 1998-12-08 MY MYPI98005540A patent/MY133908A/en unknown
- 1998-12-08 TW TW087120312A patent/TW419892B/zh not_active IP Right Cessation
-
2000
- 2000-04-28 NO NO20002282A patent/NO20002282L/no not_active Application Discontinuation
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100446126C (zh) * | 2002-01-04 | 2008-12-24 | 英特尔公司 | 使用多个命令周期的闪存存储器访问 |
CN1647214B (zh) * | 2002-04-08 | 2010-04-28 | 斯班逊有限公司 | 用于动态页编程的更新设计 |
US8904046B2 (en) | 2006-12-06 | 2014-12-02 | Conversant Intellectual Property Management Inc. | Apparatus and method for capturing serial input data |
CN106415505B (zh) * | 2014-06-19 | 2019-06-18 | 株式会社电装 | 存储装置和闪存存储器控制装置 |
CN106415505A (zh) * | 2014-06-19 | 2017-02-15 | 株式会社电装 | 存储装置、闪存存储器控制装置以及程序 |
CN107564563A (zh) * | 2016-06-30 | 2018-01-09 | 华邦电子股份有限公司 | 存储器装置及其操作方法 |
CN107564563B (zh) * | 2016-06-30 | 2020-06-09 | 华邦电子股份有限公司 | 存储器装置及其操作方法 |
CN111344689A (zh) * | 2017-11-14 | 2020-06-26 | 国际商业机器公司 | 配置状态寄存器的批量存储和加载操作 |
CN111344689B (zh) * | 2017-11-14 | 2024-02-20 | 国际商业机器公司 | 配置状态寄存器的批量存储和加载操作 |
CN110008075A (zh) * | 2018-01-05 | 2019-07-12 | 深圳市中兴微电子技术有限公司 | 一种芯片调试方法及装置 |
CN109635401A (zh) * | 2018-12-04 | 2019-04-16 | 中国航空工业集团公司西安航空计算技术研究所 | 一种动态可配置存储控制器设计方法 |
WO2022267065A1 (en) * | 2021-06-25 | 2022-12-29 | Intel Corporation | Processing devices for reducing scan traffic, method and computer program |
CN117312185A (zh) * | 2023-10-17 | 2023-12-29 | 苏州异格技术有限公司 | 一种fpga内存储融合方法、装置及fpga内存系统 |
CN117312185B (zh) * | 2023-10-17 | 2024-04-09 | 苏州异格技术有限公司 | 一种fpga内存储融合方法、装置及fpga内存系统 |
Also Published As
Publication number | Publication date |
---|---|
WO1999030324A1 (en) | 1999-06-17 |
EP1038298A1 (en) | 2000-09-27 |
CN1261947C (zh) | 2006-06-28 |
EP1038298A4 (en) | 2003-06-04 |
CA2294797A1 (en) | 1999-06-17 |
US5848026A (en) | 1998-12-08 |
JP2001526443A (ja) | 2001-12-18 |
TW419892B (en) | 2001-01-21 |
MY133908A (en) | 2007-11-30 |
KR20010014129A (ko) | 2001-02-26 |
NO20002282L (no) | 2000-06-06 |
NO20002282D0 (no) | 2000-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1261947C (zh) | 具有批量操作用非易失性单元的块选择的标志寄存器的集成电路 | |
US6829673B2 (en) | Latched address multi-chunk write to EEPROM | |
KR100348774B1 (ko) | 플래시형코어를갖는소거/기록가능롬어레이 | |
US7212440B2 (en) | On-chip data grouping and alignment | |
US6839826B2 (en) | Memory device with pointer structure to map logical to physical addresses | |
US6442092B1 (en) | Interface circuit and method for writing data into a non-volatile memory, and scan register | |
CN1249575C (zh) | 提供分支指令与相关目标指令至指令缓冲区的装置及方法 | |
US6839285B2 (en) | Page by page programmable flash memory | |
CN1298501A (zh) | 具有数据存储扇区和代码存储扇区并同时支持对两种扇区的读/写访问的单个存储模块的微控制器 | |
CN101079323A (zh) | 稳定地进行擦除操作的非易失性半导体存储装置及其操作方法 | |
KR20050021543A (ko) | 플래시 메모리 셀들의 빌트인 셀프 테스트 | |
US20090161435A1 (en) | Non-volatile memory device and method of programming the same | |
KR20090009904A (ko) | 어드레스 식별자 코드 기입 방법 및 시스템, 및 i2c 가능디바이스 | |
WO2008100602A1 (en) | Embedded architecture with serial interface for testing flash memories | |
CN1054945C (zh) | 电可擦可编程只读存储器,有其之存储器件和集成电路板 | |
US7769943B2 (en) | Flexible, low cost apparatus and method to introduce and check algorithm modifications in a non-volatile memory | |
CN100568395C (zh) | 非易失性存储器和通过附加修改的空存储单元加速测试地址解码器的方法 | |
EP1014268A2 (en) | RAM configurable redundancy | |
CN1368736A (zh) | 具交织读出和编程能力的改进集成电路存储器及工作方法 | |
KR100480653B1 (ko) | 프로그램판독/데이터기록을동시에수행하는능력을갖는결합된프로그램및데이터비휘발성메모리 | |
JP3711691B2 (ja) | マイクロコントローラ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1028839 Country of ref document: HK |
|
C56 | Change in the name or address of the patentee | ||
CP03 | Change of name, title or address |
Address after: American California Patentee after: Atmel Corp. Address before: American California Patentee before: Atmel Corporation |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060628 Termination date: 20141204 |
|
EXPY | Termination of patent right or utility model |