CN113950721B - 允许多核操作的基于jtag的架构 - Google Patents
允许多核操作的基于jtag的架构 Download PDFInfo
- Publication number
- CN113950721B CN113950721B CN201980096860.0A CN201980096860A CN113950721B CN 113950721 B CN113950721 B CN 113950721B CN 201980096860 A CN201980096860 A CN 201980096860A CN 113950721 B CN113950721 B CN 113950721B
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- array
- jtag
- address
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/48—Arrangements in static stores specially adapted for testing by means external to the store, e.g. using direct memory access [DMA] or using auxiliary access paths
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4091—Sense or sense/refresh amplifiers, or associated sense circuitry, e.g. for coupled bit-line precharging, equalising or isolating
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/14—Implementation of control logic, e.g. test mode decoders
- G11C29/16—Implementation of control logic, e.g. test mode decoders using microprogrammed units, e.g. state machines
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/44—Indication or identification of errors, e.g. for repair
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/18—Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
- G11C2029/1802—Address decoder
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
本公开涉及一种设备,所述设备包括:存储器部件,所述存储器部件具有独立结构并且包含具有相关联的解码和感测电路的至少存储器单元阵列;主机装置,所述主机装置通过至少通信通道耦合到所述存储器部件;控制和JTAG接口,所述控制和JTAG接口在所述至少存储器单元阵列中;以及至少附加寄存器,所述至少附加寄存器在所述控制和JTAG接口中用于处置由所述主机装置提供的数据、地址和控制信号。所述附加寄存器被配置为存储与所述存储器单元阵列相关联的至少页地址,所述存储器部件被配置为在所述设备通电时加载所述页地址,并且所述主机装置被配置为在所述页地址处执行读取序列。公开了一种对应的非易失性存储器装置和方法。
Description
技术领域
本公开总体上涉及存储器装置,并且更具体地涉及用于非易失性存储器管理的设备和方法。更具体地,本公开涉及一种允许在非易失性存储器装置中进行多核操作的基于JTAG的架构。
背景技术
非易失性存储器可以通过在未通电时保留所存储的数据来提供持久数据,并且可以包含存储器部件的不同拓扑。例如,NAND快闪存储器和NOR快闪存储器在单元互连和读取结构方面可以被视为等效电路,即使它们的性能不同。
具有NAND或NOR配置的存储器电路可以采用不同的技术来实现,所述技术例如:浮动栅极(FG)、电荷俘获(CT)、相变随机存取存储器(PCRAM)、基于自选硫属化物的存储器、电阻式随机存取存储器(RRAM)、3D X点存储器(3DXP)和磁阻式随机存取存储器(MRAM)等。
由于非易失性快闪存储器存储代码、固件,O.S.、应用程序和其它软件,因此它们目前是现代电子系统中、特别是用于实时操作系统(RTOS)的基本构建块之一。非易失性快闪存储器的操作由包含嵌入式固件的内部控制器管理,此控制器通过操纵存取和数据线上的电压和定时来执行所需的写入/读取/擦除操作。
快闪存储器在速度、消耗、可修改性、非易失性方面的性能以及系统可重新配置性的日益增加的重要性已促使其集成在片上系统(SoC)装置中。然而,在SoC中使用了几种非易失性技术,但是与过去履行新规则相比,编程方法需要更多空间并且软件是复杂的。这种缺点促使寻找具有更多存储空间,但难以将此存储空间集成到SoC中。
而且,当光刻节点低于28nm时,片上系统中的嵌入式存储器越来越难以管理。
因此,需要提供一种新的接口架构,其可以容易地集成到SoC中,并改善非易失性存储器部分的性能,同时在第一次存取中(尤其在系统引导时)具有低初始等待时间,并且改善整体吞吐量。
发明内容
根据本公开的一个实施例,提供了一种设备,其包括:存储器部件,所述存储器部件具有独立结构并且包含具有读取接口的相关联的解码和感测电路的至少存储器单元阵列;主机装置,所述主机装置通过至少通信通道耦合到所述存储器部件;JTAG接口,所述JTAG接口在所述至少存储器单元阵列中;至少附加寄存器,所述至少附加寄存器在所述JTAG接口中用于处置由所述主机装置提供的数据、地址和控制信号,其中,所述附加寄存器被配置为存储与所述存储器单元阵列相关联的至少页地址,其中,所述存储器部件被配置为在所述设备通电时加载所述页地址,并且其中,所述主机装置被配置为在所述页地址处执行读取序列。
根据本公开的另一实施例,提供了一种非易失性存储器装置,其包含:至少存储器阵列,所述至少存储器阵列具有读取接口的相关联的解码和感测电路;所述存储器阵列中的多个子阵列,所述多个子阵列被结构化为通过读取接口与通信通道进行通信;JTAG接口,所述JTAG接口在所述至少存储器阵列中;至少附加寄存器,所述附加寄存器在所述JTAG接口中用于处置从所述通信通道提供的数据、地址和控制信号,其中,所述附加寄存器被配置为存储与存储器单元阵列相关联的至少页地址,并且其中,所述存储器部件被配置为在所述设备通电时加载要读取的所述页地址。
根据本公开的又一实施例,提供了一种用于引导设备的方法,所述设备包括存储器部件和主机装置,所述存储器部件包含至少存储器单元阵列,所述主机装置耦合到所述存储器部件,所述方法包括以下步骤:提供JTAG接口;在所述JTAG接口中的附加寄存器中存储与所述存储器单元阵列相关联的至少页地址;在所述设备通电时加载所述页地址;以及在所述页地址处执行读取序列。
附图说明
图1示出了根据本公开的实施例的耦合到非易失性存储器部件的主机装置(例如片上系统)的示意图;
图2是根据本公开的一个实施例的图1的存储器部分的内部布局的示意图;
图2A是根据本公开的一个实施例的由存储器阵列的多个行形成的存储器块的示意图;
图3示出了包含根据本公开的布局配置的图1的非易失性存储器部件的一部分的示意图;
图4A是图2中所示的存储器部分的特定部分的示意图;
图4B是根据本公开的通用存储器单元与包含修改后的JTAG单元的对应感测放大器之间的连接的示意图;
图5是根据本公开的修改后的JTAG单元的示意图;
图6示出了使用根据IEEE标准号1149.1配置的边界扫描单元但包含图5的修改后的JTAG单元的标准结构架构的示意图;
图7是更详细地示意性示出结合到本公开的边界扫描架构中的寄存器的组成的图式;
图8示出了报告基于JTAG协议的有限状态机的操作的图式;
图9是根据本公开的子阵列的地址寄存器的示意图;以及
图10示出了根据本公开的方法1000的图式。
具体实施方式
参考在附图中示出并在以下描述中详述的非限制性实施例更全面地解释本文的实施例及其各种特征和有利细节。
省略了对公知部件和处理技术的描述,以免不必要地模糊本文的实施例。本文所使用的实例仅旨在便于理解可以实践本文中的实施例的方式,并进一步使得本领域技术人员能够实践本文中的实施例。因此,实例不应解释为限制本文的实施例的范围。
更具体地,如将在下面详细描述的,一种实例性设备包括:存储器部件,所述存储器部件具有独立结构并且包含具有读取接口的相关联的解码和感测电路的至少存储器单元阵列;主机装置,所述主机装置通过至少通信通道耦合到所述存储器部件;JTAG接口,所述JTAG接口在所述至少存储器单元阵列中;以及至少附加寄存器,所述至少附加寄存器在所述JTAG接口中用于处置由所述主机装置提供的数据、地址和控制信号。所述附加寄存器被配置为存储与所述存储器单元阵列相关联的至少页地址,所述存储器部件被配置为在所述设备通电时加载所述页地址,并且所述主机装置被配置为在所述页地址处执行读取序列。
参考这些附图,本文将公开涉及非易失性存储器装置1或部件以及用于此存储器装置的主机装置10的设备和方法。
主机装置10可以是具有嵌入式存储器部件1的片上系统或包含耦合到存储器装置的系统的更复杂电子装置,如将从参考其它图式作出的本公开的其它实施例的描述中显现。
本公开建议通过提供耦合到主机装置10或片上系统的结构上独立的存储器部件1来改善存储器大小。存储器部件1被结构化为利用专门专用于制造快闪存储器装置的技术在单个管芯中实现的独立装置。
这种非易失性存储器部件1包含快闪存储器单元阵列90和位于存储器阵列周围且更靠近多个外围焊盘的电路,如下文将公开。更具体地,所提出的外部架构允许超越当前eFlash(即,嵌入式快闪技术)的限制,从而允许集成更大的存储器,因为取决于存储器技术和技术节点,它的大小可以是512Mbit和/或1Gbit和/或更大。
更具体地,快闪存储器部件1包含I/O电路5、包含控制和JTAG逻辑的微定序器3,以及感测放大器9。
快闪存储器部件1进一步包含位于阵列外围的命令用户界面CUI 4、电压和电流参考发生器7、电荷泵2和解码电路8。
如先前所报告的,存储器部分1是独立结构,但是它严格地与SoC结构10相关联。然而,存储器部分耦合到片上系统的方式是特有的,并且在以下段落中将是显而易见的。
虽然在许多方面是有利的,但是包含大存储器阵列的片上系统可能遭受许多缺点,因为存储器部分是用未针对存储器专门设计的过程来实现的,并且存储器阵列的可能缺陷可能损害整个SoC结构的寿命或运转。
相反,为了改善整个SoC结构的性能,存储器部分1已经用专门专用于制造快闪存储器装置的技术实现为独立的存储器装置。存储器部件1与SoC结构相关联并连结,从而与此结构部分重叠,同时SoC结构的对应半导体区域已用于其它逻辑电路并用于为重叠的结构独立的存储器部分1提供支撑。
就已经以片上系统级获得的半导体面积而言,自由空间已经用于附加用户功能的集成。
存储器部件1作为独立结构获得,但其严格地与主机装置或SoC结构相关联。更具体地,存储器件1与SoC结构相关联并连结,从而与此结构部分地重叠,而SoC结构的对应半导体区域已用于其它逻辑电路,并用于例如通过多个柱、硅通孔(TSV)或其它类似的替代连接(诸如球栅)或利用类似于倒装芯片的技术为部分重叠的结构独立的存储器件1提供支撑。
柱在先前专用于片上系统的同一层级处的嵌入式存储器部分并连接到快闪存储器管芯的半导体区域中实现。
在本公开的一个实施例中,存储器部件1的焊盘的布置已经在结构独立的快闪装置的外围处的存储器部件的表面上实现。更具体地,已经在阵列周围实现了多个焊盘,使得当存储器部件1颠倒并且其焊盘面向SoC结构10的对应焊盘时。在已知的片上系统器件中由嵌入式非易失性存储器部分占据的半导体区域现在专用于容纳与存储器部件1的焊盘相对应的互连焊盘。本领域的技术人员理解,可以采用其它耦合方法,例如逻辑上焊盘技术(pads over logic technology)。与实施CMOS阵列下电路(circuit under the array,CUA技术)的3DNand类似,在逻辑的顶部构建焊盘。
一般而言,如果与SoC结构10的大小相比,存储器部件1具有不同的大小,则此大小可以较小或较大。关于术语“部分重叠”,意指存储器部件1部分或不完全覆盖SoC结构10的区域,反之亦然。
SoC结构10与存储器部件1之间的耦合被实现为将多个相应焊盘或引脚端子互连,所述焊盘或引脚端子在电路布局中面向彼此,即使应当修改存储器部件1的大小,所述电路布局也保持重叠焊盘的对准。
因此,可以支持甚至更大大小的存储器部件1并将其与SoC结构10的焊盘互连,从而保持其互连焊盘的位置和错位。
为了完整起见,应注意,存储器部件1可以用倒装芯片技术或其它等效耦合技术耦合到SoC结构10。
最终配置将是面对面互连SoC/快闪阵列,其中感测放大器以用于具有高频存取的用户模式的直接存储器存取配置连接到SoC。
为了读取阵列90的存储器单元,提供包含优化的读取有限状态机的专用电路部分,所述状态机用于确保高读取性能,诸如:分支预测、取回/预取、中断管理。对SoC 10进行纠错;将附加位提供到存储器控制器以存储与页相关联的任何可能的ECC数据。ECC还允许主机校正所接收的数据。主机负责基于在所接收的数据单元中进行的校正来修复存储器中的数据。
总而言之,本公开的快闪存储器部件1包括:存储器阵列、微定序器、控制和JTAG逻辑、感测放大器和对应的锁存器。
该快闪存储器部件1使用阵列和逻辑电路部分的互连焊盘以允许与主机或SoC结构10互连。
如前所示,最终配置将是面对面互连SoC/快闪阵列,其中存储器部件1的感测放大器9将以用于用户模式高频存取的直接存储器存取配置连接到SoC。
直接存储器存取允许减少SoC在读取数据时所经历的最终等待时间。而且,通过块形状因子、块之间的感测放大器分布、对感测放大器中的比较阈值的选择以及优化路径,也减少最终等待时间。
现在更具体地参考图2的实例,在本公开的一个实施例中,存储器阵列90被构建为子阵列200的集合。通过这种方式,如果与已知解决方案相比具有较小的扇区,则存取时间显著减少并且存储器部件的整体吞吐量得到改善。
这种结构的优点在于,它的可缩放性很强,并且扩展和/或减小仅在镜射子阵列和生成连接时转换的最终装置的密度。
主机装置或片上系统10通常包含一个以上的核心,并且每个核心耦合到用于接收数据并将数据传送到存储器部件1的对应总线或通道。每个子阵列200可以存取对应通道以与片上系统的对应核心进行通信。
主机装置的核心可以通过使用一些内部焊盘来存取JTAG接口。此类焊盘是高速的并且具有支持最大频率的能力。然而,此类焊盘不能管理快闪阵列外部的模拟电压。
在本公开的实施例中,直接存储器存取(DMA)允许减少SoC在读取数据时所经历的最终等待时间。
为了克服嵌入在片上系统中的快闪存储器装置的问题并获得极低的初始等待时间和高处理量,已设计出一种可缩放、低成本、有效且可靠的存储器设备和方法,其涉及通过DMA快闪阵列完成对数据、地址和ECC的读取操作,从而确保必须从与控制器所要求的存储器位置完全相同的存储器位置读取数据。
而且,在本公开的一个实施例中,每个存储器子阵列200被结构化在存储器块260中。包括存储器阵列的每个位置的存储器块260的架构可以被定义为扩展页或超级页250,如图2A中示意性地所示。
作为非限制性实例,该扩展页250包括一串,所述串包含用于与SoC装置200的I/O数据交换的第一组至少N个位,例如一百二十八(128)位,加上至少第二组M个位,例如二十四(24)个地址位,以及最后或第三组至少R个位,例如十六(16)个ECC位。M个地址位(在该实例中为24个地址位)足以寻址多达2千兆位的可用存储器空间。
换句话说,在每个子阵列200中使用来填充SoC装置的通信通道的128位的常规原子页在本实施方案中被放大以包含所存储的地址和ECC。
根据本公开,根据存储器阵列的大小,感测放大器SA的输出一次准备双扩展页,即,超级页250,所述超级页包括由上述三组数据位、地址位和ECC位的双重组合给出的多个位。
在本文所公开的特定但非限制性实例中,每个扩展页250包含至少168个位,其通过组合上述三组N+M+R=128+24+16个数据、地址和ECC位而获得,并且每个超级页由一对扩展页形成,即,一组168×2个位。
仅为了给出非限制性数字实例,存储器块260的每一行包含十六个扩展页。因此,所得到的行包含源于可独立寻址的十六个扩展页的组合的2688位,并且每个扩展页包含168位,或者换句话说,包含八个超级页的组合。
在本公开的实施例中,通过组合以下序列来形成通用子阵列的输出:N个数据单元加上M个地址单元加上R个ECC单元。在该非限制性实例中,位的总量将涉及每个通道168个焊盘。
数据单元+地址单元+ECC单元的组合串允许根据标准要求实施总线的安全覆盖,因为ECC覆盖整个总线通信(数据单元+地址单元),而地址单元的存在提供了数据正好源于控制器的寻址位置的置信度。
现在,更具体地参考图3的实例,将公开根据本公开的实施例的存储器部件310的主结构,其中图3的附图标记310对应于图2的附图标记90。
存储器部件310包含至少:I/O电路、微定序器、存储器单元阵列320、阵列外围、电荷泵架构、地址解码器、感测放大器和对应锁存器、连接存储器的所有部分的服务逻辑,以及命令用户界面,例如CUI块。
存储器单元阵列320包含非易失性快闪存储器单元。
在本公开的一个实施例中,存储器部件310实施直接存储器存取类型的存储器,以替换已知SoC装置的嵌入式存储器阵列。
而且,本公开提供以“已知良品管芯”(KGD)形状因子或裸管芯来实施存储器部件310,其允许将感测放大器输出(除中间的锁存器结构外)直接与SoC结构的控制器连接。
而且,采用JTAG接口350来测试存储器部件310,从而允许重复使用测试工具。因此,存储器部件310还包括JTAG逻辑350。稍后将参考图8更详细地公开这种JTAG接口350。
更详细地,每个存储器阵列包含接收以下标准JTAG信号作为输入的至少JTAG接口350:TMS、TCK、TDI以及来自存储器页的数据,如图8所示。根据本公开的实施例,扩展TDI用作灵活的TDI。灵活性是由于如下事实引起的:在TDI源于使用TDI作为关于用于填充寄存器的信号的名称的JTAG协议时,作为TDI工作的并行位的数量取决于选定的寄存器,即,针对指令寄存器为K(在本例中为四)行、针对地址寄存器为M行、针对数据寄存器为N行等。
该JTAG接口350产生数据、地址和控制信号作为输出,所述数据、地址和控制信号被传送到存储器地址解码器340以及内部快闪控制器300,以执行修改、测试、验证操作。
被结构化为保持电压和定时保密以管理阵列的电荷泵330允许解码器340的活动。解码阶段驱动数据线,而电荷泵提供由选定数据线中的地址解码器路由的高电压。
该解码器340对选定的存储器块进行寻址。地址解码器连接到阵列以选择适当的数据线,即,每个超级页的行和列。读取、修改和任何其它操作使用地址解码器来对存储器阵列中的字节适当地寻址。
存储器块连接到感测放大器,并且读取接口360的感测放大器使用修改后的JTAG单元连接到SoC装置200。快闪阵列块与SoC装置200之间的通信通道由控制和状态总线表示。
读取接口360的输出由包含数据单元+地址单元+ECC单元的组合串的扩展页表示。写入操作还驱动扩展页的三个部件(数据单元+地址单元+ECC单元);ECC和地址单元用作安全机制以确保出错的概率低。
位的总量将在本文公开的实例中涉及N+M+R个位,例如在本文公开的实施方案中的每个通道128个焊盘。
存储器部件310使用互连焊盘和逻辑电路部分来允许与SoC结构200互连。
最终配置将是面对面互连SoC/快闪阵列,其中存储器部件310的感测放大器将以用于直接存储器存取配置连接到SoC。互连还包含用于测试和其它目的的JTAG接口和控制引脚。
通过这种方式,可以保持相对低数量的所需互连,例如在本特定公开中在600至650个焊盘的范围内,但是更大或更低的数量可以取决于实施方案。
存储器部件310的存储器阵列320被构建为子阵列的集合。扫描链可以连接以形成唯一的移位寄存器以适当地测试互连。
该架构的优点在于它的可缩放性很强,其中扩展和/或减小最终装置的密度仅在镜射子阵列并以非常可扩展性很强的方式提供对应互连时转换。也可以扩展存储器,从而增加每个子阵列的存储器大小,而不增加用于SoC的通道数量。
直接存储器存取允许减少SoC在读取数据时所经历的最终等待时间。
而且,存储器部件310被配备有快闪阵列320的控制器300(以下称为快闪阵列控制器),所述快闪阵列控制器300具有允许与SoC控制器共享一些快闪阵列资源而不损害其中存储的某些信息(例如,算法、快闪阵列电压、电流和更一般的过程信息)的保密性并保证最终的客户退货管理的架构。
存储器块260的结果由主机装置或SoC 10直接驱动,而不使用已知解决方案的大功率输出缓冲器,并且由于修改后和优化的JTAG接口而优化路径。
每个子阵列200的感测放大器SA的输出由读取接口的内部电路锁存。可以扩展存储器结构以允许在移出已读取页的同时进行多页读取。
感测放大器SA直接连接到稍后将公开的修改后的JTAG单元,以便将JTAG结构和感测放大器集成在单个电路部分中。这允许尽可能地减少将存储器阵列的输出传播到SoC的延迟。
如前所述,内部感测放大器9准备具有至少128位的两页,并且当第一页准备好移位时,在内部对与同一地址相关联的第二页执行进一步读取操作。这允许准备5至8个双字,其在RTOS应用中是典型的,从而如果系统由具有128位的两页构成,则允许感测放大器执行进一步的内部读取操作以准备第二半字节或128位组。这是选择2×128位加上对应地址和ECC位(即,168位)的双页的原因。
使用附加的使能信号(即,内部时钟信号或ADV信号)将四个双字的该第二部分传送到快闪阵列90的输出,所述附加的使能信号将在感测放大器级处读取的内容传送到主机装置或SoC装置10。信号名称为load_data[0,1]....,当使用超级页时不需要将地址递增。
图4A示出了存储器部分的示意图,其中子阵列200架构被结构化为服务于SoC结构10的与存储器部件1相关联的至少通道。
感测放大器SA直接连接到稍后将参考图5公开的修改后的JTAG单元500,以便将JTAG结构和感测放大器集成在单个电路部分中。这允许尽可能地减少将存储器阵列的输出传播到SoC的延迟。
每个子阵列200的感测放大器SA与修改后的JTAG单元500的扫描链400连接,从而将一个子阵列200的所有输出连接在一起。而且,子阵列扫描链400可以连接以形成用于快速检查焊盘互连的完整性的唯一链。
JTAG单元500以图4B中所示的以下方式连接:
PIN→感测放大器的输出
POUT→到SoC通信者数据I/O
SIN→是连接到前一感测放大器的SOUT的串行IN输入
SOUT→是连接到下一感测放大器的SIN的串行输出
由互连的JTAG单元500使用串行输入和输出形成的扫描链400具有一些优点:
能够测试SoC与直接存储器存取(DMA)存储器之间的成功互连;
能够实施感测放大器的数字测试,因为所述单元可以作为程序负载工作以将数据存储在阵列内部;
能够作为第二级锁存器工作。
稍后将在本公开中看到,当第一组数据位准备好传送到感测放大器的并行输出POUT时,内部锁存器耦合到感测放大器,所述内部锁存器可以触发剩余数据位的后续区段的读取数据。
仍然参考图4A和4B的实例,可以考虑每个JTAG单元500的互连:PIN耦合到感测放大器的输出;POUT耦合到主机装置10(即,片上系统)的对应数据I/O;SIN是连接到前一感测放大器的SOUT的串行IN输入,而SOUT是连接到下一感测放大器的SIN的串行输出。
例如,图4B的示意性实例示出了位于通用子阵列的单元矩阵中的一行存储器单元与一列存储器单元的交叉点处的示意性通用存储器单元MC,使得可以相应地对单元进行寻址。实际的实施方案可以包含从单元到SA的输出的附加电路,但是它们没有被示出为与本公开的目的无关。
感测放大器SA耦合到存储器单元列,作为当从存储器阵列读取数据时使用的读取电路的一部分。一般而言,一次读取包含上述超级页150的存储器字,并且在本实例中,将参考包含数据+地址+ECC位的存储器字。
众所周知,感测放大器的作用是感测来自阵列行的低功率信号。表示存储在存储器单元MC中的逻辑数据位(1或0,取决于惯例)的低电压值被放大到可识别的逻辑电平,使得数据可以由存储器外部的逻辑电路部分正确地解释。
在本文公开的实例中,每个感测放大器SA的输出耦合到修改后的JTAG单元500,以便集成JTAG结构和感测放大器。
在本文公开的非限制性实例中,输出放大器OA插置在感测放大器SA与JTAG单元500之间。
由于本公开的存储器架构,可从用于从存储器子阵列200中检索数据和地址的并行模式传递到用于检查存储器部件1与相关联的主机装置10之间的互连的串行模式。而且,SoC有权读取一次‘1’和一次‘0’以执行测试,并且还可以分析存储器结果,使用扫描链扫描出数据。
从并行模式到串行模式的转变由控制和JTAG接口300管理。然而,下文公开的修改后的JTAG单元500的特定结构允许这些双模式操作的实施方案。
参考图5的示意性实例,示出了根据本公开修改后的JTAG单元500。
JTAG单元500具有接收对应信号Pin和Sin的第一并行输入PIN端子和第一串行输入SIN端子。而且,JTAG单元500具有第一并行输出端子POUT和第一串行输出端子SOUT。扫描链400允许输出全部256位,因为第一组直接从输出读取,而第二组在后面准备。
SOUT连接到接近多路复用器的JTAG锁存器,所述多路复用器具有以下信号作为选择器:模式控制器(串行/并行)。基本上,连接到该多路复用器的输入‘1’的导线也是SOUT。
如图5中所示,JTAG单元500可以被认为是具有两个输入端子PIN和SIN以及两个输出端子POUT和SOUT的框。输入端子PIN是并行输入,而输入端子SIN是串行输入。类似地,输出端子POUT是并行输出,而输出端子SOUT是串行输出。
由于串行输入和输出,可以执行测试过程以检查存储器部件1与相关联的片上系统10之间不存在故障连接。由于并行输入和输出,同一JTAG单元用作数据缓冲器以通过感测放大器SA完成读取阶段。
JTAG单元500包括边界扫描基本单元580,其包含一对锁存器501和502以及一对多路复用器551和552。第一输入多路复用器551和第二输出多路复用器552。
边界扫描基本单元580由图5中的虚线框指示,并且是具有与SIN相对应的串行输入和与PIN相对应的并行输入的两个输入单元,以及具有与SOUT相对应的串行输出和与POUT相对应的并行输出的两个输出单元。
第一多路复用器551在第一输入“0”上接收来自第一并行输入端子PIN的并行输入信号Pin,并在第二输入“1”上接收来自第一串行输入端子SIN的串行输入信号Sin。
该第一多路复用器551由控制信号ShiftDR驱动并具有输出MO1。单元500具有两个并行输出,即,MO1和MO2。当JTAG时钟到达时,从SOUT中驱动输出串行输出。SOUT连接到接近多路复用器的JTAG锁存器,所述多路复用器接收以下选择器信号:模式控制器(串行/并行)。基本上,连接到该多路复用器MO2的输入‘1’的锁存器的输出也是SOUT。
第一多路复用器输出MO1连接到第一锁存器501的第一输入,所述第一锁存器在第二输入端子上接收时钟信号ClockDR。
第一锁存器501与第二锁存器502连接成链,其中第一锁存器501的第一输出连接到第二锁存器502的第一输入。
重要的是要注意,第一锁存器501的输出也是整个JTAG单元500的串行输出SOUT。
第二锁存器502的第二输入端子接收信号UpdateDR。
第二锁存器502的输出连接到第二多路复用器552的输入、特别是其第二输入。
该第二多路复用器552由模式控制信号控制,所述模式控制信号允许将整个JTAG单元500从串行模式切换到并行模式,反之亦然。
在本公开的一个实施例中,JTAG单元500进一步包含设置在并行输入引脚与第二多路复用器552之间的另一对锁存器521和522。这些额外的锁存器521和522是对直接读取(即,第一组数据位)和影子读取(即,第二组128数据位)的锁存。换句话说,JTAG单元500包含边界扫描单元580和至少另外的锁存器521和522。
在下文中将把这些另外的锁存器称为第三锁存器521和第四锁存器522。在其它实施例中,可以使用更长的锁存器链。
更具体地,第三锁存器521和第四锁存器522以小的流水线配置连接,其中第三锁存器521在第一输入上接收来自第一并行输入端子PIN的并行输入信号Pin,并且在第二输入上接收与第一数据负载相对应的信号Data_Load[0]。
第四锁存器522在第一输入上接收第三锁存器521的输出,并在第二输入上接收与后续数据负载相对应的信号Data_Load[1]。
第四锁存器522的输出连接到第二多路复用器552的第一输入“0”,所述第二多路复用器在其输出端子MO2上产生用于并行输出端子POUT的输出信号。
如果与常规JTAG单元相比,则本公开的JTAG单元500可能被认为是修改后的JTAG单元,因为除了边界扫描单元580的存在之外,还存在两个额外的锁存器,即,第三锁存器521和第四锁存器522。
现在,必须设想JTAG单元500耦合到存储器子阵列200的每个感测放大器SA的输出。通常,存储器阵列为每列存储器单元提供感测放大器,如图4B中所示。
在本公开的实施例中,耦合到存储器子阵列的感测放大器的所有JTAG单元500被认为是包含数据页的数据缓冲器,在该实例中包含至少一百二十八(128)位,以用于一次从四个子阵列200读取组合的存储器页。
然而,如先前所报告,存储器部件与SoC结构之间的通信通道一次可能需要多达256位(即,两个组合的存储器字),并且JTAG单元500已被修改为仅复制内部锁存器以便能够用要读取的数据的第二或较低部分将要读取的数据的128位的第一或较高部分移位。显然,在该竞赛中,“较高”意味着之前所加载的数据部分,而“较低”意味着之后所加载的数据部分。
本领域技术人员将理解,在需要提高要通过通信通道传送到SoC结构的位的数量的情况下,可以增加修改后的JTAG单元500的内部锁存器的数量。例如,可以根据存储器控制器的特定实施方案所需的页大小来扩展上述结构。
仅仅为了解释在数据缓冲器中传送数据的方式,必须设想,当数据被加载到两个锁存器521或522之一时,另一锁存器处于备用状态,但是准备好接收随后的数据部分。
因此,包含128位的第一部分被传送到用于第一数据加工的SoC结构,而读取阶段不会停止,因为具有128位的另一部分准备在随后的时钟信号处被加载到锁存器中。
在该实例中,每个数据缓冲器包含128个修改后的JTAG单元500,并且公共Data_Load[1:0]是被生成以允许捕获全部256位的信号,即:根据所提出的实施方案的八个双字DW(每个双字四个子阵列)。
当在特定的数据缓冲器中执行读取操作时,在内部控制信号生成,并且信号由SoC结构控制以允许使用128位并行性执行读取阶段。
该存储器结构的主要优点在于,每个缓冲器可以包含整个双字DW,因此使感测放大器自由地在另一个存储器位置中读取。
由于允许以下各项,因此修改后的JTAG单元500作为感测放大器的输出的存在特别重要:
使用边界扫描作为检查SoC 10与快闪阵列部件1之间的互连的方法;
实施将感测放大器与控制器直接连接的直接存储器存取;
它允许使感测放大器准备第二256位宽的页加上地址加上ECC,并接近所述页写入。
另一个优点由采用包含修改后的JTAG单元500的边界扫描测试架构、因此获得与图6的示意图中所示的边界扫描测试架构类似的新的且特殊的边界扫描测试架构的可能性给出。这是进一步的优点,因为对于该测试,仅需要驱动一个输出,并且这通过使用信号TCK和存储在单元中的数据来获得。扫描链测试要求SoC 10测试扫描链的输出。
如该特定技术领域中已知的,边界扫描是旨在解决许多测试问题的一系列测试方法:从芯片级到系统级,从逻辑核心到核心之间的互连,以及从数字电路到模拟或混合模式电路。
边界扫描测试架构600提供了在不使用物理测试探针的情况下测试板上的集成电路1和10之间的互连的手段。它将包含多路复用器和锁存器的边界扫描单元500添加到装置上的每个引脚或焊盘。
换句话说,如存储器部件1或主机装置10那样的复杂半导体装置的每个主输入信号和主输出信号被补充有称为边界扫描单元的多用途存储器元件,所述边界扫描单元完全形成围绕所述装置的边界的串行移位寄存器650。
最初,这些边界扫描单元被引入作为将测试应用于各个半导体装置的手段。使用边界扫描单元来测试在电路板上的适当位置的装置的存在、取向和键合是包含在半导体装置中的最初动机。
根据本公开,边界扫描单元500还用于测试在一起工作的集成电路(诸如在本公开的情况下,片上系统10与相关联的存储器部件1)之间的互连。
边界扫描单元的集合被配置为并行输入或并行输出移位寄存器,并且边界扫描路径独立于主机装置的功能。所需的数字逻辑包含在边界扫描寄存器内部。显然,外部JTAGFSM与单元交互,即,shiftDR、shiftIR、UpdateDR等由JTAG逻辑300驱动。
为了非常简要地概括边界扫描单元的运作,可以认为每个单元500都被结构化用于在其并行输入PI上捕获数据;将数据更新到其并行输出PO上;将数据从其串行输出SO串行扫描到其邻居的串行输入SI。而且,在PI传递到PO的意义上,每个单元都表现透明。
图6示出了使用根据IEEE标准号1149.1配置的边界扫描单元的标准结构架构的示意图。然而,根据本公开,在架构600中使用的边界扫描单元是先前公开的修改后的JTAG单元500。
JTAG接口是添加到芯片的特殊接口。根据本实施例,添加两个、四个或五个引脚,从而允许根据本实施方案的需要扩展JTAG。
连接器引脚是:TDI(测试数据输入);TDO(测试数据输出);TCK(测试时钟);TMS(测试模式选择)和任选的TRST(测试复位)。
TRST引脚是测试逻辑的任选的有效低复位,通常是异步的,但有时是同步的,这取决于芯片。如果引脚不可用,则可以通过使用TCK和TMS同步地切换到复位状态来将测试逻辑复位。注意,将测试逻辑复位不一定意味着将其它任何内容复位。通常存在一些处理器专用的JTAG操作,其可以将被调试的芯片的全部或部分复位。
由于只有一条数据线可用,因此协议是串行的。时钟输入在TCK引脚处。在每个TCK上升时钟沿处,从TDI传送输入一位数据,并将其传送输出到TDO。可以加载不同的指令。典型IC的指令可以读取芯片ID,对输入引脚采样,驱动(或浮动)输出引脚,操纵芯片功能或旁路(将TDI引导到TDO以逻辑地缩短多个芯片的链)。
与任何计时信号一样,提供给TDI的数据对于在相关(在这里,上升)时钟边沿之前的某个芯片特定的设置时间和之后的保持时间必须有效。TDO数据在TCK的下降沿之后的某个芯片特定时间有效。
图6示出了一组四个专用测试引脚-测试数据输入(TDI)、测试模式选择(TMS)、测试时钟(TCK)、测试数据输出(TDO)-以及一个任选的测试引脚测试复位(TRST)。
这些引脚统称为测试存取端口(TAP)。然而,架构600包含名为TAP控制器670的有限状态机,其接收以下三个信号作为输入:TCK、TMS和TRST。TAP控制器670是16-状态最终状态机FSM,其控制边界扫描架构600的操作的每个步骤。要由边界扫描结构600执行的每个指令存储在指令寄存器620中。
图6示出了装置主输入和主输出引脚上的多个边界扫描单元500。单元500在内部连接以形成串行边界扫描寄存器650。换句话说,修改后的JTAG单元500用作边界扫描结构600的构建块。
数据也可以以串行模式围绕边界扫描移位寄存器650移位,所述移位从称为“测试数据输入”(TDI)的专用装置输入引脚开始,并在多路复用器660的输出处终止于称为“测试数据输出”(TDO)的专用装置输出引脚。
测试时钟TCK根据TAP状态被选择性地发送到每个寄存器和发送到寄存器选择;TCK信号的馈送经由专用装置输入引脚来执行,并且操作模式由专用“测试模式选择”(TMS)串行控制信号来控制。
指令寄存器(IR)620包含n位(其中n≥2)并且被实施用于保持每个电流指令。
根据IEEE 1149标准,所述架构由1位旁路寄存器640(旁路)完成;任选的32位标识寄存器630(Ident),其能够加载有永久装置标识码。
在任何时间,仅一个寄存器可以从TDI连接到TDO(例如,IR、旁路、边界扫描、Ident或甚至核心逻辑内部的某一适当寄存器)。选定的寄存器由IR的解码输出来标识。某些指令是强制性的,诸如Extest(选择边界扫描寄存器),而其它指令是任选的,诸如Idcode指令(选择Ident寄存器)。
并行加载操作被称为“捕获”操作,并且使装置输入引脚上的信号值加载到输入单元中,并且使从核心逻辑传递到装置输出引脚的信号值加载到输出单元中。
并行卸载操作被称为“更新”操作,并且使已经存在于输出扫描单元中的信号值通过装置输出引脚被传递出去。而且,PAUSE(暂停)指令允许将数据保持在寄存器中,即使它没有完成。
取决于输入扫描单元的本质,已经存在于输入扫描单元中的信号值将被传递到核心逻辑。
现在,在本公开的一个实施例中,边界扫描结构600用另一或附加的寄存器780来完成,所述寄存器被专门提供来管理存储器部件1。该附加寄存器780也可由用户定义。IEEE1532标准允许这种扩展。
图7更详细地示出了结合到本公开的边界扫描结构600中的寄存器的组成。在图7中,边界扫描移位寄存器750以串行模式耦合到TDI引脚,并经由多路复用器740向TDO输出引脚提供输出。
测试时钟TCK经由又另一专用装置输入引脚馈入,并且操作模式由施加到TAP控制器770的专用“测试模式选择”(TMS)串行控制信号控制。
然后由解码器790提供与指令相关联的各种控制信号。
指令寄存器(IR)720包含n位(其中n≥2)并且被实施用于保持每个电流指令。所述架构包含1位旁路寄存器(图7中未示出)和标识寄存器730。
附加寄存器780用作移位数据寄存器,以允许在存储器部件的写入和/或读取阶段中与主机装置的核心交互。然而,用户可定义寄存器甚至可以不同。取决于加载到IR中的命令,可以组合不同的寄存器。例如,为了对存储器进行编程,可能有必要进行至少以下各项:设置数据寄存器,其具有最小页要被编程在存储器阵列中;设置数据地址,其包含可以被加载的地址;任选地设置屏蔽寄存器以避免接触数据的一部分等等。
现在,由TAP控制器670或770表示的命令用户界面是基于IEEE 1149和IEEE 1532标准,其实施具有修改相关联的存储器子阵列200的内部内容的能力的低信号计数接口,即,TMS、TCK、TDI、TDO、TRST(任选的)。
另一个优点由采用包含修改后的JTAG单元500的边界扫描测试架构、因此获得与图6的示意图中所示的边界扫描测试架构类似的新的且特殊的边界扫描测试架构的可能性给出。而且,对于该测试,仅需要驱动一个输出,并且例如当扫描链测试需要SoC来测试扫描链的输出时,这使用TCK和存储在单元中的数据来完成。
为了非常简要地概括边界扫描单元的运作,可以认为每个单元500都被结构化用于在其并行输入PI上捕获数据;将数据更新到其并行输出PO上;将数据从其串行输出SO串行扫描到其邻居的串行输入SI。而且,在PI传递到PO的意义上,每个单元都表现透明。
如图8中所示,标准IEEE 1149.1是基于有限状态机,即,包含十六个状态,并且其中的两个状态(即,移位指令寄存器(ShiftIR)和移位数据寄存器(ShiftDR))允许在写入和/或读取中与系统交互。
图8示意性地示出了作为有限状态机的测试存取端口TAP 800,其负责关于诸如存储器装置等集成电路的测试的所有操作。
施加到TMS引脚的逻辑信号“0”和“1”的序列通过边界扫描结构控制芯片架构的操作。
首先考虑当电路通电时从由数字810指示的测试逻辑复位状态开始。在该特定状态中,所有边界扫描单元都处于所谓的透明状态,其中并行输入PIN在内部连接到并行输出POUT,并且所有输入引脚连接到集成电路的核心。
通过驱动具有逻辑值“1”和“0”的适当序列作为TMS信号,可以以TDI输入移位作为获得输出TDO的第一指令的方式设置输出多路复用器。TMS信号应在状态ShiftDR或ShiftIR下驱动TAP FSM以将TDI和TDO连接到寄存器。
为了将指令移位,需要转向具有数字830的状态ShiftIR,并且为了达到所述状态,需要应用以下序列:将0设置为TMS并将一个时钟脉冲驱动到TCK,达到运行/空闲状态820。
现在从状态820中选择“1”,转到选择数据寄存器扫描840和指令寄存器扫描845。利用TMS上的另一个“0”,可以到达指令寄存器850的捕获阶段。
捕获阶段允许捕捉到图7中的指令寄存器720的两个最终位;如上所述,捕获操作使用并行输入。
另一个“0”驱动移位IR,其允许将输入值TDI传递到输出TDO;输入处的TDI值出现在等于寄存器大小的多个时钟之后。
保持TMS为“0”,可以保持在移位IR状态830,从而允许将在TDI引脚上接收的位移位到输出TDO。
对于将所有输入位移位所需的所有时钟周期,可以保持在所述状态830。
在与IR 720的位数减1相对应的多个时钟周期内保持在ShiftIR状态830。在序列结束时,到达退出-1IR状态855。
从该退出状态855开始,将移至驱动“1”TMS的更新状态860,并且这是新指令变为有效的时刻。边界扫描单元回复到测试模式,其中输入引脚与核心电路隔离。
现在可以通过达到移位DR状态870将测试矢量发送到核心电路。
数据寄存器的状态类似于指令寄存器的状态。
因此,利用序列1-0-0,可以达到ShiftDR状态870。
在通过捕获DR 875后,边界扫描单元的第一多路复用器MO1连接到并行输入PIN,并且边界扫描寄存器的所有输入引脚已捕获其输入值。
现在转到移位DR 870,多路复用器改变其允许捕捉串行输入SIN的状态,并且扫描路径从TDI输入通过边界扫描寄存器移位到输出引脚TDO。
所述电路对于与边界扫描单元的数量减1相对应的多个时钟周期保持在该状态中;显然,边界扫描是用IR寄存器中的适当指令选择的可能数据寄存器之一。
当经过退出-1DR 880状态并达到更新DR状态885时,新的测试矢量输出到输出引脚。
从更新到捕获重复所述序列,以允许将新的测试向量引入到电路中。
可以看到,TAP包含测试数据输入和测试数据输出以及时钟信号。更具体地,移位数据寄存器ShiftDR报告TDI与寄存器连接的状态。在所述状态下,寄存器内容被传送输入和/或输出装置。
类似地,移位指令寄存器ShiftIR也报告TDI与寄存器连接的状态。在所述状态中加载指令。
为了完整起见,应注意,JTAG状态机可以用于将寄存器复位,存取指令寄存器或存取由指令寄存器选择的数据。
由于在主机装置10内部具有多核的要求,JTAG接口的内部寄存器780必须能够支持多达地址和数据寄存器。具体地,提供四个地址寄存器(每个子阵列220一个地址寄存器)的生成,以针对每个子阵列220被填充有不同地址,并触发每个子阵列区段的读取寄存器[0:3]的四个不同数据输出。发生与SoC的通信,从而将选定的读取寄存器(即,名为POUT[127:0]的输出)直接连接到主机装置或SoC 10的通道的输入。
该机制允许为控制器预加载数据,从而将等待时间减少到非常低的值。
根据本公开,附加寄存器780用于减少数据读取初始等待时间或甚至使其无效。
具体地,根据本公开的实施例,SoC使用就地执行(XiP)作为从存储器部件中检索数据的方法;通过这种方式,初始地址总是固定的。
本公开的存储器部件有利地以默认初始地址可以以定制方式预编程的方式结构化。通过使用诸如Default_Address_Load0_0、…、Default_Address_Load3_3等特定命令集来完成预编程。
根据本公开的有利实施例,默认初始地址存储在附加寄存器780中。通过这种方式,在设备通电时,预编程的默认地址从附加寄存器780传送到JTAG寄存器。在加载默认地址之后不久,执行每个子阵列中的读取序列以准备每个核心所需的数据。适当地,这避免了引导之后系统的初始等待时间。
如图9中所示,每个子阵列900包含一组4个地址寄存器,即,24位宽,以及一组4个数据输出寄存器,即,128+16+24位宽。
子阵列的地址寄存器连接到数据缓冲寄存器,并且如上文所示,本公开的存储器装置可以以非易失性方式存储在系统引导时读取的初始地址。通过这种方式,由于在系统引导时执行XiP读取,因此XiP的初始地址在SoC/快闪阵列设备的配置期间是固定的并且被编程,在引导时XiP使用存储在附加寄存器中的此地址。
对于每个子阵列,将地址存储在地址缓冲器中的优点在于,可以触发读取操作来使SoC的初始等待时间无效。
换句话说,根据本公开,用户能够将子阵列的页地址存储在附加寄存器780中,使得在通电时,执行自动读取序列以读取所存储地址处的期望页并使对应数据(地址和ECC)可供用户立即使用。这允许在通电时通过读取期望页并使期望页可供每个子阵列使用来节省时间-所述期望页的地址存储在附加寄存器中。
附加寄存器可以是单个寄存器,或者它可以包含多个寄存器,每个子阵列一个寄存器。因此,JTAG接口的附加寄存器被配置为存储与子阵列的多个地址寄存器相对应的多个页地址,所述地址寄存器触发来自读取接口的至少对应的多个不同数据。
可以使用JTAG命令(即,遵循如下流程)来存储初始地址:
IR移位:Initial_Address_Load
DR移位:地址+子阵列+地址输出4
RUN_TEST_IDLE:
IR移位:Program_Flash_Array
RUN_TEST_IDLE
图10示出了根据本公开的方法1000的图式。
具体地,所述方法包括提供JTAG接口的第一步骤1001。该步骤之后是在所述JTAG接口中的附加寄存器中存储与存储器单元阵列相关联的至少页地址的第二步骤1002和在装置通电时加载所述页地址的步骤1003。最后提供在页地址处执行读取序列的步骤1004。
JTAG平台通常将信号添加到由IEEE 1149.1规范所定义的参数。系统复位(SRST)信号相当常见,使调试器将整个系统复位,而不仅仅是将JTAG支持的部分复位。有时使用事件信号来触发主机或装置的活动,所述装置通过JTAG监测;或者,可能通过附加控制线监测。
在JTAG中,装置暴露一或多个测试存取端口(TAP)。
为了使用JTAG,主机通过某种类型的JTAG适配器连接到目标的JTAG信号(TMS、TCK、TDI、TDO等),所述JTAG适配器可能需要处置像电平移位和电流隔离的问题。适配器使用诸如USB、PCI、以太网等一些接口连接到主机。然而,根据本公开,SoC也能够在没有外部帮助的情况下驱动存储器中的JTAG TAP。
主机装置10通过操纵信号TMS和TCK(或如果存在,还驱动TRST)与TAP进行通信。信号TDI仅用于加载寄存器数据读取,然后通过TDO(其是唯一的标准主机输入)加载结果。TMS/TDI/TCK输出转变创建上面构建有较高层协议的基础JTAG通信原语:
状态切换:其中所有TAP都处于同一状态,并且所述状态在TCK转变时改变。所有TAP FSM都相应地移动,因为TMS同时连接到所有符合JTAG的装置,前提是所述装置存在于板中。
再次参考图8,该JTAG状态机是JTAG规范的一部分并且包含十六个状态。有六个“稳定状态”,其中保持TMS稳定防止状态改变。在所有其它状态中,TCK总是改变所述状态。另外,断言信号TRST会强制进入,因此将寄存器的所有内容变为默认值。它们的内容不再有效,并且应当以比保持TMS为高并使TCK循环五次的替代方案稍快的方式将其重新加载到那些稳定状态(Test_Logic_Reset)之一。
移位阶段:其中JTAG状态机的大部分支持用于传送数据的两个稳定状态。每个TAP具有指令寄存器(IR)和数据寄存器(DR)。这些寄存器的大小在TAP之间变化,并且这些寄存器通过TDI和TDO组合以形成大的移位寄存器。(DR的大小是TAP的当前IR中的值的函数,并且可能是由SCAN_N指令指定的值的函数)。
通常有任选的寄存器来定义数据寄存器的大小。使用标准检查IR,因为低有效位被加载有1和0。这允许对网络中的JTAG装置的数量进行计数,并且知道每个TAP IR的大小,所述大小可能是不同的。
在所述移位寄存器上定义了三个操作:
捕获临时值。
经由Capture_IR状态进入Shift_IR稳定状态,用部分固定值加载移位寄存器(不是当前指令)
经由Capture_DR状态进入Shift_DR稳定状态,加载由TAP的当前IR指定的数据寄存器的值。
在Shift_IR或Shift_DR稳定状态下,将所述值逐位移位;TCK转变将移位寄存器从TDI向TDO移位一位,正如通过装置菊花链进行的SPI模式1数据传送(其中TMS=0用作芯片选择信号,TDI用作MOSI等)。
从在通过Update_IR或Update_DR状态转变时移入的临时值更新IR或DR。作为移位分支的每一侧中的标准的一部分,PAUSE状态也是相关的。
注意,在不写入(更新)寄存器的情况下不可能读取(捕获)寄存器,反之亦然。公共习语添加标志位以说明更新是否应当具有边际效应,或者硬件是否准备好执行此类边际效应。
运行状态:其中一个稳定状态称为Run_Test/Idle。区别是TAP特定的。在空闲状态中对TCK计时没有特别的边际效应,但是在运行测试状态中对TCK计时可以改变系统状态。例如,一些核心支持调试模式,其中处于Run_Test状态的TCK循环驱动指令流水线。
因此,在基本级别下,使用JTAG涉及读取和写入指令及其相关联的数据寄存器;并且有时涉及运行多个测试循环。在这些寄存器之后是未由JTAG指定并且其自身状态受JTAG活动影响的硬件。
JTAG有限状态机在TCK(时钟信号)的上升沿处触发,并且在下降沿处提供输出。这允许使用旁路寄存器而不丢失扫描链中的时钟周期。
检查TMS信号,并且所述信号的值触发状态转变。
ShiftDR和ShiftIR状态对IO寄存器寻址,并且TDI信号用于将数据串行插入选定寄存器内部。
IR寄存器用于选择要使用的特定数据寄存器和/或指令。
当状态机处于运行测试/空闲时,检查IR寄存器的命令并使用最终服务寄存器的数据来并执行所述IR寄存器,即,程序命令可以使用数据寄存器和地址寄存器来决定必须存储何种数据和将数据存储在何处。
JTAG边界扫描技术提供对复杂集成电路(包含装置引脚)的许多逻辑信号的存取。信号在可经由TAP存取的边界扫描寄存器(BSR)中表示。这允许测试以及控制用于测试和调试的信号的状态。因此,可以定位软件和硬件(制造)故障,并且可以监测操作装置。
本公开获得了下文中不按重要性顺序报告的许多优点。先前所公开的解决方案减少了用于存储器部件的硅的成本并改善包含主机装置和存储器部件的整个设备的整体质量和可靠性问题。
本公开的设备提供了用于特别是在汽车部门中实现实时操作系统(RTOS)的良好选择,从而特别是在系统引导时在存储器部件的第一次存取中提供低的初始等待时间。
而且,先前公开的存储器架构提供了非常高的质量和在小于百万分之1的范围内的错误率。
最后,所公开的架构允许在主机装置中采用侵略性光刻节点,并且在存储器部件中采用最新的快闪存储器技术,将两种技术解耦,允许在适当位置实现两种装置的最佳集成电路。
存储器部件1和主机或SoC 10使用非常高的并行性与接口耦合。该特征还可以用于改善性能,例如加载指令寄存器和(通用)数据寄存器。
例如,如果参考图7的实例,则可以理解,指令寄存器720可以在将DATAx并联连接到存储器单元的单个时钟循环中加载。而且,图8示出了当达到状态ShiftDR或ShiftIR时由TMS信号驱动的TAP转变;所述图式示出了灵活TDI的两种情况,一种是8位数据寄存器,而另一种是128位数据寄存器。
Data0可以作为默认,但是在SoC不能为所有通信管理单个DAT0的情况下,可以为控制器的每个通道添加多路复用器,即,当通道0被寻址为DATA0时、当通道1被寻址为Data1时,等。
在并发编程的情况下,Data0可以并行加载所有子阵列读取寄存器。
IEEE 1149定义串行协议。具有至少两个位的指令寄存器720也用作发现方法。
主机可以将JTAG FSM移动到ShiftIR模式,并且然后开始以已知码字移位,当经过整个串行链时,码字出现在主机的TDI中。主机可以对组合“10”进行计数并且知道:
链中的装置数量
每个装置的指令寄存器的长度
灵活TDI被认为改善了某些操作的性能,即,包含128位的数据寄存器可以使用子阵列的整个DATA I/O能力来加载。输出将总是与JTAG兼容,但是它将仅是一位,即,数据寄存器的较低有效位。
指令寄存器需要特别注意,因为它必须为至少2位宽,所以在指令寄存器为8位的情况下,快闪阵列的实施方案预测使用2个时钟周期的通信,以允许将序列‘10’发送到下一装置。
所提出的方法不是装置的默认方法,而是在易失性配置寄存器位中可选择的,因此用户可以将装置配置为始终在灵活TDI中操作。
尽管已在本文中说明及描述特定实施例,但是本领域的一般技术人员应当理解,经计算以实现相同结果的布置可取代展示的特定实施例。本公开旨在涵盖本公开的各种实施例的调整或变化。
应当理解,以上描述是以说明性的方式进行的,而不是限制性的。通过阅读以上描述,以上实施例的组合以及本文未具体描述的其它实施例对于本领域技术人员将是显而易见的。本公开的各种实施例的范围包含其中使用上述结构及方法的其它应用。因此,本公开的各种实施例的范围应当参考所附权利要求以及此类权利要求所赋予的等同物的全部范围来确定。
Claims (21)
1.一种非易失性存储器设备,其包括:
-存储器部件,所述存储器部件具有独立结构并且包含具有读取接口的相关联的解码和感测电路的至少一个存储器单元阵列,其中所述存储器部件进一步包含多个子阵列,所述多个子阵列具有包含多个感测放大器以及数据缓冲器的读取接口;
-主机装置,所述主机装置通过至少一个通信通道耦合到所述存储器部件;
-JTAG接口,所述JTAG接口在所述至少一个存储器单元阵列中;
-至少一个附加寄存器,所述至少一个附加寄存器在所述JTAG接口中用于处置由所述主机装置提供的数据、地址和控制信号,
其中,所述附加寄存器被配置为存储对应于与所述存储器单元阵列相关联的所述多个子阵列的多个地址寄存器的多个页地址,
其中所述多个地址寄存器触发来自所述读取接口的对应的多个不同数据,
其中,所述存储器部件被配置为在所述非易失性存储器设备通电时加载所述多个页地址,并且
其中,所述主机装置被配置为在所述多个页地址处执行读取序列。
2.根据权利要求1所述的非易失性存储器设备,其中,所述附加寄存器包含多个寄存器,每个寄存器包含与相应子阵列相对应的数据。
3.根据权利要求1所述的非易失性存储器设备,其中,所述数据缓冲器包含多个修改后的JTAG单元,所述多个修改后的JTAG单元耦合到所述感测放大器的对应输出。
4.根据权利要求1所述的非易失性存储器设备,其中,每个感测放大器直接连接到修改后的JTAG单元,以将JTAG结构和所述感测放大器集成在单个电路部分中。
5.根据权利要求1所述的非易失性存储器设备,其中,所述存储器部件包含至少四个子阵列,并且每个子阵列能够在所述存储器部件内部独立寻址。
6.根据权利要求3所述的非易失性存储器设备,其中,通过串行互连所述数据缓冲器的所述JTAG单元来形成扫描链。
7.根据权利要求1所述的非易失性存储器设备,其中,所述至少一个存储器单元阵列的输出是通过组合数据单元、地址单元和ECC单元而形成的。
8.根据权利要求1所述的非易失性存储器设备,其中,所述主机装置包含多个核心,并且每个核心耦合到通信通道用于独立地接收数据并将数据传送到所述存储器部件。
9.根据权利要求1所述的非易失性存储器设备,其中,所述主机装置被配置为经由就地执行从所述存储器部件中检索所述数据。
10.根据权利要求1所述的非易失性存储器设备,其中,每个子阵列包括一组四个地址寄存器和一组四个数据输出寄存器。
11.一种非易失性存储器装置,其包含:
-至少一个存储器阵列,所述至少一个存储器阵列具有读取接口的相关联的解码和感测电路,其中所述读取接口包含感测放大器以及数据缓冲器;
-所述存储器阵列中的多个子阵列,所述多个子阵列被结构化为通过读取接口与通信通道进行通信;
-JTAG接口,所述JTAG接口在所述至少一个存储器阵列中;
-至少一个附加寄存器,所述附加寄存器在所述JTAG接口中用于处置从所述通信通道提供的数据、地址和控制信号,
其中,所述附加寄存器被配置为存储与存储器单元阵列相关联的页地址,产生具有对应不同地址的四个地址寄存器,并触发来自所述多个子阵列中的每一子阵列的所述读取接口的四个不同数据,并且
其中,所述存储器阵列被配置为在所述非易失性存储器装置通电时加载要读取的所述页地址。
12.根据权利要求11所述的非易失性存储器装置,其中,所述JTAG接口包含JTAG状态机,所述JTAG状态机被结构化为对指令寄存器进行复位或存取以及存取由所述指令寄存器选择的数据。
13.根据权利要求11所述的非易失性存储器装置,其中,所述JTAG接口接收以下标准JTAG信号作为输入:TMS、TCK、TDI以及来自存储器页的数据。
14.根据权利要求11所述的非易失性存储器装置,其中,所述JTAG接口产生数据、地址和控制信号作为输出,所述数据、地址和控制信号被传送到存储器地址解码器和所述非易失性存储器装置的控制器以执行修改操作。
15.根据权利要求11所述的非易失性存储器装置,其包含至少四个存储器子阵列,并且每个子阵列能够在所述存储器装置内部独立寻址。
16.根据权利要求11所述的非易失性存储器装置,其中,所述存储器阵列被结构化为通过对应通信通道与主机或SoC装置的多个核心进行通信,并且其中,所述存储器装置的选定读取寄存器直接连接到所述主机的对应通道的输入用于独立地接收和传送数据。
17.根据权利要求11所述的非易失性存储器装置,其中,所述存储器阵列是NAND快闪存储器阵列。
18.一种用于引导设备的方法,所述设备包括存储器部件和主机装置,所述存储器部件包含至少一个存储器单元阵列,所述主机装置耦合到所述存储器部件,所述方法包括:
-提供JTAG接口;
-在所述JTAG接口中的附加寄存器中存储对应于所述存储器单元阵列的多个子阵列的多个地址寄存器的多个页地址;
-使用所述多个地址寄存器触发来自读取接口的对应的多个不同数据;
在所述设备通电时加载所述多个页地址;以及
-在所述页地址处执行读取序列。
19.根据权利要求18所述的方法,其中,使用JTAG命令将所述页地址存储在所述附加寄存器中。
20.根据权利要求18所述的方法,其中就地执行用于执行所述读取序列,所述就地执行的初始地址是被编程并存储在所述附加寄存器中的所述页地址。
21.根据权利要求18所述的方法,其中在所述通电时,对于每个子阵列读取对应页地址处的页的步骤使数据能够立即使用。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2019/000467 WO2020240229A1 (en) | 2019-05-31 | 2019-05-31 | Jtag based architecture allowing multi-core operation |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113950721A CN113950721A (zh) | 2022-01-18 |
CN113950721B true CN113950721B (zh) | 2022-12-30 |
Family
ID=66912878
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096860.0A Active CN113950721B (zh) | 2019-05-31 | 2019-05-31 | 允许多核操作的基于jtag的架构 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11322223B2 (zh) |
CN (1) | CN113950721B (zh) |
DE (1) | DE112019007388T5 (zh) |
WO (1) | WO2020240229A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020240229A1 (en) * | 2019-05-31 | 2020-12-03 | Micron Technology, Inc. | Jtag based architecture allowing multi-core operation |
US11875044B2 (en) * | 2019-05-31 | 2024-01-16 | Lodestar Licensing Group, Llc | Direct memory access using joint test action group (JTAG) cells addressing |
US20220357394A1 (en) * | 2021-05-04 | 2022-11-10 | University Of Florida Research Foundation, Incorporated | Reconfigurable jtag architecture for implementation of programmable hardware security features in digital designs |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209489A (ja) * | 2005-01-28 | 2006-08-10 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
CN101059786A (zh) * | 2006-04-17 | 2007-10-24 | 国际商业机器公司 | 用于选择性地停止dma操作的方法、设备和系统 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6102963A (en) * | 1997-12-29 | 2000-08-15 | Vantis Corporation | Electrically erasable and reprogrammable, nonvolatile integrated storage device with in-system programming and verification (ISPAV) capabilities for supporting in-system reconfiguring of PLD's |
US6535963B1 (en) * | 1999-06-30 | 2003-03-18 | Cisco Technology, Inc. | Memory apparatus and method for multicast devices |
US7707354B2 (en) * | 1999-08-04 | 2010-04-27 | Super Talent Electronics, Inc. | SRAM cache and flash micro-controller with differential packet interface |
US6839821B2 (en) * | 1999-11-16 | 2005-01-04 | Lexar Media, Inc. | Method and apparatus for memory control circuit |
US6651134B1 (en) * | 2000-02-14 | 2003-11-18 | Cypress Semiconductor Corp. | Memory device with fixed length non interruptible burst |
US7313739B2 (en) | 2002-12-31 | 2007-12-25 | Analog Devices, Inc. | Method and apparatus for testing embedded cores |
US7159091B1 (en) * | 2003-12-31 | 2007-01-02 | Intel Corporation | Dynamic relocation of execute in place applications |
US9881161B2 (en) * | 2012-12-06 | 2018-01-30 | S-Printing Solution Co., Ltd. | System on chip to perform a secure boot, an image forming apparatus using the same, and method thereof |
US10453502B2 (en) * | 2016-04-04 | 2019-10-22 | Micron Technology, Inc. | Memory bank power coordination including concurrently performing a memory operation in a selected number of memory regions |
JP6761104B2 (ja) * | 2017-03-06 | 2020-09-23 | ゼンテルジャパン株式会社 | 半導体記憶システム |
WO2020240229A1 (en) * | 2019-05-31 | 2020-12-03 | Micron Technology, Inc. | Jtag based architecture allowing multi-core operation |
-
2019
- 2019-05-31 WO PCT/IB2019/000467 patent/WO2020240229A1/en active Application Filing
- 2019-05-31 CN CN201980096860.0A patent/CN113950721B/zh active Active
- 2019-05-31 DE DE112019007388.5T patent/DE112019007388T5/de active Granted
- 2019-05-31 US US16/625,455 patent/US11322223B2/en active Active
-
2022
- 2022-05-02 US US17/734,747 patent/US11830563B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209489A (ja) * | 2005-01-28 | 2006-08-10 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
CN101059786A (zh) * | 2006-04-17 | 2007-10-24 | 国际商业机器公司 | 用于选择性地停止dma操作的方法、设备和系统 |
Also Published As
Publication number | Publication date |
---|---|
US11322223B2 (en) | 2022-05-03 |
US20220254438A1 (en) | 2022-08-11 |
US20210335444A1 (en) | 2021-10-28 |
CN113950721A (zh) | 2022-01-18 |
DE112019007388T5 (de) | 2022-02-17 |
US11830563B2 (en) | 2023-11-28 |
WO2020240229A1 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11749369B2 (en) | Memory device architecture coupled to a system-on-chip | |
US11830563B2 (en) | JTAG based architecture allowing multi-core operation | |
US20060184848A1 (en) | Semiconductor integrated circuit having test function and manufacturing method | |
US20220382485A1 (en) | Jtag registers with concurrent inputs | |
US7447962B2 (en) | JTAG interface using existing I/O bus | |
US20240071424A1 (en) | Memory component for a system-on-chip device | |
CN113994434B (zh) | 使用jtag单元寻址的直接存储器存取 | |
US11367497B2 (en) | Memory device with improved sensing structure | |
US11875860B2 (en) | Intelligent charge pump architecture for flash array | |
US20210335435A1 (en) | Jtag based architecture allowing multi-core operation | |
JP4176944B2 (ja) | 半導体集積回路及び記録媒体 | |
US20230410930A1 (en) | Memory device with improved sensing structure | |
US11875044B2 (en) | Direct memory access using joint test action group (JTAG) cells addressing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |