Способ загрузки хостового устройства из устройства mmc/sd, хостовое устройство, загружаемое из устройства mmc/sd, и устройство mmc/sd, из которого может быть загружено хостовое устройство

Иллюстрации

Показать все

Изобретения относятся к системам и способам для загрузки хостового устройства из периферийного устройства через интерфейс, например интерфейс MMC/SD, имеющий выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации с выводом синхронизации и линию передачи команд с выводом команд. Техническим результатом является расширение возможности карт ММС и SD без изменения множества характеристик карт памяти, обеспечение полной совместимости с предыдущими версиями. Один из вариантов способа загрузки хостового устройства из периферийного устройства через интерфейс MMC/SD, имеющий выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации с выводом синхронизации и линию передачи команд с выводом команд, включает подачу питания на указанные выводы питания, установку вывода команд указанного интерфейса MMC/SD в течение включения питания в низкое состояние и контроль шины передачи данных на появление стартового бита передачи данных. 14 н. и 38 з.п. ф-лы, 6 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ

Настоящее изобретение относится к запоминающему устройству и, в частности, к интерфейсам карт памяти. Более конкретно настоящее изобретение относится к картам мультимедиа (ММС, Multi Media Card) или к цифровым картам с защитой (SD, Secure Digital). Существует тенденция встраивания массовой памяти с использованием ранее известных электрических интерфейсов карт памяти. Таким образом, желательно иметь возможность использования карты памяти аналогично массовой памяти. До настоящего времени разработка и усовершенствование таких интерфейсов концентрировались на съемных картах памяти. Имеется несколько нерешенных проблем, которые нужно решить, чтобы интерфейс лучше подходил также и для встроенной памяти.

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

УРОВЕНЬ ТЕХНИКИ

С кратким описанием технических требований к ММС можно ознакомиться на Интернет-сайте "http:/www.mmca.ore/compliance/buy_spec/ MMCA_Svstem_SummaryV41.pdf".

Известны определения, относящиеся к загрузке, для существующих встраиваемых компонентов массовой памяти, имеющих различный электрический интерфейс. Этими известными компонентами являются, например, массовая память NAND, OneNAND и MDOC. Общим для них всех является то, что в них используется некоторое состояние сигнала (например, отдельный вывод зарезервирован для загрузки) в течение определенной стадии включения питания для указания компоненту памяти, что тот должен доставить первый сектор (типично 512 байт) данных в буферы ввода/вывода (IO). Лист технических данных М-систем DiskOnChip (DOC), на который ссылаются как на отражающий современный уровень техники, может быть получен из Интернета по адресу

http:/www.m-systems.com/NR/rdonlyres/85A96312-0130-47AD-A22C-CB533E28EE7A/0/DOC_G3_512Mb_1Gb_Rev20.pdf.

