Интерфейс энергонезависимой памяти

Иллюстрации

Показать все

Группа изобретений относится к компьютерной технике и может быть использована в интерфейсах энергонезависимой памяти. Техническим результатом является обеспечение передачи информации по шине. Способ содержит этапы, на которых: передают показатель того, что передают запрос, показатель передают в энергонезависимую память через шину между интерфейсом памяти и энергонезависимой памятью; передают запрос в энергонезависимую память через шину, запрос, обозначающий адрес для идентификации местоположения в энергонезависимой памяти, содержащий данные, предназначенные для считывания; получают показатель через шину того, что энергонезависимая память готова к передаче информации; передают показатель через шину о том, что доступ к шине был предоставлен в энергонезависимую память; и получают информацию из энергонезависимой памяти через шину, информацию, включающую в себя данные. 3 н. и 20 з.п. ф-лы, 13 ил., 1 табл.

Реферат

Уровень техники

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

Краткое описание чертежей

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

На чертежах:

на фиг. 1 показана блок-схема примера вычислительного устройства;

на фиг. 2 показаны примеры фаз, которые могут быть ассоциированы с транзакциями;

на фиг. 3 показан пример временной диаграммы, которая может быть ассоциирована с транзакцией считывания;

на фиг. 4 показан пример временной диаграммы, которая может быть ассоциирована с транзакцией записи;

на фиг. 5А-В иллюстрируется блок-схема последовательности операций, в качестве примера, которые могут быть выполнены хост устройством во время транзакции считывания;

на фиг. 6А-В иллюстрируется блок-схема последовательности операций, в качестве примера, которые могут быть выполнены клиентом во время транзакции считывания;

на фиг. 7А-В иллюстрируется блок-схема последовательности операций примера, которые могут быть выполнены хост устройством во время транзакции записи;

на фиг. 8А-В иллюстрируется блок-схема последовательности операций, в качестве примера, которые могут быть выполнены клиентом во время транзакции чтения; и

на фиг. 9 показана блок-схема другого примера вычислительного устройства.

Подробное описание изобретения

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

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

Например, компьютерное устройство может содержать центральное процессорное устройство (CPU) и накопитель. Накопитель может включать в себя, например, энергозависимую память и энергонезависимую память (NVM). Энергозависимая память может обеспечивать сохранение информации, которая может быть потеряна после отключения питания компьютерного устройства. NVM, с другой стороны, может обеспечивать сохранение информации, которая сохраняется после отключения питания компьютерного устройства. CPU может получать сохраненную информацию из NVM после восстановления питания компьютерного устройства.

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

Ячейка памяти может быть ассоциирована с адресом. Адрес может использоваться для идентификации ячейки памяти. Информация может быть записана в и/или считана из ячейки памяти, используя адрес. Например, ячейка памяти в запоминающем устройстве может быть ассоциирована с определенным адресом (например, 0x100). Транзакция записи может устанавливать адрес и данные, которые должны быть записаны в ячейку памяти. Адрес может использоваться для идентификации ячейки памяти, и данные могут быть записаны в ячейку памяти после ее идентификации.

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

Например, компьютерное устройство может включать в себя CPU и NVM. CPU может быть соединено с NVM через шину. Шина может использоваться для передачи команд и/или данных между CPU и NVM. Шина может представлять собой, например, шину из "точки-в-точку", которая может включать в себя один или больше проводов, которые могут использоваться для передачи команды и/или данных.

Накопитель может включать в себя один или больше модулей накопителя. Модули накопителя могут содержать одно или больше запоминающих устройств, содержащихся в накопителе. Примеры модулей накопителя могут включать в себя, но не ограничены этим, модули памяти с двухсторонним расположением микросхем (DIMM), защищенные цифровые карты (SD), мультимедийные карты (ММС), карты CompactFlash (CF), карты "memory stick" и модули памяти с однорядным расположением выводов (SIMM).

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

