DDRII SDRAM — новый стандарт «быстрой» памяти. Обзор технологии и сравнение с предшественницей — DDR SDRAM
В последние годы индустрия DRAM выглядит одной из наиболее скандальных отраслей hi-tech, по напряженности конкуренции сравнявшись с битвами процессорных гигантов. Почти все компании-производители чипов памяти балансируют на грани рентабельности, а некоторые — сводят концы с концами лишь благодаря миллиардным кредитам (которые рано или поздно придется отдавать).
Прогноз на 2003 год вновь показывает значительное превосходство предложения над спросом (6%), что не может не провоцировать ценовые войны и вытекающие из них проблемы для производителей. В этой ситуации в выигрыше оказываются те, кто предлагает на рынке наибольший спектр решений, получая более высокий доход от продажи высокопроизводительных типов памяти, не обязательно имеющих высокую себестоимость. Известно, что производство чипов SDR и DDR SDRAM обходится компаниям примерно в одинаковую сумму, но рыночная конъюнктура такова, что цены на DDR почти вдвое выше. В таких условиях многие производители чипов негативно относятся к технологиям пусть даже весьма быстрой и технически продвинутой памяти, но дорогой в производстве, особенно когда за каждый изготовленный чип приходится платить лицензионные отчисления (пример — DRDRAM). Между тем разрыв между производительностью процессоров и RAM продолжает увеличиваться. Сравнение мультимедиа-компьютера класса hi-end на базе Pentium MMX 233 с памятью PC66 SDRAM (1997 год) и современного монстра с Pentium 4 3,06 ГГц и PC2700 DDR показывает, что если частота процессоров выросла в тринадцать раз, то время доступа к оперативной памяти уменьшилось только в 2,5 раза, а скорость передачи данных возросла лишь впятеро. В целом ситуация с течением времени ухудшается, что ясно видно на примере эволюции процессорных тестов: если ранние тестовые программы использовали очень малые объемы памяти и давали хорошую оценку быстродействия компьютеров на реальных задачах, то современные тесты (например, SPEC CPU2000), претендующие на объективность, все больше и больше зависят не столько от скорости самого процессора, сколько от мощи его подсистемы памяти. Большинство компьютеров не могут рассчитывать на десятки мегабайт высокоскоростной и дорогостоящей SRAM в качестве кэша энного уровня или на контроллеры, объединяющие пропускную способность множества каналов памяти, как у их двоюродных братьев из мира hi-end-серверов. Единственный выход — создание быстродействующей, компактной и недорогой оперативной памяти. Таким образом, производители процессоров кровно заинтересованы в появлении новых, все более быстрых типов RAM и в ряде случаев оказывают значительное влияние на продвижение более перспективных стандартов. В действительности любой современный стандарт DRAM представляет собой компромисс между потребностью в высокоскоростной оперативной памяти и возможностями/желаниями ее производителей, во многом обусловленными рыночной конъюнктурой. Сейчас Intel и многие ведущие компании-производители микросхем памяти (Samsung, Micron, Elpida и другие) пришли к согласию относительно выбора наследницы DDR SDRAM — с их точки зрения, в 2004-05 годах DDRII должна стать доминирующим типом памяти для настольных компьютеров, серверов и рабочих станций.
Попробуем разобраться, почему же эта технология так важна и что принесет нам новая память DDRII SDRAM, не забывая при этом, что чаще всего побеждают не самые быстрые и совершенные технологии, а наиболее целесообразные экономически.
На первый взгляд, DDRII выглядит просто как улучшенная DDR SDRAM — с увеличенными частотами, уменьшенным энергопотреблением и набором новых функций (ключевые характеристики DDRII и DDR SDRAM приведены в таблице ниже). Но в действительности под привычными очертаниями скрывается совершенно иная архитектура.
Сравнительная характеристика DDRII и DDR SDRAM | ||
DDRII SDRAM | DDR SDRAM | |
Скорость передачи данных (на рязряд), Мбит/с | 400/553/(667) | 200/266/333/(400) |
Частота работы ядра, МГц | 200/266/333 | 100/133/166/(200) |
Размер предвыборки, бит | 4 | 2 |
Длина пакета | 4/8 | 4/8 |
Строб данных | дифференциальный | одиночный |
Напряжение питания, В | 1,8 | 2,5 |
Интерфейс ввода-вывода | SSTL_18 | SSTL_2 |
Энергопотребление (max), мВт | 304 (на 533 Мбит/с) | 418 (на 266 Мбит/с) |
Упаковка чипов | FBGA (без свинца) | TSOP(II) |
Тайминги, набор команд | то же, что и у DDR SDRAM | — |
Предвыборка 4 бит (4-bit Prefetch)
Идея такова: при неизменной внутренней частоте ядра памяти частота буферов ввода-вывода удваивается; при этом за каждый такт передается два блока данных (как в обычной DDR). Получается, что по сравнению с частотой синхронизации ядра ввод-вывод данных осуществляется на четырехкратной скорости. Гениальное изобретение, позволяющее одним махом решить все проблемы микроэлектронной промышленности? Не совсем. Хотя благодаря этому ухищрению с_корость потокового ввода-вывода_ действительно учетверяется, латентность преимущественно определяется собственной частотой ядра, а она для 400-МГц DDRII, как и для PC1600 DDR SDRAM и бабушки PC100 SDRAM, по-прежнему равна 100 МГц. Становятся понятными необычно большие тайминги (тройка CL, tRCD, tRP) DDRII: как вам 4-4-4 схема работы DDRII 400?! Все задержки приводятся для частоты буферов, то есть той частоты, с которой память общается с контроллером (чипсетом), а она в нашем случае в два раза больше реальной частоты ядра. Поэтому 4-4-4 для DDRII 400 соответствует 2-2-2 для DDR PC1600 или SDR PC100, что составляет 20 нс. Разумеется, увеличивать частоту буферов, занимающих несколько процентов общей площади кристалла, проще, чем поднимать скорость всей памяти. Проще , как обычно, значит дешевле — и совсем не обязательно для нас с вами. Фактически производители чипов памяти в очередной раз получили прекрасную возможность продать PC100 в новой упаковке по цене DDRII 400 . Немного утешает, что энергопотребление модулей будет меньше (об этом ниже) и в массовое производство почти наверняка пойдет более быстрая память — уже DDRII 533 по сумме характеристик сегодня выглядит весьма привлекательно. На настоящий момент доступны 512-мегабитные чипы DDRII 400 и DDRII 533 4-4-4 от Samsung и Elpida; пиковая пропускная способность (недостижимая по ряду фундаментальных причин) модулей, собранных из них, составит примерно 3200 и 4300 Мбайт/с (как у 32-разрядных RIMM и QBM SDRAM). Заметим, что латентность 3-3-3 DDR400 SDRAM (PC3200) примерно соответствует латентности 4-4-4 DDRII 533. DDRII 400 — явный аутсайдер.
Итог: путем удвоения частоты выходных буферов и передачи двух слов за такт DDRII учетверяет пропускную способность SDRAM. Сама память при этом в нынешних чипах работает на частоте 100 или 133 МГц, что означает латентность, примерно соответствующую PC1600 и PC2100 DDR SDRAM.
Отложенный CAS и аддитивная латентность (Posted CAS and Additive Latency)
Разработчики DDRII постарались учесть некоторые недостатки обычного протокола работы SDR/DDR-памяти, управляемой внешним контроллером (чипсетом). Обычно синхронная память работает следующим образом: после сигнала активации банка (Act) чипсет пропускает несколько тактов (задержка RAS-to-CAS delay, tRCD), после чего следует сигнал чтения (Read), и перед считыванием первого слова чипсет ожидает время задержки CAS latency (tCL), а затем считывает из буферов DRAM строку данных. Значения задержек считываются чипсетом из SPD-модуля DIMM либо устанавливаются вручную в BIOS материнской платы. Последовательные запросы активации банков отделены задержкой Row-to-Row delay. При трех последовательных запросах возникает конфликт на управляющих линиях, когда одновременно должны быть посланы сигналы чтения для первого пакета данных и активации банка для третьего. В этом случае чипсет продолжает работу по считыванию первого пакета, а активация банка для третьего пакета происходит с задержкой в один такт. В потоке считываемых данных образуются пузыри, и шина используется менее эффективно.
В схеме с отложенным CAS сигналы Act и Read следуют один за другим без задержки; конечно, DRAM физически не может мгновенно активировать банк. В этом случае специальная схема внутри чипа памяти (а не чипсет, как в обычном режиме) отслеживает сигнал Act, определяет величину задержки, называемой аддитивной латентностью, а затем та же встроенная схема посылает сигнал чтения, и после задержки CAS чипсет может считывать данные. Оба параметра являются программируемыми: скажем, для чипов Samsung K4T5104(08/16)3QM возможные значения задержки CAS — 3, 4, 5, а аддитивная латентность (AL) может быть 0, 1, 2, 3, 4. Такой механизм, реализованный в DDRII, позволяет ей более эффективно использовать шину. К сожалению, это происходит только при последовательном обращении к разным банкам памяти и в реальной работе памяти встречается реже, чем хотелось бы. К тому же выигрыш в один такт при пересылке трех пакетов данных не выглядит фантастическим достижением. Разработчикам будущих чипсетов (и процессоров — намек на AMD) можно посоветовать использовать режимы чередования банков памяти для более эффективного использования DDRII. Недостатком новой памяти является повышение латентности при записи: в отличие от DDR SDRAM, где она обычно составляет один такт, для DDRII латентность записи на единицу меньше латентности чтения (иногда это свойство называют Variable Write Latency, переменная латентность записи), что в лучшем случае составит три такта. Впрочем, это не оказывает большого влияния на работу процессора, так как запись осуществляется в буферы чипсета.
Итог: DDRII позволяет более плотно загружать шину между памятью и чипсетом, в ряде случаев дополнительно увеличивая пропускную способность по сравнению с DDR SDRAM. К сожалению, латентность DDRII при записи увеличилась.
Встроенная терминация (On-Die Termination)
Внешняя калибровка формирователя (Off-Chip Driver Calibration)
Рассеиваемая мощность
Удвоенная частота синхронизации DDRII приводит к тому, что многие решения, успешно применявшиеся для поддержания качества сигналов на частотах, характерных для DDR, теперь недостаточно эффективны. Мы кратко рассмотрим важнейшие усовершенствования DDRII, позволяющие ей работать на удвоенной частоте.
Любой сигнал, распространяющийся по реальной шине, отражается от различных неоднородностей, в частности от концов шины; при этом отраженные сигналы взаимодействуют с основным и друг с другом, создавая некоторую интерференционную картину. Практически это означает появление шума, ухудшающего качество сигнала, что, в конце концов, может сделать невозможной передачу данных по шине. Для борьбы с отражениями применяется терминация. В простейшем случае поступают так: на концах шины устанавливают резисторы и заземляют их либо подключают к источнику напряжения. При определенном значении сопротивления (равном характеристическому импедансу шины) резистор поглощает (терминирует, вот откуда зловещий термин) сигнал, и отражения не происходит. Для шины памяти SDR и DDR SDRAM терминаторы устанавливаются на материнской плате (резисторы можно увидеть между слотами DIMM); на схеме видно, что это может приводить к отражениям от неактивного в данный момент чипа памяти:
DDRII терминирует сигналы шины данных, строба данных и маски записи внутри кристалла микросхемы. Кроме снижения шумов, такой подход, по заявлению создателей DDRII, удешевляет разработку и снижает стоимость материнских плат. Далее, для уменьшения влияния задержки распространения сигнала по трассе в DDRII, в отличие от DDR, применяется двунаправленное дифференциальное стробирование сигналов данных. При пониженном напряжении и росте частоты на линиях шины усиливается перекос (skew) восходящего и нисходящего сигналов, а также происходят всплески напряжения, превышающие установленные пределы. Для борьбы с этими неприятными эффектами используется внешняя калибровка (подстройка) импеданса формирователя — OCD. Механизм этот программируемый, контроллер может начать повторную калибровку полного сопротивления в любой момент. Калибровка с помощью внешнего прецизионного резистора вдобавок позволяет нивелировать различия чипов от разных производителей и в конечном счете снижает перекосы сигналов.
Чипы DDRII будут упаковываться в новые корпуса типа BGA — как DRDRAM и быстрая DDR-память, устанавливаемая на графических платах. BGA-корпусировка имеет ряд заметных преимуществ — уменьшение электромагнитной интерференции, индуктивности, большая помехозащищенность и т. д. Разумеется, это опять-таки необходимо для стабильной работы на высоких частотах. Выглядеть новые чипы и модули (240-контактные DIMM) будут так:
Для уменьшения рассеиваемой мощности рабочее напряжение DDRII снижено с 2,5 В до 1,8 В по сравнению с DDR (как известно, рост тепловыделения пропорционален квадрату напряжения), что позволяет на время забыть об охлаждении чипов памяти. Уже сейчас многие высококлассные модули DDR SDRAM оснащаются радиаторами, а в будущем, с ростом степени интеграции микросхем эта проблема только усугубится. Во всяком случае, невысокая частота ядра DDRII вкупе с пониженным напряжением имеет свой плюс — модули памяти еще несколько лет смогут обходиться без вентиляторов...
Итог: Из-за повышенной вдвое частоты интерфейса ввода-вывода в DDRII применяются некоторые специальные подходы (внутрикристальная терминация, внешняя калибровка сопротивления формирователя, корпус BGA) для уменьшения шумов и улучшения качества сигналов. Все это делает работу новой памяти более устойчивой на высоких частотах.
DDRII в реальной жизни
В конечном счете не так уж важно, какова скорость ядра и какую схему калибровки формирователей использует память, главное — высокая производительность в программах, которыми мы пользуемся. Не так ли? Вероятно, у читателя сложилось неоднозначное мнение о перспективах DDRII в качестве системной памяти.
Может быть, Intel, сделав ставку на DDRII, в очередной раз допустила стратегическую ошибку? Думаю, нет, и вот почему. На первой диаграмме внизу приведены латентности 32-битной 533-МГц DRDRAM PC4200 (Tcac=8), DDR400 и DD266 (PC2100 и PC3200), а также PC133 SDRAM (без задержек чипсета) в наилучших условиях — попадание в открытую страницу. В этом случае латентность оценивается как сумма CL и времени для считывания первого слова. Конечно, это всего лишь оценка в первом приближении — реальная латентность будет намного больше; кроме того, эта величина зависит от алгоритма работы с памятью.
Обратимся к пиковой пропускной способности разных типов памяти (см. вторую диаграмму). Сразу выясним ситуацию с DDRII 400 и PC133 SDRAM: обе обладают неприлично большой латентностью, и если вторая безнадежно устарела, то первая будет явно мертворожденной из-за неспособности составить конкуренцию активно продвигаемой DDR400 (PC3200). DDRII 667 — почти безоговорочный лидер. Дальше нас ждет небольшой сюрприз: оказывается, DDRII 533 давно можно купить под названием... PC4200 RDRAM . Конечно, в точности производительность систем равной не будет никогда: слишком велико различие в архитектуре DRDRAM и DDRII — разное число банков, разный сигнальный интерфейс, разная шина ввода-вывода... Но что очень близкой — вне всяких сомнений. Учитывая, что скорость систем с 32-битной памятью Rambus почти всегда немного выше, чем у плат с двухканальным Intel E7205, а тем более с низколатентными DDR SDRAM PC2700 (i845PE) и DDR PC3200 (SiS648), нельзя считать DDRII 533 (а заодно и RDRAM) медленной памятью. На самом деле, это почти идеальная память для современных Pentium 4 c шиной QPB 533 МГц. Проблем здесь две. Первая — в доступности. В то время как PC2100 DDR SDRAM ныне один из самых популярных и дешевых типов памяти на рынке и 32-битную DRDRAM при желании тоже можно купить, чипы DDRII только начинают сэмплировать. Вторая — в планах Intel по наращиванию частоты шины своих Pentium 4. В течение этого года они обзаведутся 800-МГц QPB-шиной, а значит, и DDRII 533, и DDRII 667 не смогут в полной мере насытить их аппетит. Похоже, производителям чипов DRAM в течение года придется осваивать DDRII 800 (к чему есть все предпосылки)... либо Intel и дальше будет использовать двухканальные и асинхронные контроллеры памяти в своих чипсетах.
С процессорами AMD ситуация сложнее. Семейство K7 — Duron, Athlon, Athlon XP — вследствие узкой по современным меркам шины EV6 неспособно эффективно использовать полосу пропускания DDRII. Ситуация аналогична использованию DDR-памяти в системах Pentium III — часто наблюдалось замедление, а незначительное ускорение в основном получали активно использующие AGP-текстурирование графические приложения. Но это не должно нас особенно расстраивать — самой платформе Socket A ко времени выхода DDRII в свет уготовано местечко в сегменте low-end. Теперь о процессорах Hammer. То, что AMD пока не собирается использовать DDRII, — понятно, учитывая, что до ее старта еще целый год. Практические соображения относительно DDRII здесь таковы. Обычно, чем больше процессорный кэш, тем меньше латентность памяти влияет на реальную производительность. Как ни банально это звучит, но процессоры с большим кэшем и быстрой и широкой шиной получают наибольшие преимущества от памяти с высокой пропускной способностью. Ситуация проясняется при сравнении Duron и Athlon: Duron со своим 192-килобайтным кэшем сильно ограничен латентностью (именно латентностью, а не пропускной способностью!) системной памяти, уменьшение CL даже на полтакта приводит к сильному росту производительности. Более высокая частота попадания в 384-килобайтный кэш Athlon (XP) сглаживает простои процессора при ожидании данных из памяти и позволяет лучше использовать ее полосу пропускания. Грубо говоря, код программы и часто используемые для промежуточных вычислений небольшие объемы данных крутятся в кэше, а большие блоки при последовательном обращении к ним быстро считываются благодаря высокой пропускной способности основной памяти. Конечно, эта идиллическая картина характерна не для всех приложений, но для очень многих (графические, мультимедиа, научные расчеты) все так и должно происходить при достаточном объеме кэша. Немаловажный фактор — тщательное программирование, подгонка кода и данных под размер кэша, разумное использование команд предвыборки, использование линейных структур для хранения больших массивов данных и обращение к ним по последовательным адресам. Многие программы, к сожалению, по своей природе имеют плохую локализацию данных и в значительной степени зависят от латентности основной памяти. Для них характерно постоянное и значительное повышение быстродействия системы по мере увеличения кэша даже при очень больших его объемах. Это в основном серверные приложения.
Ясно, что дешевым вариантам Athlon 64 Paris c 256-килобайтным L2-кэшем DDRII не принесет значительного прироста скорости — то есть если решение об использовании DDRII совместно с этим чипом и будет принято, оно будет скорее маркетинговым, чем технически обоснованным. Хотя, разумеется, программы вроде кодека DivX получат ускорение. Значительно улучшить производительность мог бы чипсет типа nForce/nForce2 со схемой интеллектуальной предвыборки в специальный буфер (кэш третьего уровня). Но, как известно, контроллер памяти в новых процессорах AMD будет размещен в процессоре, и на такое решение в кристалле Athlon 64 просто не остается места. Opteron — другое дело. Мощь двухканального DDRII-контроллера (мечты, мечты...) с полосой пропускания 8,5 Гбайт/с (почти 70 Гбит/с) в сочетании с мегабайтом L2-кэша, поддержкой SSE2 и 64-битной адресацией, — при одной мысли о судьбе Xeon`ов на глаза невольно наворачиваются слезы А если серьезно, система получается действительно сбалансированной и, умозрительно, более быстродействующей, чем Intel Xeon.
Ну и, наконец, кратко окинем взглядом возможность применения DDRII в качестве видеопамяти — полигона для любой подающей надежды технологии DRAM. Тут DDRII смотрится почти идеально — низкое энергопотребление и сверхвысокая пропускная способность делают ее явным фаворитом. ATI, Nvidia и даже S3 в своих новейших разработках ориентируются на DDRII. Почти наверняка все наиболее мощные игровые акселераторы к концу 2003 года будут оснащены именно этим типом динамической памяти (или ее разновидностью, GDDR3, с измененным сигнальным интерфейсом).
Вместо эпилога
DDRII не революция. Об этом открыто заявляют сами разработчики стандарта. Это следующий логический шаг выжимания все большего числа мегабайт в секунду из ячеек DRAM, со своими плюсами и минусам. Почти все, что дает нам DDRII в плане скорости, можно реализовать с большими затратами в виде той или иной формы двухканальной DDR-памяти (сравним хотя бы подходы Radeon 9700 Pro и GeForce FX). Преимущества DDRII — в низком энергопотреблении, почти удвоенной пропускной способности и относительно невысокой себестоимости. Как обычно, сыр опять получился небесплатным — память с задержками 4-4-4 при всей своей невероятной скорости передачи данных все же вызывает легкое разочарование. Тем не менее, сильная потребность в такой памяти есть уже сейчас, и будущие графические и центральные процессоры сполна используют всю полосу пропускания DDRII SDRAM. Остается вопрос: можно ли создать доступную по цене и более быструю во многих отношениях память, чем DDRII? И не через год, а прямо сейчас? Kentron Technologies и опальная Rambus уверены, что да. Но об этом — в следующий раз.