用于自微调存储器装置的方法及装置

文档序号:474723 发布日期:2021-12-31 浏览:1次 >En<

阅读说明:本技术 用于自微调存储器装置的方法及装置 (Method and apparatus for self-trimming memory devices ) 是由 A·特罗亚 A·蒙代洛 于 2019-05-31 设计创作,主要内容包括:本公开涉及集成存储器装置,其包含:-具有解码和感测电路系统的存储器单元阵列;-存储器控制器;-与所述感测电路系统相关联的读取和写入电路系统;-所述读取和写入电路系统中的逻辑电路部分,其包含在数据输入上接收数据流并在时钟输入上接收时钟信号的至少一个逻辑元件;-在所述数据输入或所述时钟输入上游的至少一个可编程或可微调的延迟元件或电路,用于通过在时间上对准所述时钟信号和/或所述数据流而自微调所述至少一个逻辑元件的内部定时。本公开进一步涉及用于设置集成电路的操作参数,特别是用于自微调所述集成电路的内部定时的方法。(The present disclosure relates to an integrated memory device, comprising: -an array of memory cells with decoding and sensing circuitry; -a memory controller; -read and write circuitry associated with the sensing circuitry; -a logic circuit portion in the read and write circuitry comprising at least one logic element receiving a data stream on a data input and a clock signal on a clock input; -at least one programmable or trimmable delay element or circuit upstream of said data input or said clock input for self-trimming the internal timing of said at least one logic element by temporally aligning said clock signal and/or said data stream. The disclosure further relates to a method for setting operating parameters of an integrated circuit, in particular for self-trimming the internal timing of said integrated circuit.)

具体实施方式

在以下详细描述中,参考了形成其一部分的附图,并且其中通过图示的方式示出特定实例。在附图中,相似标号在几个视图中描述基本相似的组件。可公开其它实施例,且可在不脱离本公开的范围的情况下进行结构、逻辑和电性改变。因此,以下详细描述不应被认为是限制性的。

本公开涉及一种用于设置集成电路的操作参数的方法,且更具体地,涉及用于一种自微调存储器装置的操作参数和内部定时以及用于通过优化阻抗和定时的匹配来帮助存储器主机对总线驱动器进行精细设置的方法。

本公开的存储器装置是分别在图2中用数字200指示且在图5中用数字500指示的非易失性存储器装置或组件。此存储器装置200已用特定光刻工艺作为独立管芯实现且可通过通信信道耦合到主机装置或片上系统。主机装置可为具有嵌入式存储器组件的片上系统或包含耦合到存储器装置的系统的更复杂电子装置,如将从参考其它图式作出的本公开的其它实施例的描述中显现。在任何情况下,在通过不同的光刻工艺获得的相应管芯上实现片上系统和存储器装置。

作为替代,系统可以是与片上系统通信的外部控制器,但出于本公开的目的,将参考主机装置或SoC作为与存储器组件通信的实体。例如,系统10可以是能够使用用于临时或持久存储信息的存储器的多个电子装置之一。例如,主机装置可以是计算装置、移动电话、平板电脑或自主车辆的中央处理单元。

非易失性存储器可通过在未通电时保留所存储的数据来提供持久数据,并且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程或可微调ROM(EEPROM)、可擦除可编程或可微调ROM(EPROM)和电阻可变存储器,例如相变随机存取存储器(PCRAM)、基于自选择硫族化物的存储器、电阻式随机存取存储器(RRAM)、3D XPoint存储器(3DXP)和磁阻式随机存取存储器(MRAM)等。

快闪存储器是一种非易失性存储器,其保留所存储的数据,并且其特征在于非常快的存取时间。此外,它可以按块擦除,而不是一次一个字节。存储器的每个可擦除块包括以行和列的矩阵排列的多个非易失性存储器单元。每个单元耦合到存取线和/或数据线。通过操纵存取线及数据线上的电压来对所述单元进行编程及擦除。

如图2中所示,根据本公开,存储器装置200从现有技术的SoC结构中移除,因此允许将对应半导体区域用于其它逻辑电路且提供对与SoC结构210部分重叠的结构上独立的存储器组件200的支持。存储器组件200具有取决于其中包含的存储器阵列的大小可变的大小,其根据用户的需要制造,例如在从128Mbit到512Mbit或更大的值范围内。

现有技术的嵌入式存储器部分的移除还具有自由空间的极大优点,从而获得SoC结构210的半导体区域220,允许集成附加的用户功能和/或减小总芯片面积。

