CN113906505B - 用于片上系统装置的存储器组件 - Google Patents
用于片上系统装置的存储器组件 Download PDFInfo
- Publication number
- CN113906505B CN113906505B CN201980096918.1A CN201980096918A CN113906505B CN 113906505 B CN113906505 B CN 113906505B CN 201980096918 A CN201980096918 A CN 201980096918A CN 113906505 B CN113906505 B CN 113906505B
- Authority
- CN
- China
- Prior art keywords
- memory
- soc
- fabric
- array
- 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
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/025—Geometric lay-out considerations of storage- and peripheral-blocks in a semiconductor storage device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/02—Disposition of storage elements, e.g. in the form of a matrix array
- G11C5/04—Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
- G11C2207/105—Aspects related to pads, pins or terminals
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Read Only Memory (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
本公开涉及一种用于片上系统(SoC)结构的存储器组件,其包括至少一个存储器阵列和用于与所述存储器阵列和所述SoC结构交互的至少一个逻辑部分,其中,所述存储器组件是耦合到所述SoC结构并与所述SoC结构部分重叠的结构上独立的半导体装置。
Description
技术领域
本发明涉及存储器装置,并且更具体地涉及一种允许替换SoC装置中的嵌入式存储器部分的存储器组件。
背景技术
片上系统或SoC是集成了计算机或其它电子系统的全部组件的半导体集成电路。这些组件通常包括中央处理单元(CPU)、存储器部分、输入/输出端口和辅助存储组件,它们全部位于单个半导体基板上。
根据应用,SoC装置可以含有数字、模拟、混合信号,并且通常包含射频信号处理功能。由于它们集成在单个电子基板上,所以与具有同等功能的多芯片设计相比,SoC装置可以消耗少得多的电力并且占用少得多的区域。SoC装置如今在移动计算、嵌入式系统和物联网中非常普遍。
特别是在汽车领域,切身需要设置包括控制器、存储器以及与许多外部传感器和致动器的连接的SoC装置。此外,需要这些SoC装置的控制器具有长寿命和极高的可靠性,并且以低初始等待时间和可能的最大通量与嵌入在SoC装置中的存储器部分一起工作。
现今,非易失性闪存是现代电子系统,包括用于汽车应用并且特别是用于实时操作系统(即RTOS)的SoC装置中的基本构件块之一。它们在速度、能耗、可变性、非易失性方面的性能以及系统可重构性的日益增加的重要性迄今为止已经推动了片上系统装置中的闪存集成的发展。
然而,闪存集成在需要仔细设计的系统和电路/技术层面引入了许多问题。从系统的角度来看,在选择要集成在SoC装置中的闪存类型时涉及若干方面;根据具体应用和要求,最重要的是它们的良率、成本、能耗、可靠性和性能要求。
此外,当光刻节点低于28nm并且当嵌入式宏闪存可能是SoC的最大部分时,会难以管理SoC装置中的嵌入式存储器。
发明内容
一方面,本申请提供了一种用于片上系统(SoC)结构的存储器组件,其包括至少一个存储器阵列和用于与所述存储器阵列和所述SoC结构交互的至少一个逻辑部分,其中,所述存储器组件是耦合到所述SoC结构并与所述SoC结构部分重叠的结构上独立的半导体装置。
另一方面,本申请还提供了一种存储器装置,其被构造为独立的半导体装置,并且包括至少一个存储器阵列和用于与片上系统(SoC)结构交互的至少一个逻辑部分,并且包含:位于所述存储器装置的表面上的多个互连焊盘,以及集成在所述存储器装置中的至少一个电路逻辑,其用于通过至少一个通信通道与片上系统(SoC)结构通信。
又一方面,本申请还提供了一种集成半导体装置,其包括片上系统(SoC)结构和重叠存储器装置,所述片上系统(SoC)结构和所述重叠存储器装置两者均包括互连焊盘并且以面对面的方式耦合以连接对应的互连焊盘,并且其中,所述存储器装置包括至少一个非易失性存储器单元阵列,所述非易失性存储器单元阵列以子阵列构造,所述子阵列以直接存储器存取配置连接到所述SoC结构。
又一方面,本申请还提供了一种用于制造包括多个互连焊盘的片上系统(SoC)结构的存储器组件的方法,所述方法包含至少以下步骤:提供包括存储器阵列的结构上独立的半导体存储器组件,所述存储器阵列具有用于与所述存储器阵列和所述SoC结构交互的至少一个逻辑部分;提供位于所述存储器组件的表面上的多个互连焊盘;面向所述SoC结构和包含所述互连焊盘的所述存储器组件的所述表面;将所述存储器组件耦合到所述SoC结构,使所述多个互连焊盘与所述SoC结构的对应的多个焊盘对齐并连接。
附图说明
图1是根据现有技术的片上系统装置的示意性透视图,并且该片上系统装置包括嵌入式存储器部分;
图2是根据本公开的片上系统装置的示意性透视图,并且该片上系统装置包括代替现有技术装置的嵌入式存储器部分的存储器组件;
图3是根据本公开的存储器组件的示意图;
图4示意性地示出了根据本公开的存储器组件的控制器的架构;
图5是由根据本公开的控制器过滤的指令的实例;
图6A和6B示意性地示出了对本公开的控制器的ROM的区域的存取操作;并且
图7示意性地示出了本公开的控制器的ROM的用户区域的初始化;
图8示出了根据本公开的包括布局配置的图2的非易失性存储器组件的一部分的示意图;
图9是图2所示的存储器部分的特定部分的示意图;
图10A是图2所示的存储器部分的特定部分的另一个示意图;
图10B是根据本公开的通用存储器单元与包括经修改的JTAG单元的对应的读出放大器之间的连接的示意图;
图11是根据本公开的一个实施例的由存储器阵列的多个行形成的存储器块的示意图;
图12是根据本公开的已经被修改的JTAG单元的示意图;
图13示出了使用根据IEEE标准第1149.1号配置的边界扫描单元的标准结构架构的示意图,但是其包括图10B的经修改的JTAG单元;
图14是更详细地示意性示出并入本公开的边界扫描架构中的寄存器的组成的图;
图15示出了报告基于JTAG协议的有限状态机的操作的图;
图16示出了用于本公开的存储器块架构的输出缓冲器的内容的示意图;
图17是用于本公开的存储器部分中的存储器页面的一组地址寄存器的示意图;
图18是本公开的存储器部分中的地址寄存器与数据寄存器之间的关系的示意图;
图19示出了图示本公开的制造方法阶段的框图。
具体实施方式
参考这些附图,本文将公开涉及非易失性存储器装置或组件以及用于此存储器装置的主机装置的设备和方法。
现有技术图1所示的主机装置可以是具有嵌入式存储器组件的片上系统或者包括耦合到存储器装置的系统的更复杂电子装置,这将从参考其它附图的对本公开的其它实施例的描述中呈现出来。
作为替代,系统可以是与片上系统通信的外部控制器,但是为了本公开的目的,我们将主机装置或SoC称为与存储器组件通信的实体。
例如,该系统可以是能够将存储器用于临时或持久存储信息的数个电子装置之一。例如,主机装置可以是计算装置、移动电话、平板电脑或者自主车辆的中央处理单元。
本公开的实施例及其各种特征和有利细节将参考在附图中图示出并在以下说明中详述的非限制性实例来解释。
省略对公知组件和处理技术的描述,以免不必要地模糊本文的实施例。本文所使用的实例仅旨在促进理解可实践本文实施例的方式,并进一步使本领域技术人员能够实践本文实施例。因此,实例不应被解释为限制本文实施例的范围。
当关闭电源时,非易失性存储器保留它们的内容,这使得它们成为存储在系统电源重启之后要检索的信息的良好选择。然而,非易失性存储器通常比易失性存储器慢,并且它通常具有更复杂的写入和擦除过程。
闪存是一种非易失性存储器,其保留所存储的数据而不会由于电力而周期性刷新。闪存可以按块擦除,而不是一次擦除一个字节。存储器的每个可擦除块包含以行和列的矩阵布置的多个非易失性存储器单元。每个单元耦合到存取线和/或数据线。通过操纵数据线上的电压来对单元进行编程和擦除。
目前,称为片上系统的复杂半导体结构的技术提供至少嵌入式非易失性存储器的集成,例如高达128Mbit。
图1示出了复杂片上系统(SoC)结构100的已知解决方案的实例,该复杂片上系统(SoC)结构100包括由常规嵌入式非易失性存储器部分110占用的大型电路部分。
该嵌入式非易失性存储器部分110包括在图1中指示为嵌入式闪存阵列的闪存单元阵列。
为了读取阵列的存储器单元,提供专用电路部分130,其包括用于确保高读取性能,如分支预测、提取/预提取、中断管理、错误校正等的优化的读取有限状态机。
为了写入和擦除阵列的存储器单元,提供专用逻辑电路部分140,其包括简化的精简指令集计算机(RISC)控制器或修改有限状态机,其是用于处理编程和擦除算法的逻辑电路。
虽然在许多方面是有利的,但包括大型存储器阵列的片上系统可能存在许多缺点,因为存储器部分是通过并非专门为对存储器设计的工艺实现的,并且存储器阵列的可能缺陷可能损害整个SoC结构的寿命或功能。此外,如果SoC已经具有闪存阵列作为嵌入式存储器,则还希望具有扩展的非易失性存储器作为一种远程存储器。
根据本公开的实施例,为了改进整个SoC结构的性能,已经用专门用于制造闪存装置的技术将旧的存储器部分110实现为独立存储器装置。该新的存储器组件与部分重叠此结构的SoC结构相关联并链接,同时SoC结构的对应的半导体区域已用于其它逻辑电路并为重叠的结构上独立的存储器部分提供支持。
本文公开一种可以改进存取时间的非易失性存储器结构。在任何情况下,片上系统和相关联的存储器装置都在通过不同光刻工艺获得的相应管芯上实现。
如图2所示,根据本公开,我们可以认为存储器部分(即图1的旧的参考标号110)已经从SoC结构中去除,从而允许将对应的半导体区域用于其它逻辑电路并为与SoC结构200部分重叠的结构上独立的存储器组件210提供支持。
存储器组件210被构造为用专门用于制造闪存装置的技术在单个管芯中实现的独立装置。存储器组件210是独立的结构,但它严格地与主机装置或SoC结构相关联。更具体地,存储器装置210与部分重叠此结构的SoC结构相关联并链接,同时SoC结构的对应的半导体区域已用于其它逻辑电路并用于为部分重叠的结构上独立的存储器装置210提供支持,例如通过多个柱230或其它类似的替代连接(如凸球)或利用类似于倒装芯片的技术。
倒装芯片技术也以其缩写C4(可控塌陷芯片连接)而为人所知,并且它是一种用于将半导体装置(如IC芯片和/或微机电系统(MEMS))互连到具有已沉积到芯片焊盘上的焊料凸点的外部电路的方法。在最后芯片处理步骤期间,焊料凸点沉积到晶片顶面上的芯片焊盘上。
本公开涉及一种用于制造包括多个互连焊盘的片上系统(SoC)结构的存储器组件的方法,该方法包含至少以下步骤:
-提供包括存储器阵列的结构上独立的半导体存储器组件,该存储器阵列具有用于与该存储器阵列和SoC结构交互的至少一个逻辑部分;
-提供位于存储器组件的表面上的多个互连焊盘;
-面向SoC结构和包含互连焊盘的存储器组件的表面;
-将存储器组件耦合到SoC结构,使所述多个互连焊盘与SoC结构的对应的多个焊盘对齐并连接。
为了将芯片安装到外部电路(例如,电路板或另一个芯片或晶片),将芯片翻转使得其顶面面朝下,并使焊盘与焊盘对齐使得其焊盘与外部电路上的匹配焊盘对齐。然后回流焊料以完成互连。
该技术与引线接合不同,在引线接合中,芯片是直立安装的,并且引线用于将芯片焊盘互连到外部电路。
最后配置将是面对面互连SoC/闪存阵列,其中读出放大器以直接存储器存取配置连接到SoC。
最后,根据用户的需要在可以根据可用技术而变化的值的范围内制造存储器装置,例如从至少128Mbit到512Mbit或甚至更多,而对申请人的权利没有任何限制。更具体地,所提出的外部架构允许超越目前嵌入式闪存(即嵌入式闪存技术)的限制,允许集成更大的存储器,根据存储器技术和技术节点,它可以是512Mbit和/或1Gbit和/或更大。
该解决方案的结果是图2的新的SoC结构,其严格地与新的结构上独立的存储器组件210相关联,该新的结构上独立的存储器组件210耦合到SoC结构200,例如通过多个耦合元件230,如柱,以及通过凸球、倒装芯片技术、面对面互连(线圈)等。在优选的实施例中,耦合元件是柱230,它们布置在先前专用于图1的嵌入式存储器部分110的半导体区域220中。
在本公开的一个实施例中,用于SoC结构200的存储器组件210包括至少一个存储器部分和用于与存储器部分和SoC结构200交互的逻辑电路部分,其中,存储器组件210是耦合到片上系统结构210并与片上系统结构210部分重叠的结构上独立的半导体装置。逻辑电路240集成在SoC结构200中以与存储器组件210的逻辑电路部分协作。
更通常地,如果与SoC结构200的较大尺寸相比,存储器组件210具有较小的尺寸,术语“部分重叠”意味着存储器组件210仅部分或不完全覆盖SoC结构200的区域。然而,保持SoC结构的互连或互连焊盘的位置和错位,甚至更大尺寸的存储器组件210也可以被支持并与其焊盘互连。
SoC结构200与存储器组件210之间的耦合是通过互连多个相应的焊盘或引脚端子来实现的,焊盘或引脚端子在电路布局中彼此面对,即使存储器组件210的尺寸被修改,电路布局也保持焊盘的对齐。
在本公开的一个实施例中,已经在存储器组件210的表面上实现了存储器组件210的焊盘的布置。更具体地,焊盘被布置在阵列上,使得当存储器组件210被翻转时,其焊盘面向SoC结构200的对应的焊盘。在已知的片上系统装置100中由嵌入式非易失性存储器部分占用的半导体区域220专用于容纳对应于存储器组件210的焊盘的互连焊盘。
保持SoC结构200的互连焊盘的位置和错位,甚至更大尺寸的存储器组件也可以被支持并与其焊盘互连。
在本公开的上下文中,SoC结构200的顶面与存储器组件210的反面链接,SoC结构200的焊盘与反面存储器组件的匹配焊盘对齐。作为替代,结构上独立的存储器组件210可以以面对面的方式耦合到SoC结构200。如果采用面对面耦合,则一叠相同尺寸的存储器组件可以重叠以实现堆栈结构,其中,每个独立的组件由SoC结构200的逻辑电路通过对应的识别地址来寻址。
先前由嵌入式存储器部分110占用的半导体区域220现在用于实施附加的功能并为焊盘上逻辑技术准备半导体装置。表述“焊盘上逻辑”意味着提供与位于由完整半导体产品(即SoC结构200)表示的第一或基础层内部的某些连接焊盘重叠的逻辑电路。
存储器组件210因此表示耦合并互连到基础SoC结构200的上层。存储器组件210与至少覆盖先前由嵌入式存储器部分110占用的半导体区域220的SoC结构表面部分重叠。然而,存储器组件210具有更大的容量可以覆盖比半导体区域220更大的半导体区域。在这方面,重叠存储器组件210的尺寸大于专用于具有此覆盖存储器组件210的互连的重叠半导体区域220的尺寸。换句话说,重叠存储器组件210的区域大于专用于存储器组件210的互连焊盘的SoC结构200的半导体区域220。
此外,为了更好地发挥SoC结构200的功能,甚至图1的逻辑电路部分140(其在图1的SoC装置100中包括修改有限状态机或RISC)也可以与存储器组件210相关联地被去除和重新组织。为了支持在较大存储器组件210上执行的写入和擦除阶段,修改有限状态机或RISC 240已经迁移到存储器组件210中。
如先前所指示,存储器组件210包括用于与存储器部分和SoC结构200交互的逻辑电路部分。
逻辑电路部分的分离和优化进一步允许提高整个SoC结构200的功能,从而获得耦合到SoC结构200的独立的半导体存储器组件210。
因此,该独立的半导体存储器组件210至少包括存储器部分(优选地为非易失性存储器部分)和相关联的修改有限状态机240,两者都被并入到耦合到SoC结构200的半导体产品中。在这种情况下,嵌入在SoC中的逻辑是读取逻辑:数据的提取、数据的校正、加工和执行。
如将在本公开的下文中呈现的,利用接口逻辑JTAG TAP向存储器组件210提供DMA能力,接口逻辑JTAG TAP使用经修改的JTAG单元以及灵活的TDI、安全存取、地址缓冲器和用于处理与SoC结构200的通信的其它特征。
换句话说,非易失性存储器部分和相关联的逻辑电路部分两者都集成在耦合并连接到SoC结构200的独立半导体存储器组件210中。
在本公开的内容中,SoC结构200的顶面与存储器组件210的反面链接,其中SoC结构200的焊盘与反面存储器组件210的匹配焊盘对齐。显然,根据所采用的空间基准,它可能是相反的。
作为替代,结构上独立的存储器组件210可以以面对面的方式耦合到SoC结构200。
如果采用面对面耦合,则一叠相同尺寸的存储器组件210可以重叠以实现堆栈结构,其中,每个独立的组件由SoC结构200的逻辑电路通过对应的识别地址来寻址。
对于本公开的原理而言重要的是这样的理念,即先前由嵌入式存储器阵列110占用的半导体区域现在用于实施附加的功能并为焊盘上逻辑技术准备半导体装置。对于焊盘上逻辑,其理念旨在提供与位于由完整半导体产品(即SoC结构200)表示的第一或基础层内部的某些连接焊盘重叠的逻辑电路。然而,应当记住,SoC结构甚至可以保持用SoC技术实现的嵌入式闪存部分,但是可能需要扩展的存储器部分作为一种严格物理上相关联的远程存储器。
因此,存储器组件210将表示耦合并互连到基础SoC结构200的上层。存储器组件210在其至少覆盖先前由嵌入式存储器阵列110占用的半导体区域的意义上与SoC结构表面部分重叠。然而,存储器组件210具有更大的容量并且覆盖比半导体区域110更大的半导体区域。
在这方面,我们可以说重叠存储器组件210的尺寸可以大于专用于与覆盖存储器组件210互连的重叠半导体区域的尺寸。在这方面,重叠存储器组件210的区域大于专用于存储器组件210的互连焊盘的SoC结构200的半导体区域。然而,甚至可以适用相反的情况。
现在,更具体地参考图3的实例,将公开根据本公开的实施例的存储器组件310的主要结构,其中,图3的附图标记310对应于图2的附图标记210。
存储器组件310至少包括:IO电路、微定序器、存储器单元阵列320、阵列外围设备、电荷泵架构、地址解码器、读出放大器和对应的锁存器、连接存储器的全部部分的服务逻辑,以及命令用户接口,例如CUI块。
存储器单元阵列320包括非易失性闪存单元。
在本公开的一个实施例中,存储器组件310实施直接存储器存取类型的存储器,以替换已知SoC装置的嵌入式存储器阵列。
此外,所提出的理念提供了在“已知良好管芯”(KGD)形状因数或裸管芯中的存储器组件310的实施方案,其允许将读出放大器输出(除了中间的锁存器结构之外)直接与SoC结构的控制器连接。
获得KGD形状因数的策略是基于利用现有的基础结构来测试和烧焊传统封装的组件。这使增加裸管芯产品成本的硬件、工具或插入的量最小化。
此外,采用JTAG接口350来测试存储器组件310,允许重复使用测试工具。因此,存储器组件310还包含JTAG逻辑350。稍后将参考图8更详细地公开该JTAG接口350。
更详细地,每个存储器阵列包括至少一个JTAG接口350,其接收作为输入的标准JTAG信号:TMS、TCK、TDI以及来自存储器页面的数据,如图8所示。根据本公开的实施例,将扩展的TDI用作灵活TDI。灵活性是由于这样的事实:作为TDI工作的并行位的数目取决于所选的寄存器,即K(在实例中为4)行用于指令寄存器、M行用于地址寄存器、N行用于数据寄存器等,而TDI来自使用TDI作为用于填充寄存器的信号上的名称的JTAG协议。
该JTAG接口350产生作为输出的数据、地址和控制信号,它们被传送到存储器地址解码器340并且还被传送到内部闪存控制器300以执行修改、测试、验证操作。
解码器340的活动由电荷泵330允许,电荷泵330被构造为保密电压和时序以管理阵列。解码阶段驱动数据线,而电荷泵提供由所选的数据线中的地址解码器路由的高电压。
该解码器340对所选的存储器块进行寻址。地址解码器连接到阵列以选择适当的数据线,即每个超级页面的行和列。读取、修改和任何其它操作使用地址解码器来适当地对存储器阵列中的字节适当地寻址。
存储器块连接到读出放大器,并且使用经修改的JTAG单元将读取接口360的读出放大器连接到SoC装置200。闪存阵列块和SoC装置200之间的通信通道由控制和状态总线表示。
读取接口360的输出由包括数据单元+地址单元+ECC单元的组合字符串的扩展页面表示。写入操作还驱动扩展页面的三个部分(数据单元+地址单元+ECC单元);ECC和地址单元用作安全机制以确保出错的低概率。
位的总量将包括在同此公开的实例中的N+M+R个位,例如在同此公开的实施方案中的每个通道一百六十八个焊盘。
存储器组件310使用互连焊盘和逻辑电路部分来允许与SoC结构200的互连。
最后配置将是面对面互连SoC/闪存阵列,其中,存储器组件310的读出放大器将以直接存储器存取配置连接到SoC。互连还包括用于测试和其它目的的JTAG接口和控制引脚。
以这种方式,可以保持相对低的所需互连的数目,例如在本具体公开中在600至650个焊盘的范围内,但是更高或更低的数目可以取决于实施方案。
存储器组件310的存储器阵列320被构建为子阵列的集合。可以连接扫描链以形成唯一的移位寄存器以适当地测试互连。
该架构的优点在于它是非常可扩展的,其中,扩展和/或精简最后装置的密度仅在镜像子阵列和以非常可扩展的方式提供对应的互连中转换。扩展存储器也可以增加每个子阵列的存储器尺寸,而不扩大用于SoC的通道的数目。
直接存储器存取允许减少在读取数据时SoC可能经历的最后等待时间。
有利地,根据本公开,存储器组件310配备有闪存阵列320的控制器300(下文称为闪存阵列控制器),所述闪存阵列控制器300具有允许与SoC控制器共享某些闪存阵列资源而不损害其中所存储的某些信息(例如,算法、闪存阵列电压、电流和更通常的过程信息)的保密性并且保证最终客户返回管理的架构。
图4是根据本公开的控制器400的架构的示意图,其中控制器400对应于图3的控制器300。
控制器400包含处理单元410和可操作地与处理单元410连接的存储器单元420。
根据本公开的实施例,如图4所示,存储器单元420是充当ROM的闪存阵列。这样做的优点是它可以在需要或升级的情况下进行更新,并且此更新可以通过无线方式安全地进行。因此,如下面将详细描述的,存储器是从闪存阵列控制器400的外部,即可以从SoC控制器部分地寻址(读取/写入)。
更具体地,类似ROM的结构包含逻辑地映射为连续地址空间的至少两个不同的闪存块。换句话说,ROM被划分为映射为连续地址空间的第一区域420'和第二区域420",它们物理上分离并且可以被独立地擦除。
如图4所示,如下面将描述的,处理单元410包括控制部分430(其也被称为ROM用户区域-RUA-监视器),该控制部分430被配置为允许用户选择性地和引导地存取ROM的区域。
根据本公开的实施例,用户可以在ROM的第一区域420'中写入并存储他自己的固件。因此,第一区域420'包含用户固件并且可以由外部控制器存取,例如由SoC的控制器存取。
另一方面,第二区域420"被配置为存储闪存阵列控制器固件(即管理系统的操作并且由制造商写入的内部控制器固件),并且不能由用户直接存取。因此,第二区域420"仅可以由制造商写入,并且用户不能直接存取它并且不能直接使用和改变嵌入其中的固件。
由于第一和第二区域的上述分离,因此本公开的控制器400的ROM可以由SoC控制器部分地寻址(读取/写入)。
为了正确地识别应检索用户固件的哪个指令以供执行,控制器400包括识别检索和接下来执行哪个固件指令的寄存器,此寄存器通常称为程序计数器(PC)。
处理单元410的控制部分430经由地址总线连接到程序计数器PC,使得其可捕获程序计数器PC的值并读取待执行的指令的存储器地址,此地址在本文中称为PC_addr。
然后,处理单元410,特别是控制部分430被配置为将从程序计数器PC接收的存储器地址与先前存储在处理单元410中的参考值(或阈值地址,下文中指示为User_ADDR_limit)进行比较。参考值User_ADDR_limit可以由制造商根据需要和/或情况来设置。
根据本公开的实施例,参考值User_ADDR_limit是从第二区域420'定界第一区域420'的ROM存储器地址。优选地,参考值User_ADDR_limit属于ROM的第一区域420',并且是所述第一区域420'和ROM的第二区域420"之间的间隔处的存储器地址。
特别地,如果从程序计数器PC接收的存储器地址PC_addr属于存储器单元420的第一区域420'(即它与第一区域420'相关联),则处理单元410,特别是控制部分430生成对应的输出信号,该输出信号适于禁用与要被执行的用户固件的指令相关联并且与存储器地址PC_addr相对应的动作,从而对所述用户固件的指令施加限制。
以此方式,控制器400能够识别出要执行的指令不是由制造商写入的控制器固件的指令,而是具有较低(或通常不同)优先级且因此具有某些限制的用户固件的指令,使得第二区域420"以及其它区域中的部分制造商代码不能由外部用户直接存取。
更具体地,所生成的输出信号适于触发控制器400的专用过滤块,所述过滤块被配置为作用于用户固件的指令(例如,作用于此些指令的目的地地址),以防止与所述指令相关联的某些动作的执行,以此方式将上文指示的限制施加于用户固件的指令。
处理单元410的上述输出信号在下文中也被指示为RUA信号。
更具体地,在本公开的一个实施例中,RUA信号由处理单元410中的状态机生成,基于存储器地址PC_addr与参考值User_ADDR_limit的上述比较,此信号呈现不同的值。例如,当与用户指令相关联的存储器地址PC_addr是ROM的第一区域420'的地址时,RUA信号可以为高(例如等于1),并且当存储器地址PC_addr是ROM的第二区域420"的地址时,RUA信号可以为低(即等于0)。
在本公开的实施例中,处理单元410,特别是其控制部分430被配置为当程序计数器PC的值低于或等于参考值User_ADDR_limit,即当程序计数器PC在与外部控制器共享的ROM区域内部(即,在ROM的第一区域420'内部)时,生成并断言RUA信号。处理单元410的控制部分430因此被配置为验证是否PC_addr≤User_ADDR_limit。
因此,基于所捕获的程序指令的存储器地址PC_addr与参考值User_ADDR_limit之间的上述比较,特别是由于处理单元410生成的RUA信号,可以启用/禁用与用户固件的程序指令相关联的动作。
如将在下文中更详细地公开的,与用户固件的程序指令相关联的动作可以是例如对ROM的特定部分的存取,以及对RAM的特定地址的选择,或者对在与控制器400相关联的存储器组件中实施的特定测试寄存器的选择。因此,由RUA信号激活的上述过滤块(即,当PC_addr≤User_ADDR_limit时被激活)能够识别出并作用于所述指令的特定目的地地址,以防止所述动作。
有利地,根据本公开的优选实施例,用户固件能够使用控制器固件的某些子例程,而无需直接存取和了解此些子例程的细节。
具体地,为了将第一区域420'的用户固件与第二区域420"的控制器固件相接合,存储器单元420的第二区域420"包含多个应用编程接口(API)。根据本公开的实施例,不可能由用户固件直接调用第二区域420"的API,即直接从第一区域420'调用,使得某些保留的信息不与用户共享。API的调用如下所述。
更具体地,ROM的第二区域420"还被配置为存储可以由用户固件调用的多个调用指令,这些调用指令中的每一个与所述第二区域420"的特定地址相关联。调用指令通过将控制传递到控制器固件的子例程来中断程序流。以此方式,多个调用指令限定存储器单元420的第二区域420"内的子区域420sub,该子区域420sub存储全部所需的调用指令。该子区域420sub的调用指令适于调用ROM的第二区域420"中含有的全部API,并因此适于将第一区域420'的用户固件与第二区域420"的控制器固件的子例程相接合。
第二区域420"中的API由制造商写入,并且用户不能直接存取它并且不能改变它。以此方式,通过子区域420sub的调用指令,第一区域420'中的用户程序可以与第二区域420"中的控制器程序交互,而无需直接存取后者。
第二区域420"的子区域420sub中的多个调用指令限定存储器单元420的所述第二区域420"中的API查找表,该API查找表是适于实施用于外部用户的接口的调用指令的集合。
存储在ROM第二区域420"的子区域420sub中的调用指令的地址被包含在第一区域420'的存储器地址和第二区域420'的剩余地址之间,该子区域可以由用户固件的指令直接存取。
更具体地,根据本公开的优选实施例,含有调用指令的子区域420sub被分配在第二区域420"的上部,并且参考值User_ADDR_limit是第一区域420'的最低地址。换句话说,即使不排除其它配置,子区域420sub也是以较高地址为特征的第二区域420"的部分。
根据本公开的实施例,由处理单元410生成的RUA信号防止用户固件从第一区域420'直接调用第二区域420"中的API指令。更具体地,如果用户固件指令直接调用API,则处理单元410的控制部分430捕获程序计数器PC的对应地址PC_addr,并且确立其属于第一区域420':因此,生成RUA信号(例如,RUA信号等于1),并且不允许用户直接调用位于第二区域420"中的API。
更具体地,根据本公开的实施例,处理单元410被配置为实施第一过滤块440,第一过滤块440基于RUA信号作用于用户程序指令。当生成RUA信号时(例如,RUA信号等于1),第一过滤块440被配置为屏蔽用户固件的程序指令的参数,以防止对存储器单元的第二区域的直接调用,如图5所示,其中某些位被迫使为0。例如,当RUA信号等于1时,对指令进行过滤,使得JMP和调用指令的目的地地址被屏蔽,以防止直接跳转到内部控制器闪存区域,并且有效数字被设置为0。因此,控制器架构所允许的进一步跳转/调用进入API查找表区域,即进入子区域420sub。
另一方面,如果用户程序指令调用子区域420sub中的API查找表的调用指令,则控制部分430检测到PC_addr>User_ADDR_limit并且不生成控制输出信号(即RUA信号等于0),因为在这种情况下,存储器地址是与子区域420sub中的调用指令相关联的地址,该子区域420sub是允许区域;以此方式,由用户固件调用的调用指令能够调用第二区域420"的API,因为它被子区域420sub中的指令调用,所以该API被执行而没有任何限制,如图6A和6B所示。图6A图示了该一般原理,并且图6B图示了由子区域420sub中的对应的调用者调用多个API中的第一API的实例情况。当由对应于等于0的RUA信号的调用者调用子例程时,因此允许全部动作。因此,调用(和对应的返回)是两步过程,并且不允许直接调用。
以此方式,用户可以通过子区域420sub中的调用指令来调用第二区域420"的期望API,并且可以执行相关联的动作。
总之,API可以由存储在子区域420sub(即内部控制器闪存Rom区域内部)中的指令调用,指令具有在参考值User_Addr_limit与第二区域420"中的进一步限制值(本文称为API_ADDR_limit)之间的存储器地址。此调用指令首先由用户固件的指令调用,即在用户闪存Rom区域内调用。这具有以下优点:用户可以在第一区域中写入他自己的固件,并且可以与第二区域中的控制器内部固件交互,同时保持某些信息的保密性,提供非常通用和可靠的控制器。
再次参考图4,根据本公开的实施例,控制器400还包括随机存取存储器(RAM)450,其包含可以由用户固件直接存取(并且因此可以由外部控制器,如SoC控制器,直接存取)的第一RAM区域450',以及具有不同地址的第二RAM区域450"。RAM的第一区域450'是堆栈指针,其中数据以LIFO配置组织,允许执行本领域已知的PUSH-POP指令。因此,总是允许用户无任何限制地存取该区域。第一RAM区450'和第二RAM区450"之间的分离RAM地址在下文中称为STACK_ADDR。
RAM的第二区域450"包含用户永不能存取的第一部分451(只有制造商可以存取该第一部分451)和在特定环境下用户可以存取的第二部分452。
具体地,当处理单元410生成输出信号时(即,当RUA信号等于1时),专用第二过滤块460(下文中称为R_Addr_filter)防止选择RAM的第二区域450"的全部地址,并且该区域的第二部分451也是不可寻址的。在这种情况下,用户可以通过PUSH/POP指令仅控制第一区域450',即堆栈指针区域。
换句话说,如果用户固件的程序指令与属于ROM的第一区域420'的存储器地址相关联,则处理单元410识别出此指令不具有存取RAM的部分452所需的特权,使得在其输入处接收用户想要存取的RAM的部分的地址(指示为ram_addr)的第二过滤块460屏蔽指令的相关参数,使得此部分不可寻址。
然而,如果没有生成输出信号(即,当RUA信号等于0时),即当第二区域420"的API被子区域420sub中的适当的调用指令调用(其又被第一区域420'中的用户程序指令调用)时,对于该特定指令的全部限制被去除,并且用户可以存取RAM的第二区域450",特别是RAM的所述第二区域的第二部分452。换句话说,当RAM由其适当的调用者调用的API寻址时,对RAM地址的限制被去除。
此外,根据本公开的实施例,控制器包含具有多个测试寄存器(简单地指示为T_reg)的接口,每个寄存器与特定地址(指示为T_reg_addr)相关联,用于测试与控制器400相关联的存储器组件的功能,或者通常用于将存储器组件与测试机和/或外部控制器相接合。
因此,存储器组件的测试模式架构基于这些寄存器,它们在某些情况下可以由SoC控制器经由JTAG接口、由测试机经由JTAG接口,以及由闪存阵列控制器400经由内部总线来写入/读取。
测试寄存器T_reg含有用于存储器组件的测试的指令(例如,如电流/电压等参数)。
具体地,测试寄存器被组织在若干存储体中,每个存储体含有N个寄存器(N=8、16等)并且与特定地址(下文中称为TL_addr)相关联。每个存储体还易于驱动一个或多个宏功能(模拟或数字)。例如,存储体0专用于正读取电荷泵并且存储体的每个位对应于特定功能(例如,位0=PUMP启用,位5:1=时钟频率,位7:6=驱动能力(最大电流)),而存储体12专用于读出放大器。
因此,存储器组件的测试由基于JTAG接口的协议使用测试寄存器T_reg的指令来管理。如前所述,测试可以由SoC控制器或外部测试机控制。在任何情况下,两种方法都基于由本公开的内部闪存阵列控制器400执行的内建自测试(BIST)。该方法还利用敏感技术参数(如定时电压等)来保密内部算法。
根据本公开的有利实施例,为了允许使用某些测试寄存器并禁止对其它保留的测试寄存器的存取,控制器400包含第三过滤块470(也指示为T_Addr过滤器)。
实际上,并非全部测试寄存器T_reg都可以由外部用户存取,并且第三过滤块470被配置为基于由处理单元410生成的RUA信号而禁用对某些测试寄存器T_reg的存取。在该实施例中,第三过滤块470以此方式配置:当由处理单元410生成RUA信号时,某些保留的寄存器通过屏蔽此寄存器的特定地址而不可寻址,并且此第三过滤块470的输出仅产生第一允许寄存器T_reg。
不可寻址的测试寄存器T_reg由控制器400写入配置寄存器中。
如前所见,一旦从程序计数器PC捕获的地址在ROM的第二区域420"内部(即当PC_addr>User_ADDR_limit时),则RUA信号等于0并且全部限制被去除。换句话说,当测试寄存器T_reg被子区域420sub中的适当调用者调用的API存取时,此寄存器不被禁用并且可以被外部用户使用(然而,它不能被用户固件直接使用)。以此方式,用户可以存取某个寄存器而不能直接写入/擦除此些寄存器,即他可以间接存取寄存器。
在一个实施例中,某些寄存器T_reg永远不能被用户固件存取,而只能被制造商存取,制造商具有执行需要此禁用寄存器的用户的特定测试模式所需的特权。
根据本公开的实施例,处理单元410还被配置为在其输入处接收迫使控制部分430不生成RUA信号的进一步信号(即,其默认设置RUA=0)。例如,在此指示为Force_RUA_low的该进一步信号是多个测试寄存器T_reg之一的输出,该测试寄存器T_reg优选地为不能由外部用户存取的寄存器(即,仅能够以高特权测试模式存取的寄存器,该测试模式例如仅能够由制造商执行)。在这种情况下,全部约束被去除。
最后,根据本公开的实施例,外部控制器(例如,SoC的控制器)不能直接对ROM的第一区域420'进行编程。然后,控制器可以由用户通过一种方法进行编程,该方法包含:使用JTAG协议将固件写入RAM的一部分,特别是写入第二RAM区域450"的第二部分452,如图7所示。该方法然后包含调用存储在ROM的第二区域420"中的API,所述API专门用于用户编程阶段,并且然后经由该API将固件移动到存储该API的ROM的第一区域420'中。然后,专用于用户闪存更新的API擦除固件并将固件编程到闪存块中。该操作是可能的,因为两个闪存具有分离的“阱区”。
总之,根据本公开,控制器使得用户能够在专用ROM区域中写入他自己的固件并且共享某些信息以执行特定操作,同时秘密信息保持秘密,因为它们通过API查找表以间接方式执行并且控制器的某些区域永远不能被存取。更具体地,由于处理单元生成的RUA信号,可以实施“指令过滤器”,其被配置为过滤用户程序的某些指令,以避免允许区域之外的调用/跳转。因此,在来自用户闪存Rom区域的代码执行期间(即,当RUA=1时),某些约束被施加于可到达的代码区域、可寻址的RAM地址、T_REG,以及然后是可用的文本模式。因此,即使允许用户使用控制器的某些资源,它也不能直接存取/写入该控制器的禁用区域。
该经修改的架构确保了本公开的控制器的强大通用性,并且允许用户使用某些功能而无需直接存取禁用区域。
此外,过滤器可以被配置以使得可以针对具有不同存取特权的不同用户施加不同限制(例如,不同RAM区域、T_reg上的不同约束以及不同的可用API)。特别地,如上面所指示,控制器的过滤器可以接收负责要执行的特定测试模式的附加输入,每个测试模式与具有特定特权的特定用户相关联,允许控制器对不同用户施加不同的限制。因此可以用不同的特权执行不同的测试模式,并且根据此些特权,禁用对控制器的某些区域的存取。
换句话说,可以基于不同的用户来不同地配置过滤块,不同的用户可以由控制器在身份验证期间识别,此控制器因此相应地配置过滤器。
现在近距离观看存储器组件210(或310)的内部结构,应当注意,存储器阵列320的架构被构建为子阵列900的集合,如图9所示意性示出,其中,图3的附图标记320对应于图9的附图标记920。
每个子阵列900可以在存储器装置310内部独立地寻址。每个子阵列900含有多个存储器块1160(在图11中更详细地描绘)。
以此方式,与已知解决方案相比具有较小的扇区,所以存取时间显著减少并且存储器组件的整体通量得到改进。由于行和列线,初始等待时间的减少是在块级,与读取路径相关联的等待时间和外部通信已被优化。初始等待时间是在发出地址之后获得第一有效数据所需的时间。
在同此公开的实施例中,存储器阵列920用对应于相关联的SoC 200的核心的数目并因此对应于对应的通信通道的数目的数个子阵列900构造。例如,提供至少四个存储器子阵列900,每个存储器子阵列900用于具有SoC 200的对应的核心的每个通信通道。
主机装置或片上系统200通常包括一个以上核心,并且每个核心耦合到对应的总线或通道以用于接收数据并将数据传送到存储器组件210或310。我们将通用地参考用于N个数据位的K个总线。
因此,在本实施方案中,每个子阵列900可以存取对应的通道以与片上系统200的对应的核心通信。存储器块的结果被直接驱动到SoC而不使用高功率输出缓冲器和优化路径。
该架构的优点在于它是非常可扩展的,其中,扩展和/或精简最后装置的密度仅在镜像子阵列和生成连接或增加每个子阵列的块的数目,即每个核心的可用密度中转换。
在本公开的实施例中,每个存储器子阵列900的块的每个可独立寻址的位置对扩展页面1150(在图11中更详细地描绘)进行寻址,下文中将用术语超级页面来定义扩展页面1150,术语超级页面意指双重扩展页面。
作为非限制性实例,该扩展页面1150包含包括第一组至少N个位的字符串,例如用于与SoC装置200的I/O数据交换的一百二十八(128)个位加至少第二组M个位,例如二十四(24)个地址位以及最后或第三组至少R个位,例如十六(16)个ECC位。M个地址位(在实例中为二十四个地址位)足以寻址到多达2GigaBit的可用存储器空间。
根据本公开,根据存储器阵列的尺寸,读出放大器SA的输出一次准备双重扩展页面,即包含由上述三组数据位、地址位和ECC位的双重组合给出的数个位的超级页面1150。
在同此公开的特定但非限制性实例中,每个扩展页面1150包括至少168个位,其通过上述三组N+M+R=128+24+16个数据、地址和ECC位的组合而获得,并且每个超级页面由一对扩展页面,即一组168×2个位形成。
仅为了给出非限制性数字实例,存储器块1160的每一行包括十六个扩展页面。因此,所得到的行包括从可独立寻址的十六个扩展页面的组合中,或者换句话说,从八个超级页面的组合中出来的2688个位,并且每个扩展页面包括168个位。
在本公开的实施例中,通用子阵列900的输出是组合以下序列而形成的:N个数据单元加M个地址单元加R个ECC单元。在该非限制性实例中,位的总量将涉及每个通道168个焊盘,如图8的实例所示。
数据单元+地址单元+ECC单元的组合字符串允许根据标准要求实施总线的安全覆盖,因为ECC覆盖整个总线通信(数据单元+地址单元),而地址单元的存在提供了数据正好来自控制器的寻址位置的置信度。
每个子阵列920的读出放大器SA与经修改的JTAG单元950的扫描链连接,将一个子阵列900的全部输出连接在一起,如图9和10A所示。
图10A示出了存储器部分的示意图,其中,子阵列900架构被构造成服务于与存储器组件210相关联的SoC结构200的至少一个通道。
在该图10A中,示出了实例,其中,与子阵列900相关联的经修改的JTAG单元950可以互连以形成用于快速检查焊盘互连的完整性的唯一扫描链1000。
由于本公开的存储器架构,可以从用于从存储器子阵列900检索数据和地址的并行模式转到用于检查存储器组件210与相关联的SoC装置200之间的互连的串行模式。此外,SoC 200有权读取一次‘1’和一次‘0’以执行测试,并且还可以分析存储器结果,使用扫描链扫描出数据。
还应当注意,每个子阵列900包括连接到数据缓冲寄存器的地址寄存器,类似于DRAM存储器装置中使用的架构,即DDRX类型的DRAM。
在本公开的以下段落中,显而易见的是,每个子阵列900的读出放大器SA的输出由内部电路锁存,从而允许读出放大器执行进一步的内部读取操作以准备第二半字节或128个位的组。使用附加的启用信号(即内部时钟信号或ADV信号;ADV=地址数据有效。在我们的情况下,信号是load_data[1:0],取决于被寻址的触发器)将该第二半字节传送到闪存阵列320的输出,附加的启用信号将在读出放大器级读取的内容传送到主机装置或SoC装置200。
换句话说,内部读出放大器准备两个扩展页面1150,并且当第一页面准备好移位(或也移出)时,在内部执行与相同地址相关联的第二页面的读取阶段。这允许准备五到八个双字(在本实例中),这在RTOS应用中是典型情况。在任何情况下,所公开的结构可以被扩展以允许多页面读取,同时移出已经读取的页面。
读出放大器SA直接连接到经修改的JTAG单元950(这将在后面更详细地公开),以将JTAG结构和读出放大器集成在单个电路部分中。这允许尽可能地减少将存储器阵列的输出传播到SoC时的延迟。
仅为了报告基于同此公开的实施例的数字实例,我们可以注意到,地址缓冲器中的每个地址被链接到包含例如N个数据位(即128个位)的数据缓冲器。然而,SoC一次可能需要多达2*N个位(即256个位,没有地址位和ECC),因此数据缓冲器将被复制以能够移位,假设使用子阵列0的地址0:
第一组N个位的第一遍:数据0_0_H[127:0]
第二组N个位的第二遍:数据0_0_L[127:0]
上述指示用于例如用于安全目的和数据完整性/校正的标准读取。
在一个实施例中,如我们将在下文中看到的,利用经修改的JTAG单元950来实现地址缓冲器。
在本公开的一个实施例中,每个子阵列900可以在存储器装置210内部独立地寻址。
如图11所示,每个存储器子阵列900的每个块1160由行1135构造,行1135含有至少16个N个位的双字(即128个位),加形成N+M+R个168个位的存储器页面的每个页面M个地址位和R个ECC校正子备用位。该架构类似于同时准备多个地址的DRAM类方案。例如,包括N+M+R个位的每个双字可以包括168个位加168个位以形成先前提到的超级页面。
本领域的技术人员可以理解,可以用增加数目的存储器子阵列900来构造更大或更小的存储器装置,从而扩展或减小最后存储器装置210的密度。例如通过镜像子阵列900并以非常可扩展的方式提供对应的互连来获得较大的存储器装置。
图11中示意性示出的形成扩展或超级页面1150的数据单元+地址单元+ECC单元的组合字符串允许根据规则ISO26262的标准要求实施总线的安全覆盖,因为ECC覆盖整个总线通信(数据单元+地址单元),而地址单元的存在提供了数据正好来自控制器的寻址位置,即如果ADD==ADD0的置信度。
R ECC单元允许主机控制器理解在数据加地址内容中是否发生破坏。
该机制的实施方案确保了存储器的读取操作的优化。
JTAG单元950以图10B所示的以下方式连接:
PIN:读出放大器的输出
POUT:到SoC通信者数据I/O
SIN:是连接到先前读出放大器的SOUT的串行IN输入
SOUT:是连接到下一读出放大器的SIN的串行输出
由互连的JTAG单元950使用串行输入和输出制成的扫描链1000具有某些优点:
-能够测试SoC与直接存储器存取(DMA)存储器之间的成功互连;
-能够实施读出放大器的数字测试,因为单元能够作为程序加载工作以将数据存储在阵列内;
-能够作为第二级锁存器工作。
我们稍后将在本公开中看到,当第一组数据位准备好传送到读出放大器的并行输出POUT时,存在耦合到读出放大器的内部锁存器,其可以触发剩余数据位的后续区段的读取数据。
仍然参考图10A和10B的实例,我们可以认为每个JTAG单元950的互连:PIN耦合到一个读出放大器的输出;POUT耦合到主机装置200(即片上系统)的对应数据I/O;SIN是连接到先前读出放大器的SOUT的串行IN输入,而SOUT是连接到下一读出放大器的SIN的串行输出。
例如,图10B的示意性实例示出了位于通用子阵列的单元矩阵中的一行存储器单元与一列存储器单元的交叉点处的示意性和通用存储器单元MC,使得可相应地对单元进行寻址。实际的实施方案可以含有从单元到SA的输出的附加电路,但是它们与本公开的目的无关,没有被示出。
读出放大器SA耦合到存储器单元列,以作为当从存储器阵列读取数据时使用的读取电路的一部分。一般来说,一次读取包括上述超级页面1150的存储器字,并且在本实例中,我们将参考包括数据+地址+ECC位的存储器页面。
众所周知,读出放大器的作用是读出来自阵列行的低功率信号。表示存储在存储器单元MC中的逻辑数据位(1或0,取决于惯例)的低电压值被放大到可识别的逻辑电平,使得数据可以由存储器外部的逻辑电路部分适当地解释。
在同此公开的实例中,每个读出放大器SA的输出耦合到经修改的JTAG单元950,以集成JTAG结构和读出放大器。
在同此公开的非限制性实例中,输出放大器OA夹置在读出放大器SA和JTAG单元950之间。
由于本公开的存储器架构,可以从用于从存储器子阵列900检索数据和地址的并行模式转到用于检查存储器组件210与相关联的主机装置之间的互连的串行模式。此外,SoC有权读取一次‘1’和一次‘0’以执行测试,并且还可以分析存储器结果,使用扫描链扫描出数据。
由JTAG接口350管理从并行到串行模式的转换。然而,这些双重模式操作的实施方案被下文公开的经修改的JTAG单元950的特定结构所允许。
现在更具体地参考图12的示意性实例,其示出了根据本公开修改的JTAG单元1200,并且其对应于先前参考图9、10A和10B公开的经修改的JTAG单元950。
JTAG单元1200具有第一并行输入PIN端子和第一串行输入SIN端子,它们接收对应的信号Pin和Sin。此外,JTAG单元1200具有第一并行输出端子POUT和第一串行输出端子SOUT。扫描链1000允许输出全部256个位,因为第一组直接从输出读取,而第二组在后面准备。
如图12所示,JTAG单元1200可以被认为是具有两个输入端子PIN和SIN以及两个输出端子POUT和SOUT的框。输入端子PIN是并行输入,而输入端子SIN是串行输入。类似地,输出端子POUT是并行输出,而输出端子SOUT是串行输出。
由于串行输入和输出,可以执行测试过程以检查存储器组件210与相关联的片上系统200之间不存在故障连接。由于并行输入和输出,相同的JTAG单元被用作数据缓冲器,以用于通过读出放大器SA完成读取阶段。
JTAG单元1200包含括边界扫描基本单元1280,边界扫描基本单元1280包括一对锁存器1201和1202以及一对多路复用器1251和1252。第一输入多路复用器1251和第二输出多路复用器1252。
边界扫描基本单元1280由图12中的虚线框指示,并且是具有对应于SIN的串行输入和对应于PIN的并行输入的二输入单元,以及具有对应于SOUT的串行输出和对应于POUT的并行输出的二输出单元。
第一多路复用器1251在第一输入“0”上接收来自第一并行输入端子PIN的并行输入信号Pin,并且在第二输入“1”上接收来自第一串行输入端子SIN的串行输入信号Sin。
该第一多路复用器1251由控制信号ShiftIR(参考指令寄存器信号)驱动并具有输出MO1。单元1200具有两个并行输出,即MO1和MO2。当JTAG时钟到达时,串行输出从SOUT驱动。SOUT连接到靠近接收选择器信号的多路复用器的JTAG锁存器:模式控制器(串行/并行)。基本上,连接到该多路复用器MO2的输入‘1’的锁存器的输出也是SOUT。
第一多路复用器输出MO1连接到第一锁存器1201的第一输入,第一锁存器1201在第二输入端子上接收时钟信号ClockDR。
第一锁存器1201链接到第二锁存器1202,其中第一锁存器1201的第一输出连接到第二锁存器1202的第一输入。
重要的是要注意,第一锁存器1201的输出也是整个JTAG单元1200的串行输出SOUT。
第二锁存器1202的第二输入端子接收信号UpdateDR。
第二锁存器1202具有连接到第二多路复用器1252的输入,特别是其第二输入的输出。
该第二多路复用器1252由模式控制信号控制,该模式控制信号允许将整个JTAG单元1200从串行模式切换到并行模式,反之亦然。
在本公开的一个实施例中,JTAG单元1200还包括在并行输入Pin和第二多路复用器1252之间提供的另一对锁存器1221和1222。这些额外的锁存器1221和1222是直接读取,即第一组数据位,和影子组,即第二组128个数据位(不考虑地址位和ECC)的锁存。换句话说,JTAG单元1200包括边界扫描单元1280和至少进一步的锁存器1221和1222。
在下文中我们将把这些进一步的锁存器称为第三锁存器1221和第四锁存器1222。在其它实施例中,可以使用更长的锁存器链。
更具体地,第三锁存器1221和第四锁存器1222以小管线配置连接,其中第三锁存器1221在第一输入上接收来自第一并行输入端子PIN的并行输入信号Pin,并且在第二输入上接收对应于先前提到的AVD信号和第一数据加载的信号Data_Load[0]。
第四锁存器1222在第一输入上接收第三锁存器1221的输出,并且在第二输入上接收对应于后续数据加载的信号Data_Load[1](总是AVD信号)。
第四锁存器1222的输出连接到第二多路复用器1252的第一输入“0”,第二多路复用器1252在其输出端子MO2上产生用于并行输出端子POUT的输出信号。
如果与常规JTAG单元相比,本公开的JTAG单元1200可以被认为是经修改的JTAG单元,因为除了边界扫描单元1280的存在之外,还存在两个额外的锁存器,第三和第四锁存器1221和1222。
现在,我们必须设想JTAG单元1200耦合到存储器子阵列900的每个读出放大器SA的输出。照例,存储器阵列为存储器单元的每一列提供读出放大器,如图10B所示。
在本公开的实施例中,耦合到存储器子阵列的读出放大器的全部JTAG单元1200被认为是包括数据页面的数据缓冲器,在该实例中包括至少一百二十八(128)个位(总是没有地址位和ECC位),用于一次从四个子阵列900读取组合的存储器页面。
然而,如先前所报告的,存储器组件与SoC结构之间的通信通道一次可能需要多达256个位(即,两个组合的存储器页面),但在本公开中,还需要其它2×16加2×24个进一步位。JTAG单元1200已经仅为了复制内部锁存器而被修改,以能够将待读取数据的128个位的第一或较高部分与待读取数据的第二或较低部分移位。显然,在该上下文中,“较高”意味着之前所加载的数据部分,而“较低”意味着之后所加载的数据部分。
本领域的技术人员将理解,在需要改进通过通信通道传送到SoC结构的位的数目的情况下,可以增加经修改的JTAG单元1200的内部锁存器的数目。例如,可以相应地将上述结构扩展到存储器控制器的特定实施所需的页面尺寸。
仅为了解释在数据缓冲器中传送数据的方式,我们必须设想,当数据被加载到两个锁存器1221或1222之一中时,另一锁存器处于待用状态,但是准备好接收随后的数据部分。
因此,包括128个位(不考虑地址位和ECC位)的第一区段被传送到SoC结构用于第一数据加工,而读取阶段不被停止,因为128个位的另一部分准备在随后的时钟信号处被加载到锁存器中。
在该实例中,每个数据缓冲器含有128个经修改的JTAG单元1200,并且公共Data_Load[1:0]是被生成以允许捕获全部256个位,也就是说:根据所提出的实施方案的八个双字DW(每个双字四个子阵列)的信号。
当在特定数据缓冲器中执行读取操作时,在内部控制信号生成,并且信号由SoC结构控制以允许使用128位并行性执行读取阶段。
该存储器架构的主要益处在于,每个缓冲器可以含有整个双字DW,从而使读出放大器自由地在另一个存储器位置中读取。
经修改的JTAG单元1200的存在作为读出放大器的输出是特别重要的,因为允许:
a.使用边界扫描作为检查SoC 200和闪存阵列组件210或310之间的互连的方法;
b.实施将读出放大器与控制器直接连接的直接存储器存取;
c.它允许让读出放大器准备第二256位宽的页面加地址加ECC,并靠近该页面写入。
另一个优点是可以采用包括经修改的JTAG单元1200的边界扫描测试架构,从而获得如图13的示意图所示的新的和特殊的边界扫描测试架构。这是进一步的优点,因为对于该测试,仅需要驱动一个输出,并且这是使用信号TCK和存储在单元中的数据获得的。扫描链测试要求SoC 200测试扫描链的输出。
如在该特定技术领域中已知的,边界扫描是一族测试方法,其旨在解决许多测试问题:从芯片级到系统级、从逻辑核心到核心之间的互连,以及从数字电路到模拟或混合模式电路。
边界扫描测试架构1300提供了在不使用物理测试探针的情况下测试板上的集成电路210和200之间的互连的手段。它增加了边界扫描单元1200,类似于图12所示的边界扫描单元,包括多路复用器和锁存器,并且与装置上的每个引脚或焊盘相关联。
换句话说,类似于存储器组件210或主机装置200的复杂半导体装置的每个主输入信号和主输出信号补充有称为边界扫描单元的多用途存储器元件,其共同围绕装置的边界形成串行移位寄存器1350。
最初,这些边界扫描单元已经被引入作为将测试应用于单独半导体装置的手段。使用边界扫描单元来测试在电路板上适当位置的装置的存在,定向和接合是其包含在半导体装置中的最初动机。
根据本公开,边界扫描单元1200还用于测试在一起工作的集成电路之间的互连,如在本公开的情况下,片上系统200与相关联的存储器组件210之间的互连。
边界扫描单元的集合被配置为并行输入或并行输出移位寄存器,并且边界扫描路径独立于主机装置的功能。所需的数字逻辑含有在边界扫描寄存器内。显然,外部JTAG FSM与单元交互,即shiftDR、shiftIR、UpdateDR等由JTAG逻辑350驱动。
为了非常简要地总结边界扫描单元的功能,可以说每个单元1200被构造为在其并行输入PI上捕获数据;将数据更新到其并行输出PO上;将数据从其串行输出SO串行扫描到其邻居的串行输入SI。此外,在PI传递到PO的意义上,每个单元的行为都是透明的。
图13示出了使用根据IEEE标准第1149.1号配置的边界扫描单元的标准结构架构的示意图。然而,根据本公开,在架构1300中使用的边界扫描单元是先前参考图12公开的经修改的JTAG单元1200。
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)。然而,架构1300包括被命名为TAP控制器1370的有限状态机,其接收三个信号作为输入:TCK、TMS和TRST。TAP控制器1370是16状态最后状态机FSM,其控制边界扫描架构1300的操作的每个步骤。由边界扫描结构1300执行的每个指令被存储在指令寄存器1320中。
图13示出了装置主输入和主输出引脚上的多个边界扫描单元1200。单元1200内部连接以形成串行边界扫描寄存器1350。换句话说,经修改的JTAG单元1200被用作边界扫描结构1300的构件块。
数据也可以以串行模式围绕边界扫描移位寄存器1350移位,从称为“测试数据输入”(TDI)的专用装置输入引脚开始,并在多路复用器1360的输出处终止于称为“测试数据输出”(TDO)的专用装置输出引脚。
测试时钟TCK根据TAP状态被选择性地发送到每个寄存器并且发送到寄存器选择的TCK;TCK信号的馈送经由专用装置输入引脚来执行,并且操作模式由专用“测试模式选择”(TMS)串行控制信号来控制。
指令寄存器(IR)1320包括n位(其中n≥2)并且被实施为用于保持每个目前指令,但是可以扩展以处理灵活TDI。
根据IEEE 1149标准,该架构由1位旁路寄存器1340(Bypass);任选的能够加载永久装置识别码的32位识别寄存器1330(Ident)完成。
在任何时间,仅一个寄存器可以从TDI连接到TDO(例如,IR、Bypass、边界扫描、Ident或甚至核心逻辑内部的某一适当寄存器)。所选的寄存器由IR的已解码输出识别。某些指令是强制性的,如Extest(所选的边界扫描寄存器),而其它指令是任选的,如Idcode指令(所选的Ident寄存器)。
并行加载操作被称为“捕获”操作,并且由指令在所选的寄存器单元中捕获数据。捕获使得装置输入引脚上的信号值被加载到输入单元中,并且从核心逻辑传递到装置输出引脚的信号值被加载到输出单元中。
并行卸载操作被称为冻结寄存器内容的“更新”操作。基本上,它将内容锁存在BS单元内的可执行影子寄存器中。该更新允许使移位寄存器可用于将来的数据/指令传入。此外,暂停指令允许将数据保持在寄存器中,即使它没有完成。
根据输入扫描单元的性质,已经存在于输入扫描单元中的信号值将被传递到核心逻辑中。
现在,在本公开的一个实施例中,边界扫描架构1300用另外的或多于一个的附加寄存器1380来完成,该附加寄存器1380被专门提供来管理存储器组件210。该附加寄存器1380也可以由用户定义。IEEE 1532标准允许这种扩展。
图14更详细地示出了并入本公开的边界扫描架构1300中的寄存器的组成。在该图14中,边界扫描移位寄存器1450以串行模式耦合到TDI引脚,并经由多路复用器1460向TDO输出引脚提供输出。
测试时钟TCK经由另一专用装置输入引脚馈入,并且操作模式由专用“测试模式选择”(TMS)串行控制信号控制,两者均应用到TAP控制器1470。
然后由解码器1490提供与指令相关联的各种控制信号。
指令寄存器(IR)1420包括n位(其中n≥2)并且被实施为用于保持每个目前指令。该架构包括1位旁路寄存器(图14中未示出)和识别识寄存器1430。
附加寄存器1480用作移位数据寄存器,以允许在存储器组件的写入和/或读取阶段中与主机装置的核心交互。用户可定义的寄存器甚至可以不同。根据加载到IR中的命令,可以组合不同的寄存器。例如,为了对存储器进行编程,需要具有对应于存储器阵列中待编程的最小页面的尺寸的至少一个数据寄存器、含有可以加载的地址的数据地址,任选地还可能需要屏蔽寄存器以避免接触数据的一部分。
现在,由TAP控制器1470或1470表示的命令用户接口基于IEEE 1149,其实施具有修改相关联的存储器子阵列900的内部内容的能力的低信号计数接口,即TMS、TCK、TDI、TDO、TRST(任选)。
图15示出了报告基于JTAG协议的有限状态机的操作的框图。
如图15所示,标准IEEE1149.1基于TAP有限状态机,其包括十六个状态,并且其中的两个,即移位指令寄存器(ShiftIR)和移位数据寄存器(ShiftDR),允许以写入和/或读取中与系统交互。
图15示意性地示出了作为有限状态机的测试存取端口TAP 800,其负责与诸如存储器装置的集成电路的测试有关的全部操作。
应用到TMS引脚的逻辑信号“0”和“1”的序列通过边界扫描结构控制芯片架构的操作。
让我们首先考虑当电路加电时从由标号1510指示的测试逻辑复位状态开始。在该特定状态中,全部边界扫描单元处于所谓的透明状态,其中并行输入PIN在内部连接到并行输出POUT,并且全部输入引脚连接到集成电路的核心。
通过驱动适当的逻辑值“1”和“0”的序列作为TMS信号,可以此方式设置输出多路复用器,使得TDI输入被移位作为第一指令以获得输出TDO。TMS信号应在状态ShiftDR或ShiftIR下驱动TAP FSM以将TDI和TDO连接到寄存器。代码“IR”定义当到达shiftDR状态时哪个寄存器被寻址。
为了将指令移位,我们需要进入标号为1530的状态ShiftIR,并且为了到达该状态,我们需要应用以下序列:将0设置为TMS并将一个时钟脉冲驱动到TCK,我们到达运行/空闲状态1520。
现在从状态1520选择“1”,我们转到数据寄存器扫描1540的选择并转到指令寄存器扫描1545。利用TMS上的进一步的“0”,我们可以到达指令寄存器1550的捕获阶段。
捕获阶段允许捕获至图14中的指令寄存器1420的两个最后位;如前所述,捕获操作使用并行输入。
进一步的“0”驱动至移位IR,其允许将输入值TDI传递到输出TDO;输入处的TDI值在等于寄存器尺寸的数个时钟之后呈现。
保持TMS为“0”,我们可以保持在移位IR状态1530,其允许将在TDI引脚上接收的位移位到输出TDO。
在将全部输入位移位所需的全部时钟周期内,可以保持在该状态1530。
在对应于IR 1420的位数减一的数个时钟周期内,我们保持在ShiftIR状态1530。在序列结束时,到达出口-1IR状态1555。
从该出口状态1555,我们将移动到驱动“1”TMS的更新状态1560,并且这是新的指令变为有效的时刻。边界扫描单元回复到测试模式,其中,输入引脚与核心电路隔开。
现在可以通过到达移位DR状态1570将测试矢量发送到核心电路。
数据寄存器的状态类似于指令寄存器的状态。
因此,利用序列1-0-0,我们可以到达ShiftDR状态1570。
通过捕获DR 1575,边界扫描单元的第一多路复用器MO1连接到并行输入PIN,并且边界扫描寄存器的全部输入引脚已经捕获它们的输入值。
现在转到移位DR 1570,多路复用器改变其状态,允许捕获串行输入SIN,并且扫描路径从TDI输入通过边界扫描寄存器移位到输出引脚TDO。
电路在对应于边界扫描单元的数目减一的数个时钟周期内保持在该状态;显然,边界扫描是用IR寄存器中的适当指令选择的可能数据寄存器之一。
当经过出口-1DR 1580状态并到达更新DR状态1585时,新的测试向量输出到输出引脚。
该序列从更新到捕获重复进行,以允许将新的测试向量引入到电路中。
我们已经看到,TAP包括测试数据输入和测试数据输出以及时钟信号。更具体地,移位数据寄存器ShiftDR报告TDI与寄存器连接的状态。在该状态下,寄存器内容被传送进和/或传送出装置。
类似地,移位指令寄存器ShiftIR也报告TDI与寄存器连接的状态。在该状态中加载指令。
由于主机装置200内需要多个核心,因此JTAG接口的内部寄存器1480必须能够支持多达地址和数据寄存器。特别地,提供四个地址寄存器(每一个来自每个子阵列900)的生成,以填充每个子阵列900的不同地址,并触发每个子阵列区段的读取寄存器[0:3]的四个不同数据输出。例如,为每个子阵列提供四个地址寄存器,并且为每个子阵列提供四个数据寄存器。因此,例如,四个子阵列将需要十六个地址寄存器和十六个数据寄存器。
与SoC的通信发生在将所选的读取寄存器,即名为POUT[127:0]的输出(不考虑地址位和ECC位)直接连接到主机装置或SoC 200的通道的输入。
该机制允许为控制器预加载数据,将等待时间减少到非常低的值。
为了完整起见,应注意,JTAG状态机可用于复位寄存器、存取指令寄存器或存取由指令寄存器选择的数据。
JTAG平台通常将信号添加到由IEEE 1149.1规范所定义的少数信号。系统复位(SRST)信号相当常见,使调试器复位整个系统,而不仅是JTAG支持的部分。有时存在用于触发主机或通过JTAG监测的装置的活动的事件信号;或者,或许,附加控制线。
在JTAG中,装置公开一个或多个测试存取端口(TAP)。
为了使用JTAG,主机通过与SoC的直接连接而连接到目标的JTAG信号(TMS、TCK、TDI、TDO等),这可能需要处理诸如电平移位和电流隔离的问题。适配器使用如USB、PCI、以太网等的某些接口连接到主机。然而,根据本公开,SoC也能够在没有外部帮助的情况下驱动存储器中的JTAG TAP。
主机装置200通过操纵信号TMS和TCK(或如果存在的话还有TRST)与TAP通信。信号TDI仅用于加载寄存器数据读取,然后通过TDO(它是唯一的标准主机端输入)读取结果。TMS/TDI/TCK输出转换创建基本JTAG通信原语,更高层协议建立在该原语上:
状态切换:其中,全部TAP处于相同状态,并且该状态在TCK转换上改变。全部TAPFSM都在相应地移动,因为TMS同时连接到全部JTAG适用装置(如果它们存在于板中)。
如图15所示,该JTAG状态机是JTAG规范的一部分并且包括十六个状态。有六个“稳定状态”,其中保持TMS稳定防止状态改变。在全部其它状态中,TCK总是改变该状态。此外,断言信号TRST迫使进入,从而将寄存器的全部内容变为默认值。它们的内容不再有效,并且应该以比将TMS保持为高并将TCK循环五次的替代方法稍快的方式将其重新加载到那些稳定状态(Test_Logic_Reset)之一。
移位阶段(即读取所捕获的值,同时新的值进入;TDO将在外部提供所捕获的值):其中,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(即冻结在所选寄存器中移位的内容)。暂停状态也是作为移位分支的每一侧中的标准的一部分相关的。
注意,在不写入(更新)寄存器的情况下,不可能捕获寄存器的内容(即将连接到寄存器的信号的内容锁存到寄存器单元中),反之亦然。公共惯用语添加标志位位以说明更新是否应该具有副作用,或者硬件是否准备好执行此些副作用。
运行状态:其中,一个稳定状态被称为Run_Test/Idle。区别是TAP特定的。在Idle状态中计时TCK没有特别的副作用,但是在Run_Test状态中计时TCK可能改变系统状态。举例来说,某些核心支持调试模式,其中处于Run_Test状态的TCK循环驱动指令管线。
因此,在基本级别上,使用JTAG涉及读取和写入指令及其相关联的数据寄存器;并且有时涉及运行数个测试循环。在这些寄存器后面是未由JTAG指定的硬件,并且其具有受JTAG活动影响的其自己的状态。
JTAG有限状态机在TCK时钟信号的上升沿被触发,并且时钟信号在下降沿提供输出。这允许使用旁路寄存器并且不会丢失扫描链中的时钟周期。
检查TMS信号,并且其值触发状态转换。
ShiftDR和ShiftIR状态对I/O寄存器进行寻址,并且TDI信号用于将数据串行插入到所选的寄存器中。
IR寄存器用于选择要使用的特定数据寄存器和/或指令。
当状态机处于run-test/idle时,使用最终服务寄存器的数据来检查IR寄存器的命令并执行该命令,即,程序命令可以使用数据寄存器和地址寄存器来决定数据必须被存储在什么地方。
JTAG边界扫描技术提供对复杂集成电路(包括装置引脚)的许多逻辑信号的存取。信号在可经由TAP存取的边界扫描寄存器(BSR)中表示。该事实允许测试以及控制用于测试和调试的信号的状态。因此,可以定位软件和硬件(制造)故障,并且可以监测操作装置。
本公开获得了下文中不按重要性顺序报告的许多优点。先前公开的解决方案减少了用于存储器组件的硅的成本并且改进了包括主机装置和存储器组件的整个设备的整体质量和可靠性问题。
本公开的设备提供了用于实现实时操作系统(RTOS)的良好选择,特别是在汽车领域,提供在存储器组件的第一次存取中的低初始等待时间。
此外,先前公开的存储器架构提供了非常高的质量和在小于百万分之1的范围内的错误率。
最后,所公开的架构允许在主机装置中采用先进的光刻节点,并且在存储器组件中采用最新的闪存技术,使两种技术解耦,从而允许在适当位置实现两种装置的最佳集成电路。
如先前所公开的,并且为了总结本公开的原理,在本公开的某些实施例中,组合以下序列来形成通用子阵列900的输出:数据单元加地址单元加ECC单元。在该非限制性实例中,位的总量将涉及每个通道168个焊盘,例如图16所示。
数据单元+地址单元+ECC单元的组合字符串允许根据标准要求实施总线的安全覆盖,因为ECC覆盖整个总线通信(数据单元+地址单元),而地址单元的存在提供了数据正好来自控制器的寻址位置的置信度。
每个子阵列900的读出放大器SA与经修改的JTAG单元1200的扫描链连接,将一个子阵列900的全部输出连接在一起。此外,与子阵列900相关联的经修改的JTAG单元1200可以互连以形成用于快速检查焊盘互连的完整性的唯一链。
由于本公开的存储器架构,可以从用于从存储器子阵列900检索数据和地址的并行模式转到用于检查存储器组件1与相关联的SoC装置200之间的互连的串行模式。此外,SoC有权读取一次“1”和一次“0”以执行测试,并且还可以分析存储器结果,使用扫描链扫描出数据。
还应当注意,每个子阵列900包括连接到数据缓冲寄存器的地址寄存器,类似于DRAM存储器装置中使用的架构,即DDRX类型的DRAM。
错误校正作为操作被留给SoC 200;附加位被提供给控制器以存储与页面相关联的任何可能的ECC校正子。ECC单元允许SoC控制器理解在数据加地址内容中是否发生破坏。
为了写入和擦除阵列320的存储器单元,提供专用逻辑电路部分,其包括简化的精简指令集计算机(RISC)控制器或修改有限状态机,其是用于处理编程和擦除算法的逻辑电路。
在本公开的一个实施例中,存储器组件210实施直接存储器存取类型的存储器,以替换已知SoC装置的嵌入式存储器阵列。
此外,采用JTAG接口350作为常规用户接口以修改阵列并将读取地址提供到存储器块。JTAG接口350还用于测试存储器组件210,允许重复使用测试工具。因此,存储器组件210(或310)还包含JTAG逻辑。
存储器组件210使用高速互连焊盘和逻辑电路部分来允许与SoC结构200的互连。
最后配置将是面对面互连SoC/闪存阵列,其中,存储器组件210的读出放大器SA将以直接存储器存取配置连接到SoC。
直接存储器存取允许减少在读取数据时SoC可能经历的最后等待时间。此外,通过块形状因数、块之间的读出放大器分布、读出放大器中比较阈值的选择以及优化路径,也减少了最后等待时间。
互连还包括用于测试和其它目的的JTAG接口210和控制引脚。通过使用某些内部焊盘270,SoC装置的核心可以存取JTAG接口210。此些焊盘是高速的并且具有支持最大频率的能力。更具体地,在相对于SoC的快速读取路径中使用高速焊盘250,而低速路径专用于测试阶段。JTAG单元是快速路径的一部分,但是JTAG接口使用较慢的路径。
根据本公开,存储器组件1配备有闪存阵列90的控制器230(下文中称为闪存阵列控制器)。闪存阵列控制器230具有允许允许与SoC控制器一起使用某些闪存阵列资源而不损害其中存储的某些信息(例如,算法、闪存阵列电压、电流和更通常的处理信息)的保密性并且保证最终客户返回管理的架构。这通过采用特定结构而被允许,其中,用户可以在第一区域中写入他自己的固件,并且可以与第二不同区域中的控制器内部固件交互。
存储器组件210和主机或SoC 200使用非常高的并行性与接口耦合。该特征还可以用于改进性能,例如加载指令寄存器和(通用)数据寄存器。
具有非常低的初始等待时间和高通量的需要驱动了用于对每个子阵列进行寻址的以下方案的生成。
参考图18的实例,如果SoC 200一次需要多达256位,则数据缓冲器将被复制以能够移位,假设使用子阵列0的地址0:
第一组位的第一遍:数据0_0_H[127:0]
第二组位的第二遍:数据0_0_L[127:0]
使用JTAG单元来制作地址缓冲器。
根据关于JTAG的标准IEEE 1149和1532,协议IEEE1532被用作扩展命令集以在每个子阵列中操作,并且新的子阵列结构启用系统内编程。
具有非常低的初始等待时间和高通量的需要驱动了用于对每个子阵列进行寻址的以下方案的生成。图17示出了类似于DRAM的结构中的行地址缓冲器和对应的行数据缓冲器,但是这里我们采用了超级页面地址和对应的数据,即168×2。
对所实施的存储器阵列进行寻址的所实施的指令集可以具有两种类型或两级地址;换句话说:全局指令选择子阵列,而局部指令选择与所选子阵列相关联的地址寄存器之一(例如四个地址寄存器之一)。
全局地址加载:在这种情况下,全部子阵列将使用命令在数个步骤中接收地址,即load_global_address_0、load_global_address_1等。
局部地址加载:在这种情况下,只有所选子阵列中的寻址寄存器将接收新的地址,即local_address_0_0、local_address_0_1、local_global_address_1_3等。
每个子阵列将含有一组4×数据寄存器,例如4×(数据+地址+ECC寄存器),每个对应于一个地址寄存器。4×数据寄存器含有超级页面,也就是说:data_H+data_L(去除了到特定地址的链接)。
当读取或修改操作对阵列进行寻址时,地址寄存器连接到地址解码器。该链接在修改阶段由闪存控制器驱动,而读取有限状态机在读取被触发时链接它们。使用JTAG有限状态机来加载地址寄存器。当对应的指令Load_Address被识别并且Shift_DR状态在JTAG分接头中时,TDI被连接到地址寄存器。
Global_Address_Loadx命令被用于同时加载对应的寄存器中的八个位的半字节:
指令寄存器中的Global_Address_Load0生成addr0_0的加载。例如,该命令可以对子阵列0进行寻址;类似地,当JTAG接口的有限状态机处于Shift_DR状态时,使用三个TCK周期来选择对应的子阵列地址寄存器addr1_0、addr2_0和addr3_0会发生这种情况。
当有限状态机处于Shift_DR状态时,指令寄存器中的Local_Address_Load0_0使用三个TCK循环生成addr0_0的加载。例如,该命令对所选子阵列的寄存器0进行寻址。这意味着当到达ShiftDR时,TDI连接到该移位寄存器的输端,并且TDO连接到输出,如果使用灵活的TDI,则我们仅需要三个时钟周期Tck来使整个地址处在所选地址寄存器内,否则我们将需要24个时钟周期Tck。
这些指令(Global_Address_Load0、Global_Address_Load1、Global_Address_Load2、Global_Address_Load3)允许预加载闪存阵列中实施的全部通道的地址。实施这四个指令以选择四个子阵列之一。在具有八个核心的可能实施方案中,我们将需要八个命令,每个核心一个命令或使用一个命令和子阵列地址来选择核心之一的方法。因此,上述命令的引入允许优化SoC结构10与存储器组件1之间的通信,提高到控制器的传送性能。
指令(Local_Address_Load0_0、….、Local_Address3_3)允许使用单个核心/通道,避免了当仅一个核心工作时控制器管理整个核心集合的需要;核心是独立的,并且当需要时它们可以使用它们自己的通道。该指令用于选择所选子阵列的地址寄存器之一。
该最后公开的机制的实施方案确保了存储器的读取操作的优化。
为了公开的完整性,我们现在将参考图7的框图实例,其中,报告了根据本公开的方法2000的制造阶段。
在第一阶段2010中,提供了包括存储器阵列的结构上独立的半导体存储器组件或装置,该存储器阵列具有用于与该存储器阵列和SoC结构交互的至少一个逻辑部分。
在步骤2020中所图示的制造阶段期间,多个互连焊盘位于存储器组件的表面上。
然后在步骤2030中,SoC结构和包含互连焊盘的存储器组件的表面彼此面对。
最后,在步骤2040中,执行连接存储器组件和SoC结构的耦合阶段,使所述多个互连焊盘与SoC结构的对应的多个焊盘对齐并连接。
在前面的详细描述中,参考了形成其一部分的附图,并且在附图中通过图示的方式示出了具体的实例。在附图中,相似的数字在几个视图中描述大体上相似的组件。可以利用其它实例,并且可以在不脱离本公开的范围的情况下作出结构、逻辑和/或电学改变。此外,应当理解,附图中提供的元件的比和相对比例旨在图示本公开的实施例,而不应当被认为是限制性的。
如本文所用,“一(a)”,“一个(an)”或“数个(a number of)”某物可以指一个或多个此事物。“多个(plurality)”某物意指两个或两个以上。如本文所用,术语“耦合(coupled)”可以包括电耦合、直接耦合和/或不通过居间元件的直接连接(例如,通过直接物理接触)或间接耦合和/或通过居间元件连接。术语耦合还可以包括彼此协作或交互(例如,以因果关系)的两个或两个以上元件。
尽管本文图示并描述了具体的实例,但是本领域的普通技术人员将理解,计算为实现相同结果的布置可以代替所示的具体实施例。本公开旨在覆盖本公开的一个或多个实施例的适应性改变或变型。应当理解,以上描述是以说明性的方式进行的,而不是限制性的方式。本公开的一个或多个实例的范围应当参考所附权利要求以及此些权利要求被授权的等效物的全部范围来确定。
Claims (19)
1.一种用于片上系统SoC结构的存储器组件,其包括:
存储器阵列;
多个互连焊盘,其位于所述存储器组件的表面上;
逻辑部分,其用于与所述存储器阵列和所述SoC结构交互,其中,所述存储器阵列的存储器组件是耦合到所述SoC结构并与所述SoC结构部分重叠的结构上独立的半导体装置;以及
读出放大器,其用于读取耦合到直接存储器存取配置的所述SoC结构的所述存储器阵列。
2.根据权利要求1所述的存储器组件,其中,所述SoC结构以及与所述SoC结构部分重叠的所述存储器组件通过与位于所述存储器组件的所述表面上的所述多个互连焊盘相对应的连接柱互连来耦合。
3.根据权利要求1所述的存储器组件,其中,所述SoC结构以及与所述SoC结构部分重叠的所述存储器组件通过倒装芯片技术耦合。
4.根据权利要求1所述的存储器组件,其中,所述SoC结构以及与所述SoC结构部分重叠的所述存储器组件以面对面的方式耦合。
5.根据权利要求1所述的存储器组件,其中,所述存储器组件的重叠区域大于专用于所述存储器组件内的互连的所述SoC结构的半导体区域。
6.根据权利要求1所述的存储器组件,其中,位于所述存储器组件的所述表面上的所述多个互连焊盘的布局对应于与所述SoC结构相关联的对应且对齐的互连焊盘的布局。
7.根据权利要求1所述的存储器组件,其中:
所述存储器阵列包括非易失性存储器单元;以及
所述存储器阵列的读出放大器以所述直接存储器存取配置连接到所述SoC结构。
8.一种存储器装置,其包括:
存储器阵列;
所述存储器阵列的逻辑部分,其用于与片上系统SoC结构交互;
修改有限状态机或RISC逻辑部分,其用于处理与相关联的SoC结构通信的存储器接口;
多个互连焊盘,其位于所述存储器装置的表面上,以及
电路逻辑,其集成在所述存储器装置中以用于通过通信通道与所述SoC结构通信。
9.根据权利要求8所述的存储器装置,其中,将所述存储器装置的所述表面翻转使得其顶面面朝下,并且将其与所述SoC结构的对应的匹配焊盘进行焊盘与焊盘对齐。
10.根据权利要求9所述的存储器装置,其中,使用柱、凸球、以倒装芯片技术或以面对面方式将所述存储器装置的所述互连焊盘耦合到所述SoC结构的所述对应的匹配焊盘。
11.根据权利要求10所述的存储器装置,其中,所述SoC结构与所述存储器装置之间的耦合包括互连各自的焊盘、或者使用在保持所述焊盘对齐的耦合结构中将彼此面对的引脚端子、或者两者。
12.根据权利要求8所述的存储器装置,其中,所述存储器装置是由SoC结构支持的结构上独立的上层。
13.根据权利要求8所述的存储器装置,其中,所述存储器装置的重叠区域大于专用于所述存储器装置的所述多个互连焊盘的所述SoC结构的半导体区域。
14.根据权利要求8所述的存储器装置,其包含读出放大器以用于读取以直接存储器存取配置连接到所述SoC结构的所述存储器阵列。
15.一种集成半导体装置,其包括:
片上系统SoC结构和重叠存储器装置,所述SoC结构和所述重叠存储器装置两者均包括多个互连焊盘并且以面对面的方式与对应的互连焊盘耦合,其中所述重叠存储器装置包括用于通过通信信道与所述SoC结构通信的电路逻辑;以及
非易失性存储器单元阵列,所述非易失性存储器单元阵列以子阵列构造,所述子阵列以直接存储器存取配置连接到所述SoC结构,其中所述直接存储器存取包括用于读取所述非易失性存储器单元阵列的读出放大器。
16.根据权利要求15所述的集成半导体装置,其中,所述SoC结构与所述重叠存储器装置之间的耦合是通过将所述SoC结构和所述重叠存储器装置的对应的焊盘互连的连接柱获得的。
17.根据权利要求15所述的集成半导体装置,其中,所述SoC结构与所述重叠存储器装置通过倒装芯片技术耦合。
18.根据权利要求15所述的集成半导体装置,其中,所述重叠存储器装置的重叠所述SoC结构的区域大于专用于与所述重叠存储器装置的互连的所述SoC结构的半导体区域。
19.一种存储器装置,其包括:
存储器阵列;
所述存储器阵列的逻辑部分,其用于与片上系统SoC结构交互;
多个互连焊盘,其位于所述存储器装置的表面上;
读出放大器,其用于读取连接到直接存储器存取配置中的所述SoC结构的所述存储器阵列;以及
电路逻辑,其集成在所述存储器装置中以用于通过通信通道与所述SoC结构通信。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/IB2019/000484 WO2020240239A1 (en) | 2019-05-31 | 2019-05-31 | Memory component for a system-on-chip device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113906505A CN113906505A (zh) | 2022-01-07 |
CN113906505B true CN113906505B (zh) | 2023-04-18 |
Family
ID=67003546
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980096918.1A Active CN113906505B (zh) | 2019-05-31 | 2019-05-31 | 用于片上系统装置的存储器组件 |
Country Status (4)
Country | Link |
---|---|
US (3) | US11335383B2 (zh) |
CN (1) | CN113906505B (zh) |
DE (1) | DE112019007422T5 (zh) |
WO (1) | WO2020240239A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10608642B2 (en) * | 2018-02-01 | 2020-03-31 | iCometrue Company Ltd. | Logic drive using standard commodity programmable logic IC chips comprising non-volatile radom access memory cells |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841551A (zh) * | 2005-03-30 | 2006-10-04 | 尔必达存储器株式会社 | 具有多个层叠的存储芯片的半导体存储器件 |
CN102956273A (zh) * | 2011-08-17 | 2013-03-06 | 台湾积体电路制造股份有限公司 | 用于基于2.5d/3d系统芯片的宽i/o dram的dram测试架构 |
CN103098203A (zh) * | 2010-08-24 | 2013-05-08 | 高通股份有限公司 | 具有低密度低延迟和高密度高延迟块的宽输入输出存储器 |
Family Cites Families (67)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3871853B2 (ja) * | 2000-05-26 | 2007-01-24 | 株式会社ルネサステクノロジ | 半導体装置及びその動作方法 |
JP2003006041A (ja) * | 2001-06-20 | 2003-01-10 | Hitachi Ltd | 半導体装置 |
US7400543B2 (en) * | 2003-11-12 | 2008-07-15 | Lsi Logic Corporation | Metal programmable self-timed memories |
US7562190B1 (en) * | 2005-06-17 | 2009-07-14 | Sun Microsystems, Inc. | Cache protocol enhancements in a proximity communication-based off-chip cache memory architecture |
JP4955990B2 (ja) * | 2005-12-14 | 2012-06-20 | 株式会社東芝 | 不揮発性半導体記憶装置 |
JP4969934B2 (ja) * | 2006-07-19 | 2012-07-04 | 株式会社東芝 | 半導体装置 |
US20080191990A1 (en) * | 2007-02-08 | 2008-08-14 | Nec Electronics Corporation | Driver and display method using the same |
JP4940064B2 (ja) * | 2007-08-28 | 2012-05-30 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
KR100951856B1 (ko) * | 2007-11-27 | 2010-04-12 | 한국전자통신연구원 | 멀티미디어 시스템용 SoC 시스템 |
JP5033018B2 (ja) * | 2008-02-27 | 2012-09-26 | 株式会社ニューフレアテクノロジー | 重なり図形の検査装置、荷電粒子ビーム描画装置及び重なり図形の検査方法 |
JP2010021449A (ja) * | 2008-07-11 | 2010-01-28 | Toshiba Corp | 半導体装置 |
JP5453983B2 (ja) * | 2009-07-28 | 2014-03-26 | セイコーエプソン株式会社 | 集積回路装置及び電子機器 |
US9063886B2 (en) * | 2009-09-18 | 2015-06-23 | Apple Inc. | Metadata redundancy schemes for non-volatile memories |
US8796863B2 (en) * | 2010-02-09 | 2014-08-05 | Samsung Electronics Co., Ltd. | Semiconductor memory devices and semiconductor packages |
KR101666551B1 (ko) * | 2010-09-10 | 2016-10-25 | 삼성전자주식회사 | 전압 발생기, 그것을 포함하는 불휘발성 메모리 장치 및 그것의 전압 발생 방법 |
US8913449B2 (en) * | 2012-03-11 | 2014-12-16 | Shine C. Chung | System and method of in-system repairs or configurations for memories |
US8954647B2 (en) * | 2011-01-28 | 2015-02-10 | Apple Inc. | Systems and methods for redundantly storing metadata for non-volatile memory |
US9269646B2 (en) | 2011-11-14 | 2016-02-23 | Micron Technology, Inc. | Semiconductor die assemblies with enhanced thermal management and semiconductor devices including same |
JP2013232756A (ja) * | 2012-04-27 | 2013-11-14 | Sony Corp | 光学モジュール |
JP5814867B2 (ja) * | 2012-06-27 | 2015-11-17 | 株式会社東芝 | 半導体記憶装置 |
US9478502B2 (en) * | 2012-07-26 | 2016-10-25 | Micron Technology, Inc. | Device identification assignment and total device number detection |
JP5968736B2 (ja) * | 2012-09-14 | 2016-08-10 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
US8737108B2 (en) * | 2012-09-25 | 2014-05-27 | Intel Corporation | 3D memory configurable for performance and power |
KR101934581B1 (ko) * | 2012-11-02 | 2019-01-02 | 에스케이하이닉스 주식회사 | 반도체 패키지 |
KR102104917B1 (ko) * | 2013-02-04 | 2020-04-27 | 삼성전자주식회사 | 반도체 패키지 |
WO2014145942A2 (en) * | 2013-03-15 | 2014-09-18 | Smart Patents L.L.C. | Wearable devices and associated systems |
KR102029682B1 (ko) * | 2013-03-15 | 2019-10-08 | 삼성전자주식회사 | 반도체 장치 및 반도체 패키지 |
US9070656B2 (en) * | 2013-06-12 | 2015-06-30 | Micron Technology, Inc. | Underfill-accommodating heat spreaders and related semiconductor device assemblies and methods |
JP6200236B2 (ja) * | 2013-08-09 | 2017-09-20 | ルネサスエレクトロニクス株式会社 | 電子装置 |
JP5996500B2 (ja) * | 2013-09-11 | 2016-09-21 | 株式会社東芝 | 半導体装置および記憶装置 |
US10396840B2 (en) * | 2013-12-27 | 2019-08-27 | Intel Corporation | High speed short reach input/output (I/O) |
US9535831B2 (en) * | 2014-01-10 | 2017-01-03 | Advanced Micro Devices, Inc. | Page migration in a 3D stacked hybrid memory |
KR102264548B1 (ko) * | 2014-11-21 | 2021-06-16 | 삼성전자주식회사 | 반도체 패키지 및 그 제조 방법 |
JP2016219655A (ja) | 2015-05-22 | 2016-12-22 | マイクロン テクノロジー, インク. | 半導体装置 |
US9697874B1 (en) * | 2015-06-09 | 2017-07-04 | Crossbar, Inc. | Monolithic memory comprising 1T1R code memory and 1TnR storage class memory |
KR102324628B1 (ko) * | 2015-07-24 | 2021-11-10 | 삼성전자주식회사 | 솔리드 스테이트 드라이브 패키지 및 이를 포함하는 데이터 저장 시스템 |
JP2017045311A (ja) * | 2015-08-27 | 2017-03-02 | 株式会社東芝 | メモリシステム |
KR102406267B1 (ko) * | 2015-11-19 | 2022-06-08 | 삼성전자주식회사 | 불휘발성 메모리 모듈 및 이를 포함하는 전자 장치 |
KR20170059616A (ko) * | 2015-11-23 | 2017-05-31 | 에스케이하이닉스 주식회사 | 적층형 메모리 장치 및 이를 포함하는 반도체 메모리 시스템 |
US9812180B2 (en) * | 2016-01-18 | 2017-11-07 | Hare Krishna Verma | Programmable logic accelerator in system on chip |
US10168922B1 (en) * | 2016-04-26 | 2019-01-01 | International Business Machines Corporation | Volatile and non-volatile memory in a TSV module |
US9946674B2 (en) * | 2016-04-28 | 2018-04-17 | Infineon Technologies Ag | Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller |
US10423492B2 (en) * | 2016-05-17 | 2019-09-24 | SK Hynix Inc. | Self error-handling flash memory device |
EP3449482A4 (en) * | 2016-06-27 | 2019-12-11 | Apple Inc. | STORAGE SYSTEM WITH COMBINED STORAGE HIGH DENSITY, LOW BANDWIDTH AND LOW DENSITY AND HIGH BANDWIDTH |
US9940980B2 (en) * | 2016-06-30 | 2018-04-10 | Futurewei Technologies, Inc. | Hybrid LPDDR4-DRAM with cached NVM and flash-nand in multi-chip packages for mobile devices |
US9761564B1 (en) * | 2016-06-30 | 2017-09-12 | Micron Technology, Inc. | Layout of transmission vias for memory device |
EP3518285A4 (en) * | 2016-09-23 | 2020-07-29 | Toshiba Memory Corporation | STORAGE DEVICE |
US9984995B1 (en) * | 2016-11-13 | 2018-05-29 | Nanya Technology Corporation | Semiconductor package and manufacturing method thereof |
KR102619666B1 (ko) * | 2016-11-23 | 2023-12-29 | 삼성전자주식회사 | 이미지 센서 패키지 |
US10423541B1 (en) * | 2016-12-22 | 2019-09-24 | Amazon Technologies, Inc. | Using encryption within a computing system |
US10410969B2 (en) * | 2017-02-15 | 2019-09-10 | Mediatek Inc. | Semiconductor package assembly |
US10515923B2 (en) * | 2017-05-31 | 2019-12-24 | Taiwan Semiconductor Manufacturing Co., Ltd. | Method for forming semiconductor package structure with twinned copper layer |
JP6866785B2 (ja) * | 2017-06-29 | 2021-04-28 | 富士通株式会社 | プロセッサおよびメモリアクセス方法 |
KR102340446B1 (ko) * | 2017-09-08 | 2021-12-21 | 삼성전자주식회사 | 스토리지 장치 및 그것의 데이터 트레이닝 방법 |
KR102395463B1 (ko) * | 2017-09-27 | 2022-05-09 | 삼성전자주식회사 | 적층형 메모리 장치, 이를 포함하는 시스템 및 그 동작 방법 |
US10910321B2 (en) * | 2017-11-29 | 2021-02-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Semiconductor device and method of making the same |
KR102439761B1 (ko) * | 2017-12-22 | 2022-09-02 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 제조 방법 |
JP2019165046A (ja) * | 2018-03-19 | 2019-09-26 | 東芝メモリ株式会社 | 半導体装置およびその製造方法 |
US10607659B2 (en) * | 2018-04-23 | 2020-03-31 | Arm Limited | Method, system and device for integration of bitcells in a volatile memory array and bitcells in a non-volatile memory array |
US10672681B2 (en) * | 2018-04-30 | 2020-06-02 | Taiwan Semiconductor Manufacturing Co., Ltd. | Semiconductor packages |
KR102567974B1 (ko) * | 2018-05-30 | 2023-08-17 | 삼성전자주식회사 | 인쇄회로기판을 포함하는 메모리 시스템 및 스토리지 장치 |
US11018124B2 (en) * | 2018-08-31 | 2021-05-25 | Intel Corporation | Embedded memory device and method for embedding memory device in a substrate |
US20200098727A1 (en) * | 2018-09-25 | 2020-03-26 | Debendra Mallik | Stacked wire-bond dice attached by pillars or bumps above a flip-chip die on a semiconductor package substrate |
US11456281B2 (en) * | 2018-09-29 | 2022-09-27 | Intel Corporation | Architecture and processes to enable high capacity memory packages through memory die stacking |
US10706900B2 (en) * | 2018-11-01 | 2020-07-07 | Intel Corporation | Data and clock synchronization and variation compensation apparatus and method |
KR20210100880A (ko) * | 2020-02-07 | 2021-08-18 | 에스케이하이닉스 주식회사 | 복수의 메모리 칩들을 갖는 반도체 메모리 장치 |
US11756592B2 (en) * | 2020-09-29 | 2023-09-12 | Samsung Electronics Co., Ltd. | Memory device supporting DBI interface and operating method of memory device |
-
2019
- 2019-05-31 DE DE112019007422.9T patent/DE112019007422T5/de active Pending
- 2019-05-31 US US16/624,438 patent/US11335383B2/en active Active
- 2019-05-31 WO PCT/IB2019/000484 patent/WO2020240239A1/en active Application Filing
- 2019-05-31 CN CN201980096918.1A patent/CN113906505B/zh active Active
-
2022
- 2022-05-16 US US17/745,583 patent/US11715498B2/en active Active
-
2023
- 2023-07-28 US US18/227,727 patent/US20240071424A1/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1841551A (zh) * | 2005-03-30 | 2006-10-04 | 尔必达存储器株式会社 | 具有多个层叠的存储芯片的半导体存储器件 |
CN103098203A (zh) * | 2010-08-24 | 2013-05-08 | 高通股份有限公司 | 具有低密度低延迟和高密度高延迟块的宽输入输出存储器 |
CN102956273A (zh) * | 2011-08-17 | 2013-03-06 | 台湾积体电路制造股份有限公司 | 用于基于2.5d/3d系统芯片的宽i/o dram的dram测试架构 |
Also Published As
Publication number | Publication date |
---|---|
CN113906505A (zh) | 2022-01-07 |
US20210407552A1 (en) | 2021-12-30 |
US20240071424A1 (en) | 2024-02-29 |
US11335383B2 (en) | 2022-05-17 |
DE112019007422T5 (de) | 2022-02-24 |
US20220277776A1 (en) | 2022-09-01 |
WO2020240239A1 (en) | 2020-12-03 |
US11715498B2 (en) | 2023-08-01 |
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 | |
US12072380B2 (en) | JTAG registers with concurrent inputs | |
US20240071424A1 (en) | Memory component for a system-on-chip device | |
US11367497B2 (en) | Memory device with improved sensing structure | |
CN113994434B (zh) | 使用jtag单元寻址的直接存储器存取 | |
US11875860B2 (en) | Intelligent charge pump architecture for flash array | |
US20210335435A1 (en) | Jtag based architecture allowing multi-core operation | |
US20230410930A1 (en) | Memory device with improved sensing structure | |
US11984177B2 (en) | Memory component provided with a test interface | |
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 |