stringtranslate.com

Обновление памяти

Обновление памяти — это процесс периодического чтения информации из области памяти компьютера с целью сохранения информации и немедленной перезаписи считанной информации в ту же область без изменений. [1] Обновление памяти — это фоновый процесс обслуживания, необходимый во время работы полупроводниковой динамической оперативной памяти (DRAM), наиболее широко используемого типа компьютерной памяти и фактически являющийся определяющей характеристикой этого класса памяти. [2]

В микросхеме DRAM каждый бит данных памяти хранится в виде наличия или отсутствия электрического заряда на небольшом конденсаторе микросхемы. [2] [3] Со временем заряды в ячейках памяти утекают, поэтому без обновления сохраненные данные в конечном итоге будут потеряны. Чтобы предотвратить это, внешняя схема периодически считывает каждую ячейку и перезаписывает ее, восстанавливая заряд конденсатора до исходного уровня. Каждый цикл обновления памяти обновляет последующую область ячеек памяти, таким образом неоднократно обновляя все ячейки в последовательном цикле. Этот процесс обычно выполняется автоматически в фоновом режиме схемой памяти и прозрачен для пользователя. [2] Во время цикла обновления память недоступна для обычных операций чтения и записи, но в современной памяти эти издержки недостаточно велики, чтобы значительно замедлить работу памяти.

Статическая оперативная память (SRAM) — это электронная память, не требующая обновления. [2] Для ячейки памяти SRAM требуется от четырех до шести транзисторов по сравнению с одним транзистором и конденсатором для DRAM; следовательно, схемы SRAM требуют большей площади на кристалле. В результате плотность данных в чипах SRAM намного ниже, чем в DRAM, и дает SRAM более высокую цену за бит. Поэтому DRAM используется в качестве основной памяти в компьютерах, игровых консолях, видеокартах и ​​приложениях, требующих большой емкости и низкой стоимости. [4] Необходимость обновления памяти усложняет DRAM, но преимущества DRAM в плотности и стоимости оправдывают эту сложность.

Операция

Во время работы памяти каждая ячейка памяти должна обновляться неоднократно и в пределах максимального интервала между обновлениями, указанного производителем, обычно в миллисекундном диапазоне. При обновлении используются не обычные операции с памятью (циклы чтения и записи), используемые для доступа к данным, а специальные циклы, называемые циклами обновления , которые генерируются отдельными схемами счетчиков и чередуются между обычными обращениями к памяти. [5] [6]

Ячейки памяти на чипе памяти расположены в виде прямоугольного массива строк и столбцов. Процесс чтения в DRAM является разрушительным и снимает заряд с ячеек памяти во всей строке, поэтому на чипе имеется столбец специализированных защелок, называемых усилителями считывания , по одному на каждый столбец ячеек памяти, для временного хранения данных. Во время нормальной операции чтения усилители считывания после считывания и фиксации данных перезаписывают данные в строке, к которой осуществляется доступ. [2] [7] Такое расположение позволяет обычной считывающей электронике на чипе параллельно обновлять всю строку памяти, что значительно ускоряет процесс обновления. Хотя обычный цикл чтения или записи обновляет строку памяти, нельзя рассчитывать на то, что при обычном доступе к памяти будут обработаны все строки за необходимое время, что требует отдельного процесса обновления. Вместо использования обычного цикла чтения в процессе обновления в целях экономии времени используется сокращенный цикл обновления. Цикл обновления аналогичен циклу чтения, но выполняется быстрее по двум причинам:

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

Типы схем обновления

Хотя в некоторых ранних системах обновление контролировалось микропроцессором с таймером, запускающим периодическое прерывание , запускающее подпрограмму , выполняющую обновление, это означало, что микропроцессор нельзя было приостановить, выполнить пошагово или перевести в энергосберегающий режим гибернации без остановки обновления. процесс и потеря данных в памяти. [6] Таким образом, в современных системах обновление осуществляется с помощью схем контроллера памяти , [2] который может быть встроен в сам чип. Некоторые чипы DRAM, такие как псевдостатическое ОЗУ (PSRAM), имеют все схемы обновления на чипе и функционируют как статическое ОЗУ в том, что касается остальной части компьютера. [8]

Обычно схема обновления состоит из счетчика обновления , который содержит адрес обновляемой строки, который применяется к строкам адреса строки чипа , и таймера, который увеличивает счетчик для пошагового прохождения строк. [5] Этот счетчик может быть частью схемы контроллера памяти или самой микросхемы памяти. Были использованы две стратегии планирования: [6]