此解决方案的结果是图2的新的SoC结构,其严格地与新的结构上独立的存储器组件200相关联,所述存储器组件例如通过多个耦合元件230(例如支柱)以及通过撞球、倒装芯片技术、无线互连(线圈)等耦合到SoC结构210。在优选实施例中,耦合元件是柱,其布置在先前专用于嵌入式存储器部分的半导体区域220中。

在本公开的一个实施例中,用于SoC结构210的存储器组件200至少包含存储器部分和用于与存储器部分和SoC结构210交互的逻辑电路部分,其中存储器组件200是耦合到片上系统结构210并与所述片上系统结构部分重叠的结构上独立的半导体装置。

逻辑电路240集成在SoC结构210中以与存储器组件200的逻辑电路部分协作。

SoC结构210与存储器组件200之间的耦合是通过将多个相应焊盘或引脚端子互连来实现的,所述焊盘或引脚端子在即使存储器组件200的大小被修改也保持焊盘对准的电路布局中彼此面对。

在本公开的一个实施例中,已经在存储器组件200的表面上实现了存储器组件200的焊盘的布置。更具体地,焊盘被布置在阵列上,使得当存储器组件200被翻转时,其焊盘面向SoC结构210的对应焊盘。在已知的片上系统装置210中由嵌入式非易失性存储器部分占据的半导体区域220专用于容纳对应于存储器组件200的焊盘的互连焊盘。

甚至更大大小的存储器组件也可以被支撑并与SoC结构210的焊盘互连,从而保持其互连焊盘的位置和错位。

在本公开的上下文中,SoC结构210的顶侧与存储器组件200的反面连接,SoC结构210的焊盘与翻转的存储器组件的匹配焊盘对准。作为替代,结构上独立的存储器组件200可以以无线方式耦合到SoC结构210。如果采用无线耦合,那么相同大小的存储器组件的堆叠可重叠,从而实现堆叠结构,其中每一独立组件由SoC结构210的逻辑电路系统通过对应识别地址来寻址。

先前由嵌入式存储器部分占据的半导体区域220现在用于实施附加功能并且针对焊盘上逻辑技术准备半导体装置。表述“焊盘上逻辑”意味着提供与位于由完整半导体产品(即,SoC结构210)表示的第一层或基层内部的一些连接焊盘重叠的逻辑电路系统。

存储器组件200因此表示耦合并互连到基础SoC结构210的上层。在由嵌入式存储器部分占据的已知解决方案中,存储器组件200与至少覆盖半导体区域220的SoC结构表面部分重叠。然而,具有更大容量的存储器组件200可以覆盖比半导体区域220更大的半导体区域。

在这方面,重叠存储器组件200的大小大于专用于与此覆盖存储器组件200互连的重叠半导体区域220的大小。换言之,重叠存储器组件200的面积大于专用于存储器组件200的互连焊盘的SoC结构210的半导体区域220。

此外,为了更好地运行SoC结构210,甚至可以移除通常并入到SoC中并包含有限状态机或RISC架构的逻辑电路部分,并且与存储器组件200相关联地重新组织。

因此,根据本公开,修改有限状态机或RISC 240已迁移到存储器组件200中以支持在较大存储器组件200上执行的写入阶段和擦除阶段。

逻辑电路部分的分离和优化进一步允许增强整个SoC结构210的功能,从而获得耦合到SoC结构210的独立半导体存储器组件200。因此,该独立半导体存储器组件200至少包含存储器部分(例如,非易失性存储器部分)和相关联的修改有限状态机240,两者都被并入到耦合到SoC结构210的半导体产品中。在这种情况下,SoC结构210中的存储器逻辑是处理存储器接口通信的逻辑。

换句话说,非易失性存储器部分和相关联的逻辑电路部分两者都集成在耦合并连接到SoC结构210的独立半导体存储器组件200中。

根据本公开的实施例,存储器装置200是非易失性快闪存储器类型,其至少包含以下组件:I/O电路、包含控制和JTAG逻辑的微定序器以及感测放大器。

快闪存储器装置200进一步包含命令用户接口CUI、电压和电流参考生成器、电荷泵和解码电路系统。快闪存储器还包含用于擦除和编程算法执行的内部微控制器。

应当记住,当将两个半导体集成装置耦合在一起时,在处理两个装置之间的I/O信号时可能产生一些问题。此外,如果控制器能够以达到至少1GHz(有时称为高频)的值的时钟频率信号工作,则如相关联的存储器组件之类的其它电路部分被设计成在较低频率工作,例如几百MHz(有时称为低频)。

例如,在与存储器相关联的系统的运行期间发生温度升高时出现这种类型的典型情况。存储器组件遭受电源或电压电平中的热漂移和/或其它漂移,所述热漂移和/或其它漂移限制其根据工厂中界定的原始设置值操作的能力。

