可编程诊断存储器模块的制作方法

文档序号:6747763阅读:258来源:国知局
专利名称:可编程诊断存储器模块的制作方法
技术领域
本发明一般地涉及处理系统存储器子系统,更具体地说,涉及一种提供可编程功 能性来观察和/或改变存储器模块行为的诊断存储器模块。
背景技术
在现今的计算机系统中的存储器子系统包括提供系统存储器的多个存储器模块。 在设计及制造这些计算机系统及其组件(例如处理器刀片单元或主板,具体地说,专用存 储器控制器单元及结合了存储器控制器单元的处理器)期间,需要评估诸如错误检测及错 误校正之类的特征,以及存储器性能的设计裕度,例如读取循环延迟及写入循环定时裕度。
但是,实际存储器件的性能基本上被设计所固定,因此测试错误检测/校正机制 的技术在传统上受限于诸如使用"已知不良"模块的方法,或是诸如通过禁用奇偶校验信息 来强制奇偶校验错误的技术。软件长久以来已可用于执行系统存储器测试,但是这些测试 是在被设计所固定的存储器实现上执行,或是在实验室环境中在外部来操纵。通过改变外 部负载或端接器来评估定时裕度,但这些技术相当耗时,并仅可提供实际定时裕度的概略 评估。再者,这些方法并未揭示描述存储器模块内部的行为的信息,而仅揭示当被外部加载 影响时存储器模块的行为。 可直接插入标准化存储器模块插座中的负载器件提供了存储器控制器及系统设 计评估的某种简化,其中可提供测试点,同时仍提供等效于实际存储器件的额定负载。但 是,这种测试模块基本上具有固定的信号加载值,并仅使用无源负载及测试点来取代存储 器件,其中该无源负载近似于实际存储器模块的加载。为了改变加载,所插入的负载器件将 必须被移除,而必须插入具有不同加载特性的另一个负载器件。所提供的测试点亦未位于 存储装置的实际位置处,其不能被写入及读取,因此仅可提供外部存储器总线信号的测量。 再者,使用这种器件的测试错误检测/校正机制仍受限于诸如外部加载测试点直到发生错 误为止的技术。 因此,需要提供一种方法及装置来评估存储器控制器及存储器子系统设计,藉以 提供存储器子系统行为的灵活操纵,以及提供与在存储装置的实际位置处的信号行为有关 的信息。还需要提供与存储器模块内部的信号行为有关的信息。

发明内容
本发明提供一种诊断存储器模块及测试方法,其中可提供存储器子系统行为的灵活操纵,以及与所述存储装置的实际位置处的信号行为有关的信息,其中包括存储器模块 内部的信号行为。 所述诊断存储器模块包括存储器模块接口端子,用于将所述诊断存储器模块连 接到存储器子系统,以取代正常存储器模块;以及接口,用于在所述诊断存储器模块与外部 诊断系统之间通信。 所述诊断存储器模块可包括用于改变存储器模块信号的行为的可编程组件,如具 有可编程驱动强度的输出驱动器、用于改变所述存储器模块接口端子处的电气负载的可编 程加载电路。所述诊断存储器模块还可包括处理器核心,用于执行程序指令来执行诊断操 作,并且所述程序指令可从所述外部诊断系统被下载到所述处理器核心。备选地,可提供专 用逻辑来响应于从所述接口接收到命令而执行诊断操作。 所述处理器核心或专用逻辑可执行诸如以下的操作改变写入到所述诊断存储器 模块的数据流来模拟错误、改变地址与数据信号之间的定时、以及操纵所述诊断存储器模 块的端子上的信号,例如,在模拟域中的电源连接上引入噪声。所述诊断存储器模块还可包 括测试点,用于提供外部测试设备对所述诊断存储器模块的信号的访问。 前述及其他本发明的目的、特征及优点将可由以下对于本发明的优选实施例的更 为特定的说明来进行了解,如附图中所述。


