Необходимость в изменении технологии серверной памяти возникла вот в связи с чем.
Чем дальше, тем выше частоты модулей, используемых в серверах. Но с ростом их частоты
возникает большое число проблем, связанных с такими физическими эффектами, как всевозможные
наводки и перекрестные помехи. Чем выше частота работы памяти, тем сложнее с ними
бороться. И в результате имеем следующую ситуацию: чем выше частота работы памяти,
тем выше электрическая нагрузка на контроллер памяти, и тем меньше модулей у нас
может работать одновременно. Поскольку для серверов большой объем поддерживаемой
памяти есть одно из ключевых требований, необходимо как-то выкарабкиваться из этого
тупика. Одним из вариантов такого выхода является технология FB DIMM.
Суть FB DIMM вполне описывается словом «сериализация». А сама идеология находится
вполне в современном духе перехода к последовательным шинам везде, где только можно.
В частности, оказалось, что можно и в технологиях, связанных с памятью.
Идея FB DIMM состоит в том, что от общей шины памяти, на которой сидят модули памяти,
мы уходим. Поэтому избыточная электрическая нагрузка, которую модули создают на
контроллер, перестает быть проблемой. Вместо этого есть две шины (одна на чтение,
другая – на запись) на которых сидят не сами массивы ячеек, а только управляющие
буферы модуля (AMB в терминологии FB DIMM). Таким образом, питание массивов ячеек
контроллером памяти более не осуществляется. Массивы ячеек основаны на технологии
DDR2, здесь FB DIMM вполне пересекается с текущими технологиями. Благодаря этому,
производителям памяти будет проще перейти на технологию FB DIMM.
Кроме того, все передачи контроллер памяти ведет только в буферы AMB, все данные
получает оттуда же.
Все это происходит, повторюсь, по узким высокочастотным шинам. Поскольку технология
ECC является присущей абсолютно всем пересылкам данных между AMB и контроллером,
появляются дополнительные преимущества типа защиты команд ЕСС кодом. В этом плане
FB DIMM меньше подвержены ошибкам, поскольку содержат более развитые технологии
контроля ошибок и восстановления данных.
Кроме того, поскольку модуль FB DIMM фактически связан с контроллером только буфером
AMB, для такой памяти гораздо проще достигнуть пропускной способности, максимально
близкой к теоретической. Например, если у нас в наличии два модуля FB DIMM, мы вполне
можем одновременно писать в один и читать из другого.
Кроме всего прочего, использование буфера AMB позволяет полностью скрывать от контроллера
такую служебную операцию, как восстановление содержимого ячейки, refresh. Можно
скрывать и некоторые другие операции. Более того, команды в модуле FB DIMM конвейеризированы,
и можно отдавать следующую команду на фоне выполнения предыдущей.
К достоинствам отнесем и заметно меньшее число контактов, которые нужно разводить:
в частности, в презентации от Intel » (см. ссылку ниже) приводят пример 69 контактов
у FB DIMM модуля против 240 у модуля DDR2. Поэтому вместо двух каналов DDR2 вполне
можно разводить четыре канала, и при этом у них разводка будет занимать меньшее
число контактов (276 против 480), и к ней предъявляются менее жесткие требования.
Ну а результат сравнения пропускной способности двух конкурирующих типов вполне
предсказуем: два канала DDR2-400 имеют теоретический максимум 6.4GB/sec, а четыре
канала FB DIMM способны выдать порядка 17GB/sec.
Более подробно о
FB DIMM »