Научная новизна предложенного метода заключается в использовании особенностей автомата Мура (наличие классов псевдоэквивалентных состояний) и элементного базиса (большой коэффициент объединения по входу) для оптимизации числа макроячеек PAL в логической схеме автомата.
Практическая значимость метода заключается в уменьшении площади кристалла SoC, занимаемой комбинационной схемой МПА, что позволяет получить схемы, которые имеют меньшую стоимость, чем известные из литературы аналоги.
Литература: 1. Соловьев В.В. Проектирование цифровых схем на основе программируемых логических интегральных схем. М.: Горячая линия-ТЕЛЕКОМ, 2001. 636 с. 2. Баркалов А.А., Палагин А.В. Синтез микропрограммных устройств управления. Киев: Институт кибернетики НАН Украины, 1997. 136 с. 3. Baranov S. Logic Synthesis for Control Automata. Kluwer Academic Publishers, 1994. 312 p. 4. MaxfieldC. The Design Warriors Guide to FPGAs. Elseveir, 2004. 541p. 5. Грушницкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем с использованием микросхем программируемой логики. СПб: БХВ. Петербург, 2002. 608с. 6. Barkalov A., Wegrzyn W. Design of Control
Units with Programmable Logic. Zielona Gora: University of Zielona Gora Press, 2006. 150 p. 7. Kania D. Synteza logiczna przeznaczona dla matrycowych struktur programowalnych typuPAL. - Zeszyty naukowe Politechniki &l№skiej, Gliwice, 2004. 240 p. 8. Баркалов А.А. Синтез устройств управления на программируемых логических устройствах. Донецк: ДНТУ, 2002. 262 с. 9. DeMicheli G. Synthesis and Optimization of Digital Circuits. McGraw-Hill, 1994. 636p. 10. Баркалов А. А. Принципы оптимизации логической схемы микропрограммного автомата Мура // Кибернетика и системный анализ. 1998, №1.
Поступила в редколлегию 17.01.2007
Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.
Баркалов Александр Александрович, д-р техн. наук, профессор кафедры ЭВМ ДонНТУ, профессор Университета Зеленогурского (Польша). Научные интересы: цифровые устройства управления. Хобби: научная работа, спорт. Адрес: Украина, 83122, Донецк, ул. Артема, д.204А, кв. 105, тел. (+38062)301-07-35.
Цололо Сергей Алексеевич, аспирант кафедры ЭВМ Дон-НТУ. Научные интересы: цифровые устройства управления на ПЛУ. Хобби: научная работа, спорт, музыка. Адрес: Украина, 83049, Донецк, ул. А. Толстого, д. 206а, тел. (+380622) 596005.
УДК681.326:519.713
МЕТОД ВОССТАНОВЛЕНИЯ РАБОТОСПОСОБНОСТИ ПАМЯТИ С ПОМОЩЬЮ РЕЗЕРВНЫХ ЭЛЕМЕНТОВ
ХАХАНОВ В.И., ЛИТВИНОВА Е.И.,
МОСТОВАЯ К.Л., ПАРФЕНТИЙ А.Н.___________
Описывается квазиоптимальный метод восстановления работоспособности элементов памяти с помощью резервных элементов, позволяющий покрыть множество дефектных ячеек минимально возможным количеством избыточных компонентов.
1. Введение
Современные тенденции развития полупроводниковой индустрии заключаются в постоянном уменьшении площади кристалла, увеличении количества различных элементов на единице площади. Из общего числа компонентов, размещаемых на кристалле, наибольшую часть занимают встроенные элементы памяти. В настоящее время насчитывают сотни, а порой даже тысячи различных видов памяти, которые используются в System on Chip (SoC) [1-4]. Как показано на рис. 1, увеличение удельного веса памяти на кристалле приведет через 5 лет к ее полному доминированию для хранения данных и программ, а к 2014 году данный показатель достигнет 94% [2]. Это обеспечит не только высокое быстродействие выполнения функциональности, но и гибкость, свойственную программному продукту в части исправления ошибок проектирования. Особенностью элементов памяти является то, что в процессе их изготовления и эксплуатации отдельные ячейки под воздействием неисправ-РИ, 2007, № 1
ностей могут выходить из состояния работоспособности. Однако данное обстоятельство не всегда приводит элемент памяти к критическому или предельному состоянию, когда восстановление работоспособности уже невозможно. При этом рассматривается такое техническое состояние объекта, когда суммарное количество дефектных ячеек не превышает резервных возможностей изделия для восстановления работоспособности.
Рис. 1. Удельный вес памяти на кристалле (Area memory - область памяти; Area Reused Logic - область многократно используемой логики; Area New Logic - область новой логики)
Целью данного исследования является восстановление работоспособности элементов памяти путем решения задачи покрытия дефектных ячеек минимальным количеством избыточных резервных компонентов силиконового кристалла на основе применения модифицированного “жадного” алгоритма, что дает возможность повысить период их эксплуатации.
Для достижения поставленной цели необходимо решить следующие задачи: 1) разработка топологической модели представления элементов памяти; 2) ана-
39
лиз топологической модели памяти на примере решения задачи покрытия множества дефектных ячеек системой резервных компонентов; 3) метод решения задачи покрытия на основе применения «жадного» алгоритма в целях восстановления работоспособности памяти с помощью резервных компонентов.
2. Технологии восстановления работоспособности памяти
В процессе производства и эксплуатации любых видов памяти необходимы гарантии ее соответствия техническим условиям (свободна от р азличного вида неисправностей). Для этого предусмотрены три последовательно идущие процедуры: 1) тестирование памяти, заключающееся в подаче тестовых воздействий, ориентированных на выявление определенных классов дефектов [5]; 2) в случае возникновения неисправности необходимо, как правило, дополнительное тестирование - процедур а диагностирования, которая позволяет определить место, причину и вид дефекта; 3) после определения множества дефектов, которые препятствуют выполнению функции памяти, необходимо активизировать процедуру восстановления работоспособности, которая заключается в замене дефектных элементов избыточными резервными компонентами, изначально находящимися на силиконовом кристалле [6,7]. Таким образом, упомянутые процедуры ориентированы на повышение процента годных изделий (Yield) без существенных дополнительных временных и материальных затрат. Для осуществления третьей процедуры восстановления работоспособности необходим специальный механизм восстановления функциональности модулей памяти путем замены дефектных компонентов на исправные из резерва силиконового кристалла.
Процедура тестирования, как правило, осуществляется с помощью BIST-блока (Built-In Self Test), который представляет аппаратный быстродействующий генератор тестовых наборов, а также анализатор (сигнатурный) реакций выходов памяти на тестовые последовательности.
Анализ восстановления (Repair Analysis) заключается в определении возможности покрытия дефектных элементов памяти резервными компонентами. При этом модуль памяти представлен матрицей элементарных ячеек. При разработке кристалла проектировщик закладывает два вида памяти: функциональные ячейки, которые непосредственно применяются для хранения данных и программ при использовании модуля в системе на кристалле, а также резервные или запасные ячейки, которые предназначены для восстановления работоспособности модуля памяти в случае отказов функциональных ячеек. Как функциональные, так и резервные ячейки объединяются в столбцы и строки. При обнаружении дефекта строка (столбец), содержащая дефектный элемент, отключается от функциональной структуры ячеек памяти, а на ее место подключается строка (столбец) из резерва кристалла
(рис. 2). Однако поскольку количество резервных компонентов ограничено, необходим специальный механизм, позволяющий эффективно распределять запасные ресурсы в целях обеспечения покрытия дефектных элементов памяти минимально возможным количеством избыточных столбцов и строк.
і
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
Spare rows
а
Spare columns
11
10
11
10
б
в
Рис. 2. Восстановление памяти с помощью резервных элементов: а - память с дефектными ячейками и избыточными элементами; б - неоптимальное покрытие; в - оптимальное покрытие
Описанная выше процедура поиска покрытия дефектных ячеек минимальным количеством резервных строк и столбцов может быть реализована как в качестве встроенного модуля восстановления работоспособности, так и внешнего по отношению к кристаллу. Во втором случае данные об ошибках поступают извне, обрабатываются и передаются контроллеру, обеспечивающему восстановление памяти. Это приводит к значительным потерям времени. Поэтому предпочтение, как правило, отдается on-chip реализации модуля, когда данные об ошибках передаются непосредственно из BIST. Данный механизм носит название BIRA (Built-In Repair Analysis) - встроенный анализ восстановления.
Восстановление памяти осуществляется с помощью отключения дефектных элементов (строк и столбцов матрицы) путем электрического плавления перемычек и подключения резервных. Процесс пайки может быть электрическим или лазерным [9]. Устройство электрической пайки имеет меньшие габаритные размеры, чем лазерной, и применяется чаще. Пайка перемычек выполняется с помощью набора инструкций, которые могут храниться в постоянной памяти внутри чипа (hard repair) или в оперативной памяти (soft repair). Soft repair имеет ряд преимуществ: при возникновении ошибки новая исправленная инструкция может быть легко записана в память; обеспечивается экономное использование площади кристалла и достаточная надежность [4]. Как правило, инструкции не хранятся в чипе постоянно. Поэтому они дополнительно записываются во внешнюю по отношению к чипу память, или генерируются автоматически. В настоящее время применяется комбинированный способ хр анения инструкций. Hard rep air позволяет использовать упрощенный производственный тест и обеспечивает обнаружение ошибок, которые в силу определенных обстоятельств не могут быть зафиксированы при применении soft repair, например, перегрев.
40
РИ, 2007, № 1
Совокупность процессов встроенного анализа памяти (BIRA) и непосредственного ее восстановления (как правило, soft repair) носит название BISR (Built-In Self Repair) - встроенного самовосстановления [8], которое представлено на рис. 3.
Рис. 3. Схема встроенного анализа и восстановления памяти
Модель процесса встроенного самовосстановления памяти приведена ниже.
1. Активизация чипа, заполнение регистра BISR нулевыми значениями.
2. Запуск контроллера BIST. Тестирование памяти и накопление информации о дефектных ячейках в регистре BIRA.
3. Передача информации о дефектных ячейках в регистр BISR для последующей перепайки.
4. Сканирование BIRA регистров, содержащих статус восстановления, контроллером BIST для получения информации о дефектах.
5. Запуск контроллера пайки в режиме записи и передача из BISR инструкций восстановления.
6. Перезагрузка чипа. Запись в регистр BISR информации о пайке перемычек, замена дефектных строк и столбцов резервными компонентами.
7. Запуск контроллера BIST. Повторное тестирование памяти в целях проверки правильности результата восстановления.
Функция цели Z данного исследования, исходя из современных достижений в области оперативного восстановления памяти, может быть сформулирована следующим образом: минимизация стоимости восстановления (аппаратурных затрат) модуля памяти M =| My | в процессе эксплуатации систем на кристаллах путем использования метода оптимизации покрытия множества дефектных ячеек памяти системой резервных элементов в условиях ограничений N на количество последних:
Z = min[Qi(F)]
i
|Qi(F)| * NmaX = Nr + Nc
где Qi (F) - стоимость i-го варианта решения восстановления модуля памяти м =| My | с помощью минимального подмножества строк и столбцов R = {Rr,Rc} резервных элементов кристалла, покры-
РИ, 2007, № 1
вающего множество F дефектных ячеек памяти R n F = F, Z* = max | Fi |,Fi є F ^VRi.
Основная идея покрытия дефектных ячеек резервными строками и столбцами может быть оформлена в следующую стратегию:
1 Mi(j) с R^ maxM^j) лmin|Mi(j nR|-uj i(j) ш i(j) ш
2. M = M\Mi(j);
3. Nr(c) = Nr(c) _ 1;
4. (Mw =0) л (Nr(c) > 0) - есть решение.
Здесь MWj) - веса строки (столбца), равные количеству дефектных ячеек в них; Nr(c) - количество резервных строк (столбцов).
Представленные четыре пункта итеративно повторяются до получения решения. Фиксация значения одного из параметров Nr(c) ^ 0 свидетельствует об отсутствии решения - количество резервных элементов (столбцов или строк) недостаточно для покрытия всех дефектных ячеек.
3. Метод восстановления памяти с помощью резервных элементов
Задача восстановления модуля памяти сводится к покрытию конечного множества дефектных ячеек с помощью системы резервных элементов R = {Rr,Rc}, где Rr и Rc - подмножества резервных строк и столбцов (| Rr |= Nr, | Rc |= Nc) матрицы памяти, которые можно использовать для восстановления ее работоспособности в процессе оперативного ремонта, причем R = Rr U Rc . Множество всех возможных решений задачи покрытия сводится к семейству вариантов R = {R1,...,Ri,...,R^}, каждый из которых представлен подмножествами строк и столбцов Ri = {Rr,Rc}. Матрица памяти M =| My | может содержать неисправности, которые находятся на пересечении строки и столбца Fj = Mi П Mj, где Fj - идентификатор неисправности.
Метрика или критерий выбора минимального полного покрытия формулируется следующим образом: каждый элемент Fij є F может быть покрыт одним или двумя компонентами из семейства {R^R^, но при этом совокупность NF дефектных ячеек может быть покрыта неаддитивной мощностью подмножеств строк и столбцов | Rr | +1 Rc |<|F|. В этом случае функционал, соответствующий критерию минимальности решения задачи покрытия, представляется в следующем виде:
Zc
j=1,Nc
mi^[|R[| + |Rc |]^(VFjj єF)^
i=1,Nr
^[3i,j(Fij n(Rr,Rc> = Fij)].
41
4. Модель процесса получения минимального покрытия
В основу модели процесса получения минимального покрытия множества дефектных ячеек совокупностью резервных строк и столбцов положен «жадный» алгоритм:
1. Ранжирование строки столбцов матрицы M =| Mjj | по количеству дефектных ячеек с назначением веса каждому компоненту (строке и столбцу):
mw =( Mw ) ; Mw = ( MWjj.
2. На каждом шаге осуществляется выбор строки M- (столбца Mj), с максимальным весом Mw (Mw), для которой выбирается резервная строка Rj (столбец RC ). Далее покрытые строки исключаются из рассмотрения путем обнуления весовых компонентов
MW (mw).
3. Решение существует лишь тогда, когда выполняется условие {Rj,RC}nF = F. В противном случае заданной совокупностью резервных строк и столбцов невозможно покрыть множество дефектных ячеек, и решения не существует.
Схема модели процесса получения минимального покрытия приведена на рис. 4.
Вычислительная сложность модели процесса восстановления работоспосо бности кристалла памяти зависит от размерности матрицы памяти (n х n), числа дефектных элементов (2n - идентификация дефектных строк и столбцов) и мощности имеющегося на кристалле резерва строк и столбцов (2n - в пределе):
1 1 Q = n2 + 2n + 2n + 2n = n2 + 6n.
5. Верификация модели процесса покрытия
В целях верификации модели процесса получения минимального покрытия далее рассматривается пример решения задачи для матрицы памяти с пятью дефектными ячейками, двумя резервными строками и одним резервным столбцом (рис. 5). Каждый резервный компонент (строка или столбец) способен восстановить работоспособность от одной до n дефектных ячеек, принадлежащих строке или столбцу.
Ж
ж 1
-А-
1 2\3 4 5 6
Rr
7 8 9 10
Mj
11
10
9
8
7
6
5
4
3
2
1
Rc
Рис. 5. Матрица памяти с дефектными элементами
Множество F элементов покрытия имеет вид:
F = {(F2,3);(F2,7);(F4,5);(F4,10);(F8,3)} .
Строки и столбцы матрицы M , ранжированные по количеству дефектных ячеек:
Mj{3 5 710} = {(M2,3, M8,3 )2; (M45 )1; (M2,7 )1; (M^)1}, MC2,4,8} = {(M2,3, M2,7 )2; (M45, M410 )2; (M8,3 )1}.
В множествах Mj и M1^ < 0, имеется три эле-
{3,5,7,10} І2,4,8!
мента с одинаковым весом, равным w = 2 : строка
2
матрицы памяти {(2,3);(8,3)} є M
, столбцы
{(2,3);(2,7)}2 є M
{2,4,8}:
{3,5,7,10}
{(4,5);(4,10)}2 є M^.
Путем случайного выбора определяется строка
{(2,3);(8,3)} для покрытия резервным компонентом (рис. 6). Выбранная строка исключается из рассмотрения путем обнуления весового параметра.
Из оставшихся строк и столбцов матрицы M с ненулевым весом
Mi = {{(2,3);(8,3)}0;{(4,5)}1;{(2,7)}1;{(4,10)}1}, Mj = {{(2,3);(2,7)}2;{(4,5);(4,10)}2;{(8,3)}1}
Рис. 4. Модель процесса получения минимального покрытия
42
РИ, 2007, № 1
для покрытия резервным элементом выбирается столбец {(4,5);(4,10)}2 , имеющий минимальное количество пересечений с ранее выбранными строками и столбцами (рис. 7). Использованный столбец исключается из рассмотрения путем обнуления весового параметр а Mj = {{(2,3);(2,7)}2;{(4,5);(4,10)}0;{(8,3)}1}.
-ff
JUL
l[ L _
ДПС
1 1
l\ 2 3 4 5 6 \ 7 8 9 10 \ Rr \ Mij
11
10
9
8
7
6
5
4
3
2
1
Rc
Рис. 6. Покрытие дефектных ячеек {(2,3);(8,3)} резервной строкой
11 10 9 8 7 6 5 4 3 2 1
TT"
_LL
MINI ]\ 2 3 4 5 6 \ Rr 1 1 1 7 8 9 10 m4 1 Rc
Рис. 7. Покрытие дефектных ячеек {(4,5);(4,10)} резервным столбцом
Из оставшихся строк и столбцов матрицы M с ненулевым весом для покрытия последней дефектной ячейки рассматриваемого модуля памяти выбирается строка {(2,7)}1 є Mi, имеющая минимальное количество пересечений с ранее использованными резервными элементами (рис. 8).
строкой
В результате действий, выполненных в соответствии с моделью процесса (см. рис. 4), получено минималь-
ное решение - покрытие пяти дефектных ячеек модуля памяти, который имеет две резервные строки R[ = {{(2,3);(8,3)};{(2,7)}} и один резервный столбец RC = {(4,5);(4,10)}.
По сравнению с подходом, предложенным в работе [10], данный метод позволяет найти оптимальное решение за меньшее (в два раза) количество шагов.
6. Выводы
Научная новизна исследования заключается в разработке нового квазиоптимального метода восстановления работоспособности памяти путем решения задачи покрытия множества дефектных ячеек с помощью резервных элементов. Метод имеет квадратичную вычислительную сложность и может быть аппаратурно реализован как в программном исполнении за пределами кристалла, так и внутри него в виде дополнительного модуля коррекции дефектов, позволяющего автоматически выполнять восстановление работоспособности элементов памяти.
Практическая значимость работы заключается в существенном (5-10%) повышении процента выхода годной продукции на рынке электронных технологий путем восстановления работоспособности дефектных кристаллов памяти, а также в увеличении длительности жизненного цикла кристаллов памяти путем восстановления их работоспособности на основе практической реализации предложенного метода.
Дальнейшие исследования будут направлены на разработку аппаратного модуля тестирования и восстановления работоспособности памяти при возникновении дефектов на стадии производства и эксплуатации кристаллов.
Литература: 1. Wang F. Z., S Wu, Helian N., Parker M.A., Guo Y., Deng Y., and Khare V.R.. Grid-Oriented Storage: A Single-Image, Cross-Domain, High-Bandwidth Architecture // IEEE Transactions on Computers. 2007. P.474-487. 2. Hamdioui S., Gaydadjiev G. N., A. J. van de Goor. The State-of-the-art and Future Trends in Testing Embedded Memories // Records IEEE International Workshop on Memory Technology, Design, and Testing, San Jose, CA, August 2004. 2004. P. 54-59. 3. Zhong Y, Dropsho S.G., Shen X., Studer A., Ding C. Miss Rate Prediction Across Program Inputs and Cache Configurations // IEEE Transactions on Computers. 2007. P.328-343. 4. Memory Repair Primer - A guide to understanding embedded memory Repair options and issues, Logic Vision. 2007. 5. Shoukourian S., Vardanian V., Zorian Y. SoC Yield Optimization via an Embedded-Memory Test and Repair Infrastructure // IEEE Design and Test of Computers. 2004. P.200-207. 6. Youngs L., Paramanandam S. Mapping and Repairing Embedded-Memory Defects // IEEE Design and Test of Computers.-1997. P. 18-24. 7. Zorian Y., Shoukourian S. Embedded-Memory Test and Repair: Infrastructure IP for SoC Yield // IEEE Design and Test of Computers. 2003. P.58-66. 8. Huang R., Ch. Chen, Ch. Wu. Economic Aspects of Memory Built-in Self-Repair // IEEE Design & Test. 2007. P. 164-172. 9. Choi M., Park N., Lombardi F., Kim Y.B., Piuri V. Optimal Spare Utilization in Repairable and Reliable Memory Cores // 2003 International Workshop on Memory Technology, Design and Testing (MTDT’03). 2003. P. 64-71. 10. OhlerPh., Hellebrand
РИ, 2007, № 1
43
S. , Wunderlich H.-J. An Integrated Built-In Test and Repair Approach for Memories with 2D Redundancy // 12th IEEE European Test Symposium (ETS’07). 2007. P. 91-96.
Поступила в редколлегию 16.03.2007
Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.
Хаханов Владимир Иванович, д-р техн. наук, проф., декан факультета компьютерной инженерии и управления ХНУРЭ. Научные интересы: проектирование и диагностика цифровых систем и сетей. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-421,70-21-326.
Литвинова Евгения Ивановна, канд. техн. наук, доцент кафедры технологии и автоматизации производства РЭС и ЭВС ХНУРЭ. Научные интересы: алгоритмизация задач автоматизированного проектирования электронных вы-
числительных средств, проектирование автоматизированных информационных систем. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-486.
Мостовая Карина Леонидовна, аспирантка кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: автоматизация моделирования, верификации и тестирования систем на кристаллах. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21 -326.
Парфентий Александр Николаевич, аспирант кафедры автоматизации проектирования вычислительной техники ХНУРЭ. Научные интересы: автоматизация моделирования, верификации и тестирования систем на кристаллах. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326.
44
РИ, 2007, № 1