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

редактировать

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

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

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

СОДЕРЖАНИЕ

  • 1 Как работает обновление DRAM
    • 1.1 Типы схем обновления
    • 1.2 Обновить накладные расходы
  • 2 Интервал обновления
  • 3 технологии памяти SRAM и DRAM
    • 3.1 SRAM
    • 3.2 Обновление на базе ЦП
    • 3.3 Псевдостатическая память DRAM
  • 4 Другие технологии памяти с использованием обновления
  • 5 См. Также
  • 6 Ссылки

Как работает обновление DRAM

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

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

  • Для обновления необходим только адрес строки, поэтому адрес столбца не нужно применять к схемам адреса микросхемы.
  • Данные, считанные из ячеек, не нужно направлять в выходные буферы или шину данных для отправки в ЦП.

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

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

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

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

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

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

интервал цикла обновления знак равно время обновления / количество рядов {\ displaystyle {\ text {интервал цикла обновления}} = {\ text {время обновления}} \, / \, {\ text {количество строк}} \,}

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

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

  • « Только обновление RAS » - в этом режиме адрес строки для обновления предоставляется линиями адресной шины, поэтому он используется с внешними счетчиками в контроллере памяти.
  • « CAS перед обновлением RAS » (CBR) - в этом режиме встроенный счетчик отслеживает строку, подлежащую обновлению, а внешняя цепь просто инициирует циклы обновления. Этот режим потребляет меньше энергии, потому что буферы шины адреса памяти не нуждаются в включении. Он используется в большинстве современных компьютеров.
  • « Скрытое обновление » - это альтернативная версия цикла обновления CBR, которая может быть объединена с предыдущим циклом чтения или записи. Обновление выполняется параллельно во время передачи данных, что экономит время.

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

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

Доля времени, затрачиваемого памятью на обновление, или накладные расходы обновления, может быть вычислена из системного времени:

обновить накладные расходы знак равно время, необходимое для обновления, мс интервал обновления, мс {\ displaystyle {\ text {update overhead}} = {\ frac {\ text {время, необходимое для обновления, мс}} {\ text {интервал обновления, мс}}} \,}

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

продолжительность цикла обновления знак равно 4 / ж знак равно 4 1,33 ( 10 8 ) Гц знак равно 30 нс {\ displaystyle {\ text {длина цикла обновления}} = 4 / f = {\ frac {4} {1,33 (10 ^ {8}) \, {\ text {Hz}}}} = 30 \, {\ текст {ns}} \,}
время, необходимое для обновления знак равно ( продолжительность цикла обновления ) ( ряды ) знак равно ( 30 нс ) ( 8192 ) знак равно 0,246 РС {\ displaystyle {\ text {время, необходимое для обновления}} = ({\ text {длина цикла обновления}}) ({\ text {rows}}) = (30 \, {\ text {ns}}) (8192) = 0,246 \, {\ text {ms}} \,}
обновить накладные расходы знак равно 0,246 РС 64 РС знак равно 0,0038 {\ displaystyle {\ text {обновить накладные расходы}} = {\ frac {0.246 \, {\ text {ms}}} {64 \, {\ text {ms}}}} =. 0038 \,}

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

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

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

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

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

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

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

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

SRAM

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

Обновление на базе ЦП

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

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

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

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

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

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

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

использованная литература

Последняя правка сделана 2024-01-02 06:56:00
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте