Технология Secure Digital для карт памяти

№ 12’2011
PDF версия
Классификация, устройство и интерфейс карт памяти стандарта SD.

Классификация, устройство и интерфейс карт памяти стандарта SD

В январе 2000 года группа ведущих компаний — производителей электроники (Panasonic, SanDisk и Toshiba) основала организацию SD Association, основной деятельностью которой является создание и продвижение стандарта Secure Digital (SD) для портативных карт памяти на основе энергонезависимой Flash-памяти. Уже через год была представлена первая версия стандарта (стандарт Physical Layer Specification, version 1.01), описывающая карты памяти объемом до 2 Гбайт, со скоростью передачи данных до 10 Мбайт/с и скоростью обмена по SD-шине до 12,5 Мбайт/с (Default Speed bus mode, DS). Со временем в организацию вступали новые члены (стоимость вступления на общих основаниях сегодня составляет $2000, а для эксклюзивных правообладателей она увеличена до $4500). На данный момент в SD Association входят более 1000 участников.

Развитием стандарта стала версия 1.10, выпущенная в октябре 2004 года, в которой был введен высокоскоростной режим обмена (High Speed bus mode, HS), обеспечивающий обмен данными и командами по SD-шине со скоростью до 25 Мбайт/с и минимальная скорость чтения/записи 10 Мбайт/с. В мае 2006 года появилась версия 2.0 стандарта, основным отличием которой стало введение нового класса SD-карт памяти с увеличенным объемом хранимой информации до 32 Гбайт включительно (Secure Digital High Capacity, SDHC). Текущая версия стандарта (Physical Layer Specification, version 3.01) описывает SD-карты объемом до 2 Тбайт включительно (Secure Digital eXtended Capacity, SDXC), обеспечивающие защиту хранимой информации от несанкционированного доступа и копирования (по технологии Content Protection for Recordable Media, CPRM); также были введены новые высокоскоростные режимы работы SD-шины (Ultra High Speed I bus mode), обеспечивающие скорость обмена до 104 Мбайт/c. Продолжением стандарта будет разрабатываемая в данный момент 4-я версия (Physical Layer Specification, version 4.0), согласно которой скорость обмена по SD-шине может достигать уже 312 Мбайт/с (UHS-II bus mode).

Современные SD-карты памяти выпускаются в трех форм-факторах (табл. 1) — полноразмерные карты (full-size SD), miniSD и microSD. Полноразмерные карты нашли применение в цифровых фото- и видеокамерах, электронных книгах и навигаторах; microSD наиболее часто используют в мобильных телефонах и смартфонах, а miniSD является переходным вариантом между двумя предыдущими. На сегодня уже тысячи моделей устройств поддерживают стандарт SD.

Таблица 1. Конструктивное исполнение карт памяти стандарта SD

Внешний вид
Форм-фактор full-size SD miniSD microSD
Размеры, мм 32×24×2,1 21,5×20×1,4 15×11×1
Количество контактов 9 11 8
Механическая защита от записи Есть Нет Нет
Вес, г ~2 ~1 ~0,5

По объему хранимой информации карты подразделяются на:

  • Standard Capacity SD Memory Card (SDSC): до 2 Гбайт (включительно);
  • High Capacity SD Memory Card (SDHC): от 2 до 32 Гбайт (включительно);
  • Extended Capacity SD Memory Card (SDXC): от 32 Гбайт до 2 Тбайт (включительно).

Следует отличать скорость обмена данными по шине и скорость чтения/записи в карту памяти: первая характеризует скорость обмена служебной информацией по SD-шине (в которую входят не только пользовательские данные, но и различная служебная информация), а вторая — реальную скорость чтения/записи пользовательских данных во встроенную энергонезависимую Flash-память. Для классификации скорости чтения/записи пользовательских данных стандартом вводится порог, указывающий на минимальную скорость чтения/записи. Также имеются два принципиально разных типа SD-карт памяти — стандартных классов (SD Class 2, 4, 6, 10) и высокоскоростные (UHS-I) с различными требованиями по скорости обмена по шине (рис. 1).

