【DFT】【MemoryBIST】Memory Repair 基础


1. Overview


假设通过 MBIST 测试发现 SoC 中一个或多个 Memory 存在故障,不能正常进行读写操作,那么应该如何处理?

在这里插入图片描述

因为只有少数的 memory 出现故障,继续使用会带来安全隐患,直接丢掉则过于可惜。那么,一个折中的方法是对其进行修复。【Memory Repair】

随着集成电路的发展,芯片的集成度越来越高,memory 的数量越来越多,故障率也随之提高,因为对芯片进行 Memory Repair 的也越来越重要。

在这里插入图片描述


Memory Repair 就是修复缺陷的过程,通常是以备份替换的方式来对 Memory 进行修复。即在存储单元中添加备份的行和列,当某一个存储单元出现故障的时候,将其重新映射到备份单元。

冗余设计:从使用者的角度看,有 100 个存储单元,但是真实的 design 中可能会有 120 个存储单元,多出的 20 个就是用于 Repair】


2. Memory Repair


2.1 Column MUX


Memory Repair 技术会用到 Column MUX,首先对其进行简单介绍。

一个大小为 1K x 32 的 memory 应该是有 1024 行、32 列,但是这样一个细长的结构在芯片中是不容易摆放的,floorplan 和时序收敛的难度都非常高。

因此,我们希望在不改变 memory 大小的情况下,更改 memory 的形状,以提升 memory 的性能,降低 Address decoder 的复杂度。Column MUX 技术就可以这项任务。

基于 Column MUX 技术,大小为 1K x 32 的 memory 的真实物理实现方式如下图所示。

在这里插入图片描述

该 memory 的实际的物理结构是 256 行、128 列,但是在对其进行读写的时候,还是要按照 1K * 32 进行操作。

因此,首先将 128 列分成 4 个阵列,每个阵列有32bits。

然后将每个阵列相同 bit 进行 mux,mux 的选择信号就是地址信号,可以选择不同位置的数据进行输出。

这样,在逻辑上就是一个 1K x 32 的 Memory。


2.2 Type of Repair


Memory Repair 有多种不同的分类方法。

  1. 根据修复过程中是否硬件电路或模拟电路的参与,可以将其分为:

    • Hard Repair:采用 eFuse 存储修复信息,掉电后信息不丢失,不依赖电源。ATE 测试完成之后,将修复信息烧写到 eFuse,然后再使用阶段再将这些修复信息加载到 memory;

    • Soft Repair:采用逻辑电路对 memory 进行修复,掉电后信息丢失,以来电源。修复信息必须再芯片每次启动时重新加载(存储在芯片外部)或者重新计算(重新进行 BIRA 冗余分析)。

      通常情况下是两者结合使用,需要使用 eFuse 来确保数据不丢失。出厂测试阶段存现的故障时永久存在的,所以将其保存在 eFuse 中,但是使用阶段因老化等出现的新故障时无法烧写在 eFuse 中的,只能采用 Soft Repair。

      Soft Repair 虽然增加了启动时间和控制电路的复杂性,但是和 Hard Repair 配合可以保证芯片在使用阶段,memory 可以正常工作。

  2. 根据冗余单元的位置,可以将其分为:

    • Extrenal:Redundant elements outside the memory。例如,100M 可用空间的真实大小是120M。

    • Internal:Redundant element

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值