CN109872762B - 用于提供dram系统的存储器训练的方法、系统和装置 - Google Patents

用于提供dram系统的存储器训练的方法、系统和装置 Download PDF

Info

Publication number
CN109872762B
CN109872762B CN201910277089.9A CN201910277089A CN109872762B CN 109872762 B CN109872762 B CN 109872762B CN 201910277089 A CN201910277089 A CN 201910277089A CN 109872762 B CN109872762 B CN 109872762B
Authority
CN
China
Prior art keywords
port
dram
signal
dram system
soc
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
Application number
CN201910277089.9A
Other languages
English (en)
Other versions
CN109872762A (zh
Inventor
V·斯里尼瓦斯
M·J·布鲁诺利
D·T·全
D·I·韦斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN109872762A publication Critical patent/CN109872762A/zh
Application granted granted Critical
Publication of CN109872762B publication Critical patent/CN109872762B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/022Detection or location of defective auxiliary circuits, e.g. defective refresh counters in I/O circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters

Landscapes

  • Memory System (AREA)
  • Dram (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

公开了使用端口对端口环回来提供动态随机存取存储器(DRAM)系统的存储器训练以及相关方法、系统和装置。在一个方面,DRAM系统内的第一端口经由环回连接耦合至第二端口。训练信号从片上系统(SoC)发送给第一端口,并且通过该环回连接被传递给第二端口。该训练信号随后被返回给SoC,在此可由SoC的闭环训练引擎检查。可记录对应于硬件参数的训练结果,并且可重复该过程直至在该闭环训练引擎处达成该硬件参数的最优结果。通过使用端口对端口环回配置,可较快速地且以较低的引导存储器使用来训练关于定时、功率的DRAM系统参数以及与DRAM系统相关联的其他参数。

Description

用于提供DRAM系统的存储器训练的方法、系统和装置
本申请是国际申请日为2015年1月6日、国际申请号为PCT/US2015/010218、中国国家申请日为2015年1月6日、申请号为201580005381.5、发明名称为“使用端口对端口环回来提供动态随机存取存储器(DRAM)系统的存储器训练以及相关方法、系统和装置”的专利申请的分案申请。
优先权要求
本申请要求于2014年1月24日提交且题为“SYSTEMS AND METHODS FOR TRAININGMEMORY(用于训练存储器的系统和方法)”的美国临时专利申请S/N.61/930,980的优先权,该申请通过援引全部纳入于此。
本申请还要求于2015年1月5日提交且题为“PROVIDING MEMORY TRAINING OFDYNAMIC RANDOM ACCESS MEMORY(DRAM)SYSTEMS USING PORT-TO-PORT LOOPBACKS,ANDRELATED METHODS,SYSTEMS,AND APPARATUSES(使用端口对端口环回来提供动态随机存取存储器(DRAM)系统的存储器训练以及相关方法、系统和装置)”的美国专利申请S/N.14/589,145的优先权,该申请通过援引全部纳入于此。
技术领域
本公开的技术一般涉及存储器系统。
背景技术
计算系统依赖于存储器来进行存储和操作两者。计算系统用于操作的一种常见存储器类型是随机存取存储器(RAM)。RAM有两种不同类型——静态RAM(SRAM)和动态RAM(DRAM)。DRAM依赖于存储器阵列中的电容器上存在或不存在电荷来指示位值。例如,如果电容器被充电,则位值被认为是逻辑一(1)。如果电容器未被充电,则位值被认为是逻辑零(0)。由于电容器缓慢地丢失电荷,因此应用周期性刷新。当供电终止时,所有电容器放电,并且存储器丢失DRAM中存在的任何数据。
制造工艺的变动可能导致产生不完美DRAM的变动,因为并非DRAM模块中的每个元件都可按预期工作。然而,当提供关于此类变动的知识时,计算系统可以容易地补偿这些变动。例如,计算系统可生成更大或更小的电压来对电容器进行充电,可提供对等待时间的补偿,或者甚至可避免向/从完全缺陷位单元写入/读取的任何尝试。但是,在计算系统可采取此类补救步骤之前,计算系统需要确定哪些DRAM存储器阵列元件(例如,个体位单元)是可操作的、以及哪些特质可能与特定DRAM存储器阵列元件和/或与用于与这些DRAM存储器阵列元件通信的路径相关联。相应地,作为非限定性示例,计算系统可执行训练操作以针对定时和性能来优化至DRAM存储器阵列元件的链路。
常规训练方法依赖于对DRAM存储器阵列元件的串行测试。例如,在常规写测试中,发起至DRAM存储器阵列元件的写命令,向该DRAM存储器阵列元件写入数据,并且随后从该DRAM存储器阵列元件读取数据。训练状态机(或软件)随后可将写数据与读数据作比较,并且确定是否修改(例如,递增或递减)正在训练的参数。虽然此过程是有效的,但此过程可能需要大量的引导存储器来实现,并且因在可作出比较之前必须发出DRAM存储器访问写命令和读命令而可能是耗时的。而且,该比较步骤在可确定最终的最优值之前可能被迭代多次。由此,用于训练存储器的改进的技术可能是期望的。
发明内容
本文所公开的诸方面实现了使用端口对端口环回来提供动态随机存取存储器(DRAM)系统的存储器训练。还公开了相关方法、系统和装置。在一示例性方面,DRAM系统内的第一端口经由环回连接耦合至第二端口。训练信号从片上系统(SoC)被发送给第一端口,并且通过该环回连接被传递给第二端口而无需被写入DRAM系统的存储器阵列或从DRAM系统的存储器阵列读取。该训练信号随后被返回给SoC,在此可由SoC的闭环训练引擎检查。可记录对应于硬件参数的训练结果,并且可重复该过程直至在该闭环训练引擎处达成该硬件参数的最优结果。通过使用端口对端口环回配置,可较快速地且以较低的引导存储器使用来训练关于定时、功率的DRAM系统参数以及与DRAM系统相关联的其他参数。
在另一方面,提供了一种用于提供DRAM系统的存储器训练的方法。该方法包括由DRAM系统的第一端口从SoC接收训练信号。该方法进一步包括由该DRAM系统的第一端口经由环回连接向该DRAM系统的第二端口提供该训练信号。该方法还包括由该DRAM系统的第二端口向该SoC提供该训练信号。
在另一方面,提供了一种用于提供DRAM系统的存储器训练的系统。该系统包括通信地耦合至DRAM系统的SoC。该DRAM系统包括经由环回连接通信地耦合的第一端口和第二端口。该DRAM系统被配置成由该DRAM系统的第一端口从该SoC接收训练信号。该DRAM系统被进一步配置成由该DRAM系统的第一端口经由该环回连接向该DRAM系统的第二端口提供该训练信号。该DRAM系统还被配置成由该DRAM系统的第二端口向该SoC提供该训练信号。
在另一方面,提供了一种包括DRAM系统的装置。该DRAM系统被配置成由DRAM系统的第一端口从SoC接收训练信号。该DRAM系统被进一步配置成由该DRAM系统的第一端口经由该环回连接向第二端口提供该训练信号。该DRAM系统还被配置成由该DRAM系统的第二端口向该SoC提供该训练信号。
附图说明
图1是通信地耦合至片上系统(SoC)的常规动态随机存取存储器(DRAM)系统的框图,这在本领域中是公知的;
图2是与图1的DRAM系统和SoC相关联的示例性训练过程的简化流程图;
图3是本文所公开的用于使用端口对端口环回连接来提供存储器训练的示例性SoC和DRAM系统的框图;
图4是图3的SoC和DRAM系统的示例性实现的详细电路图;
图5是解说用于使用端口对端口环回连接来提供存储器训练的示例性操作的流程图;以及
图6是用于使用端口对端口环回连接来提供存储器训练的可包括图3和4的SoC和/或DRAM系统的示例性的基于处理器的系统的框图。
具体实施方式
现在参照附图,描述了本公开的若干示例性方面。措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述为“示例性”的任何方面不必被解释为优于或胜过其他方面。
本文所公开的诸方面实现了使用端口对端口环回来提供动态随机存取存储器(DRAM)系统的存储器训练。还公开了相关方法、系统和装置。在一示例性方面,DRAM系统内的第一端口经由环回连接耦合至第二端口。训练信号从片上系统(SoC)被发送给第一端口,并且通过该环回连接被传递给第二端口而无需被写入DRAM系统的存储器阵列或从DRAM系统的存储器阵列读取。该训练信号随后被返回给SoC,在此可由SoC的闭环训练引擎检查。可记录对应于硬件参数的训练结果,并且可重复该过程直至在该闭环训练引擎处达成该硬件参数的最优结果。通过使用端口对端口环回配置,可较快速地且以较低的引导存储器使用来训练关于定时、功率的DRAM系统参数以及与DRAM系统相关联的其他参数。
在叙述本文所公开的用于使用端口对端口环回来提供DRAM系统的存储器训练的方法、系统和装置的示例性方面之前,参照图1和2提供常规训练技术的概述。以下参照图3开始讨论与用于使用端口对端口环回来训练DRAM系统的方法、系统和装置相关联的示例性硬件和操作。
就此,图1是通信地耦合至SoC 102的DRAM系统100的常规训练方案的框图,这在本领域中是公知的。如所解说的,SoC 102提供端口104(0)-104(X),其中每个端口耦合至由DRAM系统100提供的相应端口106(0)-106(X)。如本文所使用的,“端口”是指可使用接收机(例如,DRAM系统100)处的共用选通脉冲或时钟(未示出)来重定时的自定时单元。在一些方面,端口104(0)-104(X)和106(0)-106(X)中的每个端口被配置成每次传递特定位数的信息。作为非限定性示例,端口104(0)-104(X)和106(0)-106(X)可被配置成每次传递八(8)位信息,在此情形中,端口104(0)-104(X)和106(0)-106(X)中的每个端口可被称为“字节通道”。
SoC 102和DRAM系统100进一步由分别连接命令和时钟(“CA/CK”)元件112和114的CA/CK线耦合。CA/CK线可被用于在SoC 102与DRAM系统100之间传达命令和处理器时钟信号。DRAM系统100中的端口106(0)-106(X)通信地耦合至DRAM系统100内的存储器阵列116。在一些方面,存储器阵列116可包括用于指示逻辑值的电容器(未示出)或其他元件。将理解,如本文所提供的一些方面可提供更多或更少端口104(0)-104(X)和/或106(0)-106(X)。在一些方面,SoC 102和/或DRAM系统100可包括为清楚起见而未在图1中示出的附加元件。
如上所述,SoC 102可能需要在启动时确定在访问DRAM系统100的元件时是否需要因例如制造偏差或特质而采取任何纠正或补偿动作。例如,SoC102可能需要确定是否有任何定时或性能问题与DRAM系统100的端口106(0)-106(X)或至端口106(0)-106(X)的通信路径相关联。相应地,作为非限定性示例,SoC 102可执行训练操作来优化DRAM系统100的端口106(0)-106(X)以优化定时和/或性能。
图2提供了与图1的SoC 102和DRAM系统100相关联的常规训练过程的简化流程图。为清楚起见,在描述图2的操作时引用了图1的元件。本文所描述的训练过程可被用于设置与例如由与DRAM系统100处于通信的SoC 102使用的定时和/或电压相关联的硬件参数(未示出)。
可作为“伪开环”过程使用从DRAM系统100到SoC 102的读回来执行常规训练过程。如图2中所见,设立命令(CMD)200可从SoC 102传达给DRAM系统100的端口106(0)-106(X)中所选定的一个端口。随后向DRAM系统100提供写命令(写CMD)202以向端口106(0)-106(X)中所选定的这个端口发送训练信号(未示出)。接着,向DRAM系统100提供读命令(读CMD)204,并且随着该训练信号从DRAM系统100的端口106(0)-106(X)中所选定的这个端口被读回到SoC 102而发生读回206。SoC 102的训练模块(未示出)随后评估已从端口106(0)-106(X)中所选定的这个端口读回的训练信号。基于该评估,该训练信号可被递增(INC)或递减(DEC)(如训练INC/DEC 208所指示的)或者以其他方式被修改,并且该过程迭代直至达成最优结果。随后可基于该最优结果来设置端口106(0)-106(X)中所选定的这个端口的硬件参数以供将来使用端口106(0)-106(X)中所选定的这个端口。
虽然图1和2所解说的诸方面可提供DRAM系统100的有效训练,但训练过程可能较慢,因为训练信号必须由DRAM系统100接收,写入存储器阵列116,并且随后从存储器阵列116读取并由DRAM系统100传送。而且,由于图2的训练过程一般在SoC 102启动期间发生,该过程可能需要大量的引导存储器,这可能使得软件招致附加开销。
就此,图3解说了本文公开的用于使用端口对端口环回连接来提供存储器训练的示例性SoC 300和DRAM系统302,由此避免在训练期间访问图1的DRAM系统100的存储器阵列116的需要。如图3中所见,SoC 300和DRAM系统302提供与图1的SoC 102和DRAM系统100的元件相对应的元件,包括SoC 300的端口304(0)-304(X)以及DRAM系统302的端口308(0)-308(X)和存储器阵列310。DRAM系统302进一步提供环回连接312(0)-312(1),其分别耦合毗邻端口308(0)-308(1)和308(2)-308(X)。SoC 300还包括闭环训练引擎307,其在一些方面可向DRAM系统302发送训练信号314并评估接收自DRAM系统302的训练信号314,如以下参照图5更详细讨论的。
在一些方面,使用图3的SoC 300和DRAM系统302的训练包括向DRAM系统302的第一端口(例如,端口308(0))发送训练信号314。训练信号314随后经由环回连接(例如,环回连接312(0))被中继给DRAM系统302的第二端口(例如,端口308(1)),并且被发送回SoC 300。随后将接收自第二端口308(1)的训练信号314与发送给第一端口308(0)的训练信号314作比较以用于训练评估。由于训练信号314无需被写入存储器阵列310,因此与图2的常规训练过程形成对比,图3的端口对端口训练可被认为是“闭环”的。在一些方面,环回连接312(0)-312(1)可以是双向的。例如,在第一训练阶段,训练信号314可从SoC 300发送给端口308(0)并从端口308(1)接收,而在第二训练阶段,训练信号314可被发送给端口308(1)并从端口308(0)接收。
图4中解说了图3的环回连接312(0)-312(1)的示例性实现。在图4中,SoC402的端口400(0)-400(1)连接至DRAM系统408的端口406(0)-406(1)。DRAM系统408的端口406(0)和406(1)中的每个端口分别包括复用器410(0)和410(1)。SoC 402的闭环训练引擎412可将DRAM系统408置于环回模式中,其中复用器410(0)-410(1)选择来自毗邻端口406(0)、406(1)的数据,而不是从DRAM系统408的存储器阵列414检索数据。以此方式,SoC 402可经由环回来接收训练信号(未示出)而不是接收来自存储器阵列414的数据。在一示例性方面且如所解说的,可针对从端口406(1)到端口406(0)的环回将复用器410(0)设置成值“1”,并且可针对从端口406(0)到端口406(1)的环回将复用器410(1)设置成值“1”。将理解,在一些方面可提供其他电路系统来实现环回连接而不脱离本公开的范围。
图5是解说图3的SoC 300和DRAM系统302的用于使用端口对端口环回连接来提供存储器训练的示例性操作的流程图。在描述图5时,为清楚起见而引述图3的元件。在图5中,操作始于SoC 300可任选地禁用第一端口308(0)和第二端口308(1)上的存储器操作(未示出)(框500)。SoC 300随后可配置DRAM系统302的第一端口308(0)和第二端口308(1)以经由环回连接312(0)来通信(框502)。以此方式,第一和第二端口308(0)和308(1)可被用于训练,而端口308(2)-308(X)可继续被用于SoC 300与DRAM系统302之间的任务模式通信。
SoC 300随后可递增或递减由闭环训练引擎307提供的训练信号314(框504)。在一些方面,训练信号314可初始表示一定范围的一个或多个增量训练信号314值中的较低值或较高值。作为非限定性示例,训练信号314可对应于定时训练参数或电压训练参数中的一者或多者。第一端口308(0)随后从SoC300(例如,闭环训练引擎307)接收训练信号314(框506)。第一端口308(0)进而经由环回连接312(0)向第二端口308(1)提供训练信号314(框508)。第二端口308(1)随后向SoC 300(例如,向闭环训练引擎307)提供训练信号314(框510)。以此方式,闭环训练引擎307在一些方面可经由环回来传送训练信号314同时测量DRAM系统302性能的属性。在一些方面,训练信号314可由第二端口308(1)接收,经由环回连接312(0)提供给第一端口308(0),并且由第一端口308(0)提供给SoC 300。可采用此替换环回路径作为以上所描述的环回路径的替代或补充。
一旦从第二端口308(1)接收到训练信号314,闭环训练引擎307就可确定对应于训练信号314的一个或多个训练结果(框512)。作为非限制性示例,(诸)训练结果可包括在闭环训练引擎307对训练信号314的传送和接收期间流逝的时钟循环数目和/或检测到的错误数目。SoC 300随后可确定是否应当进一步递增或递减训练信号314(框514)。例如,SoC 300可能在执行“参数扫掠”的过程中,其中一系列可能训练信号314被迭代地测试。由此,如果SoC300在判定框514确定应当进一步递增或递减训练信号314(即,参数扫掠未完成),则处理返回到框504,并且该过程对于训练信号314的递增或递减值的重复。以此方式,训练信号314可从初始较低值被迭代地修改成越来越高的值或者反之,并且可针对每个训练信号314记录训练结果。
然而,如果SoC 300在判定框514确定不应当进一步递增或递减训练信号314,则SoC 300可基于这一个或多个训练结果来确定DRAM系统302的硬件参数(框516)。在一些方面,确定DRAM系统302的硬件参数可包括SoC 300标识一系列的一个或多个递增训练信号中第一个返回定时异常或错误消息的训练信号314(即,第一个失败的递增训练信号)。SoC300可进一步标识一系列的一个或多个递增训练信号中最后一个返回定时异常或错误消息的训练信号314(即,最后一个失败的递增训练信号)。在一些方面,SoC 300随后可基于第一个失败的递增训练信号与最后一个失败的递增训练信号之间的中值或中点来确定硬件参数。
将理解,以上关于图5所描述的操作可针对端口308(0)-308(X)的全部或子集重复。将进一步理解,在已针对端口308(0)-308(X)中的一个端口确定硬件参数(即,作为非限制性示例,定时参数或电压参数)之后,可针对端口308(0)-308(X)中的同一端口关于不同硬件参数重复以上所描述的操作。
根据本文所公开的诸方面使用端口对端口环回来提供DRAM系统的存储器训练可在任何基于处理器的设备中提供或集成到任何基于处理器的设备中。不作为限定的示例包括机顶盒、娱乐单元、导航设备、通信设备、固定位置数据单元、移动位置数据单元、移动电话、蜂窝电话、计算机、便携式计算机、台式计算机、个人数字助理(PDA)、监视器、计算机监视器、电视机、调谐器、无线电、卫星无线电、音乐播放器、数字音乐播放器、便携式音乐播放器、数字视频播放器、视频播放器、数字视频碟(DVD)播放器、以及便携式数字视频播放器。
就此,图6解说了根据图3中的诸方面的可提供SoC 300和/或DRAM系统302的基于处理器的系统600的示例。在一些方面,基于处理器的系统600可包括图3的SoC 300。在图6的示例中,基于处理器的系统600包括一个或多个中央处理单元(CPU)602,其各自包括一个或多个处理器604。(诸)CPU 602可具有耦合至(诸)处理器604以用于对临时存储的数据进行快速访问的高速缓存存储器606。(诸)CPU 602被耦合到系统总线608,且可将基于处理器的系统600中所包括的诸设备互耦。如众所周知的,(诸)CPU 602通过在系统总线608上交换地址、控制、和数据信息来与这些其他设备通信。
其它设备可被连接到系统总线608。如图6中所解说的,作为示例,这些设备可包括存储器系统610、一个或多个输入设备612、一个或多个输出设备614、一个或多个网络接口设备616、以及一个或多个显示器控制器618。(诸)输入设备612可包括任何类型的输入设备,包括但不限于输入键、开关、语音处理器等。(诸)输出设备614可包括任何类型的输出设备,包括但不限于音频、视频、其他视觉指示器等。(诸)网络接口设备616可以是被配置成允许往来于网络620的数据交换的任何设备。网络620可以是任何类型的网络,包括但不限于:有线或无线网络、私有或公共网络、局域网(LAN)、广域网(WLAN)、或因特网。(诸)网络接口设备616可被配置成支持所期望的任何类型的通信协议。存储器系统610可包括存储器控制器622以及一个或多个存储器单元624(0)-624(N)。在一些方面,存储器系统610可包括根据图3的示例性方面的DRAM系统302。
(诸)CPU 602还可被配置成通过系统总线608访问(诸)显示器控制器618以控制发送给一个或多个显示器626的信息。(诸)显示器控制器618经由一个或多个视频处理器628向(诸)显示器626发送要显示的信息,视频处理器628将要显示的信息处理成适于(诸)显示器626的格式。(诸)显示器626可包括任何类型的显示器,包括但不限于:阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器等。
本领域技术人员将进一步领会,结合本文所公开的诸方面描述的各种解说性逻辑块、模块、电路和算法可被实现为电子硬件、存储在存储器中或另一计算机可读介质中并由处理器或其它处理设备执行的指令、或这两者的组合。作为示例,本文中描述的设备可用在任何电路、硬件组件、集成电路(IC)、或IC芯片中。本文所公开的存储器可以是任何类型和大小的存储器,且可被配置成存储所需的任何类型的信息。为清楚地解说这种可互换性,以上已经以其功能性的形式一般地描述了各种解说性组件、框、模块、电路和步骤。此类功能性如何被实现取决于具体应用、设计选择和/或加诸于整体系统上的设计约束。技术人员可针对每种特定应用以不同方式来实现所描述的功能性,但此类实现决策不应被解读为致使脱离本发明的范围。
结合本文中公开的诸方面描述的各种解说性逻辑块、模块、以及电路可用设计成执行本文中描述的功能的处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。处理器可以是微处理器,但在替代方案中,处理器可以是任何常规处理器、控制器、微控制器或状态机。处理器还可以被实现为计算设备的组合,例如DSP与微处理器的组合、多个微处理器、与DSP核心协同的一个或多个微处理器、或任何其它此类配置。
本文所公开的各方面可被体现为硬件和存储在硬件中的指令,并且可驻留在例如随机存取存储器(RAM)、闪存、只读存储器(ROM)、电可编程ROM(EPROM)、电可擦可编程ROM(EEPROM)、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其它形式的计算机可读介质中。示例性存储介质被耦合到处理器,以使得处理器能从/向该存储介质读取/写入信息。在替换方案中,存储介质可以被整合到处理器。处理器和存储介质可驻留在ASIC中。ASIC可驻留在远程站中。在替换方案中,处理器和存储介质可作为分立组件驻留在远程站、基站或服务器中。
还注意到,本文任何示例性方面中描述的操作步骤是为了提供示例和讨论而被描述的。所描述的操作可按除了所解说的顺序以外的众多不同顺序来执行。而且,在单个操作步骤中描述的操作实际上可在多个不同步骤中执行。另外,在示例性方面中讨论的一个或多个操作步骤可被组合。应理解,如对本领域技术人员显而易见地,在流程图中解说的操作步骤可进行众多不同的修改。本领域技术人员还将理解,可使用各种不同技艺和技术中的任何一种来表示信息和信号。例如,贯穿上面描述始终可能被述及的数据、指令、命令、信息、信号、位(比特)、码元、和码片可由电压、电流、电磁波、磁场或磁粒子、光场或光粒子、或其任何组合来表示。
提供对本公开的先前描述是为使得本领域任何技术人员皆能够制作或使用本公开。对本公开的各种修改对本领域技术人员而言将容易是显而易见的,并且本文中所定义的普适原理可被应用到其他变型而不会脱离本公开的精神或范围。由此,本公开并非旨在被限定于本文中所描述的示例和设计,而是应被授予与本文中所公开的原理和新颖特征一致的最广义的范围。

Claims (19)

1.一种用于提供动态随机存取存储器DRAM系统的存储器训练的方法,包括:
禁用所述DRAM系统的多个端口中的所述DRAM系统的第一端口和所述DRAM系统的第二端口上的存储器操作,其中所述多个端口中的每个端口通信地耦合至所述DRAM系统的存储器阵列并被配置成传递要被写入所述存储器阵列的数据和从所述存储器阵列读取的数据;
将所述DRAM系统的所述第一端口和所述DRAM系统的所述第二端口配置成经由环回连接来通信;
由所述DRAM系统的所述第一端口从片上系统SoC接收信号;
由所述DRAM系统的所述第一端口经由所述环回连接向所述DRAM系统的所述第二端口提供所述信号;以及
由所述DRAM系统的所述第二端口向所述SoC提供所述信号。
2.如权利要求1所述的方法,其特征在于:
接收所述信号包括从所述SoC的闭环引擎接收所述信号;并且
向所述SoC提供所述信号包括向所述SoC的所述闭环引擎提供所述信号。
3.如权利要求2所述的方法,其特征在于,所述信号是所述闭环引擎所提供的一个或多个递增信号之一;
所述方法进一步包括:
确定对应于所述一个或多个递增信号的一个或多个结果;以及
基于所述一个或多个结果来确定所述DRAM系统的硬件参数。
4.如权利要求3所述的方法,其特征在于,确定所述硬件参数包括确定所述一个或多个递增信号中第一个失败的递增信号与所述一个或多个递增信号中最后一个失败的递增信号之间的中值。
5.如权利要求3所述的方法,其特征在于,确定对应于所述一个或多个递增信号的所述一个或多个结果包括进行参数扫掠。
6.如权利要求1所述的方法,其特征在于,所述信号包括定时参数和电压参数中的一者或多者。
7.如权利要求1所述的方法,其特征在于,所述第一端口和所述第二端口在所述DRAM系统内是毗邻的。
8.如权利要求1所述的方法,其特征在于,所述环回连接是双向的。
9.如权利要求1所述的方法,其特征在于,所述第一端口和所述第二端口中的每一者包括能操作用于选择所述环回连接的复用器MUX。
10.一种用于提供动态随机存取存储器DRAM系统的存储器训练的系统,包括:
通信地耦合至DRAM系统的片上系统SoC;
包括存储器阵列和多个端口的所述DRAM系统,所述多个端口包括经由环回连接通信地耦合的第一端口和第二端口,其中所述多个端口中的每个端口通信地耦合至所述存储器阵列并被配置成传递要被写入所述存储器阵列的数据和从所述存储器阵列读取的数据;
其中所述DRAM系统被配置成:
由所述DRAM系统的所述第一端口从所述SoC接收信号;
由所述DRAM系统的所述第一端口经由所述环回连接向所述DRAM系统的所述第二端口提供所述信号;以及
由所述DRAM系统的所述第二端口向所述SoC提供所述信号;以及
所述SoC被配置成:
禁用所述第一端口和所述第二端口上的存储器操作;以及
将所述第一端口和所述第二端口配置成经由所述环回连接来通信。
11.如权利要求10所述的系统,其特征在于,所述SoC包括闭环引擎;
其中所述DRAM系统被进一步配置成:
从所述SoC的所述闭环引擎接收所述信号;以及
向所述SoC的所述闭环引擎提供所述信号。
12.如权利要求11所述的系统,其特征在于,所述闭环引擎被配置成:
提供包括所述信号的一个或多个递增信号;
确定对应于所述一个或多个递增信号的一个或多个结果;以及
基于所述一个或多个结果来确定所述DRAM系统的硬件参数。
13.如权利要求12所述的系统,其特征在于,所述闭环引擎被配置成通过确定所述一个或多个递增信号中第一个失败的递增信号与所述一个或多个递增信号中最后一个失败的递增信号之间的中值来确定所述硬件参数。
14.如权利要求12所述的系统,其特征在于,所述闭环引擎被配置成通过进行参数扫掠来确定对应于所述一个或多个递增信号的所述一个或多个结果。
15.如权利要求10所述的系统,其特征在于,所述DRAM系统被配置成接收包括定时参数和电压参数中的一者或多者的所述信号。
16.如权利要求10所述的系统,其特征在于,所述第一端口和所述第二端口在所述DRAM系统内是毗邻的。
17.如权利要求10所述的系统,其特征在于,所述环回连接是双向的。
18.如权利要求10所述的系统,其特征在于,所述第一端口和所述第二端口中的每一者包括被配置成选择所述环回连接的复用器MUX。
19.一种包括动态随机存取存储器DRAM系统的装置,其被配置成:
禁用所述DRAM系统的多个端口中的所述DRAM系统的第一端口和所述DRAM系统的第二端口上的存储器操作,其中所述多个端口中的每个端口通信地耦合至所述DRAM系统的存储器阵列并被配置成传递要被写入所述存储器阵列的数据和从所述存储器阵列读取的数据;
将所述DRAM系统的所述第一端口和所述DRAM系统的所述第二端口配置成经由环回连接来通信;
由所述DRAM系统的所述第一端口从片上系统SoC接收信号;
由所述DRAM系统的所述第一端口经由所述环回连接向所述第二端口提供所述信号;以及
由所述DRAM系统的所述第二端口向所述SoC提供所述信号。
CN201910277089.9A 2014-01-24 2015-01-06 用于提供dram系统的存储器训练的方法、系统和装置 Active CN109872762B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201461930980P 2014-01-24 2014-01-24
US61/930,980 2014-01-24
US14/589,145 2015-01-05
US14/589,145 US9767868B2 (en) 2014-01-24 2015-01-05 Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses
CN201580005381.5A CN105934796B (zh) 2014-01-24 2015-01-06 使用端口对端口环回来提供动态随机存取存储器(dram)系统的存储器训练以及相关方法、系统和装置
PCT/US2015/010218 WO2015112326A1 (en) 2014-01-24 2015-01-06 Providing memory training of dynamic random access memory (dram) systems using port-to-port loopbacks, and related methods, systems, and apparatuses

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580005381.5A Division CN105934796B (zh) 2014-01-24 2015-01-06 使用端口对端口环回来提供动态随机存取存储器(dram)系统的存储器训练以及相关方法、系统和装置

Publications (2)

Publication Number Publication Date
CN109872762A CN109872762A (zh) 2019-06-11
CN109872762B true CN109872762B (zh) 2022-11-29

Family

ID=53679614

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910277089.9A Active CN109872762B (zh) 2014-01-24 2015-01-06 用于提供dram系统的存储器训练的方法、系统和装置
CN201580005381.5A Active CN105934796B (zh) 2014-01-24 2015-01-06 使用端口对端口环回来提供动态随机存取存储器(dram)系统的存储器训练以及相关方法、系统和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580005381.5A Active CN105934796B (zh) 2014-01-24 2015-01-06 使用端口对端口环回来提供动态随机存取存储器(dram)系统的存储器训练以及相关方法、系统和装置

Country Status (8)

Country Link
US (2) US9767868B2 (zh)
EP (2) EP3514796B1 (zh)
JP (1) JP6517221B2 (zh)
KR (2) KR102354764B1 (zh)
CN (2) CN109872762B (zh)
AR (1) AR102802A1 (zh)
TW (1) TWI719933B (zh)
WO (1) WO2015112326A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9767868B2 (en) 2014-01-24 2017-09-19 Qualcomm Incorporated Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses
KR20180046428A (ko) 2016-10-27 2018-05-09 삼성전자주식회사 메모리 장치 및 그것의 트레이닝 방법
CN107861900B (zh) * 2017-10-24 2019-12-31 华大半导体有限公司 信号选择模块和信号选择系统
KR20190096753A (ko) 2018-02-09 2019-08-20 삼성전자주식회사 클럭 트레이닝을 수행하는 시스템 온 칩 및 이를 포함하는 컴퓨팅 시스템
WO2020171800A1 (en) 2019-02-19 2020-08-27 Mentor Graphics Corporation Radio equipment test device
CN110941395B (zh) * 2019-11-15 2023-06-16 深圳宏芯宇电子股份有限公司 动态随机存取存储器、内存管理方法、系统及存储介质
KR20210136203A (ko) 2020-05-06 2021-11-17 삼성전자주식회사 저장 장치 및 그것의 리트레이닝 방법
CN116795430A (zh) * 2023-06-27 2023-09-22 上海奎芯集成电路设计有限公司 存储器训练装置及存储器训练方法

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6711092B1 (en) * 2002-04-30 2004-03-23 Virage Logic Corp. Semiconductor memory with multiple timing loops
US7234028B2 (en) * 2002-12-31 2007-06-19 Intel Corporation Power/performance optimized cache using memory write prevention through write snarfing
US6845033B2 (en) * 2003-03-05 2005-01-18 International Business Machines Corporation Structure and system-on-chip integration of a two-transistor and two-capacitor memory cell for trench technology
US7184916B2 (en) * 2003-05-20 2007-02-27 Cray Inc. Apparatus and method for testing memory cards
US7337346B2 (en) 2004-03-04 2008-02-26 Ati Technologies Inc. Method and apparatus for fine tuning a memory interface
US6961862B2 (en) 2004-03-17 2005-11-01 Rambus, Inc. Drift tracking feedback for communication channels
US7702874B2 (en) * 2005-06-22 2010-04-20 Intel Corporation Memory device identification
US7603246B2 (en) * 2006-03-31 2009-10-13 Nvidia Corporation Data interface calibration
KR100879560B1 (ko) * 2006-12-04 2009-01-22 삼성전자주식회사 에러 검출 코드를 이용한 데이터 트레이닝 방법 및 이에적합한 시스템
JP2008210487A (ja) 2007-02-28 2008-09-11 Fujitsu Ltd Ddr−sdramインターフェース回路、その試験方法、およびその試験システム
US7924637B2 (en) * 2008-03-31 2011-04-12 Advanced Micro Devices, Inc. Method for training dynamic random access memory (DRAM) controller timing delays
US8131915B1 (en) * 2008-04-11 2012-03-06 Marvell Intentional Ltd. Modifying or overwriting data stored in flash memory
JP5665263B2 (ja) 2008-05-30 2015-02-04 ピーエスフォー ルクスコ エスエイアールエルPS4 Luxco S.a.r.l. 半導体記憶装置、及び該半導体記憶装置のテスト方法
US9111645B2 (en) * 2008-08-08 2015-08-18 Rambus Inc. Request-command encoding for reduced-data-rate testing
JP2010079520A (ja) * 2008-09-25 2010-04-08 Ricoh Co Ltd メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
KR101532041B1 (ko) * 2008-11-05 2015-06-29 삼성전자주식회사 모바일 단말기와 이를 이용한 오디오 재생 방법
US20110238870A1 (en) 2008-12-03 2011-09-29 Rambus Inc. Memory System With Command Filtering
KR20100068670A (ko) * 2008-12-15 2010-06-24 삼성전자주식회사 채널 스큐 보상 기능을 갖는 인터페이스 회로, 이를 구비한통신 시스템 및 채널 스큐 보상 방법
WO2010078383A1 (en) * 2008-12-31 2010-07-08 Rambus Inc. Active calibration for high-speed memory devices
US8949520B2 (en) 2009-01-22 2015-02-03 Rambus Inc. Maintenance operations in a DRAM
US8683164B2 (en) * 2009-02-04 2014-03-25 Micron Technology, Inc. Stacked-die memory systems and methods for training stacked-die memory systems
TWI425508B (zh) * 2009-04-23 2014-02-01 Orise Technology Co Ltd 具隱藏更新及雙埠能力之sram相容嵌入式dram裝置
CN101877242B (zh) * 2009-04-30 2013-03-13 旭曜科技股份有限公司 具隐藏更新及双端口能力的sram兼容嵌入式dram装置
US8386867B2 (en) * 2009-07-02 2013-02-26 Silicon Image, Inc. Computer memory test structure
US8582382B2 (en) * 2010-03-23 2013-11-12 Mosaid Technologies Incorporated Memory system having a plurality of serially connected devices
JP2012194686A (ja) * 2011-03-15 2012-10-11 Elpida Memory Inc システム、システムにおける調整装置、およびシステムの制御方法
WO2013060361A1 (en) 2011-10-25 2013-05-02 Advantest (Singapore) Pte. Ltd. Automatic test equipment
US9330031B2 (en) * 2011-12-09 2016-05-03 Nvidia Corporation System and method for calibration of serial links using a serial-to-parallel loopback
US20130201316A1 (en) * 2012-01-09 2013-08-08 May Patents Ltd. System and method for server based control
JP5892325B2 (ja) 2012-02-08 2016-03-23 横河電機株式会社 ループバック回路
US9256531B2 (en) * 2012-06-19 2016-02-09 Samsung Electronics Co., Ltd. Memory system and SoC including linear addresss remapping logic
US8924786B2 (en) 2012-06-28 2014-12-30 Intel Corporation No-touch stress testing of memory I/O interfaces
US8904248B2 (en) 2012-07-10 2014-12-02 Apple Inc. Noise rejection for built-in self-test with loopback
US9257200B2 (en) * 2012-07-27 2016-02-09 Avago Technologies General Ip (Singapore) Pte. Ltd. Bit error testing and training in double data rate (DDR) memory system
US9767868B2 (en) 2014-01-24 2017-09-19 Qualcomm Incorporated Providing memory training of dynamic random access memory (DRAM) systems using port-to-port loopbacks, and related methods, systems, and apparatuses
US10275386B2 (en) * 2014-06-27 2019-04-30 Advanced Micro Devices, Inc. Memory physical layer interface logic for generating dynamic random access memory (DRAM) commands with programmable delays

Also Published As

Publication number Publication date
TW201539441A (zh) 2015-10-16
EP3097565A1 (en) 2016-11-30
JP2017504905A (ja) 2017-02-09
US20170278554A1 (en) 2017-09-28
TWI719933B (zh) 2021-03-01
KR102354764B1 (ko) 2022-01-21
KR20160113150A (ko) 2016-09-28
CN105934796B (zh) 2019-04-19
KR20210059017A (ko) 2021-05-24
US9767868B2 (en) 2017-09-19
CN105934796A (zh) 2016-09-07
CN109872762A (zh) 2019-06-11
EP3514796A2 (en) 2019-07-24
EP3514796A3 (en) 2019-12-04
EP3514796B1 (en) 2021-04-21
US20150213849A1 (en) 2015-07-30
WO2015112326A1 (en) 2015-07-30
US9947377B2 (en) 2018-04-17
AR102802A1 (es) 2017-03-29
JP6517221B2 (ja) 2019-05-22

Similar Documents

Publication Publication Date Title
CN109872762B (zh) 用于提供dram系统的存储器训练的方法、系统和装置
CN109964213B (zh) 在基于处理器的系统中提供经扩展动态随机存取存储器突发长度
CN110097906A (zh) 调节占空比的存储器装置和具有存储器装置的存储器系统
US8472278B2 (en) Circuits, systems and methods for adjusting clock signals based on measured performance characteristics
CN104956440B (zh) 用于确定存储器的参考电压的装置、方法和系统
CN104205234A (zh) 用于存储器电路测试引擎的通用地址加扰器
US20090086558A1 (en) Multi-port memory device with serial input/output interface
US20150323959A1 (en) Clock skew management systems, methods, and related components
US9111645B2 (en) Request-command encoding for reduced-data-rate testing
CN115516428A (zh) 具有可配置错误校正码(ecc)数据保护的系统和存储器及相关方法
US9859023B2 (en) Memory test system and method of testing memory device
CN110892483B (zh) 采用有限数量的测试引脚测试存储器件的方法以及利用该方法的存储器件
US10541044B2 (en) Providing efficient handling of memory array failures in processor-based systems
CN105229746A (zh) 在进行数据存取之前将数据从存储器中的有缺陷数据项重导向到冗余数据项,及相关系统及方法
US9007817B2 (en) Pre-charging bitlines in a static random access memory (SRAM) prior to data access for reducing leakage power, and related systems and methods
CN109949853B (zh) 涉及在低速操作环境中执行高速测试的半导体设备和系统
CN111247588B (zh) 字节使能存储器内建自测试(mbist)算法
US9576620B2 (en) Semiconductor apparatus and operating method thereof
KR101907072B1 (ko) 반도체 메모리 장치 및 그 동작 방법

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