Имеются и другие известные определения, относящиеся к загрузке, для других существующих встраиваемых компонентов массовой памяти, которые имеют другой электрический интерфейс. Этими видами компонентов являются, например, массовая память NAND (см.:

http://www.samsung.com/Products/Semiconductor/NANDFlash/index.htm), OneNAND (см.: http:/ www.samsung.com/Products/Semiconductor/OneNAND/index.htm) и MDOC (см.: http//www.m-systems.com/site/en-US/Products/DiskOnChip/DiskOnChip/). Общим для них всех является то, что в них используется некоторое состояние сигнала (например, отдельный вывод зарезервирован для загрузки) в течение определенной стадии включения питания для указания компоненту памяти, что тот должен доставить первый сектор (типично 512 байт) данных в буферы ввода/вывода.

Современные карты памяти ММС и SD позволяют обеспечить возможность выполнения, например, операций "горячей" замены (hot swap), но желательно также расширить возможности этих карт памяти и обеспечить более широкие функциональные возможности.

Для улучшения использования карт памяти было бы желательным позволить пользователю использовать карты памяти в качестве загрузочного носителя. Эта возможность обеспечила бы более широкое использование, например, карт ММС и SD не только в самозагружающихся устройствах, например мобильных сотовых телефонов или камер, но также и в качестве загрузочного носителя данных, например, для портативного компьютера и карманного компьютера.

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

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

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

Поэтому задача, решаемая изобретением, включает расширение возможностей существующих карт ММС и SD без изменения множества характеристик карт памяти, и также обеспечение полной совместимости с предыдущими версиями.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Согласно одному из аспектов настоящего изобретения механизм загрузки встраивают в известный интерфейс карт памяти с последовательным протоколом для интерфейсов ММС для карт/устройств ММС и SD. Способ может быть основан на том же самом состоянии сигнала (как в известных технических решениях) или может использовать уже существующий последовательный протокол для интерфейса к картам памяти.

Согласно первому аспекту настоящего изобретения предложен способ загрузки хостового устройства из периферийного устройства через интерфейс MMC/SD. Интерфейс MMC/SD включает выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации (CLK) с выводом CLK и линию передачи команд (CMD) с выводом CMD. В соответствии с настоящим изобретением способ включает подачу питания (и заземления) на указанные выводы питания и установку вывода CMD указанного интерфейса MMC/SD (хостового устройства) в процессе включения питания в низкое состояние (сигнала), за которым следует контроль шины передачи данных на появление стартового бита передачи данных.

В стандартной процедуре включения питания для карты или устройства MMC/SD хостовое устройство устанавливает вывод CMD указанного интерфейса MMC/SD в процессе включения питания в "высокое" состояние (состояние с высоким уровнем напряжения). Таким образом, в этом варианте выполнения настоящего изобретения для индикации загрузки в течение включения питания используется существующий сигнал. Однако он является в интерфейсе "не ожидаемым" сигналом, используемым хостовым устройством, которое собирается выполнить процедуру загрузки. В настоящее время в технических требованиях на MMC/SD не определено, что случится, если линия CMD установлена в "низкое" состояние (состояние с низким уровнем напряжения) в процессе включения питания для карты или устройства SD/MMC.

Вывод CMD указанного интерфейса MMC/SD хостового устройства может быть установлен в течение этого периода в "низкое" сигнальное состояние; традиционно команду "CMD0" посылают по линии CMD. Команда "CMD0" - это команда процедуры включение питания GO_IDLE_STATE (CMD0). Следующая команда, используемая в процессе инициализации, - это команда CMD1, SEND_OP_COND (посылка рабочего состояния) для идентификации диапазона рабочих напряжений периферийного устройства, имеющего интерфейс MMD/SD. Другими командами процедуры инициализации являются команды CMD2 и CMD3, причем CMD2 (ALL_SEND_CID) запрашивает уникальный идентификационный номер карты (CID, card identification number), а команда CMD3 (SET_RELATIVE_ADDR) для ускорения обмена данными устанавливает относительный адрес карты (RCA, relative card number), который короче, чем CID.

Один из приведенных для примера вариантов выполнения настоящего изобретения дополнительно включает способ посылки синхросигнала из указанного хостового устройства на указанный вывод синхронизации указанного интерфейса MMC/SD, причем указанный вывод CMD указанного интерфейса MMC/SD устанавливают в низкое состояние до или в течение включения питания в течение передачи от 24 до 148, предпочтительно от 60 до 100, а наиболее предпочтительно по меньшей мере первых 74 инициализирующих тактов синхронизации.

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

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

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

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

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

Согласно еще одному аспекту настоящего изобретения предложен способ загрузки из периферийного устройства, имеющего интерфейс MMC/SD. В основном этот аспект относится к стороне периферийного устройства для процедуры загрузки. Периферийное устройство содержит интерфейс MMC/SD, который имеет выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации с выводом синхронизации и линию CMD с выводом CMD. В этом аспекте настоящего изобретения способ включает получение питания (и заземления) на указанных выводах питания указанного интерфейса MMC/SD, получение низкого (состояния) сигнала в выводе CMD до или в процессе включения питания и посылку первых данных заданной области памяти через шину передачи данных, начиная со стартового бита первого кадра данных.

В процессе включения питания периферийное устройство, имеющее интерфейс MMC/SD, обнаруживает "не ожидаемое" состояние сигнала в линии передачи команд и запускает передачу загрузочных данных из заранее заданного файла данных, заранее заданной области хранения/памяти или определенного "сектора загрузочных данных" модуля памяти/ядра периферийного устройства, имеющего интерфейс MMC/SD. Комбинация вышеописанного способа загрузки хостового устройства и способа загрузки из периферийного устройства, имеющего интерфейс MMC/SD, дополняют друг друга в процессе загрузки. Было предусмотрено составление пунктов формулы изобретения, относящихся к системе и включающих, например, все шаги обоих задействованных устройств (например, хостового и периферийного устройства, имеющего интерфейс MMC/SD).

В показанном для примера варианте выполнения настоящего изобретения указанные первые данные заранее заданной области памяти посылают через шину передачи данных, только если и когда периферийное устройство принимает низкое состояние сигнала на указанном выводе CMD указанного интерфейса MMC/SD в процессе включения питания в течение передачи от 24 до 148, предпочтительно от 60 до 100, а наиболее предпочтительно - по меньшей мере первых 74 инициализирующих такта синхронизации. Кроме того, для передачи загрузочных данных предусмотрен выбор заранее заданного файла вместо заранее заданной области памяти.

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

Если, например, обнаружено, что первые два вывода шины передачи данных (Dat0 и Dat1) установлены в "низкое" состояние (сигнала), для передачи загрузочных данных в хостовое устройство периферийное устройство, имеющее интерфейс MMC/SD, использует только эти два вывода (мультиплексирование по двум каналам).

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

Согласно еще одному аспекту настоящего изобретения предложен способ загрузки хостового устройства из периферийного устройства, имеющего интерфейс MMC/SD. Хостовое устройство содержит интерфейс MMC/SD, который имеет выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации с выводом синхронизации и линию CMD с выводом CMD. Способ включает посылку, в течение процедуры инициализации, аргумента запроса на загрузку из указанного хостового устройства через указанный интерфейс MMC/SD в указанное периферийное устройство, причем указанный запрос на загрузку включает команду, посылку сигнала синхронизации (CLK, clock) в линию синхронизации (CLK) и контроль вывода шины передачи данных на появление стартового бита передачи данных (а также самих данных).

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

Это может быть реализовано путем коррекции, например, аргумента для CMD0, который в настоящее время равен 0×00000000. Когда в качестве первого аргумента, посылаемого в интерфейс MMC/SD, используется значение 0×00000001, это может рассматриваться как запрос на загрузку.

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

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

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

При использовании алгоритма подсчета с двоичной кодировкой для выводов от Dat0 до Dat7 было бы достаточно использовать только 4 из них, например от Dat0 до Dat3, для определения выводов, задающих все возможные количества выводов, которые можно выделить для передачи загрузочной последовательности. При использовании алгоритма подсчета с двоичной кодировкой для определения 2N выводов данных, которые используются для их передачи, достаточно использовать только три вывода Dat для определения 8 (и до 64 еще не определенных выводов Dat), когда N определено, например, как (двоичное кодированное число - 1), тогда как другие соответствующие выводы Dat для передачи по однопроводной линии могли быть закодированы совокупно в "высокое" состояние, что, в свою очередь, не может интерпретироваться как ширина шины (поскольку стандартный сигнал в течение процедуры загрузки заключается в том, что все выводы данных установлены в "высокое" состояние). Можно также предусмотреть использование только одной из линий Dat/выводов, установленных в течение процедуры инициализации в "низкое" состояние, в качестве индикации запроса на загрузку (тогда как остальные могут кодировать или не кодировать ширину шины, частоту или другой параметр).

(Специалисту в данной области техники должно быть понятно, что в настоящем выполнении низкое состояние сигнала должно интерпретироваться как двоичный "0" или двоичная "1" согласно соответствующей схеме положительного или отрицательного счета, и поэтому нет необходимости явно утверждать, что не имеет значения, считается ли двоичное число в порядке от Dat0 к Dat3, закодировано только в четных либо нечетных выводах или от старших разрядов к младшим разрядам (от Dat7 до Dat4) и т.д.).

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

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

Согласно еще одному аспекту настоящего изобретения предложена вышеописанная процедура предоставления загрузочных данных для периферийного устройства, имеющего интерфейс MMC/SD. Способ предназначен для загрузки хостового устройства из периферийного устройства, содержащего интерфейс MMC/SD, который имеет выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации с выводом синхронизации и линию CMD с выводом CMD. Способ включает прием, в течение процедуры инициализации периферийного устройства, имеющего интерфейс MMC/SD, аргумента запроса на загрузку из указанного хостового устройства в указанный интерфейс MMC/SD периферийного устройства, прием сигнала синхронизации по шине передачи данных и посылку данных, начинающихся со стартового бита передачи данных, в указанное хостовое устройство через указанный интерфейс MMC/SD, если и когда загрузочные данные хранятся в периферийном устройстве.

Указанная реализация относится к использованию, например, существующего последовательного протокола (и, возможно, также и команды сброса) в качестве "не ожидаемой" команды протокола передачи сигналов (которую принимают вместо обычно ожидаемой команды CMDO), которую принимают в интерфейсе и рассматривают периферийным устройством (контроллером) в качестве запроса на передачу загрузочных данных. Как уже раскрыто в процедурах на стороне хостового устройства, указанный аргумент запроса на загрузку может, например, включать команду сброса в указанном интерфейсе MMC/SD (которая может быть включена в скорректированную команду CMD0, указывающую на запрос на загрузку). После того как карта принимает, например, команду CMD0 сброса с таким аргументом, она доставляет первые данные в буферы ввода/вывода (10) и начинает посылку хранящихся или извлеченных загрузочных данных в шину передачи данных (по меньшей мере столько же времени, сколько принимается синхросигнал на выводе).

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

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

В запросе на загрузку может также содержаться аргумент в более поздней фазе инициирующей последовательности совместно или после команд CMD0, CMD1, CMD2, CMD3 (при нормальной инициализации до тех пор, пока карта не перейдет в состояние ожидания). После того как периферийное устройство, имеющее интерфейс MMC/SD, достигнет состояний ожидания, хостовое устройство может пройти по всем компонентам шины для поиска действительного загрузочного кода.

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

Преимуществом этого варианта выполнения настоящего изобретения является то, что он может быть выполнен с использованием соответствующим образом модифицированного хостового устройства и полностью обычного периферийного устройства, имеющего интерфейс MMC/SD.

Согласно еще одному аспекту настоящего изобретения предложен способ загрузки хостового устройства из периферийного устройства, имеющего интерфейс MMC/SD. Хостовое устройство связано с периферийным устройством через интерфейс MMC/SD, имеющий шину передачи данных и вывод CMD. Кроме того, указанному периферийному устройству предоставляют дополнительный аргумент запроса на загрузку в регистре рабочего состояния (OCR, Operation Condition Register) указанного периферийного устройства, имеющего интерфейс MMC/SD. В этом аспекте настоящего изобретения указанный способ включает выполнение стандартного процесса инициализации периферийного устройства, имеющего интерфейс MMC/SD, а после завершения указанного процесса инициализации посылку аргумента запроса на загрузку в указанный интерфейс MMC/SD и контроль шины передачи данных для приема загрузочных данных из периферийного устройства через указанный интерфейс MMC/SD.

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

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

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

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

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

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

Согласно еще одному аспекту настоящего изобретения предложено загружаемое хостовое устройство, сконфигурированное для загрузки из периферийного устройства, имеющего интерфейс MMC/SD. Хостовое устройство включает внутренний или внешний источник питания, процессор, связанный с указанным источником питания, и интерфейс MMC/SD, связанный с указанным процессором и с указанным источником питания. Интерфейс MMC/SD включает выводы питания, шину передачи данных с выводами шины передачи данных, линию синхронизации с выводом синхронизации и линию CMD с выводом CMD. Хостовое устройство сконфигурировано для подачи питания на выводы указанного интерфейса MMC/SD, установки вывода CMD указанного интерфейса MMC/SD в процессе включения питания в низкое состояние (сигнала) и контроля шины передачи данных на появление стартового бита передачи данных.

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

В сущности, устройство выставляет не ожидаемое состояние сигнала на выводе команд интерфейса MMC/SD. В течение инициализации линия передачи команд/вывод интерфейса MMC/SD может быть установлен в низкое состояние (вместо высокого в настоящее время) для индикации запроса на загрузку. Таким образом, принцип настоящего изобретения основан на том, что (известный или новый) сигнал используется в течение процедуры инициализации в качестве "не ожидаемого" входного сигнала, сигнализируя этим, что хостовое устройство действительно требует загрузочных данных.

В одном из примеров варианта выполнения загружаемого хостового устройства указанный процессор сконфигурирован для посылки синхросигнала из указанного хостового устройства на указанные выводы шины передачи данных указанного интерфейса MMC/SD и установки вывода CMD указанного интерфейса MMC/SD в течение процесса включения питания в низкое состояние при передаче от 24 до 148, предпочтительно от 60 до 100, а наиболее предпочтительно 74 инициализирующих тактов синхронизации. В этом варианте выполнения настоящего изобретения хостовое устройство использует другой "не ожидаемый сигнал" для индикации запроса загрузочных данных. В этом варианте выполнения настоящего изобретения требуется, чтобы соответствующее периферийное устройство, имеющее интерфейс MMC/SD, было способно идентифицировать синхросигнал на выводе синхронизации в течение процесса включения питания/инициализации. Кроме того, предусмотрено использование количества синхросигналов, посланных в интерфейс MMC/SD, в качестве параметра кодирования, например, используемой ширины шины передачи данных, частоты, которая используется для передачи загрузочных данных.

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

В еще одном примере выполнения настоящего изобретения указанный процессор сконфигурирован для установки выводов шины передачи данных в низкое состояние для индикации ширины шины передачи данных, которая используется для передачи периферийным устройством, имеющим интерфейс MMC/SD и вставленным в указанный интерфейс MMC/SD. Это может быть осуществлено процессором, сконфигурированным для установки выводов от Dat0 до Dat7, которые должны использоваться для передачи загрузочных данных, в низкое состояние. Можно также предусмотреть и противоположный подход, т.е. установить все выводы Dat0-7, используемые для передачи загрузочных данных, в высокое состояние для индикации использования ширины шины, равной 8-битов. (В этом случае интерфейс MMC/SD был бы по умолчанию установлен на 8-битовую передачу загрузочных данных.) (Кроме того, предусмотрено использование хостового устройства или периферийного устройства, имеющего интерфейс MMC/SD, которое сконфигурировано для использования одной из схем кодирования, перечисленных в разделе настоящего описания, относящемся к способу.)

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

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

В одном из примеров варианта выполнения настоящего изобретения указанное периферийное устройство, имеющее интерфейс MMC/SD (контроллер), дополнительно сконфигурировано для посылки указанных первых данных из заранее заданной области памяти через шину передачи данных только при приеме низкого состояния сигнала на указанном выводе CMD интерфейса MMC/SD до или в процессе включения питания в течение передачи от 24 до 148, предпочтительно от 60 до 100, а наиболее предпочтительно 74 тактов синхронизации при инициализации.

В этом варианте выполнения настоящего изобретения карта MMC/SD способна подсчитывать количество тактов синхронизации, принятых в течение процедуры инициализации, для идентификации принятого/индицированного запроса на загрузку из хостового устройства (для чего требуется соответствующее изменение конструкции периферийного устройства, имеющего интерфей