Страница 4: Полезные сведения для профессионалов (серверы)

Что такое Registered (регистровые) DIMM?

Выше мы отметили, что в настольных платформах используются UDIMM (Unbuffered, небуферизованные), а в серверных часто встречаются RDIMM (Registered, регистровые). В случае UDIMM адресация памяти выполняется напрямую контроллером памяти, как и передача данных. В случае же RDIMM адресацию на себя берет отдельный чип-регистр, передача данных по-прежнему осуществляется напрямую контроллером памяти.

Цель RDIMM заключается в уменьшении нагрузки на контроллер, в результате на серверную материнскую плату можно устанавливать больше DIMM, существенно увеличивая емкость памяти сервера по сравнению с настольной системой. Стандарт LRDIMM (Load Reduced) является дальнейшей разработкой регистровой памяти, он предлагает буфер IMB (Isolation Memory Buffer) по сравнению с классическими RDIMM, отличаясь от реализации Intel FB-DIMM (Fully Buffered) с буфером AMB (Advanced Memory Buffer) – поэтому такие планки ближе к обычным RDIMM и устанавливаются в те же слоты. У LRDIMM буферизуются не только сигналы управления, но и данные. Совершенствование технологий позволило и дальше увеличить емкость памяти.

Кроме обычных планарных чипов памяти разработана технология "бутерброда" из нескольких чипов под названием 3DS DIMM. Она позволяет значительно увеличить емкость модулей. Наконец, есть модули NVDIMM (Non-volatile), данные в которых не стираются в случае сбоя питания. Их имеет смысл использовать для RAM-диска, то есть когда определенный объем оперативной памяти выделяется для виртуального накопителя.

Модули NVDIMM разделяются на NVDIMM-F (Flash Storage), NVDIMM-N (DRAM), NVDIMM-P (Persistent Memory) и NVDIMM-X (NAND Flash Storage).

Что такое ECC?

ECC означает "Error Correction Code" или код коррекции ошибок. При чтении данных из памяти или записи в память код ECC позволяет исправлять одиночные битовые ошибки. Что повышает надежность работы памяти в окружениях, где это необходимо. Например, в серверах и рабочих станциях. Для кода ECC добавляются 8 дополнительных бит (64 базовых + 8 дополнительных = 72).

Алгоритм ECC позволяет исправлять битовые ошибки, а также определять два ошибочных бита, но уже не исправлять их. Технологии Chipkill или Advanced ECC расширяют алгоритм ECC, позволяя корректировать до 4 ошибочных битов и определять до 8 ошибочных битов. Если ошибок будет много, то данная функция позволяет скрыть сбойный чип в системе без перезагрузки (отсюда и название "Chipkill"), при этом сервер продолжает стабильную работу.

Технологии Chipkill или Advanced ECC работают как массив RAID на жестких дисках, опираясь на распределенное избыточное хранение данных. Например, если система работает с шестью модулями памяти, данные передаются в виде шести 64-битных блоков, к которым добавляются шесть 8-битных для избыточности и ECC. В итоге данные расширяются до 432 бит (шесть 72-битных блоков с ECC), алгоритм chipkill может использовать 12 бит для каждого из шести модулей.

Технология Memory Scrubbing производит постоянную проверку памяти на наличие ошибок, результаты отправляются серверным утилитам управления, например, IPMI (Intelligent Platform Management Interface) в BMC (Baseboard Management Controller). Если возникает большое количество ошибок, в журнал записывается соответствующее сообщение.

Но для работы ECC вместе с функцией ChipKill/Advanced ECC необходимо чтобы процессор, материнская плата с BIOS и оперативная память поддерживали ECC. Данная технология обязательна для всех RDIMM, но также встречаются и UDIMM с ECC.