Пакетное обновление приводит к длительным периодам недоступности памяти, поэтому распределенное обновление используется в большинстве современных систем, [5] особенно в системах реального времени . При распределенном обновлении интервал между циклами обновления составляет

Например, DDR SDRAM имеет время обновления 64 мс и 8192 строки, поэтому интервал цикла обновления составляет 7,8 мкс. [5] [9]

Последние поколения микросхем DRAM содержат встроенный счетчик обновления, и схема управления памятью может либо использовать этот счетчик, либо предоставлять адрес строки из внешнего счетчика. Эти микросхемы имеют три стандартных способа обеспечения обновления, выбираемых по разным шаблонам сигналов на линиях «выбор столбца» (CAS) и «выбор строки» (RAS): [6]

Начиная с поколения микросхем DRAM 2012 года, режим «только RAS» был исключен, и для генерации обновления используется внутренний счетчик. Чип имеет дополнительный спящий режим для использования, когда компьютер находится в спящем режиме , в котором встроенный генератор генерирует внутренние циклы обновления, чтобы внешние часы можно было отключить.

Обновить накладные расходы

Доля времени, затрачиваемая памятью на обновление, или издержки обновления, можно рассчитать по системному времени: [10]

Например, чип SDRAM имеет 2 13 = 8192 строки, интервал обновления 64 мс, шина памяти работает на частоте 133 МГц, а цикл обновления занимает 4 такта. [10] Время цикла обновления составляет [10]

Таким образом, циклы обновления займут менее 0,4% времени микросхемы памяти. В чипах SDRAM память каждого чипа разделена на банки, которые обновляются параллельно, что дополнительно экономит время. Таким образом, необходимое количество циклов обновления — это количество строк в одном банке, указанное в спецификациях, которое в чипах поколения 2012 года было заморожено на уровне 8192.

Интервал обновления

Максимальный интервал времени между операциями обновления стандартизирован JEDEC для каждой технологии DRAM и указан в спецификациях чипа производителя. Обычно оно находится в диапазоне миллисекунд для DRAM и микросекунд для eDRAM . Для чипов DDR2 SDRAM оно составляет 64 мс. [11] : 20  Зависит от соотношения заряда, хранящегося в конденсаторах ячеек памяти, к токам утечки. Несмотря на то, что геометрия конденсаторов сжималась с каждым новым поколением микросхем памяти, поэтому конденсаторы более поздних поколений сохраняют меньше заряда, время обновления DRAM улучшается; от 8 мс для чипов 1M, 32 мс для чипов 16M, до 64 мс для чипов 256M. Это улучшение достигается главным образом за счет разработки транзисторов, которые вызывают значительно меньшие утечки. Более длительное время обновления означает, что меньшая часть времени устройства занимает обновление, оставляя больше времени для доступа к памяти. Хотя в более ранних моделях DRAM накладные расходы на обновление занимали до 10% времени кристалла, в современных чипах эта доля составляет менее 1%. [ нужна цитата ]

Поскольку токи утечки в полупроводниках увеличиваются с повышением температуры, время обновления необходимо уменьшать при высокой температуре. Чипы DDR2 SDRAM имеют структуру обновления с температурной компенсацией; время цикла обновления необходимо сократить вдвое, если температура корпуса микросхемы превышает 85 °C (185 °F). [11] : 49 

Фактическое сохранение читаемых значений заряда и, следовательно, данных в большинстве ячеек памяти DRAM намного дольше, чем время обновления, до 1–10 секунд. [12] Однако токи утечки транзисторов сильно различаются в разных ячейках памяти на одном чипе из-за различий в технологических процессах. Чтобы гарантировать, что все ячейки памяти обновляются до того, как будет потерян хотя бы один бит, производители должны устанавливать время обновления консервативно коротким. [ нужна цитата ]

