《用于测试存储器的方法和系统.pdf》由会员分享,可在线阅读,更多相关《用于测试存储器的方法和系统.pdf(18页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 (43)申请公布日 (21)申请号 201310372870.7 (22)申请日 2013.08.23 G11C 29/56(2006.01) (71)申请人 辉达公司 地址 美国加利福尼亚州 (72)发明人 王飞 赵宇 孙翔 (74)专利代理机构 北京市磐华律师事务所 11336 代理人 董巍 徐丁峰 (54) 发明名称 用于测试存储器的方法和系统 (57) 摘要 本发明提供一种用于测试存储器的方法和系 统。 方法包括以下步骤。 将存储器的至少一个待测 地址位中的每一个设置为固定值。 向存储器的、 经 设置的待测地址位对应的存储器单元写入当前测 试数据。读出经设置的待测地。
2、址位对应的存储器 单元中的当前回读数据。将当前测试数据与当前 回读数据作比较。根据当前测试数据与当前回读 数据的比较结果判断存储器的、 未经设置的地址 位是否存在信号完整性问题以确定故障地址位。 本发明提供的用于测试存储器的方法和系统可以 简单快速地确定存储器的故障地址位。 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书3页 说明书9页 附图5页 (10)申请公布号 CN 104425040 A (43)申请公布日 2015.03.18 CN 104425040 A 1/3 页 2 1. 一种用于测试存储器的方法, 包括 : 将存储器的至少一个待。
3、测地址位中的每一个设置为固定值 ; 向所述存储器的、 经设置的待测地址位对应的存储器单元写入当前测试数据 ; 读出所述经设置的待测地址位对应的存储器单元中的当前回读数据 ; 将所述当前测试数据与所述当前回读数据作比较 ; 以及 根据所述当前测试数据与所述当前回读数据的比较结果判断所述存储器的、 未经设置 的地址位是否存在信号完整性问题以确定故障地址位。 2. 如权利要求 1 所述的方法, 其特征在于, 所述方法进一步包括 : 在将存储器的至少一 个待测地址位中的每一个设置为固定值之前, 向所述存储器的所有存储器单元写入原始测试数据 ; 读出所写的所述所有存储器单元中的原始回读数据 ; 将所述原。
4、始测试数据与所述原始回读数据作比较 ; 在根据所述当前测试数据与所述当前回读数据的比较结果判断所述存储器的、 未经设 置的地址位是否存在信号完整性问题之后, 根据所述当前测试数据与所述当前回读数据的比较结果和所述原始测试数据与所述 原始回读数据的比较结果判断所述至少一个待测地址位是否存在信号完整性问题。 3. 如权利要求 1 所述的方法, 其特征在于, 所述至少一个待测地址位包括至少一个先 测地址位, 所述方法进一步包括 : 在将存储器的至少一个待测地址位中的每一个设置为固 定值之前, 将所述存储器的所述至少一个先测地址位中的每一个设置为固定值 ; 向所述存储器的、 经设置的先测地址位对应的存。
5、储器单元写入先前测试数据 ; 读出所述经设置的先测地址位对应的存储器单元中的先前回读数据 ; 将所述先前测试数据与所述先前回读数据作比较 ; 在根据所述当前测试数据与所述当前回读数据的比较结果判断所述存储器的、 未经设 置的地址位是否存在信号完整性问题之后, 根据所述当前测试数据与所述当前回读数据的比较结果和所述先前测试数据与所述 先前回读数据的比较结果判断所述至少一个待测地址位是否存在信号完整性问题。 4. 如权利要求 1 所述的方法, 其特征在于, 所述当前测试数据包含在标准数据中, 所述向所述存储器的、 经设置的待测地址位对应的存储器单元写入当前测试数据包 括 : 从所述存储器的首地址开。
6、始逐地址地向所述存储器写入所述标准数据 ; 所述将所述当前测试数据与所述当前回读数据作比较包括 : 根据所述经设置的待测地 址位将所述标准数据进行重组以形成与所述当前测试数据相同的重组数据, 将所述重组数 据与所述当前回读数据作比较。 5. 如权利要求 1 所述的方法, 其特征在于, 所述当前测试数据包含在标准数据中, 在向所述存储器的、 经设置的待测地址位对应的存储器单元写入当前测试数据之前, 所述方法进一步包括根据所述经设置的待测地址位将所述标准数据进行拆分以获得所述 当前测试数据。 6. 如权利要求 1 所述的方法, 其特征在于, 所述至少一个待测地址位是按顺序选择的。 7. 如权利要求。
7、 6 所述的方法, 其特征在于, 所述至少一个待测地址位是采用二分法选 权 利 要 求 书 CN 104425040 A 2 2/3 页 3 择的。 8. 如权利要求 1 所述的方法, 其特征在于, 所述方法进一步包括 : 在将存储器的至少一 个待测地址位中的每一个设置为固定值之前, 为所有地址位中的每一个定义寄存器, 所述 寄存器用于表示三种状态 : 地址位不设置为固定值、 地址位设置为 0 和地址位设置为 1。 9. 如权利要求 8 所述的方法, 其特征在于, 所述三种状态物理地由一个或多个开关所 确定, 其中所述一个或多个开关中的每一个由一个或多个晶体管组成。 10. 如权利要求 1 所。
8、述的方法, 其特征在于, 所述将存储器的至少一个待测地址位中的 每一个设置为固定值包括将所述至少一个待测地址位中的每一个的地址线与地或电源相 连接。 11. 如权利要求 1 所述的方法, 其特征在于, 所述将存储器的至少一个待测地址位中的 每一个设置为固定值包括将逻辑低电平或逻辑高电平输入所述至少一个待测地址位中的 每一个的地址线。 12. 一种用于测试存储器的系统, 包括 : 设置模块, 用于将存储器的至少一个待测地址位中的每一个设置为固定值 ; 写入模块, 用于向所述存储器的、 经设置的待测地址位对应的存储器单元写入当前测 试数据 ; 读出模块, 用于读出所述经设置的待测地址位对应的存储器。
9、单元中的当前回读数据 ; 比较模块, 用于将所述当前测试数据与所述当前回读数据作比较 ; 以及 第一判断模块, 用于根据所述当前测试数据与所述当前回读数据的比较结果判断所述 存储器的、 未经设置的地址位是否存在信号完整性问题以确定故障地址位。 13. 如权利要求 12 所述的系统, 其特征在于, 所述系统进一步包括 : 原始写入模块, 用于向所述存储器的所有存储器单元写入原始测试数据 ; 原始读出模块, 用于读出所写的所述所有存储器单元中的原始回读数据 ; 原始比较模块, 用于将所述原始测试数据与所述原始回读数据作比较 ; 第二判断模块, 用于根据所述当前测试数据与所述当前回读数据的比较结果和。
10、所述原 始测试数据与所述原始回读数据的比较结果判断所述至少一个待测地址位是否存在信号 完整性问题。 14. 如权利要求 12 所述的系统, 其特征在于, 所述至少一个待测地址位包括至少一个 先测地址位, 所述系统进一步包括 : 先前设置模块, 用于将所述存储器的所述至少一个先测地址位中的每一个设置为固定 值 ; 先前写入模块, 用于向所述存储器的、 经设置的先测地址位对应的存储器单元写入先 前测试数据 ; 先前读出模块, 用于读出所述经设置的先测地址位对应的存储器单元中的先前回读数 据 ; 先前比较模块, 用于将所述先前测试数据与所述先前回读数据作比较 ; 第三判断模块, 用于根据所述当前测试。
11、数据与所述当前回读数据的比较结果和所述先 前测试数据与所述先前回读数据的比较结果判断所述至少一个待测地址位是否存在信号 完整性问题。 权 利 要 求 书 CN 104425040 A 3 3/3 页 4 15. 如权利要求 12 所述的系统, 其特征在于, 所述当前测试数据包含在标准数据中, 所述写入装置具体用于从所述存储器的首地址开始逐地址地向所述存储器写入所述 标准数据 ; 所述比较模块具体用于根据所述经设置的待测地址位将所述标准数据进行重组以形 成与所述当前测试数据相同的重组数据, 将所述重组数据与所述当前回读数据作比较。 16. 如权利要求 12 所述的系统, 其特征在于, 所述当前测。
12、试数据包含在标准数据中, 所述系统进一步包括拆分模块, 用于根据所述经设置的待测地址位将所述标准数据进 行拆分以获得所述当前测试数据。 17. 如权利要求 12 所述的系统, 其特征在于, 所述至少一个待测地址位是按顺序选择 的。 18. 如权利要求 17 所述的系统, 其特征在于, 所述至少一个待测地址位是采用二分法 选择的。 19. 如权利要求 12 所述的系统, 其特征在于, 所述系统进一步包括定义模块, 用于为所 有地址位中的每一个定义寄存器, 所述寄存器用于表示三种状态 : 地址位不设置为固定值、 地址位设置为 0 和地址位设置为 1。 20. 如权利要求 19 所述的系统, 其特征。
13、在于, 所述三种状态物理地由一个或多个开关 所确定, 其中所述一个或多个开关中的每一个由一个或多个晶体管组成。 权 利 要 求 书 CN 104425040 A 4 1/9 页 5 用于测试存储器的方法和系统 技术领域 0001 本发明总地涉及存储器领域, 且更具体地涉及用于测试存储器的方法和系统。 背景技术 0002 在图形处理单元 (GPU) 系统的开发过程中, 存储器调试和质量检验是保证存储器 设计可以满足预期性能 (即运行在 POR dram 时钟) 的关键步骤。在针对同步动态随机存取 存储器 (SDRAM) 进行存储器调试期间, 常常遇到由地址总线上的事务错误而造成的存储器 故障。原。
14、因是由于地址总线上存在太多负载, 因此其信号完整性减弱。例如, 如图 1 所示, 来自 GPU 的 CMD 信号 (本文将 CMD 和 ADDR 信号统称为 CMD 信号) 具有多达 8 个负载。其中 T 型分支在印刷电路板 (PCB) 布局中引入了短线和附加的通孔, 这将使得信号完整性变差。 0003 当调查存储器故障时, 与数据位不同, 很难找出哪个 / 哪些地址位有错误。一般需 要在实验室中调查每个地址位, 然后通过比较它们的眼图来找出故障位。但是由于没有明 确的标准来判眼图是好是坏, 因此很难确认可疑地址位是否是具有信号完整性问题的故障 位。当前采用的确认方式是改善可疑地址位的布局并建。
15、立新的 PCB 来进行验证。因此该调 试的过程是非常耗时且非经济高效的。 发明内容 0004 因此, 需要提供一种测试存储器的方法来解决上述的难以确认存储器的地址位中 的故障位的问题。 0005 在一个实施例中, 公开了一种用于测试存储器的方法。 方法包括以下步骤。 将存储 器的至少一个待测地址位中的每一个设置为固定值。向存储器的、 经设置的待测地址位对 应的存储器单元写入当前测试数据。 读出经设置的待测地址位对应的存储器单元中的当前 回读数据。将当前测试数据与当前回读数据作比较。根据当前测试数据与当前回读数据的 比较结果判断存储器的、 未经设置的地址位是否存在信号完整性问题以确定故障地址位。。
16、 0006 优选地, 方法进一步包括 : 在将存储器的至少一个待测地址位中的每一个设置为 固定值之前, 向存储器的所有存储器单元写入原始测试数据 ; 读出所写的所有存储器单元 中的原始回读数据 ; 将原始测试数据与原始回读数据作比较。在根据当前测试数据与当前 回读数据的比较结果判断存储器的、 未经设置的地址位是否存在信号完整性问题之后, 方 法进一步包括根据当前测试数据与当前回读数据的比较结果和原始测试数据与原始回读 数据的比较结果判断至少一个待测地址位是否存在信号完整性问题。 0007 优选地, 至少一个待测地址位包括至少一个先测地址位。 方法进一步包括 : 在将存 储器的至少一个待测地址位。
17、中的每一个设置为固定值之前, 将存储器的至少一个先测地址 位中的每一个设置为固定值 ; 向存储器的、 经设置的先测地址位对应的存储器单元写入先 前测试数据 ; 读出经设置的先测地址位对应的存储器单元中的先前回读数据 ; 将先前测试 数据与先前回读数据作比较。 在根据当前测试数据与当前回读数据的比较结果判断存储器 的、 未经设置的地址位是否存在信号完整性问题之后, 方法进一步包括根据当前测试数据 说 明 书 CN 104425040 A 5 2/9 页 6 与当前回读数据的比较结果和先前测试数据与先前回读数据的比较结果判断至少一个待 测地址位是否存在信号完整性问题。 0008 优选地, 当前测试。
18、数据包含在标准数据中。 向存储器的、 经设置的待测地址位对应 的存储器单元写入当前测试数据包括 : 从存储器的首地址开始逐地址地向存储器写入标准 数据。将当前测试数据与当前回读数据作比较包括 : 根据经设置的待测地址位将标准数据 进行重组以形成与当前测试数据相同的重组数据, 将重组数据与当前回读数据作比较。 0009 优选地, 当前测试数据包含在标准数据中。 在向存储器的、 经设置的待测地址位对 应的存储器单元写入当前测试数据之前, 方法进一步包括根据经设置的待测地址位将标准 数据进行拆分以获得当前测试数据。 0010 优选地, 至少一个待测地址位是按顺序选择的。 0011 优选地, 至少一个。
19、待测地址位是采用二分法选择的。 0012 优选地, 方法进一步包括 : 在将存储器的至少一个待测地址位中的每一个设置为 固定值之前, 为所有地址位中的每一个定义寄存器。 寄存器用于表示三种状态 : 地址位不设 置为固定值、 地址位设置为 0 和地址位设置为 1。 0013 优选地, 三种状态物理地由一个或多个开关所确定, 其中一个或多个开关中的每 一个由一个或多个晶体管组成。 0014 优选地, 将存储器的至少一个待测地址位中的每一个设置为固定值包括将至少一 个待测地址位中的每一个的地址线与地或电源相连接。 0015 优选地, 将存储器的至少一个待测地址位中的每一个设置为固定值包括将逻辑低 电。
20、平或逻辑高电平输入至少一个待测地址位中的每一个的地址线。 0016 在另一个实施例中, 提供一种用于测试存储器的系统。 系统包括设置模块, 用于将 存储器的至少一个待测地址位中的每一个设置为固定值。系统还包括写入模块, 用于向存 储器的、 经设置的待测地址位对应的存储器单元写入当前测试数据。 系统还包括读出模块, 用于读出经设置的待测地址位对应的存储器单元中的当前回读数据。系统还包括比较模 块, 用于将当前测试数据与当前回读数据作比较。最后, 系统包括第一判断模块, 用于根据 当前测试数据与当前回读数据的比较结果判断存储器的、 未经设置的地址位是否存在信号 完整性问题以确定故障地址位。 001。
21、7 优选地, 系统进一步包括 : 原始写入模块, 用于向存储器的所有存储器单元写入原 始测试数据 ; 原始读出模块, 用于读出所写的所有存储器单元中的原始回读数据 ; 原始比 较模块, 用于将原始测试数据与原始回读数据作比较 ; 第二判断模块, 用于根据当前测试数 据与当前回读数据的比较结果和原始测试数据与原始回读数据的比较结果判断至少一个 待测地址位是否存在信号完整性问题。 0018 优选地, 至少一个待测地址位包括至少一个先测地址位。 系统进一步包括 : 先前设 置模块, 用于将存储器的至少一个先测地址位中的每一个设置为固定值 ; 先前写入模块, 用 于向存储器的、 经设置的先测地址位对应。
22、的存储器单元写入先前测试数据 ; 先前读出模块, 用于读出经设置的先测地址位对应的存储器单元中的先前回读数据 ; 先前比较模块, 用于 将先前测试数据与先前回读数据作比较 ; 第三判断模块, 用于根据当前测试数据与当前回 读数据的比较结果和先前测试数据与先前回读数据的比较结果判断至少一个待测地址位 是否存在信号完整性问题。 说 明 书 CN 104425040 A 6 3/9 页 7 0019 优选地, 当前测试数据包含在标准数据中。写入装置具体用于从存储器的首地址 开始逐地址地向存储器写入标准数据。比较模块具体用于根据经设置的待测地址位将标 准数据进行重组以形成与当前测试数据相同的重组数据,。
23、 将重组数据与当前回读数据作比 较。 0020 优选地, 当前测试数据包含在标准数据中。 系统进一步包括拆分模块, 用于根据经 设置的待测地址位将标准数据进行拆分以获得当前测试数据。 0021 优选地, 至少一个待测地址位是按顺序选择的。 0022 优选地, 至少一个待测地址位是采用二分法选择的。 0023 优选地, 系统进一步包括定义模块, 用于为所有地址位中的每一个定义寄存器。 寄 存器用于表示三种状态 : 地址位不设置为固定值、 地址位设置为 0 和地址位设置为 1。 0024 优选地, 三种状态物理地由一个或多个开关所确定, 其中一个或多个开关中的每 一个由一个或多个晶体管组成。 00。
24、25 该用于测试存储器的系统和方法可以简单快速地确定存储器的故障地址位。 与现 有技术相比, 本发明的方法更加方便、 高效和低成本。 0026 以下结合附图, 详细描述本发明的优点和特征。 附图说明 0027 为了使本发明的优点更容易理解, 将通过参考在附图中示出的具体实施例更详细 地描述上文简要描述的本发明。可以理解这些附图只描绘了本发明的典型实施例, 因此不 应认为是对其保护范围的限制, 通过附图以附加的特性和细节描述和解释本发明。 0028 图 1 示出了现有技术中的用于 SDRAM 的示例性总线拓扑结构 ; 0029 图 2 示出了根据本发明实施例的用于测试存储器的方法的流程图 ; 0。
25、030 图 3 示出了根据本发明实施例的标准数据的示例性重组 ; 0031 图 4a 示出了根据本发明实施例的与地址位不设置为固定值的状态相对应的逻辑 电路示意图 ; 0032 图 4b 示出了根据本发明实施例的与地址位设置为 0 的状态相对应的逻辑电路示 意图 ; 以及 0033 图 5 示出了根据本发明实施例的用于测试存储器的系统的示意性框图。 具体实施方式 0034 在下文的讨论中, 给出了细节以便提供对本发明更为彻底的理解。 然而, 本领域技 术人员可以了解, 本发明可以无需一个或多个这些细节而得以实施。 在特定的示例中, 为了 避免与本发明发生混淆, 对于本领域公知的一些技术特征未进。
26、行详尽地描述。 0035 根据本发明的一个方面, 公开了一种用于测试存储器的方法。图 2 示出了根据本 发明实施例的用于测试存储器的方法 200 的流程图。以下将结合图 2 描述该方法。 0036 在步骤201, 将存储器的至少一个待测地址位中的每一个设置为固定值。 在本发明 的实施例中, 存储器可以是任意的存储器。优选地, 存储器是 SDRAM。存储器具有多个地址 位。本发明通过将待测地址位固定在高 (VDD) 或低 (地) 状态来排除由该待测地址位所造成 的信号完整性问题。 固定的地址位可以定位到存储器内部的存储器单元以对某个存储器单 说 明 书 CN 104425040 A 7 4/9 。
27、页 8 元进行读写操作。当跳过待测地址位时, 进行数据读写的存储器单元会减少。例如, 存储器 具有 4 个地址位 A0、 A1、 A2、 A3。如果仅跳过地址位 A1, 则可以将地址位 A1 设置为固定值 0 (或 1) 。此时, 经设置的待测地址位 A1 所对应的存储器单元的地址包括 : 0000、 0001、 0100、 0101、 1000、 1001、 1100、 1101。四个地址位所对应的完整的存储器空间包括 16 个存储器单 元。因此, 在这种情况下, 将要测试的存储器单元是整个存储器空间的一半 (即 8 个) 。本领 域技术人员可以理解, 当跳过的地址位 A1 同时用于行和列地。
28、址时, 将要测试的存储器单元 是整个存储器空间的四分之一。 但是将要测试的存储器空间的减少不会影响对具有信号完 整性问题的地址位的确认。在测试存储器的地址总线或数据总线是否有问题时, 可以通过 存储器控制器向存储器的所有存储器单元写入测试数据。 之后通过存储器控制器将所写入 的数据读出。 从存储器读出的数据可以称为回读数据。 如果测试数据和回读数据相等, 则存 储器不存在故障。如果测试数据和回读数据不相等, 则存储器存在故障。存储器故障可以 包括数据位故障和地址位故障。如果测试数据和回读数据之间的某个 / 某些 (比较少的) 数 据位不相等, 则通常表明这是数据位故障。如果测试数据和回读数据之。
29、间的大量数据位不 相等, 则通常表明这是地址位故障。 当确定存储器的地址位存在信号完整性问题时, 可以采 用方法 200 来确定具体的故障地址位。固定值可以是 0 或者 1。存储器的至少一个待测地 址位中的每一个的固定值可以与其他待测地址位相同或不同。例如, 存储器具有 4 个地址 位 A0、 A1、 A2、 A3。当需要确认 A0 和 A1 位是否具有信号完整性问题时, 可以将 A0 和 A1 两 个位均设置成固定值。 将A0和A1两个位均设置为固定值可以包括四种设置方式, 即xx00、 xx01、 xx10、 xx11。可以根据需要任意选择以上四种设置方式之一。 0037 在步骤 202,。
30、 向存储器的、 经设置的待测地址位对应的存储器单元写入当前测试数 据。当前测试数据可以是任意合适的测试数据, 例如可以是图案数据。可以向经设置的待 测地址位对应的存储器单元中写入一个图案。之后读出该图案并进行比较。采用图案数据 作为当前测试数据的方式比较直观, 有利于判断写入与读出数据之间的差异。 0038 在步骤203, 读出经设置的待测地址位对应的存储器单元中的当前回读数据。 可以 根据经设置的待测地址位读出存储器中的数据。例如, 如果存储器具有 4 个地址位 A0、 A1、 A2、 A3并且将A1设置为0, 那么需要读出具有以下地址的存储器单元中的数据 : 0000、 0001、 010。
31、0、 0101、 1000、 1001、 1100、 1101。 0039 在步骤 204, 将当前测试数据与当前回读数据作比较。在这一步骤中, 可以根据当 前测试数据和当前回读数据获得数据的错误率。 0040 在步骤 205, 根据当前测试数据与当前回读数据的比较结果判断存储器的、 未经设 置的地址位是否存在信号完整性问题以确定故障地址位。 故障地址位指存在信号完整性问 题的位。如果当前测试数据和当前回读数据相等, 则未经设置的地址位不存在信号完整性 问题并且至少一个待测地址位存在信号完整性问题。 可以继续采用本方法的步骤对至少一 个待测地址位进行进一步测试以判断其中哪个 / 哪些位具有信号。
32、完整性问题。如果当前测 试数据和当前回读数据不相等, 则未经设置的地址位存在信号完整性问题。可以继续采用 本方法的步骤对未经设置的地址位进行进一步测试以判断其中哪个 / 哪些位具有信号完 整性问题。本领域技术人员可以理解, 可以根据需要循环执行方法 200 的步骤直至确认存 储器的所有故障地址位。 另外, 可以理解如果仅有一个位不被设置为固定值, 而其他位均被 设置为固定值, 则可以确定该具有非固定值的地址位是否具有信号完整性问题。可以通过 说 明 书 CN 104425040 A 8 5/9 页 9 依次使所有地址位中的仅一个地址位不是固定值来确定所有故障地址位。 0041 在一个实施例中,。
33、 在将存储器的至少一个待测地址位中的每一个设置为固定值之 前, 方法200可以进一步包括以下步骤。 向存储器的所有存储器单元写入原始测试数据。 读 出所写的所有存储器单元中的原始回读数据。将原始测试数据与原始回读数据作比较。在 根据当前测试数据与当前回读数据的比较结果判断存储器的、 未经设置的地址位是否存在 信号完整性问题之后, 方法 200 可以进一步包括根据当前测试数据与当前回读数据的比较 结果和原始测试数据与原始回读数据的比较结果判断至少一个待测地址位是否存在信号 完整性问题。可以在跳过至少一个待测地址位之前, 首先针对所有地址位进行数据错误率 的测试。例如, 存储器具有 4 个地址位 。
34、A0、 A1、 A2、 A3。可以首先在不跳过任何一个地址位 的情况下, 测试存储器的原始数据错误率。原始数据错误率可以是原始测试数据与原始回 读数据的比较结果。之后, 跳过 A1, 即将 A1 设置为固定值 (0 或 1) 。可以测试存储器的当前 数据错误率。当前数据错误率可以是当前测试数据与当前回读数据的比较结果。然后, 将 原始数据错误率与当前数据错误率作比较。如果当前数据错误率等于原始数据错误率, 则 A1 不存在信号完整性问题并且 A0、 A2 和 / 或 A3 存在信号完整性问题。如果当前数据错误 率小于原始数据错误率并且当前数据错误率等于 0, 则 A1 存在信号完整性问题并且 。
35、A0、 A2 和 / 或 A3 不存在信号完整性问题。如果当前数据错误率小于原始数据错误率并且当前数 据错误率大于 0, 则 A1 存在信号完整性问题并且 A0、 A2 和 / 或 A3 也存在信号完整性问题。 如果确认 A0、 A2 和 / 或 A3 中存在信号完整性问题, 可以采用与测试 A1 相同的方法, 进一步 确认每个位是否存在信号完整性问题。也就是说, 接下来可以测试 A2 是否有问题。可以仅 将 A2 设置为固定值 (0 或 1) , 并且测试存储器的数据错误率。之后将A2 为固定值的情况下 的数据错误率与原始数据错误率相比较以确定 A2 是否有信号完整性问题。可以理解, 待测 。
36、地址位可以是多个。也就是说, 可以同时跳过 A1、 A2 以判断 A1、 A2 中是否存在信号完整性 问题。之后再分别地针对 A1、 A2 中的每一个进行测试。本领域技术人员可以理解, 每次跳 过的位数可以根据需要变化, 本文不对其进行限制。 优选地, 采用逐位跳过的方式来针对每 个位进行测试以确定故障地址位。与原始数据错误率进行比较的测试方法简单易行, 可以 比较快速地确定故障地址位。 0042 在一个实施例中, 至少一个待测地址位可以包括至少一个先测地址位。在将存储 器的至少一个待测地址位中的每一个设置为固定值之前, 方法 200 可以进一步包括以下步 骤。将存储器的至少一个先测地址位中的。
37、每一个设置为固定值。向存储器的、 经设置的先 测地址位对应的存储器单元写入先前测试数据。 读出经设置的先测地址位对应的存储器单 元中的先前回读数据。将先前测试数据与先前回读数据作比较。在根据当前测试数据与当 前回读数据的比较结果判断存储器的、 未经设置的地址位是否存在信号完整性问题之后, 方法 200 可以进一步包括根据当前测试数据与当前回读数据的比较结果和先前测试数据 与先前回读数据的比较结果判断至少一个待测地址位是否存在信号完整性问题。例如, 存 储器具有 4 个地址位 A0、 A1、 A2、 A3。假设 A1 为先测地址位。可以首先跳过 A1 并且测试存 储器的数据错误率, 本文称为先前。
38、数据错误率。之后同时跳过 A1 和 A2 并且测试存储器的 数据错误率, 即当前数据错误率。将先前数据错误率与当前数据错误率作比较。如果当前 数据错误率等于先前数据错误率, 则 A2 不存在信号完整性问题。如果当前数据错误率小于 先前数据错误率, 则 A2 存在信号完整性问题。本领域技术人员可以理解, 可以采用类似的 说 明 书 CN 104425040 A 9 6/9 页 10 方式对其他地址位进行测试直至确认所有的故障地址位, 在此不再赘述。 0043 在一个实施例中, 当前测试数据可以包含在标准数据中。 向存储器的、 经设置的待 测地址位对应的存储器单元写入当前测试数据可以包括 : 从存。
39、储器的首地址开始逐地址地 向存储器写入标准数据。 标准数据可以根据测试需要写入到存储器的所有存储器单元或者 仅写入存储器的存储器单元的一部分。 例如, 标准数据可以是完整的图案数据。 假设存储器 具有 4 个地址位 A0、 A1、 A2 和 A3, 对应的存储器单元有 16 个。可以将图案数据分成相等的 16 个部分。每部分的图案数据与一个存储器单元相对应。假设将存储器的地址位 A1 设置 为固定值 0, 则实际进行数据读写的存储器单元的地址包括 : 0000、 0001、 0100、 0101、 1000、 1001、 1100、 1101。被跳过的地址包括 : 0010、 0011、 01。
40、10、 0111、 1010、 1011、 1110、 1111。由 于八个存储器单元的地址被跳过, 因此原本应该写入这八个存储器单元的数据部分没有写 入。从存储器读出的当前回读数据将会是所写入的标准数据的一半。因此, 为了正确地判 断数据读写是否正确, 在比较时应当对标准数据进行重组, 将真正写入存储器的数据与当 前回读数据作比较。将当前测试数据与当前回读数据作比较包括 : 根据经设置的待测地址 位将标准数据进行重组以形成与当前测试数据相同的重组数据, 将重组数据与当前回读数 据作比较。 图3示出了根据本发明实施例的标准数据的示例性重组。 在图3所示的示例中, 向地址位为 A0-A9 的存储。
41、器单元写入 2KB 的图案数据, 即标准数据。假设跳过的地址位是 A8, 则整个图案数据可以分成四个相等的部分。在写入的过程中有 1KB 的数据被丢弃, 只有 1KB的数据被写入存储器。 因此, 可以将真正写入存储器的两个部分的数据重组为1KB的重 组数据, 之后可以将该 1KB 的重组数据与当前回读数据作比较。采用完整的标准数据来测 试存储器使得写入过程变得简单。 0044 在一个实施例中, 当前测试数据可以包含在标准数据中。 在向存储器的、 经设置的 待测地址位对应的存储器单元写入当前测试数据之前, 方法 200 可以进一步包括根据经设 置的待测地址位将标准数据进行拆分以获得当前测试数据。。
42、例如, 标准数据可以是完整的 图案数据。假设存储器具有 4 个地址位 A0、 A1、 A2 和 A3, 对应的存储器单元有 16 个。可以 将图案数据分成相等的16个部分。 每部分的图案数据与一个存储器单元相对应。 假设将存 储器的地址位 A1 设置为固定值 0, 则实际将进行数据读写的存储器单元的地址包括 : 0000、 0001、 0100、 0101、 1000、 1001、 1100、 1101。 被跳过的地址包括 : 0010、 0011、 0110、 0111、 1010、 1011、 1110、 1111。可以在向存储器写入数据之前, 根据实际将进行数据读写的存储器单元 的地址将。
43、图案数据进行拆分。 之后仅将与将进行数据读写的存储器单元对应的数据部分写 入存储器。 因此, 在后续的比较过程中, 可以直接将当前测试数据与当前回读数据进行比较 而不需要多余的计算。这一方式使得比较过程更简单。 0045 在一个实施例中, 至少一个待测地址位可以是按顺序选择的。例如, 存储器具有 4 个位。可以从高到低依次将每个位设置为固定值。例如, 可以分别将每个位设置为 0, 依次 针对地址 0xxx、 x0xx、 xx0x、 xxx0 进行测试, 其中 x 表示地址位未经设置, 即不是固定值。以 此方式, 可以依次测试每个地址位的信号完整性问题。 本领域技术人员可以理解, 设置顺序 可以。
44、是任意顺序, 包括但不限于从高位到低位、 从低位到高位、 先奇数位后偶数位等等。 0046 在一个实施例中, 至少一个待测地址位可以是采用二分法选择的。 例如, 存储器具 有 4 个地址位 A0、 A1、 A2、 A3。首先将低 2 位 A0 和 A1 设置为固定值。之后对存储器进行读 写操作, 确定数据错误率。如果数据错误率变为 0, 则 A0 和 / 或 A1 存在信号完整性问题并 说 明 书 CN 104425040 A 10 7/9 页 11 且 A2 和 / 或 A3 不存在信号完整性问题。如果数据错误率减小但不是 0, 则 A0 和 / 或 A1 以 及 A2 和 / 或 A3 都。
45、存在信号完整性问题。如果数据错误率不变, 则 A0 和 / 或 A1 不存在信 号完整性问题并且 A2 和 / 或 A3 存在信号完整性问题。之后, 对其中具有信号完整性问题 的某 2 个位继续分成高位和低位两部分, 然后采用上述方法测试各部分。以此类推, 直至确 定所有故障地址位。在故障地址位的个数比较少的情况下, 采用二分法选择待测地址位可 以非常快速地确定故障地址位。 0047 在一个实施例中, 方法可以进一步包括 : 在将存储器的至少一个待测地址位中的 每一个设置为固定值之前, 为所有地址位中的每一个定义寄存器。寄存器用于表示三种状 态 : 地址位不设置为固定值、 地址位设置为 0 和。
46、地址位设置为 1。表 1 示出了寄存器的定义 方式。如表 1 中所示的, 可以为每个 CMD0(或其他) 位定义两位的寄存器 ADDRESS_SKIP_ CMD0。该寄存器的初始值设置为 00, 其代表地址位不设置为固定值, 即禁用地址跳过模 式。当寄存器的值为 01 时, 其代表启用地址跳过模式并且地址位设置为 0。当寄存器的 值为 02 时, 其代表启用地址跳过模式并且地址位设置为 1。可以在运行存储器测试之前 对寄存器进行预定义。 0048 表 1 寄存器的定义 0049 0050 在一个实施例中, 三种状态可以物理地由一个或多个开关所确定。一个或多个开 关中的每一个可以由一个或多个晶体。
47、管组成。表 4a 示出了根据本发明实施例的与地址位 不设置为固定值的状态相对应的逻辑电路示意图。图 4b 示出了根据本发明实施例的与地 址位设置为 0 的状态相对应的逻辑电路示意图。如图 4a 和图 4b 所示的, 三种状态由开关 1 和开关 2 所确定。开关 1 和开关 2 可以是由一个或多个晶体管, 例如互补金属氧化物半导 体 (CMOS) 组成的。可以为每个地址位均布置类似的开关以控制地址位的状态用于测试。 0051 在一个实施例中, 将存储器的至少一个待测地址位中的每一个设置为固定值可以 包括将至少一个待测地址位中的每一个的地址线与地或电源相连接。 参考图4a和图4b, 当 地址线通过。
48、开关 2 与电源相连接时, 地址位被设置为 1。当地址线通过开关 2 与地相连接 时, 地址位被设置为 0。 0052 在一个实施例中, 将存储器的至少一个待测地址位中的每一个设置为固定值可以 包括将逻辑低电平或逻辑高电平输入至少一个待测地址位中的每一个的地址线。 可以由处 理器 (例如中央处理单元或 GPU) 将输出到存储器的地址位直接置 0 或置 1。这种方式可以 通过对处理器编程来实现, 因此其比较简单。 0053 上述实施例中虽然仅论述了具有 4 个地址位的存储器, 但是应该理解存储器的位 数可以是任意合适的位数。 0054 根据本发明的用于测试存储器的方法, 可以简单快速地确定存储器。
49、的故障地址 说 明 书 CN 104425040 A 11 8/9 页 12 位, 提高了存储器的测试效率和准确性。 0055 根据本发明的一个方面, 还公开了一种用于测试存储器的系统。图 4 示出了根据 本发明实施例的用于测试存储器的系统500的示意性框图。 系统500包括设置模块501、 写 入模块 502、 读出模块 503、 比较模块 504 和第一判断模块 505。设置模块 501 用于将存储器 的至少一个待测地址位中的每一个设置为固定值。写入模块 502 用于向存储器的、 经设置 的待测地址位对应的存储器单元写入当前测试数据。读出模块 503 用于读出经设置的待测 地址位对应的存储器单元中的当前回读数据。比较模块 504 用于将当前测试数据与当前回 读数据作比较。第一判断模块 505 用于根据当前测试数据与当前回读数据的比较结果判断 存储器的、 未经设置的地址位是否存在信号完整性问题以确定故障地址位。系统 500 可以 采用存储器控制器来实现, 例如SDRAM控制器。 SDRAM控制器可以用于控制对SDRAM的读写 操作等。 005。