Классификация SD-карт памяти

Рис. 1. Классификация SD-карт памяти

Стандартные классы SD-карт классифицируются следующим образом (в скобках указаны требования по режиму работы SD-шины):

  • SD Class 2: скорость чтения/записи не ниже 2 Мбайт/с (Default Speed bus mode);
  • SD Class 4: скорость чтения/записи не ниже 4 Мбайт/с (Default Speed bus mode);
  • SD Class 6: скорость чтения/записи не ниже 6 Мбайт/с (Default Speed bus mode);
  • SD Class 10: скорость чтения/записи не ниже 10 Мбайт/с (High Speed bus mode) — опциональный режим.

Следует отметить, что размерность скорости передачи данных [Мбайт/с] определяется как [1000×1000 байт/с], в то время как размер памяти [Мбайт] эквивалентен [1024×1024 байт]. Это связано с тем, что скорость передачи данных определяется максимальной частотой работы SD-шины (25 Мбайт/с = 25 000 000 байт/с при частоте шины 50 МГц), а размер памяти определяется степенью 2.

Существуют также высокоскоростные SD-карты, требующие более быстрых режимов работы SD-шины (Ultra High Speed bus mode, UHS-I) и пониженного уровня сигналов (1,8 В вместо 3,3 В в стандартных классах). В таких картах скорость обмена по шине может достигать 104 Мбайт/c, а скорость чтения/записи — порядка 95 Мбайт/с. Помимо стандартных скоростных режимов работы шины (DS, HS) в SD UHS-I введено еще 5 режимов:

  • SDR12 (Single Data Rate): скорость обмена по SD-шине до 12,5 Мбайт/c.
  • SDR25 (Single Data Rate): скорость обмена по SD-шине до 25 Мбайт/c.
  • SDR50 (Single Data Rate): скорость обмена по SD-шине до 50 Мбайт/c.
  • SDR104 (Single Data Rate): скорость обмена по SD-шине до 104 Мбайт/c.
  • DDR50 (Double Data Rate): скорость обмена по SD-шине до 50 Мбайт/c — опциональный режим (обязателен только для карт памяти microSD UHS-I).

Максимальные скорости обмена по SD-шине и соответствующая им частота работы шины для карт памяти класса UHS-I показаны на рис. 2 и 3 соответственно.

Максимальная скорость обмена по шине SD

Рис. 2. Максимальная скорость обмена по шине SD

Максимальная частота работы шины SD

Рис. 3. Максимальная частота работы шины SD

Сравнительные характеристики и классификация различных видов карт памяти представлены в таблице 2.

Таблица 2. Основные параметры SD-карт памяти

Виды карт SD SDHC SDXC
Размер памяти SD ≤ 2 Гбайт 2 Гбайт < SDHC ≤ 32 Гбайт 32 Гбайт < SDXC ≤ 2 Тбайт
Файловая система FAT 12, FAT 16 FAT 32 exFAT
Конструктивное исполнение SD, miniSD, microSD SD, miniSD, microSD SD, microSD
Скорость обмена по шине DS DS, HS, UHS-I DS, HS, UHS-I
Скорость передачи данных SD class 2, 4, 6 SDHC class 2, 4, 6, 10, SDHC UHS-I SDXC class 2, 4, 6, 10, SDXC UHS-I
Защита данных CPRM CPRM CPRM

Следует отметить тот факт, что в картах памяти SDXC используется проприетарная файловая система exFAT, разработанная и запатентованная корпорацией Microsoft, вследствие чего возникает вопрос о возможности использования таких карт в операционных системах, отличных от семейства Windows.

SD-карты поддерживают три различных режима обмена с хостом: однобитный SPI-режим, скорость обмена по которому не превышает 3,125 Мбайт/с (при максимальной частоте работы шины 25 МГц), однобитный и четырехбитный SD-режимы обмена (тактовый сигнал, вывод команд, 4 вывода данных и 3 вывода цепей питания/«земли»). Назначение выводов карты памяти в режиме SPI (табл. 3) и SD (табл. 4) показано на рис. 4 (здесь и далее рассматриваются только полноразмерные карты памяти).