На фиг. 1 иллюстрируется блок-схема примера компьютерного устройства 100, которое может воплощать различные технологии, описанные здесь. На фиг. 1 компьютерное устройство 100 может включать в себя различные компоненты такие как, например, энергозависимая память 120, логика 130 обработки, хост контроллер (НС) 140 и энергонезависимая память 150.

Следует отметить, что на фиг. 1 иллюстрируется пример варианта осуществления компьютерного устройства 100. Другие варианты осуществления компьютерного устройства 100 могут включать в себя больше компонентов или меньше компонентов, чем количество компонентов, представленных на фиг. 1. Кроме того, компоненты могут быть расположены по-другому, чем представлено на фиг. 1. Например, вариант осуществления компьютерного устройства 100 может включать в себя интерфейс передачи данных, который может использоваться для обмена данными с сетью, такой как Интернет. Кроме того, следует отметить, что функции, выполняемые различными компонентами, содержащимися в других вариантах осуществления компьютерного устройства 100, могут быть распределены среди компонентов по-другому, чем описано здесь.

Энергозависимая память 120 может обеспечивать накопитель для компьютерного устройства 100. Накопитель может использоваться для сохранения информации, такой как, например, данные и/или исполняемые компьютером инструкции. Накопитель может представлять собой накопитель, работающий с высокой скоростью, который может воплощать, например, память кэш для компьютерного устройства 100 (например, кэш уровня 2 (L2)). Энергозависимая память 120 может включать в себя одно или больше устройств, таких как, например, запоминающего устройства, которые могут использоваться для сохранения информации.

Энергонезависимая память 150 также может обеспечивать сохранение для компьютерного устройства 100. Накопитель может, например, быть более медленным и может иметь более высокую емкость сохранения, чем энергозависимая память 120. Накопитель может использоваться для сохранения информации. Информация может быть сохранена в одном или больше устройствах, содержащихся в энергонезависимой памяти 150. Устройства могут включать в себя, например, одно или больше запоминающих устройств.

Устройство энергозависимой памяти может представлять собой запоминающее устройство, которое может терять информацию, сохраненную в запоминающем устройстве при отключении питания запоминающего устройства. Энергонезависимое устройство может представлять собой запоминающее устройство, которое может содержать информацию, сохраненную в запоминающем устройстве при отключении питания запоминающего устройства. Примеры запоминающих устройств включают в себя устройство динамической RAM (DRAM), запоминающее устройство флэш, устройство статической RAM (SRAM), устройство RAM с нулевым конденсатором (ZRAM), устройство RAM с двойным транзистором (TTRAM), постоянное запоминающее устройство (ROM), устройство RAM на ферроэлектрическом транзисторе (FeTRAM), устройство магниторезистивной RAM (MRAM), трехмерное запоминающее устройство (3D) с точкой пересечения (например, запоминающее устройство с изменением фазы (РСМ)), устройство на основе нано-проводников, устройство резистивной RAM (RRAM), устройство последовательного электрически стираемого программируемого ROM (SEEPROM), устройство MRAM с переносом спинового момента (STT), и последовательное устройство флэш.

Логика 130 обработки может включать в себя логику для интерпретации исполнения и/или другой обработки информации. Информация может быть сохранена, например, в энергозависимой памяти 120 и/или в энергонезависимой памяти 150. Информация может включать в себя, например, данные и/или выполняемые компьютером инструкции.

Логика 130 обработки может включать в себя множество гетерогенных аппаратных средств. Например, аппаратные средства могут включать в себя некоторую комбинацию одного или больше процессоров, микропроцессоров, программируемых вентильных матриц (FPGA), процессоров набора инструкций, специфичных для приложения (ASEP), специализированные интегральные схемы (ASIC), устройства сложной программируемой логики (CPLD), графические модули обработки (GPU) и/или другие типы логики обработки, которые могут, например, интерпретировать, выполнять, манипулировать и/или по-другому обрабатывать информацию. Логика 130 обработки может содержать одно ядро или множество ядер.