另一典型情况是将存储器装置适配到主机装置(例如,其中安装存储器装置的板或其中托管所述存储器装置的SoC)。此适配在于存储器输出缓冲器与外部总线之间的阻抗匹配和外部信号偏移。此些条件可能在装置的寿命期间改变,因为外部总线负载可能改变(新装置连接/断开,温度变化等)。

为了解决这些问题,也就是说:将考虑根据本公开的方法的一些实例,重置内部FSM的设置和保持持续时间并调节阻抗匹配加信号偏移。必须将所述方法视为在例如存储器装置200(例如耦合到SoC 210的存储器装置或组件200)的集成电路中实施。

此集成存储器装置200包含多个基本电路部分,如简单触发器、锁存器或逻辑门。

众所周知,简单触发器D(例如像图1所示的已知电路)可能遭受亚稳态。数据信号必须在时钟信号的上升沿之前的预定时间段内稳定,以允许正确的数据捕获。此预定时间段是所谓的设置时间S。

此外,如前所述,保持时间H是在简单触发器电路D的同步输入处接收的数据在时钟信号的有效边沿到达之后必须保持稳定的时间量(或时间间隔)。

图1示出了触发器D10的示意图,其中主块表示接收数据输入DATA和时钟输入CLK的简单逻辑门。进一步提供重置输入Reset以重置触发器D10。

在该图中,示出了至少具有输入和输出的逻辑同步电路。数据输入/输出由时钟信号管理。此电路可以是简单的锁存器或者甚至是复杂的有限状态机,但是该图是引入每个同步电路需要的设置/保持微调的实例。

当然,数据输入DATA在图1的符号中用并行呈现的多个数字值表示。换句话说,输入端DATA是来自数字源的总线的前端。

类似地,数据输出OUT被示为具有对应的多个数字输出值。

应当注意,设置时间S是针对简单的触发器D10以及包含数百个触发器或逻辑门的更复杂的有限状态机定义的。

为了避免由于触发器的可能的亚稳态或由于内部同步电路中的临界竞争而引起的严重故障,非常需要操作参数的可能的重新微调。最有可能的是,捕获数据的有效窗口将由于过程的固有变化而漂移,即线路电阻可以改变,电容可以改变,时间常数将相应地变化。

此外,其它操作参数可能需要在集成电路的大量活动时间之后进行微调,或者由于具有改变总线的阻抗的新组件的板的可能的重新配置/更新而进行微调,存储器在所述板处被托管。例如,朝向片上系统的输出阻抗可能需要通过在输出缓冲器内选择可用的驱动器之一来进行类似的重新微调,这保证了阻抗匹配以及在所生成的电压/电流信号的速度和形状方面的最佳性能。虽然这个微调阶段适合于检查中的集成电路(即存储器件)的输出,但是设置和保持时间间隔的微调集中在集成电路的内部活动上。

根据本公开的一些实施例,采用至少可编程或可微调延迟元件或电路,所述可编程或可微调延迟元件或电路插入到时钟输入和/或数据输入的上游,用于调谐数据输入与时钟信号的有效或前沿之间的相对距离。

换句话说,至少采用插入到时钟输入和/或数据输入上游的可编程或可微调延迟元件或电路来调谐数据输入与时钟信号的有效或前沿之间的相对距离。该延迟被添加到临界线,即时钟、数据、命令、FSM等上,其目的是使受老化漂移影响的所有信号重新居中。

通过向FSM(或将被微调的电路)馈送从存储器阵列的非易失性区域读取的序列,然后检查FSM(或电路)的输出是否与期望值匹配,来完成该微调。

微调探索所有可能的延迟值,以便在特定条件(即温度)附近获得最宽的功能范围。

此外,存储器装置200的输出缓冲器也包含在微调操作中,且更具体地,对那些缓冲器进行如下处理:

-执行输出缓冲器驱动器的适当选择,以便尽可能最佳地匹配存储缓冲器与外部总线之间的阻抗;并且

-执行数据路径延迟的适当微调,以便在外部时钟与主机装置的信号之间具有正确的偏移。

上述两个过程采用输出缓冲器内的特殊结构来执行。

在这种更具体的情况下,通过使用存储在存储器块的特定虚拟行中的标准数据路径的读取阶段来进行微调。外部控制器通过使用眼图测量读取操作的质量,然后向装置提供关于读取质量的反馈。一旦找到最佳设置,就完成该过程。

换句话说,时钟和数据线被重新对准,并且当装置是新的或全新出厂的时再次建立操作条件。根据一些实施例,改变可编程延迟的设置以重置采样时钟信号与采样数据信号之间的定时差。