Такое частое обновление DRAM потребляет треть общей мощности, потребляемой маломощными электронными устройствами в режиме ожидания. Исследователи предложили несколько подходов к увеличению времени работы батареи между зарядками за счет снижения частоты обновления, включая обновление с температурной компенсацией (TCR) и размещение в DRAM с учетом сохранения (RAPID). Эксперименты показывают, что в типичном стандартном чипе DRAM только несколько слабых ячеек действительно требуют наихудшего интервала обновления 64 мс [13] , и даже тогда только в верхней части указанного температурного диапазона. При комнатной температуре (например, 24 °C (75 °F)) те же самые слабые ячейки необходимо обновлять каждые 500 мс для правильной работы. Если система может избежать использования самого слабого 1% страниц, типичную DRAM необходимо обновлять только один раз в секунду, даже при 70 ° C (158 ° F), для правильной работы остальных 99% страниц. В некоторых экспериментах эти два взаимодополняющих метода сочетаются, что обеспечивает правильную работу при комнатной температуре с интервалом обновления 10 секунд. [13]

Для устойчивых к ошибкам приложений (например, графических приложений) обновление некритических данных, хранящихся в DRAM или eDRAM, со скоростью ниже, чем период их хранения, экономит энергию с незначительной потерей качества, что является примером приближенных вычислений . [ нужна цитата ]

Технологии памяти SRAM и DRAM

СРАМ

В статической оперативной памяти (SRAM), другом типе полупроводниковой памяти, данные хранятся не в виде заряда на конденсаторе, а в паре инверторов с перекрестной связью , поэтому SRAM не требует обновления. Два основных типа памяти имеют свои преимущества и недостатки. Статическую память можно считать постоянной, пока она включена, т.е. после записи память остается до тех пор, пока она не будет специально изменена, и, таким образом, ее использование имеет тенденцию быть простым с точки зрения проектирования системы. Однако внутренняя конструкция каждой ячейки SRAM требует шести транзисторов по сравнению с одним транзистором, необходимым для ячейки DRAM, поэтому плотность SRAM намного ниже, а цена за бит намного выше, чем у DRAM.

Обновление на базе процессора

Некоторые ранние микропроцессоры (например, Zilog Z80 ) имели специальные внутренние регистры, которые могли обеспечивать строб адреса строки (RAS) для обновления ячеек динамической памяти, при этом регистр увеличивался в каждом цикле обновления. Этого также можно достичь с помощью других интегральных схем, уже используемых в системе, если они уже генерировали циклический доступ к оперативной памяти ( например , Motorola 6845 ). В таких процессорах, как Z80, наличие обновления RAS было большим преимуществом из-за упрощения аппаратной конструкции. Здесь обновление RAS сигнализируется уникальной комбинацией адресных и управляющих проводов во время оперативно избыточных тактовых циклов (T-состояний), то есть во время декодирования/выполнения команд, когда шины могут не потребоваться. Вместо того, чтобы шина была неактивна во время таких Т-состояний, регистр обновления будет представлен на адресной шине вместе с комбинацией проводов управления для указания схеме обновления.

В ранних версиях Z80 повсеместное распространение микросхем ОЗУ объемом 16 КБ ( т.е. наличие 128 строк) и некоторая недальновидность привели к тому, что регистр R увеличивался только в пределах 7-битного диапазона (0–127, т.е. 128 строк). ; 8-й бит может быть установлен пользователем, но останется неизменным при внутренней циклизации. С быстрым появлением чипов DRAM 64 кбит+ (с 8-битным RAS) вокруг сигнала обновления пришлось строить дополнительные схемы или логику, чтобы синтезировать недостающий 8-й бит и предотвратить потерю блоков памяти через несколько миллисекунд. В некоторых случаях можно было использовать прерывания для переворота 8-го бита в нужное время и, таким образом, охватить весь диапазон регистра R (256 строк). Другой метод, возможно, более универсальный, но и более сложный с аппаратной точки зрения, заключался в использовании 8-битного счетчика, на выходе которого вместо регистра R использовался бы адрес обновления RAS: в качестве тактового сигнала использовался сигнал обновления от ЦП. для этого счетчика, в результате чего обновляемая строка памяти увеличивается с каждым циклом обновления. Более поздние версии и лицензированные «аналоги» ядра Z80 исправили невключение 8-го бита в автоматическое циклическое переключение, а современные процессоры значительно расширили такие базовые возможности, чтобы обеспечить богатые универсальные решения для обновления DRAM.

Псевдостатическая DRAM

Псевдостатическое ОЗУ (PSRAM или PSDRAM) — это динамическое ОЗУ со встроенной схемой обновления и управления адресом, позволяющее вести себя аналогично статическому ОЗУ (SRAM). Он сочетает в себе высокую плотность DRAM с простотой использования настоящей SRAM. PSRAM (производства Numonyx) используется в Apple iPhone и других встроенных системах. [14]