Шины 160, 170, 180 и 190 могут представлять собой шины "из точки-в-точку". Шины 160, 170, 180 и 190 могут включать в себя электрические проводники (например, провода), которые могут использоваться для передачи различных сигналов между компонентами. Сигналы могут включать в себя, например, сигналы управления и/или данные. Например, шина 190 может представлять собой шину "из точки-в-точку", которая может включать в себя множество проводов, которые могут использоваться для передачи сигналов между интерфейсом 146 энергонезависимой памяти (NMI) и энергонезависимой памятью 150. Сигналы могут включать в себя различные сигналы управления и данные. Сигналы могут переноситься по разным проводам. Например, первый провод может использоваться для переноса запроса и информации данных между NMI 146 и энергонезависимой памятью. Второй провод может использоваться для переноса информации строба, которая может использоваться для получения (например, считывания, приема) запроса и информации данных. Третий провод может использоваться для обозначения, было ли предоставлено право владения для энергонезависимой памяти 150 по первому и второму проводам, для передачи информации из энергонезависимой памяти 150 в NMI 146, и так далее.

НС 140 может включать в себя логику, которая может обеспечивать передачу информации между различными компонентами в компьютерном устройстве 100. Компоненты могут включать в себя, например, энергозависимую память 120, логику 130 обработки и/или энергонезависимую память 150. Информация может быть передана между компонентами по шинам 160, 170, 180 и 190, которые могут соединять компоненты с НС 140.

НС 140 может включать в себя логику, которая может использоваться, как интерфейсы между различными компонентами в компьютерном устройстве 100. Интерфейсы могут обеспечивать возможность обмена информацией (например, передачи) между компонентами. Интерфейсы могут включать в себя, например, интерфейс 142 энергозависимой памяти (VMI) и NMI 146. VMI 142 может использоваться для формирования интерфейса для логики 130 обработки с энергозависимой памятью 120. NMI 146 может использоваться для создания интерфейса логики 130 обработки с энергонезависимой памятью 150.

VMI 142 может содержать логику, которая может предоставлять информацию, предназначенную для обмена (например, передачи) между энергозависимой памятью 120 и логикой 130 обработки через шины 160 и 170. В частности, VMI 142 может содержать логику, которая может обеспечивать возможность передачи информации между VMI 142 и энергозависимой памятью 120 через шину 160. Кроме того, VMI 142 может содержать логику, которая может обеспечивать возможность передачи информации между логикой 130 обработки и VMI 142 через шину 170. Информация может включать в себя, например, команды и/или данные. Примеры логики, которые могут быть включены в VMI 142, могут включать в себя конечные автоматы, приемопередатчики шины, регистры и/или другую логику.

NMI 146 может содержать логику, которая может предоставлять информацию, предназначенную для передачи между энергонезависимой памятью 150 и логикой 130 обработки через шины 180 и 190. В частности, NMI 146 может содержать логику, которая может использоваться для передачи информации между NMI 146 и логикой 130 обработки через шину 180. Кроме того, NMI 146 может содержать логику, которая может использоваться для передачи информации между энергонезависимой памятью 150 и NMI 146 через шину 190. Логика, которая может содержаться в NMI 146, может быть затем включена в NMI 146, путем включения в нее, например, конечных автоматов, приемопередатчиков шины, регистров и/или другой логики.

Информация может включать в себя, например, запросы и/или данные. Запросы могут включать в себя информацию команды (например, команду считывания, команду записи) и/или информацию адреса (например, адрес, по которому требуется выполнить считывание, адрес, по которому требуется выполнить запись). Информация может быть передана, используя транзакции.

Транзакция может использоваться для передачи информации между двумя объектами через шину. Например, информация может быть передана между NMI 146 и энергонезависимой памятью 150 через шину 190, используя транзакции. Информация, передаваемая используя транзакции, может включать в себя, например, запрос, данные и/или информацию отклика.

Транзакция может представлять собой транзакцию определенного типа. Например, транзакция может представлять собой транзакцию записи или транзакцию считывания. Транзакция записи может использоваться, например, для записи информации в накопитель, такой энергонезависимая память 150. Транзакция считывания может использоваться, например, для считывания информации из накопителя, такого как энергонезависимая память 150.

Транзакция может включать в себя множество фаз. Например, транзакция может включать в себя фазу запроса, фазу данных и/или фазу отклика. Фаза может сопровождаться определенными типами информации, которая может быть передана между объектами во время фазы. Например, во время фазы запроса, команда и/или информация адреса могут быть переданы между объектами.

На фиг. 2 иллюстрируются примерные фазы, которые могут быть ассоциированы с транзакцией считывания и транзакцией записи, которые могут быть переданы между объектами, такими как NMI 146 и энергонезависимая память 150, через шину, такую как шина 190. На фиг. 2 номер 220 ссылочной позиции включает в себя (1) временную шкалу и (2) информацию, которая может быть передана во время транзакции считывания. Номер 260 ссылочной позиции включает в себя (1) временную шкалу и (2) информацию, которая может быть передана по фазам, которые могут быть ассоциированы с транзакцией записи.

Транзакция считывания может включать в себя фазу запроса, фазу данных и фазу отклика. Фаза запроса может возникать в момент времени 230а. Фаза запроса может включать в себя передачу запроса 240а между объектами через шину. Запрос 240а может включать в себя, например, преамбулу, команду и/или адрес. Команда может идентифицировать операцию (в данном примере операцию считывания), которая должна быть выполнена. Адрес может идентифицировать местоположение, через которое требуется выполнить считывание.

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

Например, предположим, что объекты включают в себя NMI 146 и энергонезависимую память 150, и шина включает в себя шину 190. Во время фазы запроса запрос 240а может быть передан из NMI 146 в энергонезависимую память 150 через шину 190. Запрос 240а может включать в себя преамбулу, команду и адрес. Преамбула может включать в себя заданную последовательность битов, которая может использоваться энергонезависимой памятью 150 для подготовки к приему команды и адреса из шины 190. Команда может идентифицировать операцию считывания, которая должна быть выполнена энергонезависимой памятью 150. Адрес может идентифицировать местоположение в энергонезависимой памяти 150, из которого требуется выполнить считывание.

Фаза данных может начинаться после фазы запроса. Фаза данных может включать в себя время 230b, в которое объект может обрабатывать запрос. Например, во время фазы данных энергонезависимая память 150 может обрабатывать описанный выше запрос. Здесь обработка может включать в себя, например, считывание данных 240b из энергонезависимой памяти 150 в местоположении, идентифицированном по адресу.

Фаза данных может также включать в себя время 230с, когда данные 240b передают между объектами. Например, после считывания данных 240b, данные 240b могут быть переданы через шину 190 из энергонезависимой памяти 150 в NMI 146.

В момент времени 230d запрос может войти в фазу отклика. Фаза отклика может включать в себя передачу отклика 240с на запрос. Отклик 240с может обеспечивать показатель того, что запрос был обработан. Перед откликом 240с может следовать преамбула, которая может использоваться для подготовки к получению отклика 240с. Преамбула может использоваться для подготовки к получению отклика 240с. Подготовка может включать в себя, например, использование преамбулы, для тренировки, для получения отклика 240с из шины. Преамбула может включать в себя заданную последовательность битов, которая может использоваться для выполнения тренировки.

Например, во время фазы отклика отклик 240с и преамбула могут быть переданы из энергонезависимой памяти 150 через шину 190 в NMI 146. Отклик 240с может обеспечить показатель для NMI 146, что запрос был обработан энергонезависимой памятью 150. Отклик 240с может включать в себя, например, статус, который может быть ассоциирован с запросом считывания. Статус может обозначать, была ли выполнена успешно операция считывания в энергонезависимой памяти 150. Перед откликом 240с может следовать преамбула. NMI 146 может использовать преамбулу для подготовки к приему отклика 240с из шины 190. Подготовка может включать в себя тренировку, такую, как описано выше.

Далее, со ссылкой на номер 260 ссылочной позиции, транзакция записи также может включать в себя фазу запроса, фазу данных и фазу отклика. В момент времени 270а, фаза запроса может включать в себя запрос 280а. Запрос 280а может содержать, например, преамбулу, команду и/или адрес. Преамбула может использоваться для приема команды и/или адреса. Команда может обозначать, что операция записи должна быть выполнена, и адрес может идентифицировать местоположение, где данные должны быть записаны.

Например, предположим, что объекты включают в себя NMI 146 и энергонезависимую память 150, и шина включает в себя шину 190. Во время фазы запроса запрос 280а может быть передан из NMI 146 в энергонезависимую память 150 через шину 190. Запрос 280а может включать в себя преамбулу, команду и адрес. Преамбула может использоваться энергонезависимой памятью 150 для подготовки к приему команды и адреса. Подготовка может включать в себя тренировку, такую, как описано выше. Команда может идентифицировать операцию записи, которая должна быть выполнена энергонезависимой памятью 150. Адрес может идентифицировать местоположение в энергонезависимой памяти 150, в котором требуется выполнить запись.

Фаза данных может возникнуть после фазы запроса. Во время фазы данных данные 280b, предназначенные для записи, могут быть переданы между объектами, как обозначено в момент времени 270b. Кроме того, во время фазы данных, в момент времени 270с, данные могут быть записаны в идентифицированном местоположении, например, в запросе 280а.

Например, во время данных фазы данные 280b могут быть переданы из NMI 146 в энергонезависимую память 150 через шину 190. После приема данных 280b энергонезависимая память 150 может записывать данные в определенное местоположение в энергонезависимой памяти 150, которое может быть идентифицировано, используя адрес, содержащийся в запросе 280а.

Фаза отклика может следовать после фазы данных, как обозначено в момент времени 270d. Во время фазы отклика отклик 280с может быть передан между объектами. Отклик 280с может включать в себя, например, статус, ассоциированный с запросом записи. Статус может обозначать, например, был ли успешно выполнен запрос на запись.

Например, энергонезависимая память 150 может генерировать отклик 280с, который может содержать статус, который может обозначать, была ли успешно выполнена операция записи. Во время фазы отклика энергонезависимая память 150 может передавать отклик 280с через шину 190 в NMI 146.

Различные сигналы могут быть переданы между NMI 146 и энергонезависимой памятью 150 через шину 190. Шина 190 может представлять собой подключенную шину (например, шину "из-точки-в-точку"), и каждый из сигналов может быть передан, например, по отдельному соединению (например, по электропроводным проводам, оптическим соединениям), которые могут быть включены в шину 190. Сигналы могут включать в себя, например, сигналы, перечисленные в следующей таблице:

Следует отметить, что представленная выше таблица представляет примеры сигналов, которые могут быть переданы между NMI 146 и энергонезависимой памятью 150. Другие сигналы также могут быть переданы между NMI 146 и энергонезависимой памятью 150, например, через шину 190. Эти сигналы могут включать в себя, например, сигнал, который может использоваться для сброса операции NMI 146 и/или энергонезависимой памяти 150, сигнал, который может обеспечивать ссылку на калибровку импеданса и/или сигналы битов проверки, которые могут обеспечить детектирование и/или коррекцию ошибки передаваемой информации, например, через шину 190.

Тем не менее, другие сигналы могут включать в себя, например, сигналы, которые могут использоваться для администрирования питанием. Например, сигнал, который может быть включен, который может использоваться NMI 146 для направления энергонезависимой памяти 150 для перехода в состояние низкого потребления энергии. Другой сигнал может быть включен, который может использоваться, например, NMI 146, для направления энергонезависимой памяти 150, для выхода из состояния низкого потребления питания.

Следует отметить, что провода, по которым передают сигналы по шине 190, могут быть перенастроены так, чтобы они передавали определенные сигналы на основе, например, состояния энергонезависимой памяти 150 и/или NMI 146. Например, провода, по которым передают ACT и RRDY, могут быть перенастроены для использования при администрировании состоянием питания, ассоциированным с энергонезависимой памятью 150, как описано выше.