根据本公开的一个实施例,公开了一种用于设置集成电路的操作参数的方法,特别是用于自微调所述集成电路的内部定时的方法,所述集成电路包含至少在数据输入上接收已知数据流并在时钟输入上接收时钟信号的至少一个电路部分,所述方法包括:

通过在所述输入中的一或两个之前插入上游可编程或可微调延迟元件或电路,在时间上对准所述时钟信号和/或所述数据流。

此外,时间上对准的阶段包括当所述集成电路是新的或全新出厂的时建立操作条件。

时间上对准是通过在所述时钟输入上游插入可编程或可微调延迟元件或电路,以修改所述数据流与所述时钟信号的有效或前沿之间的相对距离来获得的。

所述可编程或可微调延迟元件或电路相对于所述时钟输入插入在时钟信号路径上游。

作为替代,时间上对准是通过在所述数据输入上游插入可编程或可微调延迟元件或电路,以修改所述数据流与所述时钟信号的有效或前沿之间的相对距离来获得的。

在最后一种情况下,可编程或可微调延迟元件或电路相对于数据输入插入在数据流路径上游。上述过程可以在首次使用装置时至少在工厂中第一次执行,并且这可以通过使用测试机器来完成。找到的值被存储在非易失性寄存器中以供将来使用。

在又一实施例中,通过数据输入和时钟输入上游的可编程或可微调延迟来获得时钟信号和/或数据流在时间上对准的阶段。

工厂中的另一替代方案是用来自设计团队的指示来设置所有延迟并留给主机进行精细微调。

作为替代,设置阶段例如在集成电路重置时自动执行。

作为替代,根据主机装置的请求,换句话说根据与集成电路(即,存储器装置)相关联的片上系统所指定的请求来执行上述过程。

作为另一替代,在接收到由主机装置产生的警告信号之后(例如,在已检测到存储器装置的多功能或读取消息失败之后或如果主机装置检测到组件的操作条件的巨大改变(例如,温度递增/递减))激活上文所报告的过程。

其它替代的警告消息可以被定义为用于激活集成电路的操作参数的重新微调阶段的起点。

例如,在需要对输出阻抗和/或缓冲延迟进行微调的情况下,提供生成重新微调操作参数的请求的特定事件。例如,由于主机的板重新配置引起的I/O引脚上的负载变化、温度变化和其它可能的操作条件变化,建议微调缓冲器驱动器(例如在几个可用驱动器中选择的一个)和数据路径延迟,以便在外部信号与时钟之间具有正确的偏移。

在本公开的一个实施例中,如图3所示,可以通过插入一些可微调延迟元件或电路来改变由数据输入接收的数据与时钟的有效边沿之间的相对距离来调谐设置时间或保持时间。该图示出了包含至少一个触发器10的示意性的通用逻辑电路部分150,或锁存器或甚至包含至少一个触发器的复合FSM,在其输入上接收数据流和时钟信号。

通常,延迟被插入到CLK路径中,但是在一些临界情况下,所述延迟也在数据路径上使用,特别是如果输入总线由来自非常不同的源的信号组成。

例如,在一个实例中,第一延迟被插入到第一数据流中,而第二延迟被插入到第二数据流中;将每个延迟块的相应输出相加以施加到待微调组件的数据输入。

每个延迟块通过配置命令是可编程的或可微调的。

根据本公开的一个实施例,例如参考图3所公开的,延迟链190相对于时钟输入CLK插入在时钟信号路径上游。

该延迟链通过配置信号CLK Delay config是可编程的或可微调的。

此外,至少另一个延迟链170相对于在数据输入DATA插入在数据路径上游。

更具体地,第一延迟链170插入在第一数字数据源与数据输入DATA之间,例如用于第一组8位[0:7],而第二延迟链180插入在第二数字数据源与数据输入DATA之间,例如用于第二组8位[7:15]。

第一数据流和第二数据流的相应输出在触发器或锁存器10的数字DATA端子的单个数据输入中相加。

