Архитектура встроенного самотестирования запоминающего устройства, имеющая распределенное интерпретирование команд и обобщенный протокол команд
Иллюстрации
Показать всеИзобретение относится к архитектурам встроенного самотестирования для использования в электронных устройствах. Техническим результатом является тестирование множества распределенных модулей запоминающего устройства, имеющих различные требования распределения во времени и различные физические характеристики. Архитектура встроенного самотестирования (BIST) имеет распределенное интерпретирование алгоритмов и включает три уровня абстракции: централизованный контроллер встроенного самотестирования (BIST), набор указателей следования и набор интерфейсов запоминающего устройства. Контроллер встроенного самотестирования (BIST) сохраняет набор команд, которые определяют алгоритм для тестирования модулей запоминающего устройства безотносительно к физическим характеристикам или требования распределения во времени модулей запоминающего устройства. Указатели следования интерпретируют команды в соответствии с протоколом команд и генерируют последовательности операций запоминающего устройства. 3 н. и 35 з.п. ф-лы, 14 ил., 2 табл.
Реферат
Область техники, к которой относится изобретение
Изобретение относится к электронным устройствам и, в частности, к архитектурам встроенного самотестирования для использования в электронных устройствах.
Уровень техники
Встроенные самотестирующиеся (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 и сигнал инвертируемых столбцов (не показан), чтобы определить конфигурации