Сигналы, передаваемые между энергонезависимой памятью 150 и NMI 146, могут быть подтверждены, и их подтверждение может быть удалено в различное время для обеспечения различных показателей во время транзакции. На фиг. 3 иллюстрируется временная диаграмма 300 примерной операции с сигналами во время транзакции считывания между, например, NMI 146 и энергонезависимой памятью 150. Сигналы могут быть переданы между энергонезависимой памятью 150 и NMI 146 через шину 190.

Как показано на фиг. 3, время 330а может представлять состояние сигналов перед транзакцией считывания. В частности, в момент времени 330а, для описанных выше сигналов ACT, RGRANT, RQRDY и RRDY может быть убрано активное состояние. Кроме того, описанные выше DQ и DQS могут находиться в состоянии высокого импеданса, как обозначено пунктирными линиями на схеме 300.

В момент времени 330b, NMI 146 может подтверждать сигнал ACT для обозначения для энергонезависимой памяти 150, что NMI 146 содержит запрос, предназначенный для передачи. Подтверждение ACT может обозначать, что произошел вход в фазу запроса транзакции считывания. Энергонезависимая память 150 может детектировать, что произошло подтверждение ACT, и может подготовиться к приему преамбулы, ассоциированной с запросом в DQS. В момент времени 330 с NMI 146 может начать передачу преамбулы в DQS. Энергонезависимая память 150 может принимать преамбулу и может подготовиться к приему запроса из NMI 146. Подготовка может включать в себя тренировку, такую, как описано выше.

В моменты времени 330d и 330e NMI 146 может передавать запрос в DQ. Кроме того, NMI 146 может предоставлять сигнал стробирования по DQS, который энергонезависимая память 150 может использовать для получения запроса из DQ. Энергонезависимая память 150 может получать сигнал стробирования и использовать сигнал стробирования для получения запроса из DQ в моменты времени 330d и 330e.

В момент времени 330e NMI 146 может устанавливать неактивное состояние для RQRDY. Энергонезависимая память 150 может детектировать, что NMI 146 установило неактивное состояние для RQRDY и прервало получение запроса из DQ. Кроме того, в моменты времени 330f и 330g NMI 146 может передавать завершающую часть через DQS в энергонезависимую память 150. Энергонезависимая память 150 может получать завершающую часть и может определять, что произошел выход из запрашиваемой фазы.

В момент времени 330h, энергонезависимая память 150 может обрабатывать запрос. Здесь обработка может включать в себя определение, что запрос представляет собой запрос на считывание, и может выполнять считывание данных из энергонезависимой памяти 150 в местоположении, идентифицированном в запросе.

После считывания данных, энергонезависимая память 150 может подтверждать RRDY, как обозначено в момент времени 330i, для обозначения для NMI 146, что энергонезависимая память 150 готова передавать информацию в NMI 146. Информация может включать в себя, например, данные, которые были считаны из энергонезависимой памяти 150. Здесь подтверждение RRDY может обозначать вход в фазу данных транзакции для считывания.

NMI 146 может определять, что RRDY был подтвержден, и может подтверждать RGRANT для передачи показателя в энергонезависимую память 150 о том, что было предоставлено право собственности DQ, как обозначено в момент времени 330j.

После детектирования того, что RGRANT был подтвержден, и определения на основе подтвержденного RGRANT, что для энергонезависимой памяти 150 было предоставлено право собственности DQ, энергонезависимая память 150 может начать передачу преамбулы по DQS, как обозначено в момент времени 330k. NMI 146 может получать преамбулу и может подготавливаться к приему данных по DQ. Подготовка может включать в себя тренировку так, как описано выше. В моменты времени 330m и 330n энергонезависимая память 150 может передавать данные и ассоциированную информацию строба в DQ и DQS, соответственно. NMI 146 может использовать информацию строба для получения данных из DQ.