Назначение выводов SD-карты памяти

Рис. 4. Назначение выводов SD-карты памяти

Таблица 3. Назначение выводов в SPI-режиме

Номер Обозначение Тип Описание
1 CS IN Выбор микросхемы
2 DI IN Входные данные
3 VSS1 PWR «Земля»
4 VDD PWR Питание 2,7–3,6 В
5 SCLK IN Тактовый сигнал
6 VSS2 PWR «Земля»
7 DO OUT Выходные данные
8 RSV   Не используется
9 RSV   Не используется

Примечание. IN — вход; OUT — выход; PWR — цепи питания; IN/OUT — тристабильная шина.

Таблица 4. Назначение выводов в SD-режиме

Номер Обозначение Тип Описание
1 CD/DAT3 IN/OUT Сигнал обнаружения карты, данные 3-го канала
2 CMD IN/OUT Команды
3 VSS1 PWR «Земля»
4 VDD PWR Питание 2,7–3,6 В
5 CLK IN Тактовый сигнал
6 VSS2 PWR «Земля»
7 DAT0 IN/OUT Данные 0-го канала
8 DAT1 IN/OUT Данные 1-го канала
9 DAT2 IN/OUT Данные 2-го канала

Примечание. IN — вход; OUT — выход; PWR — цепи питания; IN/OUT — тристабильная шина.

Типовое устройство SD-карты памяти показано на рис. 5. В состав карты входит контроллер интерфейса SD, блок специализированных регистров, процессорный блок с контроллером прямого доступа памяти, супервизор питания со стабилизатором напряжения питания и устройством формирования сброса схемы, контроллер интерфейса Flash-памяти с блоком коррекции ошибок и микросхемы энергонезависимой Flash-памяти.

Устройство SD-карты памяти

Рис. 5. Устройство SD-карты памяти

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

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

Таблица 5. Служебные регистры SD-карты

Регистр Разрядность Описание
CID 128 Card Identification Number — содержит уникальные идентификаторы карты и производителя
RCA 16 Relative Card Address — содержит текущий системный адрес карты, динамически присвоенный хостом во время инициализации
DSR 16 Driver Stage Register — определяет параметры нагрузочной способности выводов карты (опционально)
CSD 128 Card Cpecific Data — определяет параметры, характеризующие формат хранения данных, время доступа и другую служебную информацию, необходимую для организации доступа к карте
SCR 64 SD Configuration Register — указывает на поддержку картой специальных режимов работы и команд
OCR 32 Operating Condition Register — содержит информацию о допустимом диапазоне напряжения питания карты
SSR 512 SD Status Register — информация о проприетарных функциях
CSR 32 Card Status Register — различные биты статуса выполнения команд и флаги ошибок

Блоки энергонезависимой Flash-памяти осуществляют обмен данными с контроллером SD-карты через контроллер интерфейса Flash-памяти, в котором также имеется блок коррекции ошибок, возникающих в процессе чтения и записи данных во Flash-память. На сегодня в качестве основного кода коррекции ошибок используется код БЧХ, исправляющая способность которого в наиболее продвинутых устройствах достигает 60 битовых ошибок на 512 байт пользовательской информации.

В карте также имеется супервизор питания со встроенными стабилизаторами напряжения питания 3,3 и 1,8 В и схемой формирования сигнала начального сброса блоков контроллера SD.

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

Для увеличения скорости чтения/записи информации используют канал прямого доступа к памяти из интерфейса Flash-памяти напрямую в интерфейс SD, минуя процессорную шину.

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

Литература

  1. http://www.sdcard.org
  2. SD Specifications Part 1 Physical Layer Simplified Specification. Version 3.01. May 18, 2010.
  3. SanDisk SD Card Product Manual. Version 2.2. Nov. 2004.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *