Маршевый тест

20.01.2022

Маршевый тест (англ. March test) — тест ячеек оперативной памяти (ОЗУ), имеющий линейную зависимость сложности от ёмкости запоминающего устройства.

Описание

Маршевый тест состоит из конечного числа маршевых элементов. При этом каждый маршевый элемент определяется через порядок формирования адресной последовательности и порядок операций чтения и записи.

Формирование адресной последовательности может быть:

  • Последовательный по возрастанию (↑);
  • Последовательный по убыванию (↓);
  • Последовательный по возрастанию или убыванию (↑↓);

Операции чтения и записи рассматриваются из следующих:

  • «r0» (англ. read) — чтение ячейки памяти с ожидаемым значением 0;
  • «r1» — чтение ячейки памяти с ожидаемым значением 1;
  • «w0» (англ. write) — запись в ячейку памяти значения 0;
  • «w1» — запись в ячейку памяти значения 1.

Описываемых операций для каждой из ячеек может быть несколько.

Например, маршевый тест MATS (Modified Algorithmic Test Sequence) описывается следующим образом: {↑↓(w0); ↑(r0, w1); ↓(r1)}. Этот тест имеет три маршевых элемента и сложность O(4N). Первый элемент «↑↓(w0)» рассматривается как фаза инициализации и устанавливает начальное значение ячейки памяти. Она может использоваться как при переходе к новым проверяемым ячейкам, так и изначально путём записи во все ячейки ОЗУ. Вторая фаза «↑(r0, w1)» представляет собой перебор всех ячеек по возрастанию, во время которого происходит чтение и проверка 0, и далее запись 1. Третий элемент «↓(r1)» используется в последующем перебором всех ячеек с чтением и проверкой 1.

Набор элементов маршевого теста (как элементы, так и их последовательность) определяет его покрывающую способность и эффективность обнаружения отказов.

Особенности

Маршевые тесты имеют приемлемую покрывающую способность неисправностей ОЗУ и простоту реализации, что важно для встроенных средств самотестирования (англ. Built-In Self-Test, BIST).

Классические маршевые тесты

Считаются классическими следующие маршевые тесты:


Рассматриваемые маршевые тесты имеют разную способность к обнаружению отказов:


В таблице:

  • SA (англ. stack-at) — константный отказ;
  • TF (англ. transition faults) — переходные отказы, когда ячейка не может перейти в одно из состояний 1 или 0;
  • СF (англ. coupling fault) — отказы взаимного влияния; когда состояние ячейки с одним адресом влияет на состояние ячейки с другим адресом;
  • CFin (англ. inversing coupling fault) — инверсное взаимное влияние; например, если изменение в 1 одной ячейке приводит к 0 в другой ячейке;
  • CFid (англ. indepotent coupling fault) — при изменении одной ячейки происходит принудительная установка определённого значения в другой ячейке.