在所附权利要求中说明了被认为是本发明特性的新颖特征。但是,当结合附图阅
读时,通过参考以下对示例性实施例的详细说明,可以最佳地理解发明本身及其优选使用
方式、进一步的目的和优点,其中相同的标号指示相同的部件,这些附图是 图1为安装有根据本发明实施例的诊断存储器模块并耦合至工作站测试系统的
计算机系统的方块图; 图2为根据本发明实施例的诊断存储器模块的方块图; 图3为根据本发明实施例的描述图2的可编程负载/端接器35的细节的示意图; 以及 图4为根据本发明实施例的描述图2的可编程缓冲器/延迟32的细节的示意图。
具体实施例方式
本发明涉及一种诊断存储器模块,用于执行存储器子系统设计的测试与评估。所 述存储器模块根据所述系统的物理设计及可由所述系统容纳的存储器模块类型而封装成 插入到可容纳正常存储器模块的标准连接器中。在示例性实施例中,根据现今通用的封装 型式而假设双列直插存储器模块(DI匪)封装。但是可理解,本发明的诊断存储器模块可以 实施成任何型式的封装,以及用于任何存储器件架构。本发明的诊断存储器模块包括可编 程组件(如处理器核心),其用于执行诊断存储器模块内的多种操作,例如改变存储器模块 接口信号的加载及定时关系,以及改变所提供的存储器模块的内容而影响错误。所述诊断 存储器模块可以包含也可不包含实施正常存储器模块功能性的完整存储阵列,因此所述内 容可为"假设性",与实际存储在实际存储阵列中的内容相反。实际上,写入传输的内容可以 存储在缓冲器中,经过改变,然后响应于写入操作而返回,因此所述诊断存储器模块可提供
6或不提供由除与所述诊断存储器模块一起使用的测试程序以外的软件所预期的实际存储。
本发明的诊断存储器模块可以是类型可编程的,以使体现存储器模块的集成电路 的单一实施可以选择性地调整来模拟例如DDR及DDR2DRAM模块,其对于物理互连方案存在 适当的改变。所述选择可以在程序控制下进行(通过将诊断存储器模块程序下载到所述存 储器模块内的程序存储装置中),或可由硬接线选择机制(例如跳接器或开关)来进行。所 述存储器模块可以经由上述的下载机制来编程,或是所述诊断程序可以永久地存储或存储 在可支持重新编程的非易失性存储器中。所述可编程组件及诊断程序可以是处理器核心及 相关的程序指令、专用逻辑,或可编程逻辑阵列及相关的编程代码。 现在参照图l,其例示可实施本发明的一种系统。工作站计算机10可为个人计算 机、通用工作站、或专用测试计算机系统。工作站计算机系统10包括图形显示器16,用于提 供视觉信息给用户,并可用于监视自本发明实施例接收的操作数值,以及控制设置及下载 可执行本发明的方法的程序代码,这通过与目标计算机系统21内的诊断存储器模块20进 行通信来完成。键盘17A及指点装置17B附加至工作站计算机10来接收用户输入。工作 站计算机10包括耦合至存储器14的处理器12,存储器14包含由处理器12执行的程序指 令,其中包括根据本发明实施例的程序指令,用于控制及接收来自目标计算机系统21的信 息。根据本发明的实施例的计算机程序产品包括介质,例如光盘CD,其可存储编码的程序指 令,用于由CD-ROM驱动器15读取,并存储在存储器14中以由处理器12执行。
以可在刀片服务器系统中采用的刀片处理器单元的形式例示目标计算机系统21。 处理器核心24A及24B耦合于第3层(L3)高速缓存单元26,其耦合至存储器控制器单元 (MCU)28,后者控制在存储器子系统与L3高速缓存单元26之间的程序指令和数据的传输。 所述存储器子系统包括四个用于系统存储器的DI匪插座,其在所例示的实施例中使用三 个正常DI匪22及一个根据本发明实施例的诊断DI匪20来填充。工作站计算机系统10的 测试器接口 18经由接口耦合至诊断DI匪20,所述接口如联合试验行动组(JTAG)接口、专 用串行接口、扫描链接口,或任何其他适合在诊断DI匪20与工作站计算机系统10之间传 送数据及程序/PGA配置数据的通信链路。测试器接口 18之间的电气连接可以是通过探针 到诊断DI匪20的电路板、通过缆线到诊断DI匪20上的附加连接器,或通过添加到通信接 口的附加协议,后者通过正常的DI匪连接器在DI匪20中实现,如为DIMM电源管理及DI匪 配置信息取回所提供的。 现在参照图2,示出了根据本发明实施例的诊断DI匪20的方块图。接口 36提供 了工作站计算机系统10与处理器核心34(或备选地专用或可编程逻辑,如PGA)之间的上 述数据和程序链路。诊断DI匪20包括连接器30,其通过边缘连接器端子31连接至目标系 统20,边缘连接器端子31为数据信号D[O:N]、地址信号A[O:M]及控制信号CTL提供连接。 可选的存储阵列38提供如同正常DI匪的操作,并可为了特殊诊断操作而由处理器核心34 绕过,这将在以下更为详细地说明。提供缓冲器33来模拟数据读取及数据写入操作,其可 随着与存储阵列38所执行的操作的性能而改变。处理器核心34可修改缓冲器33的内容 来模拟错误,且缓冲器33还可包括ECC和/或奇偶校验位,使得可在写入后设置错误指示 或实际错误状况,以使后续的读取操作产生所述错误状况。可容易地以任何模式产生错误 状况,例如整体线失效、单一及多位线失效及瞬变位错误。可编程缓冲器/延迟电路32允 许处理器核心34设置去往及来自缓冲器33的接口的特性。可连同地址信号A
、控制信号CTL和/或数据信号D
的延迟一起设置缓冲器/延迟电路32的读取输出强度, 以便可探索地址、数据与控制信号之间的早期/晚期定时关系,以评估设计及操作系统来 找出缺点或边界线定时条件并确定定时裕度。 可编程负载/端接器电路35提供总线加载、定时及电压特性的变化,这通过处理 器核心34可编程地调整A
、控制信号CTL和/或数据信号D
的总线端接/负载 特性来完成。噪声发生器电路37(其可以是模拟电路,例如通过电阻耦合到连接器30上 的一个或多个信号的模数转换器(ADC),或是数字切换的电路,后者在模拟域中影响连接器 30上的信号)通过引入噪声来提供存储器子系统中的噪声效果的模拟。例如,噪声发生器 电路37可在连接器30的电源连接VDD上引入噪声,且所述噪声的量级/特性可被改变来 观察对图1的诊断DI匪20或正常DI匪22的性能的影响。 现在参照图3,其中示出了根据本发明实施例的可编程逻辑/端接器电路35的细 节。寄存器41接收来自处理器核心34的值并控制一组晶体管Nl-N4,后者选择性地将端接 电阻器Rl及R2 (其分别连接至端接电压源VI及V2)的任意组合耦合到连接器30 (如端子 T)的信号。加载电容器C1及C2也选择性地耦合至连接器30的信号,以改变容性加载。
现在参照图4,其中示出了根据本发明实施例的可编程缓冲器/延迟电路32的细 节。寄存器42接收一数值来设置由晶体管N10及P10实现的三态反相器的驱动强度,晶体 管N10及P10通过晶体管P11-P14耦合至电源轨VDD及通过晶体管N11-N14耦合至接地。 根据寄存器42中设置的数值以组合方式选择性地使能晶体管P11-P14及晶体管N11-N14 的栅极,以改变由晶体管NIO及PIO实现的三态反相器的源极电阻,这可改变由到端子T的 对应输出信号提供的转换速率/延迟时间。可编程缓冲器/延迟电路32还为在端子T处 接收的输入信号提供可编程输入延迟,方式是使用多路复用器43 (其具有由寄存器42提供 的位所控制的选择)选择由反相器11-16形成的延迟链的分接点。 上述实施例提供可编程总线线加载、延迟及数据操纵,其可模拟宽广范围的操作 及错误条件。多种程序可被下载到处理器核心34,并用于执行测试模式,其可检验及诊断存 储器子系统设计中的错误。上述实施例还提供了在电源和/或总线上产生噪声,以使操作 条件恶化以便测试存储器子系统设计的稳固性的能力。 虽然参考本发明的优选实施例具体示出并描述了本发明,但是本领域的技术人员 将理解,在不偏离本发明的精神和范围的情况下,可以在形式和细节上做出上述和其他更 改。
权利要求
一种诊断存储器模块,包含存储器模块接口端子,用于连接所述诊断存储器模块,以取代存储器子系统中的正常存储器模块;存储装置,用于存储诊断程序;处理单元,用于执行所述诊断程序;及接口,用于在所述处理单元与外部诊断系统之间通信。
2. 如权利要求l中所述的诊断存储器模块,还包含多个存储器件,用于提供等效存储 装置,该存储装置与否则将由所述正常存储器模块提供的存储装置等效。
3. 如权利要求l中所述的诊断存储器模块,其中所述接口传送来自所述外部诊断系统 的所述诊断程序的程序指令。
4. 如权利要求1中所述的诊断存储器模块,其中所述诊断程序包含程序指令,用于 存储数据流,其对应于在所述存储器模块接口端子处接收的存储器写入操作; 改变所述数据流以产生改变后的数据流以便模拟错误状况;及通过在所述存储器模块接口端子处提供所述改变后的数据流,来响应在所述存储器模 块接口端子处接收的存储器读取操作。
5. 如权利要求1中所述的诊断存储器模块,还包含可编程加载电路,用于改变多个所 述存储器模块接口端子之一的电气负载,由此改变所述存储器子系统的行为。
6. 如权利要求l中所述的诊断存储器模块,其中所述诊断存储器模块包括一电路,用 于在模拟域中,操纵所述存储器模块接口端子中的至少一个存储器模块接口端子上的信号 来模拟噪声,其中所述接口接收一命令来操纵所述信号,并且其中所述电路响应于接收所 述命令而操纵所述信号。
7. 如权利要求6中所述的诊断存储器模块,其中所述至少一个存储器模块接口端子为 一电源端子。
8. 如权利要求l中所述的诊断存储器模块,其中所述诊断存储器模块的输出驱动器具有可编程驱动强度,其中所述接口接收一命令,以在所述存储器模块接口端子中的至少一 个存储器模块接口端子上改变从所述诊断存储器模块提供的输出信号的驱动强度,且其中所述处理单元响应于接收所述命令而设置所述输出驱动器的所述可编程驱动强度。
9. 如权利要求1中所述的诊断存储器模块,还包含定时偏移电路,用于在所述诊断存 储器模块内,调整地址信号与数据信号之间的定时关系,且其中所述接口接收一命令来调 整所述地址信号与所述数据信号之间的定时关系,且其中所述处理单元将所述定时偏移电 路编程为响应于接收所述命令而调整所述定时关系。
10. 如权利要求l中所述的诊断存储器模块,其中所述接口接收一命令来模拟多个存 储器模块类型中的一个特定模块类型,且其中所述处理单元响应于接收所述命令而将所述 特定模块类型设置为模拟类型。
11. 如权利要求l中所述的诊断存储器模块,还包含至少一个测试点,用于探测所述诊 断存储器模块内的信号。
12. —种测试工作站计算机系统,包含处理器,用于执行工作站程序指令;存储器,用 于存储所述工作站程序指令;及接口 ,用于与插入目标存储器子系统的诊断存储器模块进 行通信,其中所述工作站程序指令包含用于与所述诊断存储器模块通信以在所述诊断存储器模块与所述测试工作站计算机系统之间传递诊断信息的程序指令。
13. 如权利要求12中所述的测试工作站计算机系统,其中用于通信的工作站程序指令 将诊断程序的程序指令从所述测试工作站计算机系统传送到所述诊断存储器模块,以便由 所述诊断存储器模块内的诊断存储器模块处理器核心执行。
14. 如权利要求12中所述的测试工作站计算机系统,其中所述诊断程序包含用于操 纵写入到所述诊断存储器模块的数据流以产生模拟错误状况的改变后的数据流,并响应于 所述诊断存储器模块接收到存储器读取操作而提供所述改变后的数据流的程序指令。
15. 如权利要求12中所述的测试工作站计算机系统,其中用于通信的工作站程序指令 传送一命令以编程一可编程加载电路,以便改变所述目标存储器子系统中的所述诊断存储 器模块的电气负载,由此改变所述目标存储器子系统的行为。
16. 如权利要求12中所述的测试工作站计算机系统,其中所述诊断存储器模块包括一 电路,用于在模拟域中,操纵所述目标存储器子系统内的信号来模拟噪声,其中用于通信的 工作站程序指令传送一命令来激活用于操纵信号的电路,由此改变所述目标存储器子系统 的行为。
17. 如权利要求12中所述的测试工作站计算机系统,其中所述诊断存储器模块包括具 有可编程驱动强度的输出驱动器,其中用于通信的工作站程序指令传送一命令来改变所述 驱动强度。
18. 如权利要求12中所述的测试工作站计算机系统,其中所述诊断存储器模块还包含 定时偏移电路,用于在所述诊断存储器模块内,调整地址信号与数据信号之间的定时关系, 且其中用于通信的工作站程序指令传送一命令,以调整所述地址信号与所述数据信号之间 的定时关系。
19. 一种计算机程序产品,包含编码有工作站程序指令的计算机可读存储介质,所述工 作站程序指令由测试工作站计算机系统执行,所述测试工作站计算机系统通过接口连接到 插入目标存储器子系统的诊断存储器模块,其中所述工作站程序指令包含用于与所述诊 断存储器模块通信以在所述诊断存储器模块与所述测试工作站计算机系统之间传递诊断 信息的程序指令。
20. 如权利要求19中所述的计算机程序产品,其中用于通信的工作站程序指令将诊断 程序的程序指令从所述测试工作站计算机系统传送到所述诊断存储器模块,以便由所述诊 断存储器模块内的诊断存储器模块处理器核心执行。
21. 如权利要求20中所述的计算机程序产品,其中所述诊断程序包含用于操纵写入 到所述诊断存储器模块的数据流以产生模拟错误状况的改变后的数据流,并响应于所述诊 断存储器模块接收到存储器读取操作而提供所述改变后的数据流的程序指令。
22. 如权利要求19中所述的计算机程序产品,其中用于通信的工作站程序指令传送一 命令以编程一可编程加载电路,以便改变所述目标存储器子系统中的所述诊断存储器模块 的电气负载,由此改变所述目标存储器子系统的行为。
23. 如权利要求19中所述的计算机程序产品,其中所述诊断存储器模块包括一电路, 用于在模拟域中,操纵所述目标存储器子系统内的信号来模拟噪声,其中用于通信的工作 站程序指令传送一命令来激活用于操纵信号的电路,由此改变所述目标存储器子系统的行 为。
24. 如权利要求19中所述的计算机程序产品,其中所述诊断存储器模块包括具有可编 程驱动强度的输出驱动器,其中用于通信的工作站程序指令传送一命令来改变所述驱动强 度。
25. 如权利要求19中所述的计算机程序产品,其中所述诊断存储器模块还包含定时偏 移电路,用于在所述诊断存储器模块内,调整地址信号与数据信号之间的定时关系,且其中 用于通信的工作站程序指令传送一命令,以调整所述地址信号与所述数据信号之间的定时 关系。
26. —种可编程交互式诊断存储器模块,其包含存储器模块接口端子,用于连接所述诊断存储器模块,以取代存储器子系统中的正常 存储器模块;多个存储器件,用于提供等效存储装置,该存储装置与否则将由所述正常存储器模块 提供的存储装置等效;存储装置,用于存储诊断程序,其中所述诊断程序包括程序指令,用于存储与在所述 存储器模块接口端子处接收的存储器写入操作对应的数据流,改变所述数据流以产生改变 后的数据流以便模拟错误状况,及通过在所述存储器模块接口端子处提供所述改变后的数据流,来响应在所述存储器模 块接口端子处接收的存储器读取操作;处理单元,用于执行所述诊断程序;接口 ,用于在所述处理单元与外部诊断系统之间通信,其中所述接口传送来自所述外 部诊断系统的所述诊断程序的程序指令;可编程加载电路,用于改变多个所述存储器模块接口端子之一的电气负载,由此改变 所述存储器子系统的行为;电路,用于在模拟域中,操纵所述存储器模块接口端子中的至少一个存储器模块接口 端子上的信号来模拟噪声,其中所述接口接收一命令来操纵所述信号,并且其中所述电路 响应于接收所述命令而操纵所述信号;输出驱动器,其具有可编程驱动强度,其中所述接口接收一命令,以在所述存储器模块 接口端子中的至少一个存储器模块接口端子上改变从所述诊断存储器模块提供的输出信 号的驱动强度,且其中所述处理单元响应于接收所述命令而设置所述输出驱动器的所述可 编程驱动强度;定时偏移电路,用于在所述诊断存储器模块内,调整地址信号与数据信号之间的定时 关系,且其中所述接口接收一命令来调整所述地址信号与所述数据信号之间的定时关系, 且其中所述处理单元将所述定时偏移电路编程为响应于接收所述命令而调整所述定时关 系;及至少一个测试点,用于探测所述诊断存储器模块内的信号。
全文摘要
一种可编程诊断存储器模块,其可提供存储器控制器与存储器子系统设计的增强的可测试性。所述可编程诊断存储器模块包括接口,用于与外部诊断系统通信,且所述接口用于传送命令到所述存储器模块以改变所述存储器模块的多种行为。所改变的行为可以是更改被写入所述存储器模块的数据流以模拟错误、改变存储器模块信号的定时和/或加载、下载程序以由所述存储器模块内的处理器核心执行、更改所述存储器模块的输出信号的驱动强度,及在模拟域中操纵所述存储器模块的端子处的信号,例如在到所述存储器模块的电源连接上引入噪声。所述存储器模块可模拟多种可选择的存储器模块类型,并可包括完整的存储阵列来提供标准存储器模块操作。
文档编号G11C29/56GK101785066SQ200880103204
公开日2010年7月21日 申请日期2008年7月21日 优先权日2007年8月17日
发明者B·M·穆特纳瑞, D·M·德雷普斯, D·N·D·阿劳约, M·卡塞斯, N·H·彭 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1