архитектура встроенного самотестирования запоминающего устройства, имеющая распределенное интерпретирование команд и обобщенный протокол команд
Классы МПК: | G11C29/12 встроенные (аппаратные) средства самотестирования (BIST) G06F11/27 встроенные тесты |
Автор(ы): | АВЕРБУХ Роберто Ф. (US), ХАНСКУИН Дэвид В. (US) |
Патентообладатель(и): | КВЭЛКОММ ИНКОРПОРЕЙТЕД (US) |
Приоритеты: |
подача заявки:
2004-03-19 публикация патента:
20.10.2008 |
Изобретение относится к архитектурам встроенного самотестирования для использования в электронных устройствах. Техническим результатом является тестирование множества распределенных модулей запоминающего устройства, имеющих различные требования распределения во времени и различные физические характеристики. Архитектура встроенного самотестирования (BIST) имеет распределенное интерпретирование алгоритмов и включает три уровня абстракции: централизованный контроллер встроенного самотестирования (BIST), набор указателей следования и набор интерфейсов запоминающего устройства. Контроллер встроенного самотестирования (BIST) сохраняет набор команд, которые определяют алгоритм для тестирования модулей запоминающего устройства безотносительно к физическим характеристикам или требования распределения во времени модулей запоминающего устройства. Указатели следования интерпретируют команды в соответствии с протоколом команд и генерируют последовательности операций запоминающего устройства. 3 н. и 35 з.п. ф-лы, 14 ил., 2 табл.
Формула изобретения
1. Система для тестирования работы множества модулей запоминающего устройства, содержащая
централизованный контроллер встроенного самотестирования (BIST), который сохраняет алгоритм для тестирования множества модулей запоминающего устройства, при этом контроллер встроенного самотестирования (BIST) сохраняет алгоритм как набор обобщенных команд, которые согласуются с протоколом команд; и
множество распределенных указателей следования, которые интерпретируют команды на основе протокола команд и применяют обобщенные команды к модулям запоминающего устройства.
2. Система согласно п.1, в которой обобщенные команды указывают алгоритм в соответствии с протоколом команд и безотносительно к требованиям распределения во времени модулей запоминающего устройства.
3. Система согласно п.1, в которой обобщенные команды указывают алгоритм безотносительно к физическим характеристикам модулей запоминающего устройства.
4. Система согласно п.1, в которой каждая из обобщенных команд включает в себя идентификатор указателя следования, который идентифицирует один или более указателей следования для обработки соответствующей команды и применяет эту команду к модулям запоминающего устройства.
5. Система согласно п.4, в которой идентификатор указателя следования содержит идентификатор широкой передачи для указания того, что обобщенная команда должна интерпретироваться и применяться посредством всех их распределенных указателей следования.
6. Система согласно п.4, в которой идентификатор указателя следования содержит идентификатор однонаправленной передачи, который идентифицирует конкретный один из указателей следования для того, чтобы интерпретировать и применять обобщенную команду к соответствующим модулям запоминающего устройства идентифицированного указателя следования.
7. Система согласно п.4, в которой протоколы команд определяют каждую из обобщенных команд, чтобы включить в нее операционный код, выбранный из набора определенных операционных кодов и набора соответствующих параметров.
8. Система согласно п.7, в которой набор определенных операционных кодов включает в себя операционный код, который дает указание указателям следования выборочно включать и отключать режим встроенного самотестирования (BIST), во время которого указатели следования подготавливают модули запоминающего устройства для тестирования посредством выделения модулей запоминающего устройства из адресных и информационных линий, используемых во время обычной операции.
9. Система согласно п.7, в которой набор определенных операционных кодов включает в себя операционный код, который дает указание указателям следования применять последовательность из одной или более операций запоминающего устройства по совокупности адресов, определяемых посредством параметров.
10. Система согласно п.9, в которой параметры включают в себя поле единичной строки (SR) для того, чтобы давать указания указателям следования применять операции запоминающего устройства для всех столбцов модуля запоминающего устройства соответствующих модулей запоминающего устройства для указателей следования, которые имеют самый большой выбор битов столбцов, в то время как поддерживают адрес строки на нулевом значении.
11. Система согласно п.9, в которой параметры включают в себя поле инвертированных битов, чтобы направлять указание указателям следования инвертировать данные, определяемые параметрами для каждой матрицы из строк и столбцов модулей запоминающего устройства, когда применяют операции запоминающего устройства.
12. Система согласно п.9, в которой параметры включают в себя поле пульсирующей строки, чтобы направлять указание указателям следования применять операции запоминающего устройства к модулям запоминающего устройства в по-столбцовом режиме посредством поддержания адреса столбца для каждого из модулей запоминающего устройства постоянным и путем обеспечения пульсирования адреса строки для каждого из модулей запоминающего устройства.
13. Система согласно п.9, в которой параметры включают в себя поле инвертированных строк, чтобы направлять указание указателям следования инвертировать данные, определяемые параметрами для соседних строк модулей запоминающего устройства, когда применяют операции запоминающего устройства.
14. Система согласно п.9, в которой параметры включают в себя поле инвертированных столбцов, чтобы направлять указание указателям следования инвертировать данные, определяемые параметрами для соседних столбцов модулей запоминающего устройства, когда применяют операции запоминающего устройства.
15. Система согласно п.9, в которой параметры включают в себя множество операционных полей, чтобы направлять указание указателям следования применять множественные операции запоминающего устройства для каждого из адресов запоминающего устройства модулей запоминающего устройства.
16. Система согласно п.9, в которой параметры включают в себя данные по умолчанию в поле, которое направляет указание указателям следования применять значение входных данных к модулям запоминающего устройства во время операции считывания.
17. Система согласно п.7, в которой набор определенных операционных кодов включает в себя операционный код, который направляет указание указателям следования выполнять определенную операцию запоминающего устройства по указанному адресу, определяемому параметрами.
18. Система согласно п.7, в которой набор определенных операционных кодов включает в себя операционный код, который направляет указание указателям следования тестировать конкретный один из модулей запоминающего устройства.
19. Система согласно п.7, в которой параметры включают в себя поле анализа неисправностей, чтобы направлять указание указателям следования выборочно осуществлять переключение между режимом анализа неисправностей и режимом встроенного самотестирования (BIST).
20. Система согласно п.19, в которой при работе в режиме анализа неисправностей поле идентификации запоминающего устройства параметров направляет указание указателям следования осуществлять выбор данных от одного конкретного из модулей запоминающего устройства для анализа неисправностей и поля отрезка шины, которое указывает участок шины мультиплексированных данных от выбранного модуля запоминающего устройства, который должен использоваться для анализа неисправностей.
21. Система согласно п.7, в которой набор определенных операционных кодов включает в себя операционный код, который направляет указание, по меньшей мере, одному из распределенных указателей следования применять алгоритм тестирования запоминающего устройства, сохраняемый в этом указателе следования.
22. Система согласно п.1, которая также содержит множество интерфейсов запоминающего устройства, подключенных между указателями следования и модулями запоминающего устройства, при этом интерфейсы запоминающего устройства применяют команды к модулям запоминающего устройства по указанию указателей следования и в соответствии с физическими характеристиками модуля запоминающего устройства.
23. Система согласно п.1, в которой контроллер встроенного самотестирования (BIST) выдает команды указателям следования параллельно для применения к модулям запоминающего устройства.
24. Система согласно п.1, в которой указатели следования применяют команды к соответствующим модулям запоминающего устройства в соответствии с требования распределения во времени модулей запоминающего устройства.
25. Система согласно п.1, в которой каждый из указателей следования содержит
множество контроллеров команд, которые выполняют команды в соответствии с протоколом команд; и
синтаксический анализатор команд для проведения синтаксического анализа каждой из команд, чтобы идентифицировать операционный код и установить параметры на основе протокола команд, при этом синтаксический анализатор команд выборочно активирует контроллер команды на основе операционных кодов команд, принятый от контроллера встроенного самотестирования (BIST).
26. Устройство для тестирования работы множества модулей запоминающего устройства, содержащее
централизованное средство управления встроенным самотестированием (BIST) для выдачи команд, которые согласуются с обобщенным протоколом команд и определяют алгоритм встроенного самотестирования (BIST) для тестирования множества распределенных модулей запоминающего устройства, имеющих различные требования к распределению во времени и физические характеристики; и
распределенное средство для интерпретирования команд и применения команд к модулям запоминающего устройства в соответствии с требованиями распределения во времени и физическими характеристиками модулей запоминающего устройства.
27. Устройство согласно п.26, в которой распределенное средство включает в себя средство интерфейса для генерирования транслируемых сигналов адресации и информационных сигналов на основе физических характеристик модулей запоминающего устройства для применения алгоритма встроенного самотестирования (BIST) к модулям запоминающего устройства.
28. Способ для тестирования работы множества модулей запоминающего устройства, заключающийся в том, что
направляют указание о применении алгоритма от централизованного контроллера посредством выдачи обобщенных команд, которые согласуются с протоколом команд, для тестирования множества модулей запоминающего устройства; и
интерпретируют команды с помощью распределенного набора указателей следования, чтобы применять команды как одну или более последовательностей операций запоминающего устройства в соответствии с протоколом команд.
29. Способ согласно п.28, в котором обобщенные команды указывают алгоритм безотносительно к физическим характеристикам и требования распределения во времени модулей запоминающего устройства.
30. Способ согласно п.28, в котором направление указания о применении алгоритма содержит шаг, заключающийся в том, что указывают каждой из команд включить в себя идентификатор указателя следования, который идентифицирует одну или более последовательностей для обработки команды и применения команды к соответствующему модулю запоминающего устройства.
31. Способ согласно п.30, в котором идентификатор указателя следования содержит один из идентификаторов с широкой передачей, указывающий, что команда должна быть интерпретирована и применена всеми из распределенных указателей следования, и идентификатор с однонаправленной передачей, который идентифицирует конкретный один из указателей следования для интерпретирования команды.
32. Способ согласно п.28, в котором направление указания о применении алгоритма содержит шаг, заключающийся в том, что указывают каждой из команд включить в себя операционный код, выбранный из набора кодов определенных операций и набора соответствующих параметров.
33. Способ согласно п.32, в котором набор определенных операционных кодов включает в себя операционный код, который направляет указание указателям следования, чтобы выборочно включать и отключать режим встроенного самотестирования (BIST), во время которого указатели следования готовят модули запоминающего устройства для тестирования посредством отделения модулей запоминающего устройства из адресных линий и информационных линий, используемых по время обычной операции.
34. Способ согласно п.32, в котором набор определенных операционных кодов включает в себя операционный код, который направляет указание указателям следования, чтобы применять последовательность одной или более операций запоминающего устройства по всей совокупности адресов, определяемых посредством параметров.
35. Способ согласно п.32, в котором набор определенных операционных кодов включает в себя операционный код, который направляет указание указателям следования, чтобы выполнять определенную операцию запоминающего устройства к конкретному адресу, определяемому посредством параметров.
36. Способ согласно п.32, в котором набор определенных операционных кодов включает в себя операционный код, который направляет указание указателям следования, чтобы тестировать конкретный один из модулей запоминающего устройства.
37. Способ согласно п.33, в котором набор определенных операционных кодов включает в себя операционный код, который направляет указание, по меньшей мере, одному из распределенных указателей следования, чтобы применять алгоритм тестирования запоминающего устройства, сохраняемый в этом указателе следования.
38. Способ согласно п.29, в котором шаг выдачи алгоритма содержит шаг, заключающийся в том, что выдают команды на указатели следования параллельно для применения к модулям запоминающего устройства.
Описание изобретения к патенту
Область техники, к которой относится изобретение
Изобретение относится к электронным устройствам и, в частности, к архитектурам встроенного самотестирования для использования в электронных устройствах.
Уровень техники
Встроенные самотестирующиеся (BIST) блоки в настоящее время общепринято включаются в состав чипов запоминающего устройства и других интегрированных схем для тестирования их функциональности и надежности. Например, BIST блок, включенный в состав особого модуля запоминающего устройства, работает посредством записи и считывания различных конфигураций данных на и с соответствующего модуля запоминающего устройства для того, чтобы обнаруживать любые возможные неисправности запоминающего устройства. Посредством сравнения данных, записанных, и данных, последовательно возвращенных с модуля запоминающего устройства, встроенный самотестирующийся (BIST) блок способен определить, является ли какая-либо ячейка памяти модуля запоминающего устройства неисправной.
Интегрированный встроенный самотестирующийся (BIST) блок типично генерирует разнообразие предопределенных тестовых конфигураций и обеспечивает или отменяет выходной сигнал на основе результатов теста запоминающего устройства. Разнообразие алгоритмов может использоваться для обнаружения неисправностей запоминающего устройства. Например, тестовые конфигурации всех нулей, всех единиц или конфигурация «в шахматном порядке», имеющая попеременные нули и единицы, могут быть записаны во всех ячейках памяти. Кроме того, данные могут записываться в ячейках в любом порядке, таком как последовательном по схеме способа адресации с возрастанием или убыванием.
Таким образом, встроенные самотестирующиеся (BIST) блоки общепринято включаются в состав многих типов интегральных схем, которые используют или иначе объединяют модули запоминающего устройства и функционируют в соответствии с некоторым предопределенным алгоритмом, чтобы проверить функциональность внутренней схемы чипа. Однако электронные устройства типично содержат больше, чем внутренняя схема единичного чипа. Обычно они составлены из многих чипов интегрированной схемы и многих поддерживающих компонент, установленных на монтажной плате.
По мере того, как сложность типичного вычислительного устройства возрастает, число чипов запоминающего устройства и других интегрированных схем увеличивается. Например, традиционные вычислительные устройства типично включают в себя множество модулей запоминающего устройства, которые часто относятся к различным типам. Модули запоминающего устройства в пределах единичного вычислительного устройства могут включать в себя различные комбинации запоминающего устройства с произвольным доступом (RAM), постоянного запоминающего устройства (ROM), флэш-памяти, динамического запоминающего устройства с произвольным доступом (DRAM) и т.п. Эти разнообразные типы модулей запоминающего устройства часто требуют различных процедур тестирования и имеют различные плотности битов, скорости доступа, требования схем адресации, протоколы доступа и другие особенности. Как результат, типичное вычислительное устройство может иметь соответствующий встроенный самотестирующийся (BIST) блок для каждого модуля запоминающего устройства, и каждый встроенный самотестирующийся (BIST) блок может различаться для тестирования соответствующего модуля запоминающего устройства.
Раскрытие изобретения
В общем, изобретение направлено на распределенную, иерархическую архитектуру встроенного самотестирования (BIST) для тестирования работы одного или более модулей запоминающего устройства. Как описывается, архитектура включает в себя три уровня абстракции: централизованный контроллер встроенного самотестирования (BIST), набор указателей следования и набор интерфейсов запоминающего устройства, соединенны с модулями запоминающего устройства.
Контроллер встроенного самотестирования (BIST) обеспечивает централизованное высокоуровневое управление процессом тестирования модулей запоминающего устройства. Контроллер встроенного самотестирования (BIST) передает централизованно сохраняемые и поддерживаемые тестовые алгоритмы на указатели следования для приложения к модулям запоминающего устройства. Контроллер встроенного самотестирования (BIST) передает алгоритмы как набор обобщенных команд, которые согласуются с протоколом команд, описанным здесь. Кроме того, протокол команд обеспечивает возможность того, что алгоритмы определяются в общем, безотносительно каких-либо требований по времени, физической организации или конкретных характеристик интерфейса модулей запоминающего устройства. Как результат, разнообразие тестовых алгоритмов может быть легко определено и централизовано поддерживаться для распределения по электронному устройству, как требуется. Следовательно, не требуется с избыточностью сохранять общие тестовые конфигурации в пределах модулей запоминающего устройства.
Указатели следования обеспечивают второй уровень абстракции. Указатели следования распределены в пределах блоков устройства, которые включают в себя один или более модулей запоминающего устройства. Таким образом, каждый указатель следования соотносится с одним или более модулей запоминающего устройства. Указатели следования принимают высокоуровневые команды от контроллера встроенного самотестирования (BIST). В отчете на эти команды указатели следования выдают последовательность из одной или более операций запоминающего устройства в их соответствующих интерфейсах запоминающего устройства для выполнения этих команд. Например, указатель следования может выдавать команды для последовательного доступа к совокупности адресов в ответ на единственную команду от контроллера встроенного самотестирования (BIST). Указатели следования предоставляют отчет о результатах тестов на контроллер встроенного самотестирования (BIST).
Указатели следования управляют приложением операций в соответствии с временными характеристиками их соответствующих модулей запоминающего устройства. Например, каждый из указателей следования регулирует скорость приложения последовательности операций в соответствии со скоростью доступа соответствующего модуля запоминающего устройства. Единственный указатель следования может управлять приложением тестовых алгоритмов ко множеству модулей запоминающего устройства, которые работают на общем часовом домене. Следовательно, логическая схема для управления распределением приложения во времени и следования домена тестовых конфигураций объединяется в пределах указателей следования и не должна распределяться в пределах отдельных модулей запоминающего устройства или поддерживаться контроллером встроенного самотестирования (BIST).
Третий уровень, интерфейсы запоминающего устройства, оперируют со специфическими требованиями интерфейса для каждого из модулей запоминающего устройства. Каждый из модулей запоминающего устройства может быть спроектирован в соответствии с конкретными требованиями интерфейса сигнала и физическими характеристиками соответствующего одного из модулей запоминающего устройства. Каждый интерфейс запоминающего устройства принимает операции запоминающего устройства от управляющего указателя следования и транслирует операции запоминающего устройства, включая соответствующие сигналы адресации и информационные сигналы, как требуется на основе физических характеристик соответствующего модуля запоминающего устройства. Например, интерфейс запоминающего устройства может транслировать адреса, поставляемые управляющим указателем следования на основе строк и столбцов модуля запоминающего устройства для заполнения запоминающего устройства построчным или постолбцовым методом. В другом примере интерфейс запоминающего устройства может транслировать данные, чтобы создавать конкретные конфигурации битов, такие как шахматная конфигурация или как «полосатые» ряды или столбцы, в которых соседние ряды или столбцы имеют противостоящие конфигурации.
В одном варианте осуществления система содержит централизованный контроллер встроенного самотестирования (BIST), который запоминает алгоритм для тестирования множества модулей запоминающего устройства, при этом контроллер встроенного самотестирования (BIST) запоминает алгоритм как набор обобщенных команд, которые согласуются с протоколом команд. Система дополнительно содержит множество распределенных указателей следования, которые интерпретируют команды и применяют команды к модулям запоминающего устройства.
В другом варианте осуществления устройство содержит централизованное средство управления встроенным самотестированием (BIST) для выдачи команд, которые согласуются с обобщенным протоколом команд и определяют алгоритм встроенного самотестирования (BIST) для тестирования множества распределенных модулей запоминающего устройства, имеющих различные требования распределения во времени и физические характеристики, и распределенное средство для интерпретации команд и приложения команд к модулям запоминающего устройства в соответствии с требованиями распределения во времени и физическими характеристиками модулей запоминающего устройства.
В другом варианте осуществления способ содержит выдачу алгоритма от централизованного контроллера и в форме обобщенных команд, которые согласуются с протоколом команд, чтобы тестировать множество модулей запоминающего устройства, и интерпретацию команд с помощью распределенных указателей следования, чтобы применять эти команды как одну или более последовательностей операций запоминающего устройства в соответствии с протоколом команд.
Способы, описанные здесь, могут обеспечивать одно или более преимуществ. Например, эти способы могут обеспечивать возможность того, что разнообразие тестовых алгоритмов легко определяется и поддерживается централизованно в форме обобщенных команд. Обобщенные команды могут быть распределены указателям следования, расположенным по электронному устройству для интерпретирования и применения модулей команд. Как результат, не требуется с избыточностью запоминать общие тестовые алгоритмы в пределах модулей запоминающего устройства.
Кроме того, эти способы могут обеспечить одновременное применение алгоритмов в различных модулях запоминающего устройства, что может сократить общее время тестирования и более полно тестировать взаимодействия между запоминающими устройствами. Кроме того, распределенная иерархическая сущность архитектуры может обеспечить возможность того, что эти способы без труда применяются для существующих конструкций чипов.
Особенности одного или более вариантов осуществления представлены на прилагаемых чертежах и в нижеприведенном описании. Другие признаки, цели и преимущества станут очевидны из описания и чертежей, и из пунктов формулы.
Краткое описание чертежей
Фиг.1 представляет структурную схему, иллюстрирующую характерное электронное устройство, имеющее распределенную иерархическую архитектуру встроенного самотестирования (BIST).
Фиг.2 представляет собой структурную схему, иллюстрирующую характерный вариант осуществления контроллера встроенного самотестирования (BIST).
Фиг.3 представляет диаграмму распределения во времени, которая дополнительно иллюстрирует связь между контроллером встроенного самотестирования (BIST) и набором указателей следования для единичной команды характерного алгоритма встроенного самотестирования (BIST).
Фиг.4 представляет структурную схему, иллюстрирующую характерный вариант осуществления блока устройства.
Фиг.5 представляет структурную схему, иллюстрирующую характерный вариант осуществления указателя следования.
Фиг.6 представляет структурную схему, иллюстрирующую характерный вариант осуществления интерфейса запоминающего устройства.
Фиг.7 представляет структурную схему, которая иллюстрирует характерный вариант осуществления блока генерации данных.
Фиг.8 представляет структурную схему, иллюстрирующую характерную структуру данных команды, выдаваемой контроллером встроенного самотестирования (BIST).
Фиг. от 9А до 9Е иллюстрируют характерные структуры данных в соответствии с протоколом команд, описанным здесь.
Фиг.10 представляет блок-схему, иллюстрирующую характерную работу распределенной трехуровневой архитектуры самотестирования.
Осуществление изобретения
Фиг.1 представляет структурную схему, иллюстрирующую характерное электронное устройство 2, имеющее распределенную иерархическую архитектуру встроенного самотестирования (BIST). В частности, электронное устройство 2 включает в себя контроллер 4 встроенного самотестирования (BIST), который обеспечивает централизованное высокоуровневое управление тестированием блоков от 6А до 6N устройства (совместно называемых «блоками 6 устройства»). Каждый из блоков 6 устройства включает в себя указатель 8 следования, набор одного или более интерфейсов 10 запоминающего устройства и один или более соответствующих модулей 12 запоминающего устройства.
В общем, контроллер 4 встроенного самотестирования (BIST) обеспечивает и осуществляет передачу тестовых алгоритмов на указатели 8 следования для приложения к блокам 6 устройства. Контроллер 4 встроенного самотестирования (BIST) осуществляет передачу каждого из алгоритмов на указатели 8 следования как набор команд, который согласуется с общим и гибким протоколом команд. Каждая команда указывает рабочий код и набор параметров, которые определяют одну или более операций запоминающего устройства безотносительно физических характеристик или требований распределения во времени модулей 12 запоминающего устройства. Таким способом протокол команд обеспечивает возможность того, что множество тестовых алгоритмов без труда определяются и распределяются по электронному устройству 2. Следовательно, контроллер 4 встроенного самотестирования (BIST) обеспечивает централизованное управление процессом обслуживания и распределения алгоритмов. Как результат, не требуется, чтобы общие тестовые алгоритмы с избыточностью запоминались в блоках 6 устройства.
Указатели 8 следования интерпретируют и выполняют тестовые алгоритмы, обеспечиваемые посредством контроллера встроенного самотестирования (BIST). В частности, указатели 8 следования принимают высокоуровневые команды от контроллера встроенного самотестирования (BIST), которые определяют полный алгоритм встроенного самотестирования (BIST). Единичная команда, например, может определять конкретную битовую конфигурацию, которая должна записываться по совокупности из одного или более адресов. В ответ на эти команды, каждый из указателей 8 следования выдает одну или более последовательностей операций запоминающего устройства на их соответствующие интерфейсы 10 запоминающего устройства, чтобы выполнять команды. Кроме того, указатели 8 следования управляют применением операций в соответствии с характеристиками распределения во времени их соответствующих модулей 12 запоминающего устройства. Например, каждый из указателей 9 следования регулирует скорости применения последовательности операций в соответствии со скоростью доступа соответствующего модуля 12 запоминающего устройства. Единичный указатель 8 следования, например указатель 8А следования, может управлять применением тестовых алгоритмов к одному или более модулей запоминающего устройства, например модулей 12А запоминающего устройства, которые работают на общем часовом домене. Модули 12 запоминающего устройства могут быть сгруппированы и назначены для соответствующих указателей 8 следования на основе одного из разнообразия критериев, таких как часовые домены для каждого из модулей запоминающего устройства и любая ранее существующая иерархия или группирование модулей запоминающего устройства. Следовательно, логическая схема для управления распределением во времени применения и установлением последовательности тестовой конфигурации для модулей 12 запоминающего устройства, работающих на общем часовом домене, может быть включена в состав общего указателя 8 следования и не должна распределяться в пределах отдельных модулей запоминающего устройства.
Интерфейсы 10 запоминающего устройства обрабатывают специфические требования интерфейса для каждого из модулей 12 запоминающего устройства. Например, каждый из интерфейсов 10 запоминающего устройства может быть спроектирован в соответствии с конкретными требованиями интерфейса сигналов и физическими характеристиками соответствующего одного из модулей 12 запоминающего устройства. Как результат, каждый из интерфейсов 10 запоминающего устройства может быть представлен как обеспечивающий интерфейсный «упаковщик» вокруг конкретных интерфейсных сигналов, например сигналы адресации, информационные сигналы или сигналы управления, для каждого соответствующего модуля 12 запоминающего устройства. Таким образом, архитектура встроенного самотестирования (BIST) электронного устройства 2 содержит трехуровневый, включающий в себя распределенную структуру контроллер 4 встроенного самотестирования (BIST), указатели 8 следования и интерфейсы 10 запоминающего устройства.
Модули 12 запоминающего устройства могут представлять собой любой тип запоминающего устройства, такой как запоминающее устройство с произвольной выборкой (RAM), постоянное запоминающее устройство (ROM), флэш-память, динамическое запоминающее устройство с произвольной выборкой (DRAM), синхронное динамическое запоминающее устройство с произвольной выборкой (SDRAM), RDRAM, запоминающее устройство прямой записи на диск с произвольной выборкой (DDR-RAM), их комбинации и т.п., и способы, описанные здесь, не ограничиваются в этом отношении. Кроме того, электронное устройство 2 может представлять собой любое устройство, которое объединяет модули запоминающего устройства, такое как встроенная вычислительная система, компьютер, сервер, карманный компьютер (PDA), мобильное вычислительное устройство, мобильное устройство связи, цифровое записывающее устройство, сетевое приспособление, мобильное устройство позиционирования и т.п.
Фиг.2 представляет собой структурную схему, иллюстрирующую характерный вариант осуществления контроллера 4 встроенного самотестирования (BIST). В этом проиллюстрированном варианте осуществления контроллер 4 встроенного самотестирования (BIST) включает в себя запоминающее устройство 20 для алгоритмов, которое запоминает набор из N тестовых алгоритмов. Как описано ниже, каждый алгоритм определяется в соответствии с набором бинарных команд. В одном варианте осуществления, например, полный алгоритм может определяться набором 32-битовых команд, в котором команды определяют все необходимые параметры для выполнения одной или более последовательностей операций запоминающего устройства по совокупности адресов блоков 6 устройства (Фиг.1.), чтобы протестировать функциональность модулей 12 запоминающего устройства.
Пользовательский интерфейс 22 активизирует контроллер 26 алгоритмов в ответ на внешний входной сигнал, такой как сигнал управления от внешнего тестирующего устройства. Альтернативно, контроллер алгоритмов может быть автоматически активизирован при включении питания электронного устройства 2. Когда активирован, контроллер 26 алгоритмов доставляет сигнал выбора алгоритма (ALG_SELECT) на мультиплексор 24, чтобы выбрать один из алгоритмов, запоминаемых в запоминающем устройстве 20 для алгоритмов. Когда выбран, поток бинарных команд, который содержит выбранный алгоритм, применяется к блокам 6 устройства как командные данные (CMD_DATA).
Контроллер 26 алгоритмов управляет доставкой алгоритмов на блоки 6 устройства на основе сигналов подтверждения (SEQ_ACK), принятых от каждого указателя 6 следования блоков устройства. В частности, контроллер 26 алгоритмов последовательно доставляет каждую команду выбранного алгоритма на указатели 8 следования и переходит от одной команды к следующей после получения сигнала подтверждения от каждого из указателей 8 следования. Таким образом, контроллер 26 алгоритмов обеспечивает то, что каждый указатель 8 следования имеет завершенное применение текущей команды к модулю 12 запоминающего устройства через интерфейсы 10 запоминающего устройства переда тем, как перейти к следующей команде. Контроллер 26 алгоритмов может быть программно или статично конфигурирован так, чтобы установить число блоков 6 устройства и, в частности, указателей 8 следования, которые есть в электронном устройстве 2. Кроме того, контроллер 26 алгоритмов может быть программно конфигурирован для применения заданного алгоритма к одному, всем или любой комбинации модулей 12 запоминающего устройства, используя любую комбинацию блоков 6 устройства.
В дополнение к алгоритмам, запоминаемым в запоминающем устройстве 20 для алгоритмов, пользовательский интерфейс 22 может программируемо принимать алгоритмы через внешнее вводное устройство. Пользовательский интерфейс 22 доставляет принятые алгоритмы на мультиплексор 24 в форме, подобной форме запоминаемых алгоритмов, т.е. последовательность бинарных команд, в которых каждая команда определяет тест в пределах всего алгоритма. Таким образом, контроллер 4 встроенного самотестирования (BIST) обеспечивает централизованную распределенную архитектуру самотестирования первого уровня трехуровневой архитектуры.
Фиг.3 представляет собой диаграмму распределения во времени, которая дополнительно иллюстрирует связь между контроллером 4 встроенного самотестирования (BIST) и указателями 8 следования для единичной команды общего алгоритма встроенного самотестирования (BIST). Как показано, в момент времени Т1 контроллер 4 встроенного самотестирования (BIST) декларирует (обеспечивает, утверждает) межсоединения запроса команды (CMD_REQ) и осуществляет передачу текущей команды алгоритма по межсоединениям CMD_DATA.
После приема и применения команды указатели 8 следования обеспечивают соответствующий сигнал SEQ_ACK. Например, в показанном примере каждый из указателей 8 следования обеспечивает соответствующие сигналы SEQ_ACK[1], SEQ_ACK[2], SEQ_ACK[N] и SEQ_ACK[0] в моменты времени Т2, Т3, Т4 и Т5 соответственно. В ответ контроллер 4 встроенного самотестирования (BIST) деактивирует (отзывает) сигнал запроса команды (CMD_REQ) в момент времени Т6, обусловливая то, что указатели 8 следования деактивируют их соответствующий сигнал SEQ_ACK. Контроллер 4 встроенного самотестирования (BIST) обеспечивает сигнал SEQS_DONE, когда все сигналы SEQ_ACK были деактивированы, что обеспечивает возможность контроллеру 4 встроенного самотестирования (BIST) инициировать другую команду в момент времени Т7.
Фиг.4 представляет структурную диаграмму, иллюстрирующую характерный вариант осуществления блока устройств, например блока 6А устройства, более подробно. Как иллюстрируется, блок 6А устройства включает в себя указатель 8А следования, набор интерфейсов 10А-10С запоминающего устройства (совместно называемых «интерфейсами 10 запоминающего устройства») и набор модулей 12А-12С запоминающего устройства (совместно называемых «модулями 12 запоминающего устройства»). Как иллюстрируется на Фиг.4, каждый из интерфейсов 10 запоминающего устройства соответствует соответствующему модулю 12 запоминающего устройства. Указатель 8А следования может быть программируемо и/или статически конфигурирован, чтобы установить число интерфейсов 10 запоминающего устройства, которыми следует управлять, а также характеристики, например максимальный адрес, для самого большого из модулей 12 запоминающего устройства.
Фиг.5 представляет структурную диаграмму, иллюстрирующую характерный вариант осуществления указателя следования, например указателя 8А следования, более подробно. Указатель 8А следования принимает высокоуровневые команды от контроллера 4 встроенного самотестирования (BIST), которые совместно определяют алгоритм встроенного самотестирования (BIST). Как показано подробно ниже, контроллер 4 встроенного самотестирования (BIST) выдает команды в общем, гибком формате, и единичная команда может определять конкретную битовую конфигурацию, которая должна записываться по совокупности одного или более адресов.
В общем, указатель 8А следования принимает общие команды встроенного самотестирования (BIST) и управляет применением каждой команды как последовательностью одной или более операций запоминающего устройства, применяемых к набору соответствующих модулей запоминающего устройства. В иллюстрируемом варианте осуществления указатель 8а следования включает в себя синтаксический анализатор (команды CMD PARSER) 30, который принимает командные данные (CMD_DATA) от контроллера 4 встроенного самотестирования (BIST). Синтаксический анализатор 30 команды обрабатывает принятую команду для того, чтобы идентифицировать указанную операцию, например, путем идентификации операционного кода, указываемого командой.
На основе указанной операции синтаксический анализатор 30 команды может извлекать один или более параметров из команды и выбирать соответствующий один из командных контроллеров (CMD CONTROLLER) 34А-34N. Другими словами, каждый один из командных контроллеров 34 соответствует особой команде, которая может быть указана посредством CMD_DATA. Синтаксический анализатор 30 команды активизирует выбранный командный контроллер 34 и передает параметры, извлеченные из принятой команды. Хотя они показаны отдельно, командные контроллеры 34 могут быть комбинированы и/или интегрированы в единственном функциональном блоке, имеющем логическую схему для выполнения каждой из поддерживаемых команд.
В ответ на каждую команду активированный один из командных контроллеров 34 выдает последовательность одной или более операций на каждый интерфейс 10 запоминающего устройства. В частности, активированный один из командных контроллеров 34 последовательно запускает подходящие сигналы управления командами (CMD_CTRL_SIGNALS) для выполнения каждой операции последовательности. Сигналы управления командами могут включать в себя сигналы для обеспечения адресов запоминающего устройства и данных на принимающие интерфейсы 10 запоминающего устройства и для направления указаний на принимающие интерфейсы запоминающего устройства, чтобы инвертировать биты, выполнять операции считывания или записи, инвертировать строки и т.п., как дополнительно описывается ниже.
Кроме того, командный контроллер 34 управляет применением операций в соответствии с характеристиками распределения во времени их соответствующих модулей 12 запоминающего устройства. Следовательно, логическая схема для управления применяемых распределения во времени и последовательности операций для модулей 12 запоминающего устройства, работающих на общем часовом домене, может быть включена в состав общего указателя 8 следования, и не должна распределяться по отдельным модулям запоминающего устройства.
Указатель 8А следования принимает данные от тестируемых модулей 12 запоминающего устройства, например, посредством сигналов от MEM[0]_DOUT до MEM[N]_DOUT и выборочно передает эти данные обратно на контроллер 4 встроенного самотестирования (BIST) или внешнее устройство посредством мультиплексора 37 и сигнала 39 выбора данных. Таким образом, указатели 8 следования принимают во внимание анализ данных для идентификации любых неисправностей.
Таким образом, указатели 8 следования обеспечивают возможность того, что контроллер 4 встроенного самотестирования (BIST) централизованно управляет хранением и выдачей алгоритмов, использующих общий и гибкий формат команд. Указатели 8 следования принимают общие команды встроенного самотестирования (BIST) в соответствии с протоколом команд и управляют применением команд посредством генерирования и выпуска последовательностей из одной или более операций запоминающего устройства при применении для набора соответствующих модулей 12 запоминающего устройства, тем самым обеспечивая второй уровень распределенной иерархической архитектуры самотестирования.
Фиг.6 представляет структурную диаграмму, иллюстрирующую характерный вариант осуществления интерфейса 41 запоминающего устройства, который обеспечивает конечный уровень абстракции распределенной архитектуры встроенного самотестирования (BIST) посредством обработки конкретных требований интерфейса для соответствующего модуля 12 запоминающего устройства.
В иллюстрируемом варианте осуществления интерфейс 41 запоминающего устройства включает в себя уровень мультиплексоров 45, 46, который отделяет модуль 12 запоминающего устройства от нормальной функциональности, кода электронное устройство 2 работает в режиме встроенного самотестирования (BIST). В частности, при нормальных рабочих условиях включение этого режима встроенного самотестирования (BIST_EN) деактивируется, обусловливая то, что мультиплексоры 45, 46 выбирают сигналы адресации/управления (ADDR/CTRL) и информационные сигналы (DATA), например, как обеспечивается программируемым процессором. Когда электронное устройство 2 работает в режиме встроенного самотестирования (BIST), однако, сигнал включения режима встроенного самотестирования (BIST) обусловливает то, что мультиплексоры 45, 46 выбирают сигналы адресации/управления при встроенном самотестировании (BIST) (BIST_ADDR/CTRL) и тестовые данные, обеспечиваемые соответствующим указателем следования более высокого уровня. Таким образом, указатель следования управляет мультиплексорами 45, 46 интерфейса 41 запоминающего устройства, чтобы выборочно выделить соответствующий модуль запоминающего устройства, тем самым обеспечивая возможность того, что алгоритмы встроенного самотестирования (BIST) применяются к этому модулю запоминающего устройства.
Интерфейс 41 запоминающего устройства дополнительно включает в себя блок 44 генерирования данных, который принимает сигналы BIST_DATA и значения данных по умолчанию (DEFAULT_DIN), как обеспечивается указателем 8 следования, и генерирует преобразованные сигналы 49 данных встроенного самотестирования (BIST) (BIST_DATA_T) на основе сигналов управления (BIST_DATA_GEN_CTRL), обеспечиваемых указателем следования, и конкретные физические характеристики соответствующего модуля 12 запоминающего устройства. Более конкретно, как описано с дополнительными подробностями ниже, блок 44 генерирования данных генерирует точные данные (RAM_DIN), подаваемые на устройства ввода запоминающего устройства во время каждой операции алгоритма. Блок 44 генерирования данных генерирует преобразуемые данные встроенного самотестирования (BIST) на основе физической конфигурации, например физической конфигурации строк и столбцов, соответствующего модуля 12 запоминающего устройства, а также битовой конфигурации, указанной указателем 8А следования, например, в шахматном порядке, инвертируемой и т.п.
Например, указатель 8 следования может запросить битовую конфигурацию в шахматном порядке, которая принимает столбцы данных в модуле запоминающего устройства для чередования между единицами и нулями. Различные модули 12 запоминающего устройства, однако, могут быть сформированы для различных конфигураций строк и столбцов. В результате ячейка памяти для заданного адреса может быть расположена в других строке и столбце модуля 12 запоминающего устройства, имеющего другие конфигурации строк-столбцов. Например, 256-битовый модуль 12 запоминающего устройства может быть организован как 128 строк на 2 столбца, 32 строки на 8 столбцов, 16 строк на 16 столбцов и т.п. В результате записывание конкретной конфигурации на этой матрице, такой как конфигурация в шахматном порядке, требует знания конкретной конфигурации строк-столбцов модуля запоминающего устройства. Блок 44 генерирования данных обрабатывает данные, предоставляемые указателем 8 следования, и преобразует эти данные, например инвертирует данные, как требуется для того, чтобы обеспечить, что требуемая битовая конфигурация правильно записана, как описывается с дополнительными подробностями ниже.
Подобным образом блок 42 генерирования адреса генерирует адрес, применяемый на модуле 12 запоминающего устройства на основе требований к адресации, указываемых указателем 8А следования, и физической конфигурации строк и столбцов модуля запоминающего устройства. Например, в некоторых тестах при встроенном самотестировании (BIST) указатель 8А следования дает указание интерфейсу 41 запоминающего устройства записывать данные встроенного самотестирования (BIST) по первой схеме строк (или столбцов), т.е. требуя, чтобы каждая строка (или столбец) были полностью записаны перед переходом к следующей строке (или столбцу). Так как эти требования являются специфическими для конфигурации строк и столбцов, блок 42 генерирования адреса преобразует адрес, предоставляемый указателем 8А следования на подходящий, для того, чтобы прослеживать всю строку (или столбец) перед дальнейшим действием.
В результате указатель способен выдавать операции посредством последовательного прослеживания адресного пространства, определяемого соответствующей командой, ограниченной модулем запоминающего устройства максимального размера, соотносимого с этим указателем следования. Каждый интерфейс запоминающего устройства, например интерфейс 41 запоминающего устройства, преобразует принимаемый адрес, как требуется для применения операции к соответствующей ячейке памяти. Например, для первого алгоритма встроенного самотестирования (BIST) для столбца указатель 8 следования выдает операции по адресам в последовательности, в то время как блок 42 генерирования адресов вычислительным способом преобразует принятый адрес, чтобы иметь доступ к ячейке памяти, которая попадает вдоль столбцов модуля 12 запоминающего устройства. В этом примере блок 42 генерирования адреса преобразует адреса для доступа к модулю 12 запоминающего устройства по столбцовым способом от столбца, наименее значимого, к столбцу, наиболее значимому, на основе того, происходит ли продвижение по адресному пространству в направлении приращения или понижения.
Компаратор 48, который определяет, совпадают ли данные (RAM_DOUT), считанные с модуля 12 запоминающего устройства, с данными, записанными последними по этому адресу модуля запоминающего устройства, как ожидается. Когда сравнение дает отрицательный результат, т.е. когда данные, считанные с модуля 12 запоминающего устройства, не совпадают с ранее записанными данными, компаратор 48 активирует сигнал BIST_FAIL, чтобы указать, что была обнаружена ошибка памяти.
Таким способом интерфейс 41 запоминающего устройства обрабатывает последовательные операции запоминающего устройства, выдаваемые указатели следования высокого уровня и преобразует данные и адреса, предоставляемые указателем следования, как требуется на основе конкретных физических характеристик модуля запоминающего устройства, тем самым обеспечивая третий уровень распределенной иерархической архитектуры самотестирования. В результате указатель следования способен выдавать (назначать) операции для сложных алгоритмов встроенного самотестирования (BIST) без затребования подробной информации относительно физических характеристик и емкостей каждого модуля 12 запоминающего устройства.
Фиг.7 представляет структурную диаграмму, которая иллюстрирует характерный вариант осуществления блока 44 генерирования данных (Фиг.6). В показанном варианте осуществления блок 44 генерирования данных принимает сигнал BIST_DATA, сигнал о данных по умолчанию (DEFAULT_DIN), предоставляемый указателем 8 следования. Кроме того, блок 44 генерирования данных принимает количество сигналов управления в форме BIST_INVERT_BITS, BIST_INVERT_ROWS, LSB_ROW_ADDR и BIST_WRITE. На основе принятых данных и этих сигналов управления блок 44 генерирования данных генерирует преобразованные сигналы 49 данных встроенного самотестирования (BIST) (BIST_DATA_T) на основе сигналов управления BIST_DATA_GEN_CTRL обеспечиваемых указателем 8 следования, и конкретных физических характеристик соответствующего модуля 12 запоминающего устройства.
В частности, указатель 8 следования активирует и отменяет сигнал инвертированных битов BIST_INVERT_BITS, сигнал инвертированный строк BIST_INVERT_ROWS и сигнал инвертируемых столбцов (не показан), чтобы определить конфигурации данных, такие как сплошная, в шахматном порядке, в виде горизонтальных и вертикальных полос конфигурации данных. Если ни сигналы инвертированных битов, ни сигналы инвертированных строк не активируются, тогда сигнал BIST_DATA проходит через шлюз 52, 54 XOR без модификации. В результате блок 44 генерирует преобразованный сигнал 49 данных (BIST_DATA_T) для заполнения модуля 12 запоминающего устройства с данными, получаемыми от указателя 8 следования без модификации.
Если сигнал BIST_INVERT_ROW устанавливается, тогда блок 44 генерирования данных инвертирует значения каждый раз, когда пересекается строка, как указано посредством наименее значимого бита адреса строки (LSB_ROW_ADDR). В результате вентильная логическая схема 50 AND заставляет вентильную логическую схему 52 XOR инвертировать значения, назначаемые указателем следования, и тем самым инвертировать значения, записанные на соседних строках. Подобная функциональность может обеспечиваться для инвертирования значений, когда пересекаются столбцы. Когда сигнал BIST_INVERT_BITS активируется, блок 44 генерирования данных автоматически инвертирует значения, назначаемые указателем следования. Это может быть полезным при инвертировании значений между соответствующими ячейками различных матриц.
Поле DEFAULT_DIN устанавливает значение данных по умолчанию, применяемое к модулям запоминающего устройства во время операций считывания для модулей 12 запоминающего устройства. Мультиплексор 56 осуществляет выбор между данными DEFAULT_DIN и данными, генерируемыми посредством вентильной логической схемы 54 XOR на основе того, выполняется ли операция записи или считывания, как указано сигналом BIST_WRITE.
Фиг.8 представляет структурную схему, иллюстрирующую характерную структуру данных команды, выдаваемой контроллером 4 встроенного самотестирования (BIST). В показанном варианте осуществления команда 60 включает в себя идентификатор 62 (ID) указателя следования и нагрузку 64. Идентификатор 62 (ID) указателя следования идентифицирует указатель следования, т.е. указатель 8А следования, на который выдается команда 60, как описано с дополнительными подробностями ниже.
Контроллер 4 встроенного самотестирования (BIST) распространяет в режиме широкой передачи команды на все указатели 8 следования или может выдавать команду в режиме однонаправленной передачи на конкретный один из указателей следования. В частности, контроллер 4 встроенного самотестирования (BIST) устанавливает идентификатор ID 62 указателя следования на единственный идентификатор для одного из указателей 8 следования, чтобы направлять однонаправленную команду на этот указатель следования. Для команды широкой передачи контроллер встроенного самотестирования (BIST) устанавливает идентификатор ID 62 указателя следования на идентификатор широкой передачи, такой как 0х0.
Нагрузка 64 команды 60 переносит бинарные данные, которые определяют саму команду. В частности, нагрузка 64 включает в себя операционный код (OP CODE) 66 и набор параметров 68. В общем операционный код (OP CODE) 66 указывает конкретную функцию, которая должна выполняться, посредством принимающих указателей 8 следования.
Следующая таблица перечисляет характерный набор операционных кодов:
Таблица 1 | |||
Команда (CMD) | Операционный код (OP CODE) | Тип сообщения | Описание |
Возврат в исходное положение | 000 | Широкая передача или однонаправленная передача | Возвращают в исходное положение указатель(и) следования и выборочно запускают режим встроенного самотестирования (BIST) |
Выполнить | 001 | Широкая передача или однонаправленная передача | Применяют определенную последовательность одной или более операций запоминающего устройства, как определяется посредствам параметров команды. |
Запускают записанный тест | 010 | Широкая передача или однонаправленная передача | Инициируют указанный тестовый алгоритм, запоминаемый в пределах конкретного указателя следования. |
Тестируют запоми-нающее устройство | 011 | Однонаправленная передача | Выбирают конкретный модуль запоминающего устройства в пределах блока устройства в тесте или для анализа неисправности. |
Устанавливают адрес | 100 | Однонаправленная передача | Устанавливают конкретный стартовый адрес, а также максимальную границу адреса для тестового алгоритма, применяемого к модулям запоминающего устройства. |
Адрес единичного слова | 101 | Широкая передача или однонаправленная передача | Выполняют одну или более операций на адресе, указанном посредствам текущего адреса встроенного самотестирования (BIST) указателя следования. Может приращиваться или убавляться после доступа. |
В одном варианте осуществления операционный код (OP CODE) 66 параметры 68 содержат три бита и двадцать девять битов соответственно, чтобы формировать 32-битовую команду. Формат и значение параметров 68 зависит от типа команды, как указывается операционным кодом (OP CODE) 66.
Фиг.9А иллюстрирует характерную структуру данных параметров 68 для команды возврата в исходное положение (RESET). Как показано, единственным релевантным битом параметров 68 является бит 28, который может быть активирован или деактивирован, чтобы выборочно включать или отключать режим встроенного самотестирования (BIST). Когда активированы, принимающие указатели 8 следования входят в режим для применения тестовых алгоритмов, чтобы тестировать соответствующие блоки 6 устройства. Когда они де-активированы, принимающие указатели следования возвращают в исходное положение и завершают текущий алгоритм.
Фиг.9В иллюстрирует характерную структуру данных параметров 68 для команды ВЫПОЛНИТЬ (EXECUTE). Как показано, для команды ВЫПОЛНИТЬ (EXECUTE) параметры 68 направляют указания принимающим указателям 8 следования, чтобы применить указатель следования операция запоминающего устройства по совокупности адресов в соответствии с конкретными характеристиками распределения во времени их соответствующих модулей 12 запоминающего устройства.
Когда принимаются по умолчанию, указатели 8 следования повторно выполняют указанные операции запоминающего устройства по совокупности адресов самого большого модуля 12 запоминающего устройства в пределах соответствующего блока 6 устройства. Однако, если бит ЕДИНИЧНОЙ СТРОКИ (SR) включается, указатели 8 следования выполняют определенную последовательность операций запоминающего устройства для всех столбцов модуля 12 запоминающего устройства, которое имеет самый большой выбор столбец-бит, в то время как поддерживает адрес строки постоянным.
При применении последовательности операций запоминающего устройства указатели 8 следования либо нарастают, либо уменьшаются на совокупности адресов, поддерживаемых посредством самого большого модуля 12 запоминающего устройства в пределах их соответствующих блоков 6 устройства на основе состояния бита ADD INC/DEC параметров 68. Если ADD INC/DEC активируется, например, указатели 8 следования применяют определенные операции запоминающего устройства к каждому адресу, начиная от нулевого и направляясь к максимальным адресам. Если ADD INC/DEC де-активируется, однако, указатели 8 следования применяют определенные операции запоминающего устройства к каждому адресу, начиная от максимального адреса и уменьшаясь до нулевого. Поле DEF DIN устанавливает значение данных по умолчанию, применяемое к модулям 12 запоминающего устройства во время операция считывания для модулей запоминающего устройства.
Поле пульсирующей строки (RR) направляет указание указателю 8 следования применять определенные операции запоминающего устройства в по-столбцовом режиме, т.е. путем применения операций ко всему столбцу перед переходом к следующему столбцу. Другими словами, каждый из указателей 8 следования поддерживает адрес столбца постоянным при применении операции запоминающего устройства и «пульсирующем» изменении адреса строки.
Поле инвертированных битов (IB), поля инвертируемых строк (IR) и инвертируемых столбцов (IC) могут использоваться для указания конфигурации данных для тестирования модулей 12 запоминающего устройства, таких конфигураций данных как сплошные, в шахматном порядке, в виде горизонтальных и вертикальных полос. Более конкретно, если контроллер 4 встроенного самотестирования (BIST) не устанавливает любое из полей IR и IC, то принимающие указатели 8 следования направляют указание на интерфейсы 10 запоминающего устройства, чтобы заполнить модули 12 запоминающего устройства со значениями, назначенными указателем следования. Если поле IR устанавливается, то значения, назначаемые указателями 8 следования, будут иметь инвертируемые значения, записанные на соседний столбцах. В результате, если как поле IR, так и поле IC устанавливаются, значения инвертируются между каждым столбцом и между каждой строкой, чтобы создать конфигурацию в шахматном порядке в модулях запоминающего устройства. Наконец, как описано выше, заданный модуль 12 запоминающего устройства может быть конфигурирован в виде больше, чем одной матрицы. Если поле инвертированных битов (IB) устанавливается, то интерфейсы 10 запоминающего устройства автоматически инвертируют значения, назначаемые указателем 8 следования между соответствующими ячейками различных матриц.
Поля операций (OPI-OPS) могут использоваться, чтобы определить набор операций, которые должны применяться к каждому адресу запоминающего устройства. Например, каждое поле операции, такое как OPI, может содержать два бита. Первый бит может активироваться или де-активироваться, чтобы указать, является ли операция считыванием или записью. Второй бит может быть установлен на основе данных, которые должны записываться, т.е. ноль или единица. Поле числа операций (NUM OPS) дает инструкцию указателям 8 следования относительно того, сколько операций были определены для применения для каждого адреса запоминающего устройства. Таким образом, единственная команда может использоваться для того, чтобы в общем определить шаг в пределах всего алгоритма встроенного самотестирования (BIST), и такой шаг может определять одну или более операций, которые должны применяться к каждому адресу модулей 12 запоминающего устройства с блоками 6 устройства принимающих указателей 8 следования.
Фиг.9С иллюстрирует характерную структуру данных параметров 68 для команды TEST MEM. Для этой команды параметры 68 включают в себя бит FA/BIST, чтобы интерпретировать команду TEST MEM в качестве команды анализа неисправностей и в качестве команды встроенного самотестирования (BIST). При установке на команду анализа неисправностей значение, указанное полем MEM ID, используется принимающими указателями 8 следования, чтобы выбирать вывод данных конкретного одного из модулей 12 запоминающего устройства для анализа неисправностей. При установке на команду встроенного самотестирования (BIST) значение, указанное полем MEM ID, используется принимающими указателями 8 следования, чтобы выбирать вывод данных конкретного одного из интерфейсов 10 запоминающего устройства для участия в конкретном тесте. Таким образом, алгоритм может выборочно применяться к отдельным модулям 12 запоминающего устройства в пределах блока 6 устройства. Поле MEM BUS SLICE используется, чтобы указать, какой участок шины мультиплексированных данных от модулей 12 запоминающего устройства используется для анализа неисправностей.
Фиг.9D представляет характерную структуру данных параметров 68 для команды SET ADDRESS. Для этой команды параметры 68 включают в себя поле адреса ADDRESS, которое устанавливает конкретный адрес запоминающего устройства для применения шага встроенного самотестирования (BIST). Это может быть полезным в сочетании с командой SINGLE WORD ACCESS. Параметры 68 также включают в себя поле предела (LIMIT) для указания границы максимального адреса для тестового алгоритма. В одном варианте осуществления поле LIMIT содержит 2-битовое поле данных для установки границы для: (1) максимального адреса самого большого из модулей 12 запоминающего устройства блока 6 устройства, (2) максимального адреса, деленного на два, (3) максимального адреса, деленного на четыре, и (4) максимального адреса, деленного на восемь.
Фиг. 9Е представляет характерную структуру данных параметров 68 для команды SINGLE WORD ACCESS. Для этой команды параметры 68 включают в себя бит обеспечения изменения адреса (ENADC), который контролирует, должны ли принимающие указатели 8 следования изменять их соответствующие адреса текущего встроенного самотестирования (BIST) после применения шага. Если активирован, бит нарастания/уменьшения адреса (ADD INC/DEC) контролирует, должен ли адрес текущего встроенного самотестирования (BIST) быть наращиваемым или уменьшаемым. Поле инвертированных битов (IB), поля инвертированной строки (IR) и инвертированного столбца (IC) могут использоваться, чтобы указать конфигурации данных для тестирования модулей 12 запоминающего устройства, такие конфигурации данных как сплошные, в шахматном порядке, в виде горизонтальных или вертикальных полос, как описывается выше в связи со ссылкой на команду ВЫПОЛНИТЬ (EXECUTE). Поле данных (DATA) используется для подачи значения по умолчанию для входных данных для операций считывания тестированных модулей 12 запоминающего устройства.
Таблица 2 иллюстрирует характерный алгоритм встроенного самотестирования (BIST) в шахматном порядке, запоминаемый и выдаваемый посредством контроллера 4 встроенного самотестирования (BIST) в соответствии с описанным протоколом команд. Как показывается, относительно сложный алгоритм тестирования запоминающего устройства в шахматном порядке может быть описан всего в четырех командах, используя протокол команд.
Таблица 2 | |||
Операционный код (OP CODE) | Параметры | Промышленное обозначение | Описание |
010 | 0100001110000000000000000 | ^(W01) | Последовательность от нулевого до максимального адреса (МАХ ADDR)/записывают попеременно «0», «1». |
010 | 0100001111000000000000000 | ^(R01) | Последовательность от нулевого до максимального адреса (МАХ ADDR)/считывают попеременно «0», «1» |
010 | 0100001110100000000000000 | ^(W10) | Последовательность от нулевого до максимального адреса (МАХ ADDR)/ записывают попеременно «0», «1» |
010 | 0100001111100000000000000 | ^(R10) | Последовательность от нулевого до максимального адреса (МАХ ADDR)/считывают попеременно «1», «0». |
Таблица 3 иллюстрирует характерный алгоритм "Blanket March" встроенного самотестирования (BIST), записанный и выдаваемый посредством контроллера 4 встроенного самотестирования (BIST) в соответствии с описанным протоколом команд. Как иллюстрируется, алгоритм тестирования запоминающего устройства может быть описан посредством всего лишь шести команд, используя протокол команд. Каждая из команд указывает принимающим указателям 8 следования выдавать последовательности операций запоминающего устройства, которые прослеживают всю область памяти в определенном направлении. Кроме того, несколько команд указывают указателям следования применять множественные операции запоминающего устройства к каждому адресу в пределах имеющейся области памяти. Таким образом, сложный алгоритм встроенного самотестирования (BIST) может быть легко распределен по всему объему и применен посредством составных компонент иерархической архитектуры самотестирования.
Таблица 3 | |||
Операцион-ный код (OP CODE) | Параметры | Промышленное обозначение | Описание |
010 | 010100000000000000000000000 | Din=0^(WO) | Последовательность от нулевого до максимального адреса (МАХ ADDR)/записывают «0». |
010 | 011100000111001110100000000 | Din=0^(R0, W1, R1, W1) | Последовательность от нулевого до максимального адреса (МАХ ADDR), пульсирующая строка/считывают «0», записывают «1», считывают «1», записывают «1». |
010 | 011110000111100100000000000 | Din=0^(R1, W0, R0, W1) | Последовательность от нулевого до максимального адреса (МАХ ADDR), пульсирующая строка/считывают «1», записывают «0», считывают «0», записывают «0». |
010 | 001100000111001110100000000 | Din=0v(R0, W1, R1, W1) | Последовательность от максимального адреса (МАХ ADDR) до нулевого, пульсирующая строка/считывают «0», записывают «1», считывают «1», записывают «1». |
010 | 001110000111100100000000000 | Din=0v(R1, W0, R0, W0)) | Последовательность от максимального адреса (МАХ ADDR) до нулевого, пульсирующая строка/считывают «1», записывают «0», считывают «0», записывают «0». |
010 | 010100000001000000000000000 | Din=0^(RO) | Последовательность от нулевого до максимального адреса (МАХ ADDR)/считывают «0». |
Фиг.10 представляет блок-схему, иллюстрирующую характерную операцию электронного устройства 2 и, в частности, распределенную трехуровневую архитектуру самотестирования контроллера 4 встроенного самотестирования (BIST), указателей 8 следования и интерфейсов 10 запоминающего устройства.
Исходно контроллер 4 встроенного самотестирования (BIST) выбирает один из алгоритмов, запоминаемых во внутреннем запоминающем устройстве для алгоритмов, например запоминающем устройстве 20 (70) алгоритмов. После осуществления выбора алгоритма контроллер 4 встроенного самотестирования (BIST) выдает первую команду, определенную посредством алгоритма, на один или более указателей 8(72) следования.
Каждый принимающий указатель 8 следования производит структурный анализ команды, чтобы идентифицировать определенный операционный код и соответствующие параметры (78). Для команд доступа к запоминающему устройству каждый принимающий указатель 8 следования инициирует стартовый адрес, определяемый командой (80). Затем указатель 8 следования выдает операцию запоминающего устройства, то есть генерирует подходящие сигналы адресации, информационные сигналы и сигналы управления (82).
В свою очередь, каждый принимающий интерфейс 10 запоминающего устройства транслирует информационные сигналы и сигналы адресации на основе физических характеристик каждого соответствующего модуля 12 запоминающего устройства (92, 94) и применяет транслированные сигналы на модули запоминающего устройства (96). Кроме того, данные для доступа к запоминающему устройству (97) при считывании интерфейсы 10 запоминающего устройства автоматически сравнивают данные, считанные с соответствующих модулей 12 запоминающего устройства, с ожидаемыми данными (98). На основе этого сравнения интерфейсы 10 запоминающего устройства обновляют соответствующие сигналы неисправности встроенного самотестирования (BIST), чтобы сообщить статус тестируемого модуля 12 запоминающего устройства (100).
Когда операция запоминающего устройства была выдана посредством интерфейсов 10 запоминающего устройства, указатели 8 следования определяют, должны ли применяться дополнительные операции к текущему адресу запоминающего устройства в пределах последовательности (84). Если так, то указатели 8 следования выдают команды на интерфейсы 10 запоминающего устройства аналогичным образом (82). Если дополнительные операции не требуются, указатели 8 следования обновляют адрес (86) и определяют, была ли выстроена в последовательность вся совокупность адресов, определенная командой, или остаются дополнительные адреса (88). Когда вся совокупность адресов была выстроена в последовательность и операции запоминающего устройства были применены к адресам в пределах этой совокупности, указатели 8 следования выдают сигналы подтверждения на контроллер 4 встроенного самотестирования (BIST) (90).
После приема подтверждений от каждого из указателей 8 следования, направляемых вместе с командой (74), контроллер 4 встроенного самотестирования (BIST) определяет, была ли выдана последняя команда для выбранного алгоритма. Если нет, то контроллер 4 встроенного самотестирования (BIST) повторяет процесс и выдает дополнительные команды (72). Когда все команды были выданы и применены посредством указателей 8 следования и интерфейсов 10 запоминающего устройства (76), контроллер 4 встроенного самотестирования (BIST) завершает текущий тест встроенного самотестирования (BIST).
Различные варианты осуществления были описаны. Эти и другие варианты осуществления входят в объем правовой охраны, определяемый следующими пунктами формулы.