В момент времени 330ο энергонезависимая память 150 может убрать активное состояние RRDY для обозначения, что произошел выход из фазы данных, и что произошел вход в фазу отклика транзакции считывания. После того, как будет убрано активное состояние RRDY, энергонезависимая память 150 может передавать информацию отклика по DQ. Информация отклика может включать в себя, например, статус, ассоциированный с запросом. Статус может обозначать, например, был ли запрос успешно обработан энергонезависимой памятью 150. NMI 146 может получать информацию отклика из DQ и обрабатывать ее. Здесь обработка может включать в себя, например, определение был ли запрос успешно обработан энергонезависимой памятью 150.

В моменты времени 330ο и 330р энергонезависимая память 150 может передавать завершающую часть по DQS. NMI 146 может получать завершающую часть и может определять, что произошел выход из фазы отклика. После определения, что произошел выход из фазы отклика, NMI 146 может убрать активное состояние для сигнала RGRANT, как обозначено в момент времени 330q.

На фиг. 4 иллюстрируется временная диаграмма 400 примерной операции сигналов во время транзакции записи между, например, NMI 146 и энергонезависимой памятью 150. Сигналы могут быть переданы между NMI 146 и энергонезависимой памятью 150 через шину 190.

Как показано на фиг. 4, время 430а может представлять состояние сигналов перед транзакцией записи. В частности, в момент времени 430а, для описанных выше сигналов ACT, RGRANT, RQRDY и RRDY может быть убрано активное состояние. Кроме того, описанные выше DQ и DQS могут находиться в состоянии высокого импеданса, как обозначено пунктирными линиями на диаграмме 400.

В момент времени 430b, NMI 146 может подтверждать сигнал ACT для обозначения, для энергонезависимой памяти 150, что в NMI 146 содержится запрос, предназначенный для передачи. Подтверждение ACT может обозначать, что произошел вход в фазу запроса транзакции записи. Энергонезависимая память 150 может детектировать, что ACT подтверждена, и может подготовиться к получению преамбулы, ассоциированной с запросом по DQS. В момент времени 430с NMI 146 может начать передачу преамбулы по DQS. Энергонезависимая память 150 может получать преамбулу и может подготавливаться к получению запроса из NMI 146. Подготовка может включать в себя тренировку, используя преамбулу, такую, как описано выше.

В моменты времени 430d и 430e NMI 146 может передавать запрос в DQ. Запрос может включать в себя команду и адрес. Команда может идентифицировать запрос, как запрос на запись, и адрес может идентифицировать местоположение в энергонезависимой памяти 150, в которое требуется записать данные. NMI 146 может обеспечить сигнал строба по DQS, который может использовать энергонезависимая память 150 для получения запроса из DQ. Энергонезависимая память 150 может принимать сигнал строба и использовать сигнал строба для получения запроса из DQ в момент времени 430d и 430е.

В момент времени 430f NMI 146 может убирать активное состояние RQRDY. Энергонезависимая память 150 может детектировать, что NMI 146 убрал активное состояние RQRDY и прервал получение запроса из DQ. Следует отметить, что RQRDY может быть подтвержден для времени, когда запрос передают по DQ с помощью NMI 146, и его активное состояние может быть убрано в то время, когда DQ не содержит информацию запроса. Энергонезависимая память 150 может детектировать, что DQ больше не подтвержден, и может определять, что произошел выход из фазы запроса транзакции записи, и транзакция вошла в фазу данных.

Также, в момент времени 430f, NMI 146 может передавать данные по DQ. Энергонезависимая память 150 может получать данные из DQ, используя строб, который может быть предоставлен по DQS из NMI 146. Данные могут включать в себя данные, которые должны быть записаны в энергонезависимую память 150. В момент времени 430g NMI 146 может закончить передачу данных по DQ.

В момент времени 430g NMI 146 может убрать активное состояние ACT, что может обозначать, что NMI 146 больше не обладает правом собственности в отношении DQ. После того, как будет убрано активное состояние ACT NMI 146 может передать завершающую часть в DQS, как обозначено в моменты времени 430g и 430h. Энергонезависимая память 150 может получать завершающую часть и может определять, что произошел выход из фазы данных транзакции записи.

