2.6 АЛМ для тестирования и ремонта SoC-памяти ГАС
В процессе производства и эксплуатации любых видов памяти, используемой в ГАС, необходимы гарантии ее соответствия техническим условиям. Для этого предусмотрено выполнение трех процедур:
1) Тестирование памяти, заключающееся в подаче тестовых воздействий, ориентированных на выявление определенных классов дефектов [5, 6];
2) В случае возникновения неисправности, необходима дополнительная процедура диагностирования, позволяющая определить место, причину и вид дефекта;
3) После определения множества дефектов, препятствующих выполнению функции памяти, необходимо активизировать процесс восстановления работоспособности – замену дефектных элементов избыточными резервными компонентами, изначально находящимися на силиконовом кристалле [9, 13].
Отсюда следует, что упомянутые действия ориентированы на повышение выхода годных изделий (Yield) без существенных дополнительных временных и материальных затрат. Для восстановления работоспособности необходим специальный механизм ремонта памяти путем замены дефектных компонентов на исправные из резерва силиконового кристалла.
Процедура тестирования, как правило, осуществляется с помощью BIST-блока (Built-In Self Test), который представляет аппаратный быстродействующий генератор тестовых наборов, а также анализатор (сигнатурный) реакций выходов памяти на тестовые последовательности. Анализ восстановления (Repair Analysis) заключается в определении возможности покрытия дефектных элементов памяти, существующими в наличии резервными компонентами. Модуль памяти представлен двумя частями:
1) Функциональные ячейки, которые непосредственно применяются для хранения данных и программ при использовании модуля в системе на кристалле;
2) Резервные или запасные ячейки, которые предназначены для восстановления работоспособности памяти в случае отказов функциональных ячеек.
Функциональные и резервные ячейки объединяются в столбцы и строки. При обнаружении дефекта строка (столбец), содержащая дефектный элемент, отключается от функциональной структуры ячеек памяти, а на ее место подключается строка (столбец) из резерва кристалла. Поскольку количество резервных компонентов ограничено, необходим специальный механизм, позволяющий эффективно распределять ресурсы восстановления работоспособности в целях обеспечения покрытия дефектных элементов памяти минимально возможным количеством избыточных столбцов и строк.
Описанная выше процедура поиска, может быть реализована как в качестве встроенного модуля восстановления работоспособности, так и внешнего – по отношению к кристаллу. Во втором случае, данные об ошибках поступают извне, обрабатываются и передаются контроллеру, обеспечивающему восстановление памяти. Это приводит к значительным потерям времени. Поэтому предпочтение отдается on-chip реализации модуля, когда данные об ошибках передаются непосредственно из BIST. Такой механизм носит название BIRA (Built-In Repair Analysis) [9, 11] – встроенный анализ восстановления работоспособности.
Ремонт памяти осуществляется с помощью отключения дефектных элементов (строк и столбцов матрицы) путем электрического плавления перемычек и подключения резервных. Процесс пайки может быть электрическим или лазерным [12]. Устройство электрической пайки имеет меньшие габаритные размеры, чем лазерной, и применяется чаще. Пайка перемычек выполняется с помощью набора инструкций, хранящихся в постоянной памяти внутри чипа (hard repair) или в оперативной памяти (soft repair) [9, 10, 13].
Soft repair имеет ряд преимуществ: при возникновении ошибки новая исправленная инструкция может быть легко записана в память; обеспечивается экономное использование площади кристалла и достаточная надежность [19].
Hard repair позволяет использовать упрощенный производственный тест и обеспечивает обнаружение ошибок, которые в силу определенных обстоятельств не могут быть зафиксированы при soft repair, например перегрев.
Структура процессов встроенного анализа и (soft repair) самовосстановления памяти – BISR (Built-In Self Repair) – [9 – 10] представлена на рис. 2.2.
1) Активизация чипа, заполнение регистра BISR нулевыми значениями.
2) Запуск контроллера BIST. Тестирование памяти и накопление информации о дефектных ячейках в регистре BIRA.
3) Передача информации о дефектных ячейках в регистр BISR для последующей перепайки.
4) Сканирование BIRA-регистров, содержащих статус восстановления, контроллером BIST для получения информации о дефектах.
Рисунок 2.2 – Схема встроенного анализа и восстановления памяти
5) Запуск контроллера пайки в режиме записи и передача из BISR инструкций восстановления.
6) Перезагрузка чипа. Запись в регистр BISR информации о пайке перемычек, замена дефектных строк и столбцов резервными компонентами.
7) Запуск контроллера BIST в целях повторного тестирования памяти и проверки правильности результата восстановления.
Функция цели Z данного исследования, исходя из современных достижений в области оперативного восстановления памяти, может быть сформулирована следующим образом: минимизация стоимости восстановления (аппаратурных затрат) модуля памяти M = | Mij | в процессе эксплуатации систем на кристаллах путем использования АЛМ минимизации покрытия множества дефектных ячеек памяти системой резервных элементов в условиях ограничений N на количество последних:
где
Далее рассматривается метод получения минимального покрытия на примере матрицы памяти с пятью дефектными ячейками [11], двумя резервными строками и одним столбцом (см. рис. 2.3).
Рисунок 2.3 – Матрица памяти с дефектными ячейками и резервом
Каждый резервный компонент (строка или столбец) способен восстановить работоспособность от одной до n дефектных ячеек, принадлежащих строке или столбцу.
Идея метода сводится к оптимальному замещению дефектных элементов матрицы памяти, путем решения задачи покрытия дефектов-столбцов резервом строк. Для иллюстрации метода первоначально предлагается воспользоваться матрицей покрытия заданных неисправностей F некоторым количество строк (это могут быть тестовые наборы, резервные строки) X, причем:
Пусть задана матрица Y, имеющая вид
Точное решение задачи покрытия неисправностей минимальным числом резервных строк памяти основывается на синтезе булевой функции, записываемой как конъюнкция дизъюнкций по конституентам единиц, соответствующих столбцам приведенной выше матрицы:
В данном случае аналитическая запись в виде булевой функции, представленной в виде КНФ, есть исходная модель, содержащая полное множество решений задачи покрытия, которая решается путем нахождения ДНФ. Для этого выполняется процедура преобразования КНФ в ДНФ путем перемножения всех термов. В результате эквивалентных преобразований, выполненных по правилам алгебры логики, получается булева функция, содержащая все возможные покрытия неисправностей, описанные с помощью четырех вариантов комбинаций строк:
Минимальное решение задачи покрытия содержит всего три резервных строки, с помощью которых покрывается 8 дефектов в матрице памяти:
Для использования предложенного метода восстановления работоспособности памяти, необходимо иметь в виду, что каждый дефект Fi в матрице памяти принадлежит как строке, так и столбцу. Поэтому преобразование топологической модели дефектов памяти к матрице покрытия неисправностей, заключается в присвоении каждому дефекту номеров строк и столбцов, которые искажаются данной неисправностью.
Для примера (рис. 2.4), где имеется 5 дефектных ячеек, покрываемых тремя столбцами и четверкой строк.
Рисунок 2.4 – Матрица памяти с дефектными ячейками
Преобразование трансформирует матрицу памяти к таблице покрытия, где левый столбец задает взаимно-однозначное соответствие между координатами дефекта, в номерах строк и столбцов матрицы памяти и строками покрытия неисправностей:
Иначе, топология матрицы памяти из двумерной метрики трансформируется в одномерную структуру строк, обладающими определенными покрывающими свойствами, относительно столбцов неисправностей.
Последующая запись булевой функции формирует логическое произведение дизъюнкций, записанных по конституентам единиц, соответствующих столбцам упомянутой выше матрицы