Некоторые компоненты DRAM имеют «режим самообновления», который включает в себя большую часть той же логики, которая необходима для псевдостатической работы, но этот режим часто эквивалентен режиму ожидания. Это предусмотрено в первую очередь для того, чтобы позволить системе приостановить работу своего контроллера DRAM для экономии энергии без потери данных, хранящихся в DRAM, а не для того, чтобы разрешить работу без отдельного контроллера DRAM, как в случае с PSRAM. Встроенный вариант PSRAM продается компанией MoSys под названием 1T- SRAM . Технически это DRAM, но ведет себя во многом как SRAM и используется в консолях GameCube и Wii .

Другие технологии памяти, использующие обновление

Некоторые ранние технологии компьютерной памяти также требовали периодических процессов, аналогичных по цели обновлению памяти. Лампа Вильямса имеет наибольшее сходство, поскольку, как и DRAM, это, по сути, емкостная память, в которой значения, хранящиеся для каждого бита, постепенно затухают, если не обновляются.

В памяти с магнитным сердечником каждая ячейка памяти может хранить данные бесконечно даже при выключенном питании, но чтение данных из любой ячейки памяти стирает ее содержимое. Как следствие, контроллер памяти обычно добавлял цикл обновления после каждого цикла чтения , чтобы создать иллюзию неразрушающей операции чтения.

Память линии задержки требует постоянного обновления, поскольку данные фактически сохраняются в виде сигнала в линии передачи . В этом случае частота обновления сравнима со временем доступа к памяти .

Смотрите также

Рекомендации

  1. ^ «цикл обновления» в Лапланте, Филипп А. (1999). Большой словарь по электротехнике. Спрингер. п. 540. ИСБН 3540648356.
  2. ^ abcdef Ганссл, Джек Ганссл; Тэмми Ноэргаард; Фред Иди; Левин Эдвардс; Дэвид Дж. Кац (2007). Встроенное оборудование. Ньюнес. п. 106. ИСБН 978-0750685849.
  3. ^ Джейкоб, Брюс; Спенсер Нг; Дэвид Ван (2007). Системы памяти: Кэш, DRAM, Диск. Морган Кауфманн. стр. 431–432. ISBN 978-0123797513.
  4. Лаасби, Гитте (10 марта 2014 г.). «Потребители, имеющие право на получение денег в рамках соглашения о фиксировании цен на компьютерные чипы». Милуоки Журнал-Сентинел . Милуоки, Висконсин . Проверено 20 августа 2014 г.
  5. ^ abcdef Рейнхардт, Стивен К. (1999). «Память, стр. 9–3» (PDF) . EECS 373 «Проектирование микропроцессорных систем», конспект лекций, осень 1999 г. Электротехнический факультет, унив. Мичигана. Архивировано из оригинала (PDF) 2 января 2014 года . Проверено 26 августа 2012 г.
  6. ^ abcd Хит, Стив (2003). Проектирование встраиваемых систем, 2-е изд. Ньюнес. стр. 88–89. ISBN 0750655461.
  7. ^ «Память 1997» (PDF) . Инженерия интегральных схем. 1997. с. 7.4.на сайте The Chip Collection, Смитсоновский институт
  8. ^ Кумар (2009). Основы цифровых схем, 2-е изд. Индия: PHI Learning Pvt. ООО с. 819. ИСБН 978-8120336797.
  9. ^ «Спецификация SDRAM с двойной скоростью передачи данных (DDR) JEDEC» (PDF) . JESD79C. JEDEC Solid State Technology Assoc. Март 2003 года . Проверено 27 августа 2012 г., стр. 20, о Школе инженерии и информатики, Университет Бэйлора. Веб-сайт
  10. ^ abc Godse, Дипали А.; Годзе, Атул П. (2008). Компьютерная организация. Индия: Технические публикации. п. 4.23. ISBN 978-8184313567.
  11. ^ ab «Спецификация JEDEC DDR2 SDRAM» (PDF) . ECS.Baylor.edu . JESD79-2б. JEDEC Solid State Technology Assoc. Январь 2005 года . Проверено 27 августа 2012 г.
  12. ^ Джейкоб, 2007, стр.356.
  13. ^ аб Рави К. Венкатесан, Стивен Херр, Эрик Ротенберг. «Размещение с учетом сохранения в DRAM (RAPID): программные методы для квазиэнергонезависимой DRAM». 2006.
  14. ^ EE Times демонтаж iPhone 3G