Способ и система для обновления динамического оперативного запоминающего устройства (dram) и устройство
Изобретение относится к вычислительной технике. Технический результат заключается в обеспечении возможности для информации обновления быть конфигурируемой для каждой единицы обновления в динамическом оперативном запоминающем устройстве (DRAM). Способ для обновления информации DRAM, в котором получают адрес единицы обновления в DRAM и информацию обновления единицы обновления, при этом единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления содержит цикл обновления единицы обновления; и инкапсулируют адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM и записывают адрес единицы обновления и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, при этом пространство данных обновления представляет собой предварительно установленное пространство для хранения в DRAM. 6 н. и 22 з.п. ф-лы, 14 ил., 2 табл.
[0001] Данная заявка испрашивает приоритет заявки на патент (Китай) номер 201410253514.8, поданной в Китайское патентное ведомство 9 июня 2014 года и озаглавленной "METHOD AND SYSTEM FOR REFRESHING DYNAMIC RANDOM ACCESS MEMORY DRAM AND DEVICE", которая полностью содержится в данном документе по ссылке.
Область техники, к которой относится изобретение
[0002] Настоящее изобретение относится к области техники компьютеров, и, в частности, к способу и системе для обновления динамического оперативного запоминающего устройства (DRAM) и к устройству.
Уровень техники
[0003] В существующей компьютерной системе, дешевое DRAM (Dynamic Random Access Memory, динамическое оперативное запоминающее устройство) высокой плотности, в общем, используется в качестве основного системного запоминающего устройства, которое также упоминается как запоминающее устройство. DRAM сохраняет данные посредством использования зарядов в конденсаторе. Тем не менее, эти заряды постоянно просачиваются вследствие наличия утечки тока. Следовательно, данные в DRAM должны считываться и регулярно перезаписываться, с тем чтобы компенсировать заряды, которые просачиваются, и такая операция упоминается в качестве обновления (Refresh).
[0004] DRAM включает в себя несколько банков (Bank), и каждый банк представляет собой двумерный массив хранения данных, причем горизонтальная линия упоминается в качестве строки (Row), а вертикальная линия упоминается в качестве столбца (Column). В процессе обновления DRAM выбирает одну строку (которая также упоминается как строка запоминающего устройства) каждый раз и извлекает все данные в строке в считывающий усилитель (который также упоминается как буфер строк, Row Buffer); такой процесс упоминается в качестве операции активации (Active). Затем DRAM завершает, в буфере строк, считывание и запись соответствующих данных, и данные в буфере строк перезаписываются в массив хранения данных, что упоминается в качестве операции предварительного заряда (Pre-charge). Посредством операции активации и операции предварительного заряда, реализуется полный процесс обновления. Обновление DRAM приводит к относительно значительным дополнительным затратам в компьютерной системе. Поскольку DRAM не может отвечать на нормальный запрос на доступ к запоминающему устройству в процессе обновления, вызываются дополнительные затраты ресурсов; и кроме того, операция обновления является энергоемкой операцией, что приводит к дополнительным затратам энергии.
[0005] Существующий способ обновления заключается в том, чтобы обновлять все строки в DRAM посредством использования идентичного цикла, с тем чтобы обеспечивать то, что данные в единице, подвергающееся самой серьезной утечке тока, не потеряны.
[0006] В процессе выполнения настоящего изобретения, обнаружено, что предшествующий уровень техники имеет следующие проблемы: Поскольку емкость DRAM непрерывно увеличивается, способ обновления всех строк запоминающего устройства посредством использования идентичного цикла имеет все возрастающие дополнительные затраты ресурсов и дополнительные затраты энергии, что значительно влияет на эффективность использования энергии системы.
Сущность изобретения
[0007] На основе этого, варианты осуществления настоящего изобретения предоставляют способ и систему для обновления динамического оперативного запоминающего устройства (DRAM) и устройство, с тем чтобы эффективно уменьшать дополнительные затраты в процессе обновления.
[0008] Первый аспект вариантов осуществления настоящего изобретения предоставляет способ обработки для обновления информации динамического оперативного запоминающего устройства (DRAM), и способ включает в себя:
- получение адреса единицы обновления в DRAM и информации обновления единицы обновления, причем единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления включает в себя цикл обновления единицы обновления; и
- инкапсуляцию адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, причем пространство данных обновления представляет собой предварительно установленное пространство для хранения в DRAM.
[0009] Со ссылкой на первый аспект, в первом возможном способе реализации, перед записью адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, способ дополнительно включает в себя: выделение, в DRAM, предварительно установленного пространства для хранения в качестве пространства данных обновления.
[0010] Со ссылкой на первый аспект или первый возможный способ реализации первого аспекта, во втором возможном способе реализации, полученный адрес единицы обновления включает в себя физический адрес единицы обновления; и
- инкапсуляция адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM включает в себя:
- инкапсуляцию физического адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись физического адреса и информация обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0011] Со ссылкой на первый аспект или первый возможный способ реализации первого аспекта, в третьем возможном способе реализации, полученный адрес единицы обновления включает в себя виртуальный адрес единицы обновления; и перед инкапсуляцией адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM, способ дополнительно включает в себя:
- преобразование виртуального адреса единицы обновления в физический адрес единицы обновления посредством выполнения запроса к таблице состояний страниц; и
- инкапсуляция адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM включает в себя:
- инкапсуляцию физического адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись физического адреса и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0012] Второй аспект вариантов осуществления настоящего изобретения предоставляет устройство обработки для обновления информации динамического оперативного запоминающего устройства (DRAM), и устройство включает в себя:
- блок получения, выполненный с возможностью получать адрес единицы обновления в DRAM и информацию обновления единицы обновления, причем единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления включает в себя цикл обновления единицы обновления;
- блок инкапсуляции, выполненный с возможностью инкапсулировать адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок записи, выполненный с возможностью записывать адрес единицы обновления и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, причем пространство данных обновления представляет собой фрагмент предварительно установленного пространства для хранения в DRAM.
[0013] Со ссылкой на второй аспект, в первом возможном способе реализации, устройство дополнительно включает в себя блок выделения, выполненный с возможностью выделять, в DRAM, предварительно установленное пространство для хранения в качестве пространства данных обновления.
[0014] Со ссылкой на второй аспект или первый возможный способ реализации второго аспекта, во втором возможном способе реализации, адрес, полученный посредством блока получения, единицы обновления включает в себя физический адрес единицы обновления;
- блок инкапсуляции, в частности, выполнен с возможностью инкапсулировать физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок записи, в частности, выполнен с возможностью записывать физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0015] Со ссылкой на второй аспект или первый возможный способ реализации второго аспекта, в третьем возможном способе реализации, адрес, полученный посредством блока получения, единицы обновления включает в себя виртуальный адрес единицы обновления; и устройство дополнительно включает в себя:
- блок обработки преобразования, выполненный с возможностью преобразовывать виртуальный адрес единицы обновления в физический адрес единицы обновления посредством выполнения запроса к таблице состояний страниц;
- блок инкапсуляции, в частности, выполнен с возможностью инкапсулировать физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок записи, в частности, выполнен с возможностью записывать физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0016] Третий аспект вариантов осуществления настоящего изобретения предоставляет устройство обработки для обновления информации динамического оперативного запоминающего устройства (DRAM), причем устройство обработки включает в себя:
- процессор, запоминающее устройство, интерфейс связи и шину, причем процессор, запоминающее устройство и интерфейс связи осуществляют связь посредством использования шины;
- запоминающее устройство выполнено с возможностью сохранять программу;
- интерфейс связи выполнен с возможностью обмениваться данными с DRAM; и
- когда устройство обработки запущено, процессор выполнен с возможностью выполнять программу, сохраненную в запоминающем устройстве, с тем чтобы осуществлять способ согласно любому из первого аспекта или возможных способов реализации первого аспекта.
[0017] Четвертый аспект вариантов осуществления настоящего изобретения предоставляет способ для обновления динамического оперативного запоминающего устройства (DRAM), и способ включает в себя:
- формирование команды обновления для единицы обновления в DRAM, причем команда обновления включает в себя физический адрес единицы обновления, и единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM;
- считывание, из пространства данных обновления, информации обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM, причем информация обновления единицы обновления включает в себя цикл обновления единицы обновления; и
- выполнение операции обновления для единицы обновления согласно информации обновления.
[0018] Со ссылкой на четвертый аспект, в первом возможном способе реализации, считывание, из пространства данных обновления, информации обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM включает в себя:
- определение информации обновления единицы обновления согласно физическому адресу единицы обновления и соответствию, которое сохраняется в пространстве данных обновления и которое задается между физическим адресом единицы обновления и информацией обновления единицы обновления, и считывание, из пространства данных обновления, информации обновления единицы обновления посредством использования команды считывания из DRAM.
[0019] Со ссылкой на четвертый аспект или первый возможный способ реализации четвертого аспекта, во втором возможном способе реализации, пространство данных обновления представляет собой пространство для хранения, которое предварительно установлено в DRAM, и которое используется для сохранения информации обновления нескольких единиц обновления в DRAM, и способ дополнительно включает в себя:
- получение, из пространства данных обновления, информации обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления.
[0020] Со ссылкой на второй возможный способ реализации четвертого аспекта, в третьем возможном способе реализации, после получения, из пространства данных обновления, информации обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления, способ дополнительно включает в себя:
- прием команды обновления для нескольких последовательных единиц обновления, которые находятся после единицы обновления;
- определение того, превышает или нет количество единиц обновления, для которых операция обновления должна выполняться в нескольких последовательных единицах обновления, пороговое значение;
- выполнение операции обновления для автоматического обновления для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, превышает пороговое значение; или
- выполнение операции обновления для обновления только на основе RAS для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, не превышает пороговое значение.
[0021] Пятый аспект вариантов осуществления настоящего изобретения предоставляет DRAM-контроллер, и DRAM-контроллер включает в себя:
- модуль формирования команд обновления, выполненный с возможностью формировать команду обновления для единицы обновления в DRAM, причем команда обновления включает в себя физический адрес единицы обновления, и единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM;
- модуль получения, выполненный с возможностью получать, из пространства данных обновления, информацию обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM, причем информация обновления единицы обновления включает в себя цикл обновления единицы обновления; и
- модуль выполнения, выполненный с возможностью выполнять операцию обновления для единицы обновления согласно информации обновления.
[0022] Со ссылкой на пятый аспект, в первом возможном способе реализации, модуль получения включает в себя:
- блок запросов, выполненный с возможностью определять информацию обновления единицы обновления согласно физическому адресу единицы обновления и соответствию, которое сохраняется в пространстве данных обновления и которое задается между физическим адресом единицы обновления и информацией обновления единицы обновления; и
- блок считывания, выполненный с возможностью считывать, из пространства данных обновления, информацию обновления единицы обновления посредством использования команды считывания из DRAM.
[0023] Со ссылкой на пятый аспект или первый возможный способ реализации пятого аспекта, во втором возможном способе реализации, модуль получения дополнительно выполнен с возможностью получать, из пространства данных обновления, информацию обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления.
[0024] Со ссылкой на второй возможный способ реализации пятого аспекта, в третьем возможном способе реализации, модуль выполнения включает в себя:
- блок приема, выполненный с возможностью принимать команду обновления для нескольких последовательных единиц обновления, которые находятся после единицы обновления;
- блок определения, выполненный с возможностью определять то, превышает или нет количество единиц обновления, для которых операция обновления должна выполняться в нескольких последовательных единицах обновления, пороговое значение; и
- блок выполнения, выполненный с возможностью выполнять операцию обновления для автоматического обновления для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, превышает пороговое значение; или выполнять операцию обновления для обновления только на основе RAS для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, не превышает пороговое значение.
[0025] Шестой аспект вариантов осуществления настоящего изобретения предоставляет систему для обновления динамического оперативного запоминающего устройства (DRAM), причем система включает в себя динамическое оперативное запоминающее устройство (DRAM), включающее в себя, по меньшей мере, одну единицу обновления, и DRAM-контроллер согласно любому из пятого аспекта или возможных способов реализации пятого аспекта.
[0026] Согласно способу и системе для обновления динамического оперативного запоминающего устройства (DRAM) и устройству, предусмотренным в вариантах осуществления настоящего изобретения, информация обновления единицы обновления в DRAM получается, причем информация обновления включает в себя цикл обновления единицы обновления, и информация обновления записывается во фрагмент предварительно установленного пространства для хранения, т.е. пространства данных обновления, в DRAM; в процессе обновления единицы обновления в DRAM, DRAM-контроллер считывает, из пространства данных обновления, информацию обновления, соответствующую единице обновления, посредством использования команды считывания из DRAM, и выполняет операцию обновления для соответствующей единицы обновления посредством использования информации обновления. Посредством вышеприведенного способа, в случае если емкость DRAM непрерывно увеличивается, с одной стороны, применимое обновление может выполняться согласно информации обновления единицы обновления, исключая проблему относительно больших дополнительных затрат ресурсов и дополнительных затрат энергии, вызываемых посредством обновления, выполняемого согласно идентичному циклу в предшествующем уровне техники, и с другой стороны, информация обновления единицы обновления сохраняется в DRAM-пространстве, так что в случае, если емкость хранения DRAM непрерывно увеличивается, требование по пространству для хранения, которое получается в результате увеличения объема данных информации обновления, может удовлетворяться.
Краткое описание чертежей
[0027] Чтобы более понятно описывать технические решения в вариантах осуществления настоящего изобретения, далее кратко представлены прилагаемые чертежи, требуемые для описания вариантов осуществления. Ясно, что прилагаемые чертежи в нижеприведенном описании показывают только некоторые варианты осуществления настоящего изобретения, и специалисты в данной области техники по-прежнему могут получать другие чертежи из этих прилагаемых чертежей без творческих усилий.
[0028] Фиг. 1 является схемой архитектуры системы, на которой основан вариант осуществления настоящего изобретения;
[0029] Фиг. 2A является блок-схемой последовательности операций первого способа реализации для варианта 1 осуществления способа согласно настоящему изобретению;
[0030] Фиг. 2B является блок-схемой последовательности операций второго способа реализации для варианта 1 осуществления способа согласно настоящему изобретению;
[0031] Фиг. 2C является блок-схемой последовательности операций первого способа реализации этапа 230 варианта 1 осуществления способа согласно настоящему изобретению;
[0032] Фиг. 2D является блок-схемой последовательности операций второго способа реализации этапа 230 варианта 1 осуществления способа согласно настоящему изобретению;
[0033] Фиг. 3A является блок-схемой последовательности операций способа варианта 2 осуществления способа согласно настоящему изобретению;
[0034] Фиг. 3B является блок-схемой последовательности операций способа реализации этапа 330 варианта 2 осуществления способа согласно настоящему изобретению;
[0035] Фиг. 3C является блок-схемой последовательности операций способа реализации дополнительного этапа варианта 2 осуществления способа согласно настоящему изобретению;
[0036] Фиг. 4 является структурной схемой варианта 1 осуществления устройства согласно настоящему изобретению;
[0037] Фиг. 5 является структурной схемой варианта 2 осуществления устройства согласно настоящему изобретению;
[0038] Фиг. 6A является структурной схемой варианта 2 осуществления устройства согласно настоящему изобретению;
[0039] Фиг. 6B является структурной схемой способа реализации модуля получения в варианте 2 осуществления устройства согласно настоящему изобретению;
[0040] Фиг. 6C является структурной схемой способа реализации модуля выполнения в варианте 2 осуществления устройства согласно настоящему изобретению; и
[0041] Фиг. 7 является схемой сетевых соединений варианта осуществления системы настоящего изобретения.
Описание вариантов осуществления
[0042] Ниже понятно и полностью описаны технические решения в вариантах осуществления настоящего изобретения со ссылкой на прилагаемые чертежи в вариантах осуществления настоящего изобретения. Ясно, что описанные варианты осуществления представляют собой часть, а не все варианты осуществления настоящего изобретения. Все остальные варианты осуществления, полученные специалистами в данной области техники на основе вариантов осуществления настоящего изобретения без творческих усилий, должны попадать в объем охраны настоящего изобретения.
[0043] Хотя нижеприведенные описания акцентируют внимание на устройстве DRAM, специалисты в данной области техники понимают, что настоящее изобретение может применяться к любому типу устройства хранения данных, которое включает в себя несколько блоков и должно обновляться с регулярными интервалами или поддерживаться другим способом для того, чтобы резервировать свое содержимое. Специалисты в данной области техники также понимают, что хотя нижеприведенные описания акцентируют внимание на устройстве хранения данных, в котором блоки хранения организованы в двумерный массив строк и столбцов, блоки хранения могут организовываться несколькими способами, включающими в себя организацию в несколько банков (Bank) и перемежение или не перемежение, организацию в массив с более чем двумя размерностями, организацию с возможностью адресации содержимого и т.п. Помимо этого, хотя, по меньшей мере, часть нижеприведенного пояснения акцентирует внимание на запоминающем устройстве в компьютерной системе, специалисты в данной области техники понимают, что заявленное настоящее изобретение может реализовываться в комбинации с другим электронным устройством или системой, имеющей запоминающее устройство.
Архитектура системы вариантов осуществления настоящего изобретения
[0044] Фиг. 1 показывает принципиальную сетевую схему системы обновления запоминающего устройства согласно варианту осуществления настоящего изобретения. Система обновления запоминающего устройства включает в себя процессор 100, контроллер 200 запоминающего устройства и кристалл 300 запоминающего устройства. Процессор 100 считывает данные из и записывает данные в кристалл 300 запоминающего устройства посредством использования контроллера 200 запоминающего устройства. В ходе конкретной реализации, процессор 100 и контроллер 200 запоминающего устройства могут быть интегрированы в идентичный кристалл или также могут быть отдельно реализованы посредством двух различных кристаллов.
[0045] В кристалле 300 запоминающего устройства, фрагмент пространства для хранения предварительно установлен в качестве пространства 310 данных обновления, и пространство данных обновления может представлять собой непрерывную область или может представлять собой несколько рассеянных областей. При выделении памяти для прикладной программы, операционная система не может выделять вышеупомянутые области.
[0046] Кристалл 300 запоминающего устройства, в общем, реализуется посредством DRAM-кристалла, и когда кристалл 300 запоминающего устройства реализуется посредством DRAM-кристалла, контроллер 200 запоминающего устройства может реализовываться посредством DRAM-контроллера.
Варианты осуществления настоящего изобретения
[0047] В настоящее время, ввиду непрерывного увеличения емкости хранения запоминающего устройства, то, как уменьшать дополнительные затраты ресурсов и энергии для обновления запоминающего устройства, становится проблемой.
[0048] Способ обновления, в общем, используемый в отрасли, заключается в том, чтобы обновлять все строки в запоминающем устройстве посредством использования идентичного цикла, с тем чтобы обеспечивать то, что данные в единице, подвергающееся самой серьезной утечке тока, не потеряны. В частности, предусмотрено два следующих способа обновления:
[0049] (1) Способ AR (Auto Refresh, автоматическое обновление): Счетчик RAC поддерживается в кристалле запоминающего устройства и направляет в следующую строку, которая должна быть обновлена. Контроллер запоминающего устройства отправляет команду обновления с интервалами в tREFI-время, и после того, как кристалл запоминающего устройства принимает команду, операция обновления выполняется одновременно для группы строк (причем количество строк определяется посредством плотности кристалла запоминающего устройства), направляемых, во всех банках, посредством RAC. Длительность операции обновления составляет tRFC, и в течение этого периода, кристалл запоминающего устройства не может отвечать на нормальный запрос на доступ к запоминающему устройству. После tRFC-времени, кристалл запоминающего устройства обновляет значение счетчика и инструктирует счетчику направлять в следующую группу строк, которые должны быть обновлены.
[0050] (2) Способ ROR (обновления только на основе RAS): контроллер запоминающего устройства отправляет команду строба адреса строки (RAS, строба адреса строки) и извлекает данные в одной строке из запоминающего устройства в буфер строк, и затем данные строки перезаписываются в блок хранения посредством последующей команды предварительного заряда, с тем чтобы завершать обновление данных строки. В этом случае, контроллер запоминающего устройства поддерживает счетчик RAC и периодически отправляет команду RAS. При таком способе обновления, только одна строка обновляется каждый раз, и когда строка обновляется, к другим банкам по-прежнему может осуществляться доступ.
[0051] В вышеприведенном способе AR, степень детализации обновления является относительно большой, и средние дополнительные затраты на обновление каждой строки являются относительно небольшими; тем не менее, когда некоторые строки в запоминающем устройстве сохраняют недопустимые данные (т.е. недопустимые данные не должны обновляться) или сохраняют некритические данные (некритические данные не должны обновляться с относительно высокой частотой), дополнительные затраты вышеприведенного способа AR является относительно большим. В способе ROR, степень детализации обновления является относительно небольшой, и строка, которая должна быть обновлена, указывается посредством контроллера запоминающего устройства, что обеспечивает возможность контроллеру запоминающего устройства выполнять гибкое управление; тем не менее, средние дополнительные затраты на обновление каждой строки способом ROR являются относительно большими.
[0052] В вышеприведенном запоминающем устройстве, каждая строка данных, которые должны быть обновлены, составляет единицу обновления (Refresh Unit). В конкретной реализации, единица обновления может представлять собой одну строку запоминающего устройства или может представлять собой несколько строк запоминающего устройства, или может представлять собой степень детализации, меньшую строки запоминающего устройства, что не ограничено ни в одном варианте осуществления настоящего изобретения.
[0053] Чтобы повышать эффективность обновления данных запоминающего устройства и уменьшать дополнительные затраты на обновление, параметры обновления каждой единицы обновления могут определяться посредством использования следующих трех параметров:
[0054] (1) Время хранения данных: Время хранения данных представлено посредством T0 и составляет предварительно установленный цикл обновления единицы обновления. Например, если единица обновления обновляется с интервалами в 64 миллисекунды, предварительно установленный цикл обновления T0=64 мс.
[0055] (2) Допустимость данных: Допустимость данных представлена посредством μ и используется для того, чтобы измерять достоверность данных, сохраненных в единице обновления. Если данные, сохраненные в единице обновления, являются допустимыми данными, μ=1, а если данные, сохраненные в единице обновления, являются недопустимыми данными, μ=0. Допустимость данных определяется посредством операционной системы.
[0056] (3) Критичность данных: Критичность данных представлена посредством λ и используется для того, чтобы измерять критичность данных, сохраненных в единице обновления. Согласно уровням критичности данных, диапазон значений критичности данных для данных, сохраненных в единице обновления, равен 0<λ≤1. Критичность данных может задаваться посредством операционной системы, или критичность данных может задаваться пользователем и уведомляться операционной системе.
[0057] Следующая взаимосвязь существует между циклом обновления единицы обновления и вышеприведенными тремя параметрами: цикл обновления=предварительно установленный цикл обновления * допустимость данных/критичность данных, что выражается следующим образом посредством использования символов: цикл обновления T=T0*μ/λ (что является применимым к случаю, в котором μ≠0). Следует отметить, что когда данные обновления единицы обновления являются недопустимыми данными, в этом случае, цикл обновления единицы обновления является бесконечным, т.е. единица обновления не обновляется.
[0058] Описание предоставляется посредством использования примера: Для единицы обновления, которая сохраняет допустимые данные, имеющие критичность данных 1, цикл обновления единицы обновления=T0*1/1=T; для единицы обновления, которая сохраняет некритические допустимые данные, критичность λ данных (где 0<λ≤1) может определяться согласно критичности данных, заданной посредством операционной системы, и обновление выполняется посредством использования произведения предварительно установленного цикла обновления, выбранного посредством системы, и коэффициента регулирования, т.е. T0*(1/λ).
[0059] В качестве примера, для единицы обновления, время T0 хранения данных (т.е. предварительно установленный цикл обновления) единицы обновления равно 64 миллисекунды, допустимость μ данных равна 1, и критичность λ данных равна 0,5, и, следовательно, согласно вышеприведенной формуле вычисления, определяется то, что цикл обновления единицы обновления равен 64*2 (миллисекунд).
[0060] В качестве примера, посредством использования одного формата хранения информации, информация обновления единиц обновления, имеющих различную критичность данных, может выражаться посредством использования таблицы 1. В следующей таблице, информация обновления одной единицы обновления может быть представлена посредством использования четырех битов. Следует отметить, что то, сколько битов используется для того, чтобы представлять информацию обновления, основано на определяемых пользователем настройках. С помощью большего числа битов, может быть представлено больше вариантов цикла обновления. Для специалистов в данной области техники количество битов для представления информации обновления выбирается согласно конкретному требованию обновления, что не ограничено ни в одном варианте осуществления настоящего изобретения. Следующая таблица 1 используется просто в качестве примера для описания.
[0061] Можно видеть из следующей таблицы 1, что информация обновления, представленная посредством использования четырех битов фактически, включает в себя цикл обновления, соответствующий единице обновления.
Информация обновления | Представленный цикл обновления | |||
Идентификатор допустимости данных | Идентификатор цикла обновления | |||
0 | NULL | NULL | NULL | Без обновления |
1 | 0 | 0 | 0 | 64 мс |
1 | 0 | 0 | 1 | 2*64 мс |
1 | 0 | 1 | 0 | 4*64 мс |
... | ... | ... | ... | ... |
1 | 1 | 1 | 1 | 128*64 мс |
Табл. 1
Вариант 1 осуществления способа
[0062] Ссылаясь на фиг. 2A, этот вариант осуществления предоставляет способ обработки для обновления информации динамического оперативного запоминающего устройства (DRAM). Процесс способа является следующим:
[0063] 210: Получение адреса единицы обновления в DRAM и информации обновления единицы обновления, причем единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления включает в себя цикл обновления единицы обновления.
[0064] В частности, этот вариант осуществления способа может выполняться посредством операционной системы.
[0065] Адрес единицы обновления может представлять собой физический адрес единицы обновления или виртуальный адрес единицы обновления.
[0066] В предшествующем уровне техники, информация обновления может получаться многими способами получения. Например, в программном обеспечении, информация обновления может определяться посредством теста относительно времени хранения данных, мониторинга выделения/отмены выделения страницы или метки пользователя; и в аппаратных средствах, информация обновления может определяться посредством теста относительно времени хранения данных, предыстории недавнего доступа к данным и т.п. Это не описывается подробно в этом варианте осуществления настоящего изобретения.
[0067] В частности, перед получением информации обновления единицы обновления в DRAM, способ дополнительно включает в себя этап преобразования параметров, таких как время хранения данных, допустимость данных и критичность данных, единицы обновления в информацию обновления единицы обновления. Для получения сведений по конкретному процессу преобразования, следует обратиться к связанному описанию в вышеприведенной таблице 1.
[0068] Информация, включенная в вышеприведенную информацию обновления единицы обновления, представляет собой цикл обновления единицы обновления.
[0069] 230: Инкапсуляция адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, причем пространство данных обновления представляет собой предварительно установленное пространство для хранения в DRAM.
[0070] В частности, операционная система может записывать адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования существующего запроса на доступ к DRAM.
[0071] Дополнительно, перед этапом 230 записи адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, ссылаясь на фиг. 2B, способ дополнительно включает в себя:
[0072] 220: Выделение, в DRAM, предварительно установленного пространства для хранения в качестве пространства данных обновления.
[0073] Следует отметить, что, отсутствует строгая последовательная взаимосвязь между этапом 220 и этапом 210. В конкретном процессе реализации, сначала может выполняться этап 210, а затем выполняется этап 220; либо сначала может выполняться этап 220, а затем выполняется этап 210, что не ограничивается в этом варианте осуществления настоящего изобретения.
[0074] Вышеприведенный этап 220 выделения, в DRAM, фрагмента пространства для хранения в качестве пространства данных обновления может реализовываться посредством использования следующих способов:
[0075] (1) Операционная система обращается к пространству в запоминающем устройстве на предмет области, чтобы сохранять информацию обновления, и уведомляет диапазон адресов области в контроллер запоминающего устройства.
[0076] (2) BIOS (базовая система ввода-вывода, т.е. базовая система ввода-вывода) резервирует область в пространстве в запоминающем устройстве для того, чтобы сохранять информацию обновления, и уведомляет диапазон адресов области в операционную систему и контроллер запоминающего устройства.
[0077] (3) Контроллер запоминающего устройства резервирует область в пространстве в запоминающем устройстве для того, чтобы сохранять информацию обновления, и уведомляет диапазон адресов области в операционную систему.
[0078] Пространство данных обновления может представлять собой непрерывную область или может представлять собой несколько рассеянных областей. Когда память выделяется прикладной программе, операционная система не может выделять вышеупомянутую область.
[0079] Следует отметить, что адрес единицы обновления и информация обновления единицы обновления записываются в пространство данных обновления, и таким образом, соответствие между физическим адресом единицы обновления и информацией обновления единицы обновления устанавливается в пространстве данных обновления. В качестве примера, структура пространства данных обновления показана в таблице 2 (причем ясно, что сохранение соответствия между физическим адресом единицы обновления и информацией обновления единицы обновления в форме таблицы представляет собой просто один способ реализации, и этот вариант осуществления настоящего изобретения не исключает другие способы реализации):
Физический адрес единицы обновления | Информация обновления | |||
Идентификатор допустимости данных | Идентификатор цикла обновления | |||
Единица 1 обновления | 1 | 0 | 0 | 0 |
Единица 2 обновления | 0 | x | x | x |
Единица 3 обновления | 1 | 1 | 1 | 1 |
Единица 4 обновления | 1 | 0 | 0 | 1 |
Единица 5 обновления | 1 | 0 | 1 | 0 |
Табл. 2
[0080] Дополнительно, согласно различным конкретным процессам реализации, предусмотрено два способа реализации в процессе выполнения этапа 230:
[0081] Способ 1. Этот способ включает в себя процессы реализации этапов 231-232. Полученный адрес единицы обновления включает в себя физический адрес единицы обновления. Ссылаясь на фиг. 2C, конкретный процесс этапа 230 является следующим:
[0082] 231: Инкапсуляция физического адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM.
[0083] 232: Запись физического адреса и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0084] В частности, в вышеприведенном процессе реализации, когда операционная система получает физический адрес единицы обновления и информацию обновления единицы обновления, операционная система может записывать физический адрес единицы обновления и информацию обновления единицы обновления в пространство данных обновления.
[0085] Способ 2. Этот способ включает в себя процессы реализации этапов 233-235. Полученный адрес единицы обновления включает в себя виртуальный адрес единицы обновления. Ссылаясь на фиг. 2D, конкретный процесс этапа 230 является следующим:
[0086] 233: Преобразование виртуального адреса единицы обновления в физический адрес единицы обновления посредством выполнения запроса к таблице состояний страниц.
[0087] 234: Инкапсуляция физического адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM.
[0088] 235: Запись физического адреса и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0089] В частности, в вышеприведенном процессе реализации, информация обновления единицы обновления и виртуальный адрес единицы обновления получаются посредством использования приложения пользовательского режима. В этом случае, приложение пользовательского режима отправляет виртуальный адрес единицы обновления и информацию обновления единицы обновления в операционную систему, и операционная система получает физический адрес единицы обновления согласно виртуальному адресу единицы обновления и посредством выполнения запроса к таблице состояний страниц (Page Table) и записывает физический адрес и информацию обновления единицы обновления в пространство данных обновления.
[0090] Согласно вышеприведенному варианту осуществления способа обработки для обновления информации динамического оперативного запоминающего устройства (DRAM), информация обновления может записываться, посредством использования существующего запроса на доступ к DRAM, в пространство данных обновления, выделяемое заранее в DRAM, так что способ может удовлетворять требованию непрерывного расширения пространства для хранения для информации обновления, причем требование получается в результате непрерывного увеличения емкости хранения DRAM. Кроме того, хранение информации обновления реализуется посредством использования существующего запроса на доступ к DRAM, что является простым и практическим решением по реализации.
Вариант 2 осуществления способа
[0091] Ссылаясь на фиг. 3A, этот вариант осуществления предоставляет способ для обновления динамического оперативного запоминающего устройства (DRAM). Этот вариант осуществления способа выполняется посредством контроллера запоминающего устройства, и его процесс является следующим:
[0092] 310: Формирование команды обновления для единицы обновления в DRAM, причем команда обновления включает в себя физический адрес, направляющий в единицу обновления, и единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM.
[0093] В частности, контроллер запоминающего устройства периодически формирует команду обновления, и команда обновления включает в себя физический адрес единицы, которая должна быть обновлена.
[0094] 330: Считывание, из пространства данных обновления, информации обновления единицы обновления согласно физическому адресу единицы обновления, причем информация обновления единицы обновления включает в себя цикл обновления единицы обновления.
[0095] 350: Выполнение операции обновления для единицы обновления согласно информации обновления.
[0096] В частности, когда контроллер запоминающего устройства выполняет операцию обновления для единицы обновления согласно информации обновления, со ссылкой на таблицу 2, для различной информации обновления, контроллер запоминающего устройства выполняет различные операции обновления:
[0097] (1) Если идентификатор допустимости данных в информации обновления, считываемой посредством контроллера запоминающего устройства, равен 0, это указывает то, что данные, сохраненные в единице обновления, соответствующей информации обновления, являются недопустимыми данными, и контроллер запоминающего устройства отбрасывает команду обновления.
[0098] (2) Если идентификатор допустимости данных в информации обновления, считываемой посредством контроллера запоминающего устройства, равен 1, и идентификатор цикла обновления является abc (где все значения a, b и c равны 1 или 0), согласно содержимому в таблице 2 и таблице 1, цикл обновления единицы обновления определяется, и единица обновления обновляется согласно циклу обновления.
[0099] Дополнительно, ссылаясь на фиг. 3B, вышеприведенный этап 330 считывания, из пространства данных обновления согласно физическому адресу единицы обновления, информации обновления, соответствующей единице обновления включает в себя:
[0100] 331: Запрос, согласно физическому адресу единицы обновления, соответствия, которое сохраняется в пространстве данных обновления и которое задается между физическим адресом единицы обновления и информацией обновления единицы обновления, чтобы определять информацию обновления единицы обновления.
[0101] 332: Считывание, из пространства данных обновления, информации обновления единицы обновления посредством использования команды считывания из DRAM.
[0102] Согласно физическому адресу единицы обновления, контроллер запоминающего устройства считывает, из соответствия между физическим адресом единицы обновления и информацией обновления единицы обновления, информацию обновления единицы обновления посредством использования команды считывания из DRAM.
[0103] Дополнительно, пространство данных обновления представляет собой пространство для хранения, которое предварительно установлено в DRAM, и которое используется для сохранения информации обновления нескольких единиц обновления в DRAM, и способ дополнительно включает в себя:
[0104] 340: Получение, из пространства данных обновления, информации обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления.
[0105] Следует отметить, что степень детализации считывания/записи DRAM-данных является относительно большой, что, в общем, составляет 64 байта, и согласно вышеприведенному варианту осуществления, хранение информации обновления одной единицы обновления представлено посредством использования четырех битов, и следовательно, DRAM считывает информацию обновления 128 единиц обновления за один раз.
[0106] Дополнительно, после считывания, из пространства данных обновления, информации обновления нескольких единиц обновления, которые находятся после единицы обновления, ссылаясь на фиг. 3C, способ дополнительно включает в себя:
[0107] 341: Прием команды обновления для нескольких последовательных единиц обновления, которые находятся после единицы обновления.
[0108] 342: Определение того, превышает или нет количество единиц обновления, для которых должна выполняться операция обновления, в нескольких последовательных единицах обновления пороговое значение.
[0109] 343: Выполнение операции обновления для автоматического обновления для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, превышает пороговое значение.
[0110] 344: Выполнение операции обновления для обновления только на основе RAS для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, не превышает пороговое значение.
[0111] В конкретном процессе реализации, когда операция обновления выполняется для нескольких последовательных единиц обновления посредством использования способа автоматического обновления, контроллер запоминающего устройства дополнительно отправляет команду тихого обновления (silent refresh) в DRAM. Посредством команды, в процессе обновления нескольких последовательных единиц обновления, единица обновления, сохраняющая недопустимые данные, может пропускаться, и кроме того, для адреса, в котором выполняется обновление, счетчик постепенно увеличивается на 1, чтобы обеспечивать то, что счетчик затем направляет в следующую строку, которая должна быть обновлена.
[0112] Следует отметить, что использование автоматического обновления и использование обновления только на основе RAS общеизвестны для специалистов в данной области техники, и конкретный процесс выполнения не описывается подробно в данном документе снова.
[0113] В вышеприведенном варианте осуществления, посредством осуществления доступа к информации обновления, которая сохраняется в пространстве данных обновления единицы обновления, применимое обновление может выполняться согласно информации обновления, исключая проблему относительно больших дополнительных затрат ресурсов и дополнительных затрат энергии, вызываемых посредством обновления, выполняемого посредством использования идентичного цикла в предшествующем уровне техники. Кроме того, информация обновления единицы обновления непосредственно считывается из пространства данных обновления посредством использования существующей команды доступа к запоминающему устройству, так что процесс обновления является простым и практичным.
Вариант 1 осуществления устройства
[0114] Ссылаясь на фиг. 4, этот вариант осуществления предоставляет устройство обработки для обновления информации динамического оперативного запоминающего устройства (DRAM), и устройство 400 включает в себя:
- блок 410 получения, выполненный с возможностью получать адрес единицы обновления в DRAM и информацию обновления единицы обновления, причем единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления включает в себя цикл обновления единицы обновления;
- блок 420 инкапсуляции, выполненный с возможностью инкапсулировать адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок 430 записи, выполненный с возможностью записывать адрес единицы обновления и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, причем пространство данных обновления представляет собой фрагмент предварительно установленного пространства для хранения в DRAM.
[0115] Необязательно, устройство 400 дополнительно включает в себя:
- блок 440 выделения, выполненный с возможностью выделять, в DRAM, предварительно установленное пространство для хранения в качестве пространства данных обновления.
[0116] Дополнительно, адрес, полученный посредством блока получения, единицы обновления включает в себя физический адрес единицы обновления;
- блок 420 инкапсуляции дополнительно выполнен с возможностью инкапсулировать физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок 430 записи выполнен с возможностью записывать физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
[0117] Дополнительно, адрес, полученный посредством блока получения, единицы обновления включает в себя виртуальный адрес единицы обновления; устройство дополнительно включает в себя:
- блок 450 обработки преобразования, выполненный с возможностью преобразовывать виртуальный адрес единицы обновления в физический адрес единицы обновления посредством выполнения запроса к таблице состояний страниц;
- блок 420 инкапсуляции, в частности, выполнен с возможностью инкапсулировать физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок 430 записи, в частности, выполнен с возможностью записывать физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
Вариант 2 осуществления устройства
[0118] Ссылаясь на фиг. 5, этот вариант осуществления дополнительно предоставляет устройство обработки для обновления информации динамического оперативного запоминающего устройства (DRAM), и устройство 500 обработки включает в себя:
- процессор 510, запоминающее устройство 520, интерфейс 530 связи и шину 540, причем процессор 510, запоминающее устройство 520 и интерфейс 530 связи осуществляют связь посредством использования шины;
- запоминающее устройство 520 выполнено с возможностью сохранять программу.
- интерфейс 530 связи выполнен с возможностью обмениваться данными с DRAM; и
- когда устройство 500 обработки работает, процессор 510 выполнен с возможностью выполнять программу, сохраненную в запоминающем устройстве 520, с тем чтобы осуществлять способ согласно любому возможному способу реализации для варианта 1 осуществления способа.
Вариант 3 осуществления устройства
[0119] Ссылаясь на фиг. 6A, этот вариант осуществления предоставляет DRAM-контроллер, и контроллер 600 включает в себя:
- модуль 610 формирования команд обновления, выполненный с возможностью формировать команду обновления для единицы обновления, причем команда обновления включает в себя физический адрес единицы обновления, и единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM;
- модуль 620 получения, выполненный с возможностью получать, из пространства данных обновления, информацию обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM, причем информация обновления единицы обновления включает в себя цикл обновления единицы обновления; и
- модуль 630 выполнения, выполненный с возможностью выполнять операцию обновления для единицы обновления согласно информации обновления.
[0120] Дополнительно, ссылаясь на фиг. 6B, модуль 620 получения включает в себя:
- блок 621 запросов, выполненный с возможностью определять информацию обновления единицы обновления согласно физическому адресу единицы обновления и соответствию, которое сохраняется в пространстве данных обновления и которое задается между физическим адресом единицы обновления и информацией обновления единицы обновления; и
- блок 622 считывания, выполненный с возможностью считывать, из пространства данных обновления, информацию обновления единицы обновления посредством использования команды считывания из DRAM.
[0121] Дополнительно, модуль 620 получения дополнительно выполнен с возможностью получать, из пространства данных обновления, информацию обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления.
[0122] Дополнительно, ссылаясь на фиг. 6C, модуль 630 выполнения включает в себя:
- блок 631 приема, выполненный с возможностью принимать команду обновления для нескольких последовательных единиц обновления, которые находятся после единицы обновления;
- блок 632 определения, выполненный с возможностью определять то, превышает или нет количество единиц обновления, для которых операция обновления должна выполняться в нескольких последовательных единицах обновления, пороговое значение; и
- блок 633 выполнения, выполненный с возможностью выполнять операцию обновления для автоматического обновления для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, превышает пороговое значение; или выполнять операцию обновления для обновления только на основе RAS для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, не превышает пороговое значение.
[0123] Согласно вышеприведенному способу реализации, с учетом такого признака, что способ обновления для автоматического обновления позволяет уменьшать дополнительные затраты на обновление и имеет относительно высокую эффективность, когда несколько последовательные единицы обновления должны обновляться, и такого признака, что способ обновления для обновления только на основе RAS является применимым к обновлению одной единицы обновления, согласно тому, превышает или нет количество единиц обновления, для которых фактически должна выполняться операция обновления, пороговое значение для количества единиц обновления, способ автоматического обновления или способ обновления только на основе RAS выбирается для того, чтобы выполнять обновление, за счет этого повышая эффективность обновления.
Вариант осуществления системы
[0124] Ссылаясь на фиг. 7, этот вариант осуществления предоставляет систему для обновления динамического оперативного запоминающего устройства (DRAM). Система 700 включает в себя динамическое оперативное запоминающее устройство 710 (DRAM), включающее в себя несколько единиц обновления, и DRAM-контроллер 720, как описано в варианте 3 осуществления устройства.
[0125] В нескольких вариантах осуществления, предоставленных в настоящем изобретении, следует понимать, что раскрытая система, устройство и способ могут быть реализованы другими способами. Например, описанный вариант осуществления устройства является просто примерным. Например, разделение на блоки является просто разделением по логическим функциям и может быть другим разделением в фактической реализации. Например, множество блоков или компонентов могут быть комбинированы или интегрированы в другую систему, либо некоторые признаки могут игнорироваться или не выполняться. Помимо этого, отображаемые или поясненные взаимные связи либо прямые связи, либо подключения связи могут быть реализованы посредством некоторых интерфейсов. Косвенные связи или подключения связи между устройствами или блоками могут быть реализованы в электронных, механических или других формах.
[0126] Блоки, описанные в качестве отдельных частей, могут быть или не быть физически отдельными, и части, отображаемые в качестве блоков, могут быть или не быть физическими блоками, могут быть расположены в одной позиции либо могут быть распределены по множеству сетевых блоков. Часть или все из блоков могут быть выбраны согласно фактической необходимости для достижения целей решений вариантов осуществления настоящего изобретения.
[0127] Помимо этого, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в один процессор, либо каждый из блоков может существовать отдельно физически, либо два или более блоков интегрируются в один блок. Интегрированный блок может быть реализован в форме аппаратных средств или может быть реализован в форме программного функционального блока.
[0128] Когда интегрированный блок реализован в форме программного функционального блока и продается либо используется в качестве независимого продукта, интегрированный блок может быть сохранен на компьютерночитаемом носителе хранения данных. На основе такого понимания, технические решения настоящего изобретения по существу или их часть, вносящая усовершенствование в предшествующий уровень техники, либо все или часть из технических решений могут быть реализованы в форме программного продукта. Программный продукт сохраняется на носителе хранения данных и включает в себя несколько инструкций для инструктирования компьютерному устройству (которое может представлять собой персональный компьютер, сервер или сетевое устройство) выполнять все или некоторые из этапов способов, описанных в вариантах осуществления настоящего изобретения. Вышеуказанный носитель хранения данных включает в себя: любой носитель, который может сохранять программный код, к примеру, USB-флэш-накопитель, съемный жесткий диск, постоянное запоминающее устройство (ROM, постоянное запоминающее устройство), оперативное запоминающее устройство (RAM, оперативное запоминающее устройство), магнитный диск или оптический диск.
[0129] Вышеприведенное описание представляет собой только конкретные варианты осуществления настоящего изобретения и не имеет намерение ограничивать объем охраны настоящего изобретения. Все модификации или замены, ясные для специалистов в данной области техники в пределах объема, раскрытого в настоящем изобретении, должны попадать в пределы объема охраны настоящего изобретения. Следовательно, объем охраны настоящего изобретения должен зависеть от объема охраны формулы изобретения.
1. Способ для обновления информации динамического оперативного запоминающего устройства (DRAM), содержащий этапы, на которых:
- получают адрес единицы обновления в DRAM и информацию обновления единицы обновления, при этом единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления содержит цикл обновления единицы обновления; и
- инкапсулируют адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM и
- записывают адрес единицы обновления и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, при этом пространство данных обновления представляет собой предварительно установленное пространство для хранения в DRAM.
2. Способ по п. 1, в котором перед записью адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, способ дополнительно содержит этап, на котором:
- выделяют, в DRAM, предварительно установленное пространство для хранения в качестве пространства данных обновления.
3. Способ по п. 1, в котором полученный адрес единицы обновления содержит физический адрес единицы обновления; и
- инкапсуляция адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM содержит этап, на котором:
- инкапсулируют физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM и
- записывают физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
4. Способ по п. 1, в котором полученный адрес единицы обновления содержит виртуальный адрес единицы обновления; и
- перед инкапсуляцией адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM способ дополнительно содержит этапы, на которых:
- преобразуют виртуальный адрес единицы обновления в физический адрес единицы обновления посредством выполнения запроса к таблице состояний страниц; и
- инкапсуляция адреса единицы обновления и информации обновления единицы обновления в качестве запроса на доступ к DRAM и запись адреса единицы обновления и информации обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM содержит этап, на котором:
- инкапсулируют физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
записывают физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
5. Способ по п. 1, в котором DRAM содержит по меньшей мере две единицы обновления, причем каждая из упомянутых по меньшей мере двух единиц обновления имеет вычисленный цикл обновления.
6. Способ по п. 5, в котором каждый из вычисленных циклов обновления единицы обновления получается согласно информации о времени хранения данных, информации о допустимости данных и информации о критичности данных каждой единицы обновления.
7. Устройство для обновления информации динамического оперативного запоминающего устройства (DRAM), при этом устройство содержит:
- блок получения, выполненный с возможностью получать адрес единицы обновления в DRAM и информацию обновления единицы обновления, при этом единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM, и информация обновления единицы обновления содержит цикл обновления единицы обновления;
- блок инкапсуляции, выполненный с возможностью инкапсулировать адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок записи, выполненный с возможностью записывать адрес единицы обновления и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM, при этом пространство данных обновления представляет собой предварительно установленное пространство для хранения в DRAM.
8. Устройство по п. 7, при этом устройство дополнительно содержит:
- блок выделения, выполненный с возможностью выделять, в DRAM, предварительно установленное пространство для хранения в качестве пространства данных обновления.
9. Устройство по п. 7 или 8, в котором адрес, полученный посредством блока получения, единицы обновления содержит физический адрес единицы обновления;
- блок инкапсуляции, в частности, выполнен с возможностью инкапсулировать физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок записи, в частности, выполнен с возможностью записывать физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
10. Устройство по п. 7 или 8, в котором:
- адрес, полученный посредством блока получения, единицы обновления содержит виртуальный адрес единицы обновления;
- устройство дополнительно содержит: блок обработки преобразования, выполненный с возможностью преобразовывать виртуальный адрес единицы обновления в физический адрес единицы обновления посредством выполнения запроса к таблице состояний страниц;
- блок инкапсуляции, в частности, выполнен с возможностью инкапсулировать физический адрес единицы обновления и информацию обновления единицы обновления в качестве запроса на доступ к DRAM; и
- блок записи, в частности, выполнен с возможностью записывать физический адрес и информацию обновления единицы обновления в пространство данных обновления посредством использования запроса на доступ к DRAM.
11. Устройство по п. 7, в котором DRAM содержит по меньшей мере две единицы обновления, причем каждая из упомянутых по меньшей мере двух единиц обновления имеет вычисленный цикл обновления.
12. Устройство по п. 11, в котором каждый из вычисленных циклов обновления единицы обновления получается согласно информации о времени хранения данных, информации о допустимости данных и информации о критичности данных каждой единицы обновления.
13. Устройство для обновления информации динамического оперативного запоминающего устройства (DRAM), при этом устройство обработки содержит:
- процессор, запоминающее устройство, интерфейс связи и шину, при этом процессор, запоминающее устройство и интерфейс связи осуществляют связь посредством использования шины;
- запоминающее устройство выполнено с возможностью сохранять программу;
- интерфейс связи выполнен с возможностью обмениваться данными с DRAM; и
- когда устройство обработки запущено, процессор выполнен с возможностью выполнять программу, сохраненную в запоминающем устройстве, с тем чтобы осуществлять способ по любому из пп. 1-6.
14. Способ обновления динамического оперативного запоминающего устройства (DRAM), содержащий этапы, на которых:
- формируют команду обновления для единицы обновления в DRAM, при этом команда обновления содержит физический адрес единицы обновления и единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM;
- считывают, из пространства данных обновления, информацию обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM, при этом информация обновления единицы обновления содержит цикл обновления единицы обновления, а пространство данных обновления является предварительно установленным пространством для хранения в DRAM; и
- выполняют операцию обновления для единицы обновления согласно информации обновления.
15. Способ по п. 14, в котором считывание, из пространства данных обновления, информации обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM содержит этап, на котором:
- определяют информацию обновления единицы обновления согласно физическому адресу единицы обновления и соответствию, которое сохраняется в пространстве данных обновления и которое задается между физическим адресом единицы обновления и информацией обновления единицы обновления, и
- считывают, из пространства данных обновления, информацию обновления единицы обновления посредством использования команды считывания из DRAM.
16. Способ по п. 14 или 15, в котором пространство данных обновления представляет собой пространство для хранения, которое предварительно установлено в DRAM и которое используется для сохранения информации обновления нескольких единиц обновления в DRAM, и способ дополнительно содержит этап, на котором:
- получают, из пространства данных обновления, информацию обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления.
17. Способ по п. 16, в котором после получения, из пространства данных обновления, информации обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления, способ дополнительно содержит этапы, на которых:
- принимают команду обновления для нескольких последовательных единиц обновления, которые находятся после единицы обновления;
- определяют, превышает или нет количество единиц обновления, для которых операция обновления должна выполняться в нескольких последовательных единицах обновления, пороговое значение;
- выполняют операцию обновления для автоматического обновления для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, превышает пороговое значение; или
- выполняют операцию обновления для обновления только на основе строба адреса строки (RAS) для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, не превышает пороговое значение.
18. Способ по п. 17, дополнительно содержащий этап, на котором:
- отправляют команду тихого обновления в DRAM для указания DRAM пропустить единицу обновления, хранящую недопустимые данные в процессе обновления нескольких последовательных единиц обновления.
19. Способ по п. 14, в котором DRAM содержит по меньшей мере две единицы обновления, причем каждая из упомянутых по меньшей мере двух единиц обновления имеет вычисленный цикл обновления.
20. Способ по п. 19, в котором каждый из вычисленных циклов обновления единицы обновления получается согласно информации о времени хранения данных, информации о допустимости данных и информации о критичности данных каждой единицы обновления.
21. DRAM-контроллер, при этом контроллер содержит:
- модуль формирования команд обновления, выполненный с возможностью формировать команду обновления для единицы обновления в DRAM, при этом команда обновления содержит физический адрес единицы обновления, и единица обновления представляет собой пространство для хранения, для которого однократное обновление выполняется в DRAM;
- модуль получения, выполненный с возможностью получать, из пространства данных обновления, информацию обновления единицы обновления согласно физическому адресу единицы обновления и посредством использования команды считывания из DRAM, при этом информация обновления единицы обновления содержит цикл обновления единицы обновления, а пространство данных обновления является предварительно установленным пространством для хранения в DRAM; и
- модуль выполнения, выполненный с возможностью выполнять операцию обновления для единицы обновления согласно информации обновления.
22. Контроллер по п. 21, в котором модуль получения содержит:
- блок запросов, выполненный с возможностью определять информацию обновления единицы обновления согласно физическому адресу единицы обновления и соответствию, которое сохраняется в пространстве данных обновления и которое задается между физическим адресом единицы обновления и информацией обновления единицы обновления; и
- блок считывания, выполненный с возможностью считывать, из пространства данных обновления, информацию обновления единицы обновления посредством использования команды считывания из DRAM.
23. Контроллер по п. 21, в котором модуль получения дополнительно выполнен с возможностью получать, из пространства данных обновления, информацию обновления нескольких последовательных единиц обновления, которые находятся после единицы обновления.
24. Контроллер по п. 23, в котором модуль выполнения содержит:
- блок приема, выполненный с возможностью принимать команду обновления для нескольких последовательных единиц обновления, которые находятся после единицы обновления;
- блок определения, выполненный с возможностью определять, превышает или нет количество единиц обновления, для которых операция обновления должна выполняться в нескольких последовательных единицах обновления, пороговое значение; и
- блок выполнения, выполненный с возможностью:
- выполнять операцию обновления для автоматического обновления для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, превышает пороговое значение; или
- выполнять операцию обновления для обновления только на основе строба адреса строки (RAS) для нескольких последовательных единиц обновления, когда определяется то, что количество единиц обновления, для которых должна выполняться операция обновления, не превышает пороговое значение.
25. Контроллер по п. 24, в котором модуль выполнения дополнительно выполнен с возможностью:
- отправлять команду тихого обновления в DRAM для указания DRAM пропустить единицу обновления, хранящую недопустимые данные в процессе обновления нескольких последовательных единиц обновления.
26. Контроллер по п. 21, в котором DRAM содержит по меньшей мере две единицы обновления, причем каждая из упомянутых по меньшей мере двух единиц обновления имеет вычисленный цикл обновления.
27. Контроллер по п. 26, в котором каждый из вычисленных циклов обновления единицы обновления получается согласно информации о времени хранения данных, информации о допустимости данных и информации о критичности данных каждой единицы обновления.
28. Система для обновления динамического оперативного запоминающего устройства (DRAM), при этом система содержит динамическое оперативное запоминающее устройство (DRAM), содержащее по меньшей мере одну единицу обновления, и DRAM-контроллер по любому из пп. 21-27.