В момент времени 430j, энергонезависимая память 150 может записывать данные в местоположение, в энергонезависимой памяти 150, которое может быть идентифицировано по адресу, установленному в запросе. После этого, в момент времени 430 k, энергонезависимая память 150 может подтвердить RRDY для обозначения для NMI 146, что энергонезависимая память 150 готова передать ответ. В этот момент транзакция записи может войти в фазу отклика.

NMI 146 может детектировать, что RRDY был подтвержден, и в момент времени 430m может предоставлять право собственности в отношении DQ для энергонезависимой памяти 150 путем подтверждения RGRANT. Энергонезависимая память 150 может детектировать, что RGRANT подтвержден, и может определять, что для энергонезависимой памяти 150 было предоставлено право собственности в отношении DQ. В моменты времени 430n и 430о энергонезависимая память 150 может передавать преамбулу по DQS. NMI 146 может получать преамбулу и может подготовиться к получению отклика по DQ. Подготовка может включать в себя тренировку, такую, как описано выше.

В момент времени 430 энергонезависимая память 150 может передавать отклик по DQ. Кроме того, в момент времени 430q, энергонезависимая память 150 может передавать информацию заполнения по DQ (обозначена на схеме 400, как "Р"). Информация заполнения может использоваться для "заполнения" отклика до определенной длины (например, до определенного количества байтов).

NMI 146 может использовать стробы, предоставляемые по DQS энергонезависимой памятью 150, для получения отклика и информации заполнения по DQ. NMI 146 может обрабатывать отклик. Здесь обработка может включать в себя, например, определяют, обозначено ли в отклике, что запрос был выполнен успешно.

В моменты времени 430q и 430r, энергонезависимая память 150 может передавать завершающую часть по DQS. NMI 146 может принимать завершающую часть и может определять, что произошел выход из фазы отклика транзакции записи. После этого, в момент времени 430s, NMI 146 может убрать активное состояние RGRANT для обозначения того, что энергонезависимая память 150 больше не обладает правами собственности в отношении DQ.

В компьютерном устройстве 100 (фиг. 1) NMI 146 можно рассматривать как хост устройство для энергонезависимой памяти 150, и энергонезависимую память 150 можно рассматривать, как клиент NMI 146. Такая взаимосвязь может быть установлена, например, на основе, какой объект может управлять правом собственности в отношении DQ. Как описано выше, NMI 146 может получить право собственности в отношении DQ, без первоначального запроса права собственности. Энергонезависимая память 150, с другой стороны, подтверждает RRDY для запроса права собственности в отношении DQ и ожидает пока NMI 146 предоставит право собственности перед тем, как энергонезависимая память 150 получит право собственности в отношении DQ. Можно сказать, что NMI 146 управляет, какой объект обладает правом собственности в отношении DQ. Таким образом, на основе такого поведения можно сказать, что NMI 146 представляет собой хост устройство для энергонезависимой памяти 150, которое представляет собой клиент NMI 146.

Обмен данными между NMI 146 и энергонезависимой памятью 150 через шину 190 может следовать протоколу. Протокол может управляться одним или больше правилами. Например, протокол может управляться одним или больше из следующих правил:

1. Подтверждение RRDY энергонезависимой памятью 150 может зависеть от того, была ли выполнена выборка RGRANT энергонезависимой памятью 150, как находящегося в неактивном состоянии;

2. Подтверждение RGRANT NMI 146 может зависеть от выборки RRDY NMI 146, как подтвержденной вместе с устранением активного состояния ACT и RQRDY. Минимальная длительность подтверждения может составлять заданное количество циклов тактовой частоты для тактовой частоты, ассоциированной с NMI 146 (тактовая частота NMI). Например, NMI 146 может подтверждать RGRANT в течение минимум двух циклов тактовой частоты для тактовой частоты NMI;

3. Энергонезависимая память 150 может начать передачу преамбулы по DQS после выборки подтверждения RGRANT для заданного количества циклов тактовой частоты для тактовой частоты, ассоциированной с энергонезависимой памятью 150 (тактовая частота энергонезависимой памяти). Например, энергонезависимая память 150 может начать передачу преамбулы по DQS после выборки подтверждения RGRANT для одног