每个延迟链通过相应配置信号(Data Delay config#1和Data Delay config#2)是可编程的或可微调的。

在本公开的一个实施例中,存储器阵列构建为子阵列120的集合(图4和5中所示)。以此方式,如果与已知解决方案相比具有较小的扇区,那么存取时间显著减少并且存储器组件的整体吞吐量得到改进。

每一子阵列120可在存储器装置200内部独立寻址。每个子阵列120包含多个存储器块160,如图4所示。

以此方式,如果与已知解决方案相比具有较小的块或扇区160,那么存取时间显著减少并且存储器组件的整体吞吐量得到改进。初始等待时间的减少是在块级,因为行和列线、与读取路径相关联的等待时间和外部通信已被优化。

在本文所揭示的实施例中,存储器阵列由多个子阵列120构成,所述子阵列对应于相关联的SoC的核心的数目且因此对应于对应通信信道的数目。例如,提供至少四个存储器子阵列120,每个存储器子阵列用于具有对应的SoC核心的每个通信信道。

主机装置或片上系统通常包含一个以上核心,并且每一核心耦合到用于接收数据并将数据传送到存储器装置200的对应总线或信道。

因此,在本实施方案中,每个子阵列120可访问对应的信道以与片上系统的对应核心通信。存储器块的结果被直接驱动到SoC,而无需使用高功率输出缓冲器和优化路径。

该架构的优点在于它具有很强的可扩展性,其中扩展和/或减小最终装置的密度仅在镜像子阵列和生成连接或增加每个子阵列的块的数目(即每个核心的可用密度)时转换。

每一子阵列120可在存储器装置200内部独立寻址。此外,每个存储器阵列由至少四个存储器子阵列120构成。这是用于该装置的形状因子,但是其在其它技术和/或应用中可以不同。如所述,它有助于低的初始等待时间,匹配在该特定应用中的SoC中处理的最终字。

在本公开的一个实施例中,子阵列120的输出是组合以下序列而形成的:数据单元加地址单元加ECC单元。在这里公开的实施方案中,位的总量可以包含每个信道168个焊盘。

此外,如图4中示意性所示,每个存储器子阵列120在存储器块160中构成。包括存储器阵列的每一位置的存储器块160的架构可被定义为超级页面。在本公开的实施例中,每个存储器子阵列120的块160的每个可独立寻址的位置寻址将在下文中用术语超级页面定义的扩展页面130。

换句话说,在每个子阵列120中用于用SoC装置填充通信信道的128位的原子页面已被放大以包含存储的地址和ECC。

作为非限制性实例,该扩展页面130包括字符串,所述字符串包含用于与SoC装置进行I/O数据交换的第一组至少一百二十八(128)位加上第二组至少二十四(24)个地址位以及最后的或第三组至少十六(16)个ECC位。二十四(24)个地址位足以寻址高达2千兆位的可用存储器空间。

根据本公开,根据存储器阵列的大小,感测放大器SA的输出一次准备双扩展页面,即包括由上述三组数据位、地址位和ECC位的双重组合给出的多个位的超级页面130。

在这里公开的特定但非限制性实例中,每个扩展页面130包含至少168位,其通过以上三组128+24+16个数据、地址和ECC位的组合而获得,并且每个超级页面由一对扩展页面形成,即168×2位的组。

仅为了给出非限制性数字实例,存储器块160的每一行125包含十六个扩展页面。因此,所得到的行包含从可独立寻址的十六个扩展页面的组合中得出的2688位,并且每个包含168位,或者换句话说,包含八个超级页面的组合。

数据单元+地址单元+ECC单元的组合字符串允许根据标准要求实施总线的整个安全覆盖,因为ECC覆盖整个总线通信(数据单元+地址单元),而地址单元的存在提供了数据正好来自控制器的寻址位置的置信度。

因此,每行125包含至少16个页面,其包括存储器字加上对应的地址位和对应的ECC位。显然,可以选择另一大小,并且所报告的值只是出于说明非限制性实例的目的。

为了完整起见,应注意,根据图4中所说明的本公开的一个实施例,虚拟行或线300与存储器子阵列120的每一块160相关联。

此虚拟行300位于存储器阵列的地址空间外部并且用于微调参数的优化。插入该虚拟线以监控单元漂移,并且同时存储不同操作拐角的最佳设置。

该虚拟行300的主要目的是跟踪温度、电压和工艺变化。以此方式,可根据存储在虚拟行中的最佳设置来设置参数以在阵列内执行读取和写入操作。

虚拟行300包含用于存储器装置200的存储器控制器的已知图案。

实际上,预期数据与虚拟行300的内容之间的比较可提供关于改变的信息以带来微调参数。

以这种方式,有可能优化在不同温度、电压或工艺值下发生的读取操作。

为了提供这种可能性,在可编程或可微调寄存器中针对每个不同的温度或电压等级记录微调参数的不同图案值。换句话说,不同的读取电压值被记录在此可编程或可微调寄存器中,用于在不同的温度或电压条件下并通过改变微调参数来执行读取阶段。

这样做,可以检测和比较不同温度或电压值的已知参考图案。该已知参考图案存储在内存储器微控制器中。控制器知道该已知参考图案的地址,并且可以执行读取内部微调的精细微调,直到找到最佳拐角。此时,控制器将使用包含在该行或其中存储器包含用于读取和写入阶段的“最佳”可能微调的另一位置中的信息。

为了更好地理解本公开,仅作为具体实例,假设在虚拟行300中以十六进制形式记录如0x55的已知值。该值特别适合,因为它包含相同数量的“0”逻辑值和“1”逻辑值。

由于该值是先验已知的,所以系统将执行一些读取周期,改变微调参数直到正确读取该值的时刻。正确读取的改变的微调参数将对应于可编程或可微调寄存器中记录的设定温度值或设定电压值。

仅当读取的微调参数完全对应于已知值的正确读取时,才可以执行子阵列120的其它部分或扇区的读取阶段。

换句话说,使用存储在阵列块120的特定虚拟行300中的已知数据字符串对于快速比较当前读取与参考读取阶段是有用的。

实际上不需要在预定的操作条件下存储上述已知值,因为所述图案对于内部控制器及其地址是已知的。因此,控制器可以对微调参数进行扫描,直到以最佳可能的余量读取该图案。此时,找到可能的最佳拐角,并且内部控制器将这些设置用于其它操作。

只有当以可能的最佳微调读取的一些数据读取开始显示高ECC时,控制器才需要额外的检查。此事件可指示操作条件已改变且将需要重新微调阶段。

利用该已知字符串的知识,有可能为设置和保持时间间隔以及为要周期性地微调的其它参数设置校准模式。

存储在虚拟行300中的特定信息在校准阶段期间被读取,并且以非常宽松的定时被读取,使得它们不受检测设置和保持时间间隔的可能问题的影响。

在特定事件(即,温度、参考电压(Vdd)改变)下或在用户请求下,读取存储在虚拟行300中的已知图案,并且内部校准算法开始对配置进行微调以获得最佳性能并避免任何亚稳态。

可选地,集成电路可以具有在上述可编程或可微调寄存器(例如查找表)中存储在每次微调时获得的参数的能力,以便一旦可能发生相同或相似的条件就在将来的场合重新使用所述参数。

因此,集成存储器装置的控制器可在计算新的微调之前检查是否已发生类似环境状况。如果通过从可编程或可微调寄存器检索的数据与存储在参考虚拟行300中的数据之间的比较的肯定结果检测到先前状况,那么此指示可用作寻找新的精细微调的起始点。

作为替代,由于紧急操作正在进行而没有可用的计算时间,所检索的信息本身可以用于随后的微调阶段。

在任何情况下,检测重新微调操作的必要性允许加速和优化调谐过程。

现在更具体地参考图5的实例,已在存储器装置200内提供微调器块155作为微调方法的核心。

此块155在其输入处至少接收表示操作温度的值以及关于参考电压Vdd电平的信息。那些信号可以来自外界,意味着来自片上系统或外部装置的外部。

此外,一个输入可以是外部校准请求。

微调器块155还被构造成利用内部检测器在内部计算内部温度和Vdd信息。

由通向通用块150所指示的多个内部电路的微调总线来表示微调器块155的数字输出。此块被指示为插入在存储器阵列的感测放大器的输出与输出缓冲器之间。此块150提供时钟和数据以执行微调操作。当执行该微调操作时,I/O断开以在这种校准序列期间隔离存储器。同时,被称为“探针”的块175执行来自阵列的数据与来自微调块的数据之间的适当比较。

图5的示意图示出了表示逻辑电路150的感测放大器SA的输出处的读取和写入电路系统,其中必须周期性地微调设置和保持时间间隔。延迟微调通常在包含装置的全局配置的另一块中。

对于感测放大器和需要正确工作以使用存储器装置的模拟电路,微调此块150中所含有的数据。

这些参数可以是块相关的,因为所存储的数据(包含先前公开的虚拟图案0x55)可以在任何拐角处写入。

还应考虑,阵列区块120的擦除阶段将删除“虚拟行”300及其内容。应该始终在擦除阶段之前执行存储操作,以将最佳设置保存在存储器中的其它地方,并在之后恢复。

由于内部存储器控制器知道位置和内容,所以不需要黄金图案(即存储的0x55值)。第二个重要的考虑是此块的擦除可以发生在任何拐角,并且这意味着需要使特殊的最佳参数被恢复,并且然后用使用上述算法找到的最佳值读取。

图3的实例是指通常在工厂中存储在装置中固有的特殊配置块中的延迟配置。

重要的是正确读取虚拟行300的已知内容,使得在实际环境条件下正确读取该内容的所有变化都表示使参数处于重置设置和保持时间间隔的条件所必需的微调调节。如前所述,延迟微调被写入整个存储器的配置块中,并在工厂中存储一次。显然,可以应用该方法,但是当分析眼图并找到最佳点时,永远不会执行擦除,并且最佳设置可以与规则阵列块共享。

如前所述,延迟微调被存储在配置块中,例如块160。存储器子阵列120(或块160,视实施方案而定)中的每一者可包含虚拟行300以存储黄金图案和模拟/数字校准参数。因此,微调器块155的输出处的微调总线在逻辑电路的数据和时钟输入上是活动的,以调节和配置参考图3公开的延迟块,并允许对预期作为需要周期性微调的集成电路的存储器组件进行自微调。

通常,存储器阵列和微调块必须与外界隔离,以确保微调不受来自I/O线的噪声影响。在这方面,一旦接收到用户请求,微调器块开始工作,为隔离器块165HiZ提供特定的输出命令。

首先,微调器155通过激活隔离器165来隔离PCB的外部,例如通过迫使HiZ块165作为输出缓冲器操作。

其次,0x55值的检查允许找到最佳微调。一旦找到微调参数,就寻址查找表以加载所有适当的设置。适当的设置还可以包含执行已被选择的写入和擦除阶段的数据,因为它们将与在0x55探查和比较期间找到的最佳参数一起出现。

使用0x55的微调将总是指向查找表中的有效设置。原因是由于这些设置是工厂选择的并且它们必须覆盖存储器的整个操作范围。

如果没有可用的东西(或这种特征不存在),则从头开始微调,并且激活优化算法。

在这方面,优化算法根据以下过程操作:

读取特殊信息行(甚至读取几次)以建立眼图,并且然后为存储器正在使用的工作点选择最佳设置;

微调器块155包含黄金图案。原因是必须始终在子阵列和/或子阵列块和/或子阵列组被擦除时重写黄金图案。

在擦除操作结束时由快闪存储器控制器执行黄金图案的写入阶段。主要地,擦除的结束将是黄金图案写入和从本地存储区域恢复最佳参数和/或将其从具有虚拟行的另一类似块复制。

微调器块要求对特定虚拟行进行读取操作,但具有标准定时(或具有知道特定温度/Vdd条件的最佳条件)。标准定时通常是默认低速/安全参数。在任何情况下,微调器块知道控制器中的图案,因此即使对于由于SoC 210的直接存储器存取而导致的高存储器阵列速度,也可执行操作。存储器逻辑将执行所存储的黄金图案的若干读取,从而改变读取参数,以找出最佳的读取参数。

如果没有可用的定时,则微调器使用可从设计过程获得的最佳参数。实施所述算法用于找出图6所示眼图的最佳开口;也就是说:使用所有可能的配置逐步地执行读取阶段,将读取进行比较以了解来自黄金配置的良好程度。在操作结束时,检查眼图并且选择最佳设置。

图7表示并入本公开的存储器装置中且包含若干三态驱动器710作为末级的输出缓冲器700的实例。级710的输出被寻址到输出焊盘750,其中输出信号BUFFER#N_OUT是可用的。

可以通过使用驱动器选择器720来选择性地选择每个驱动器710。一旦通过设置选择信号Drive selector config#N启用选择器720,则由输入信号Data_sel[7:0]提供选择。

缓冲器输入信号BUFFER#N_IN由输入级740接收,所述输入级通过预驱动器级730耦合到驱动器710系列。

延迟块760耦合在输入级740的输出与预驱动器级730的输入之间。类似于参考图3公开的实例,该延迟块760接收第一信号Data Delay config#N和第二数据信号Data[7:0]作为输入。

输出缓冲器700的微调调节允许选择正确的输出阻抗。延迟块760微调允许以精细方式调节作为从存储器阵列到输出PAD的数据路径的DATA_PATH,以便相对于SoC时钟优化设置和保持定时。

在这方面,图8示出了有线总线上的传输的简单模型的示意图。图7所示的焊盘750应当被认为耦合到发射器TX,所述发射器可以被认为是如总线线路800的通信信道的一端A。因此,快闪阵列输出缓冲器通过线路800与主机装置或SoC通信,且在此线的相对端处存在表示连接在总线上的另一装置的接收器RX的节点B。

图9和10分别报告了图8的有线总线的相对侧处两个相对节点A和B上的电压值对时间的图的示意图。

可以理解,节点A处的电压值Va是方波形式,而所得到的发送值Vb是正弦波形。

在图9和10中每一个的一侧,报告了眼图,所述眼图是表示和分析高速数字信号的方法。眼图允许快速显现和确定的信号的电质量的关键参数。通过将对应于每个单独位的波形部分折叠成具有垂直轴上的信号幅度和水平轴上的时间的单个图,根据数字波形构造数据眼图。

因此,图9和10描绘了在没有和有噪声的情况下输出缓冲器侧和在接收器侧的波形以及对应和相关的眼图。

从这些表示可以理解,图9表示理想眼图,而图10表示包含失真(例如,负载相关失真)和噪声的真实(或接近真实)眼图。

从这些图中可以明显看出,存在对输出缓冲器的输出信号进行采样的最佳点,并且该点基本上是眼睛的中央部分或框,其中它限定了其中采样可接受的区域。

当然,延迟或阻抗的微调和调谐相位的目标是使眼睛很好地张开,这意味着采样区域相对较宽。

先前公开的方法在DRAM领域和领域和PCI领域中还被称为校准和/或训练,如下:

1.将读取的值与预期值进行比较

a.如果它们匹配,则第一阶段(初始点)结束→参见图6的图中的点610

b.如果一些输出不匹配,则配置被改变直到它们匹配的时刻(因此步骤(a)被迭代若干次)

2.一旦完成初始点,就改变每个配置,以便找到每个最宽的功能间隔(图6的图中的点620)。

减少找出要使用的最佳点的时间的优化方法可以考虑根据以下之一来挑选查找表中的适当值:

随机搜索(逐位)

二进位搜索(逐位)

梯度下降;这意味着逐数据[N-1:0]带给具有2N个字的解空间。

相同的方法可用于装置内的任何其它参数,其取决于集成电路的Vdd/温度/工艺或外部条件。考虑到工艺老化和当需要内部参数重新微调时,这也可能是有用的。

该方法可以与上面公开的存储在快闪内部控制器中的黄金图案基本相同,并且用作找到参数相对于已知值的偏差的方法。

例如,该方法还可以用于匹配PCB阻抗,在这种情况下,微调选择不同的缓冲器Zout,并且用于微调器的反馈是反射信号。

现在参考例如由于热漂移而导致的重新校准,检测执行读取阶段的实际温度值并不重要。如果与已经执行编程阶段的温度水平相比,此温度可能更高(甚至高得多)或更低。这里的问题是温度的变化将生成虚拟漂移并扩大内部水平分布。这种漂移和放大会由于分布的重叠而生成误差。对比装置是新的时,当装置老化时,该效应最严重,因为分布开始时已经扩大。

利用本公开的方法,系统将由任何热漂移自动地保护,因为微调参数是在已执行对存储在虚拟行300中的已知序列的正确读取且已相应地识别包含在可编程或可微调寄存器中且用于在不同温度下或以不同参考电压值读取相同已知值的微调参数之后选择的。

允许在某一温度值下为正确的重新微调阶段识别更合适的读取微调参数的过程不一定会以大的周期性重复。当外部SoC需要时和/或当在读取操作期间检测到高ECC电平时执行所述过程。

相反,当由ECC位检测到可能的问题时,可以周期性地或以更适当的方式执行此过程。

举例来说,发生了这样的情况,增加数目的ECC位(阵列ECC可不同于根据先前评论的安全位)报告从存储器装置进行的过多次数的错误读取。在这种情况下,系统可以自动地开始用于检测可能的热漂移和随后对改变微调参数的需求的过程。

在一些情况下,所述过程可以响应于外部条件的变化(例如通过车辆中的对应传感器来检测温度或电源电压变化)来执行。

本公开的架构和方法具有若干明显的优点。例如,提供了跟随存储器装置或存储器装置的系统所嵌入的环境的任何热漂移的可能性。这与最佳设置相关联。另外,提供系统的可编程性,因为其中记录已知值的虚拟行300可根据需要而删除并重新编程,因此即使根据存储器装置的环境变化也如此。因为0x55可以从内部闪存控制器检索为位置和图案,而在该实施方案中查找表可以来自另一子阵列。

尽管本文中已说明和描述了特定实施例,但所属领域的技术人员将了解,经计算以实现相同结果的布置可替代所示的特定实施例。本公开旨在涵盖本公开的各种实施例的修改或变化。应理解,以上描述是以说明性方式而非限制性方式进行的。在阅读以上描述后,以上实施例的组合和本文中未具体描述的其它实施例对于本领域的技术人员将是显而易见的。本公开的各种实施例的范围包含其中使用以上结构和方法的其它应用。因此,应参考所附权利要求书以及此权利要求书所赋予的等效物的全部范围来确定本公开的各种实施例的范围。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:设置有包括指令寄存器矩阵的JTAG测试接口的存储器组件

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!