当前位置: 首页 > news >正文

[SOC] MBIST (Memory Built-In Self Test) and Memory Built-in Self Repair (BISR)

存储器构成了 VLSI 电路的很大一部分。存储系统设计的目的 是存储大量数据。[1] 存储器不包括逻辑门和触发器。因此,需要不同的故障模型和测试算法来测试存储器。

MBIST 是一种自测试和修复机制,它通过一组有效的算法来测试存储器,以检测典型存储器单元内可能存在的所有故障,无论是卡住 (SAF)、转换延迟故障 (TDF) 、耦合 (CF) 或邻域模式敏感故障 (NPSF)。它使用内置时钟、地址和数据生成器以及读/写控制器逻辑来生成测试的测试模式。

Basic Memory Model

在这里插入图片描述
典型的存储器模型由连接成二维阵列的存储器单元组成,因此必须在阵列结构的背景下分析存储器单元的性能。在阵列结构中,存储单元由两个基本组件组成:“存储节点”和“选择设备”。“选择设备”组件有助于对存储器单元进行寻址以在阵列中读/写。存储器的扩展限制受到这两个组件的影响。

如上图 1 所示,行和地址解码器确定需要访问的单元地址。根据行和列解码器上的地址,选择相应的行和列,然后将其连接到读出放大器。读出放大器放大并发送数据。

同样,我们可以访问需要写入数据的所需单元格。特殊电路用于从数据总线将值写入单元中。对于解码器,我们 测试 soc 验证功能 是否可以根据地址总线中的地址访问所需的单元。对于放大器和驱动器,我们检查它们是否可以正确地将值传入和传出单元。

以下故障模型足以进行内存测试:

  • Stuck-At fault
  • Transition fault
  • Coupling fault
  • Neighborhood pattern sensitive fault (NPSF)
  • Address decoder faults

MBIST Model

在这里插入图片描述
在自动测试设备上测试制造的芯片设计验证的过程涉及使用外部测试模式作为激励。在测试仪上分析设备的响应,将其与作为测试模式数据的一部分存储的Golden响应进行比较。MBIST 通过将所有这些功能放置在芯片本身内存周围的测试电路中,使这一过程变得容易。它实现了有限状态机 (FSM) 来生成激励并分析来自存储器的响应。

这个额外的自测试电路充当高级系统和存储器之间的接口。该接口可以最大程度地减少测试嵌入式存储器的挑战,因为它有利于可控性和可观察性。FSM提供内存测试的测试模式;这大大减少了对内存测试的外部测试模式集的需求。

MBIST Algorithms

存储器通过特殊算法进行测试,可以检测存储器中发生的故障。许多不同的算法可用于测试 RAM 和 ROM。下面描述的是用于测试存储器的两种最重要的算法。这些算法可以用最少的测试步骤和测试时间检测内存中的多个故障。

  1. Checkerboard Algorithm
  2. March Algorithm

Memory Built-in Self Repair (BISR)

在这里插入图片描述
内存修复分两步实现。第一步是分析MBIST控制器在可修复存储器测试期间诊断出的故障,第二步是确定修复签名以修复存储器。所有可修复存储器都具有保存修复签名的修复寄存器。

BIRA(内置冗余分析)模块有助于根据内存故障数据和实施的内存冗余方案计算修复签名。它还确定内存在生产测试环境中是否可修复。修复签名将存储在 BIRA 寄存器中,以供 MBIST 控制器或 ATE 设备进一步处理。

然后,修复签名被传递到修复寄存器的扫描链,以进行后续的 Fusebox 编程,该编程位于芯片设计级别。保险丝盒的读写通过 TAP(测试访问端口)和连接存储器与保险丝的专用修复寄存器扫描链进行控制。然后,修复信息从扫描链中扫描出来,进行压缩,并通过施加高压脉冲将其即时烧录到 eFuse 阵列中。

片上复位时,来自 eFuse 的修复信息会自动加载到修复寄存器中并解压缩,这些寄存器直接连接到存储器。这会导致所有冗余的记忆都被修复。最后,对修复后的存储器运行BIST,验证存储器的正确性。

Reference:

  1. Memory Testing: MBIST, BIRA & BISR | An Insight into Algorithms and Self Repair Mechanism

相关文章:

  • SQL优化相关(持续更新)
  • 只有开源才能拯救AI
  • 《NLP入门到精通》栏目导读
  • 面试算法题之合并系列
  • PostgreSQL 入门教程
  • uniapp公共css
  • 家庭医生上门预约小程序源码系统 源码完全开源可二开 带完整搭建教程
  • Lightroom Classic 2023 v12.4
  • docker基于debian11基础环境安装libreoffice
  • vue3 - swiper插件 实现PC端的 视频滑动功能(仿抖音短视频)
  • 宠物社区系统宠物领养小程序,宠物救助小程序系统多少钱?
  • 【打卡】牛客网:BM48 数据流中的中位数
  • OpenAI调查ChatGPT故障;向量搜索的优势与局限
  • 小程序微信登录授权突然没反应的原因和解决方案
  • 数据结构之双向链表
  • HTTP请求重发
  • Javascript编码规范
  • nodejs:开发并发布一个nodejs包
  • React as a UI Runtime(五、列表)
  • Vue小说阅读器(仿追书神器)
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 如何胜任知名企业的商业数据分析师?
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 浅谈sql中的in与not in,exists与not exists的区别
  • #include
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (bean配置类的注解开发)学习Spring的第十三天
  • (DenseNet)Densely Connected Convolutional Networks--Gao Huang
  • (Redis使用系列) Springboot 使用redis实现接口Api限流 十
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (十) 初识 Docker file
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (十)DDRC架构组成、效率Efficiency及功能实现
  • (算法)求1到1亿间的质数或素数
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)h264中avc和flv数据的解析
  • (转)linux下的时间函数使用
  • (转)socket Aio demo
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • .Mobi域名介绍
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .net mvc 获取url中controller和action
  • .NET/C# 使窗口永不获得焦点
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET委托:一个关于C#的睡前故事
  • @Autowired多个相同类型bean装配问题
  • @NestedConfigurationProperty 注解用法
  • @德人合科技——天锐绿盾 | 图纸加密软件有哪些功能呢?
  • [@Controller]4 详解@ModelAttribute
  • [20171113]修改表结构删除列相关问题4.txt
  • [ARC066F]Contest with Drinks Hard
  • [ASP.NET 控件实作 Day7] 设定工具箱的控件图标
  • [C++核心编程](四):类和对象——封装