Аппаратные интерфейсы ПК — страница 35 из 52

Твердотельные устройства хранения используются в миниатюрных компьютерах, а также компьютеризированных цифровых устройствах бытовой электроники — фотокамерах, плейерах, приемниках глобальной системы позиционирования (GPS), музыкальных инструментах и прочих. В большинстве своем эти устройства основаны на микросхемах флэш-памяти, в наиболее современных используется память со структурой NAND (см. п. 7.3.2). Этому типу флэш-памяти присуще быстрое чтение, запись и стирание небольших блоков (256 или 512 байт), что удобно для записи файлов. Правда, для этой памяти характерны довольно медленное чтение произвольного байта и отсутствие возможности побайтной записи, но приложениям этих карт такая возможность и не требуется, поскольку они ориентированы на блочный обмен. Устройства на флэш-памяти являются энергонезависимыми (в режиме хранения не требуют питания), экономичными в плане потребления, особенно при чтении, достаточно производительными, но, увы, недешевыми. Запись на эти носители специфична: быстрее всего она выполняется в чистый (стертый) блок (сектор диска), а перезапись требует относительно длительного стирания. Кроме того, флэш-память имеет хоть и большое (порядка 105), но ограниченное число циклов стирания-записи — как ни странно, у носителей с подвижным носителем с этим ограничением не сталкиваются. Устройства хранения обычно представляют комбинацию собственно микросхем памяти и микроконтроллера, обеспечивающего внешние интерфейсные функции. Этим они отличаются от карт памяти с линейным доступом, например Miniature Card, на которых располагаются только микросхемы памяти (встроенный контроллер не требуется).

Есть и другие твердотельные хранители — например, ферроэлектрическая память (FRAM), но пока что массового применения они не имеют. Менее чем за десятилетие устройства хранения на флэш-памяти прошли большой путь от электронных «дисков» («винчестеров») размером в 3" до современных, размером с почтовую марку. Интерфейсы твердотельных устройств хранения — карт внешней памяти — тесно связаны с их конструктивами; основные характеристики наиболее распространенных карт приведены в табл. 9.12.


Таблица 9.12. Основные характеристики карт внешней памяти

CompactFlashSmartMedia CardMultiMedia CardSequre DigitalMiniature Card
Длина36,045,032,032,033,0
Ширина43,037,024,024,038,0
Высота3,3/5,00,761,42,13,5
КоннекторШтырьковыйПечатныйПечатныйПечатныйЭластомер
Число контактов50227960

Вышеперечисленные карты можно подключать и к обычным компьютерам. Для этого существуют различные адаптеры: для слотов PC Card (к блокнотным ПК), для шины USB (для самых разных ПК) и для других внешних интерфейсов. С помощью этих адаптеров компьютер «видит» подключенную карту как обычный сменный носитель информации (диск). Конечно, компьютеры общего назначения в такой внешней памяти не нуждаются — своя и больше, и дешевле. Главная цель подключения карты к ПК — быстрая передача прикладных данных бытового устройства (фотографий, музыки и т. п.) или перенос (хранения) информации (вместо дискет).

В качестве интерфейса твердотельных устройств хранения может использоваться и самый обычный вариант ATА. Существуют устройства DOM (Disk On Module) — небольшие модули, которые вставляются в обычный 40-контактный разъем ATA, имеющийся на любой современной системной плате. Правда, этот «винчестер» не блещет выдающимися параметрами: объем — 4-256 Мбайт, средняя скорость передачи данных — 1,6 Мбайт/с, удельная стоимость хранения — около $1,5 за мегабайт. Внутри модуля находится флэш-память структуры NAND с контроллером, эмулирующим систему команд ATA. Основное применение этих модулей — хранение ПО встраиваемых компьютеров, но можно ими пользоваться и как сменными устройствами хранения.

9.3.1. CompactFlash

Карты CompactFlash (рис. 9.7), поддерживаемые ассоциацией CFA (Compact Flash association), широко используются в различных электронных приборах: цифровых фотокамерах, фотопринтерах, MP3-плейерах, цифровых диктофонах, персональных коммуникаторах и, конечно же, компьютерах — настольных, карманных, автомобильных. Карты имеют размер 42,8×36,4×3,3 мм (4 мм с учетом выступа) и 50-контактный разъем (розетка на карте, двухрядный штырьковый разъем с шагом 1,27 мм на слоте). Назначение контактов приведено в табл. 9.13. Через переходник с 50 на 68-контактный разъем карты могут устанавливаться в слот PC Card Type II или III, имеющийся практически во всех блокнотных ПК. Объем памяти выпускаемых в настоящее время карт — от 4 Мбайт до 1 Гбайт, напряжение питания — 5 или 3,3 В. Карты могут работать в одном из трех режимов: карт памяти (Mem), карт ввода-вывода PC Card (I/O), «чистого» режима IDE (ATA). В первых двух режимах карты работают с теми же интерфейсными сигналами, что и PC Card. В режиме IDE электрический интерфейс и система команд полностью совместимы со спецификацией ATA (см. п. 9.2.1), правда, обмен данными возможен только в режиме PIO. Режим IDE выбирается заземлением на стороне хоста сигнала

ATA_SEL#
. При этом из шины адреса используются только
А[2:0]
(остальные заземлены хостом); шина данных при обращениях к регистрам ATA имеет разрядность 8 бит, а при передаче данных — 16. Сигналы
CS0#
и
CS1#
используются для выбора блока командных и управляющих регистров соответственно. Сигналы
PDIAG#
,
DASP#
,
CSEL#
,
RESET#
и
IORDY
соответствуют спецификации ATA. Сигналом
CSEL#
выбирается роль карты: при заземленном контакте — устройство 0 (master), при разомкнутом — устройство 1 (slave); можно воспользоваться и «кабельной выборкой». Сигналы
REG#
и
WE#
должны подключаться к шине питания (Vcc). Сигналы
CD1#
и
CD2#
являются индикаторами установки карты (их контакты замыкаются последними, на карте они заземлены). В табл. 9.14 описан чисто пассивный переходник, позволяющий подключить карту Compact Flash к обычному порту ATA (IDE), имеющемуся на любой современной системной плате.

Рис. 9.7. Карты CompactFlash


Таблица 9.13. Назначение контактов карт CompactFlash

MemI/OIDEMemI/OIDE
1GNDGNDGND26CD1#CD1#CD1#
2D03D03D0327D11D11D11
3D04D04D0428D12D12D12
4DOSDOSDOS29D13D13D13
5D06D06D0630D14D14D14
6D07D07D0731D15D15D15
7CE1#CE1#CS0#32CE2#CE2#CS1#
8A10A10A1033VS1#VS1#VS1#
9OE#OE#ATA_SEL#34IORD#IORD#IORD#
10A09A09A0935IOWR#IOWR#IOWR#
11A08A08A0836WE#WE#WE#
12A07A07A0737RDY/BSYIREQINTRQ
13.VCCVCCVCC38VCCVCCVCC
14A06A06A0639CSEL#CSEL#CSEL#
15A05A05A0540VS2#VS2#VS2#
16A04A04A0441RESETRESETRESET#
17A03A03A0342WAIT#WAIT#IORDY
18A02A02A0243INPACK#INPACK#INPACK#
19A01A01A0144REG#REG#REG#
20A00A00A0045BVD2SPKR#DASP#
21D00D00D0046BVD1STSCHG#PDIAG#
22D01D01D0147D08DOSDOS
23D02D02D0248D09D09D09
24WPIOIS16#IOCS16#49D10D10D10
25CD2#CD2#CD2#50GNDGNDGND

Таблица 9.14. Переходник CompactFlash Card — ATA

ATA, конт. №ЦепьCFC, конт. №CFC, конт. №ЦепьATA, конт. №
2GND126CD1#-
11D03227D1110
9D04328D1212
7D05429D1314
5D06530D1416
3D07631D1518
37CS0#732CS1#38
GND¹A10833VS1#-
GND¹ATA_SEL#934IORD#25
GND¹A091035IOWR#23
GND¹A081136WE#+5V²
GND¹A071237INTRQ31
+5V²VCC1338VCC+5V²
GND¹A061439CSEL#28³
GND¹А051540VS2#-
GND¹А041641RESET#1
GND¹A031742IORDY27
36А021843INPACK#-
33А011944REG#+5V²
35A002045DASP#39
17D002146PDIAG#34
15D012247D084
13D022348D096
32IOCS16#2449D108
-CD2#2550GNDGND¹

¹ С шиной GND должны быть соединены контакты 2, 19, 22, 24, 26, 30 и 40 разъема ATA, а также контакт разъема питания.

² Питание +5V на переходник подается от дополнительного разъема.

³ Возможно подключение не к разъему ATA, а к шине GND через джампер: замкнут — ведущее устройство, разомкнут — ведомое.

9.3.2. SmartMedia Card

Карты SmartMedia Card, поддерживаемые ассоциацией PCMCIA, предназначены примерно для того же круга приложений, что и CompactFlash. Они совсем тонкие, имеют менее «нежный» печатный разъем с малым числом контактов (всего 22) и не боятся не только повышенной влажности, но и воды. Карты основаны на микросхемах флэш-памяти с организацией запоминающих ячеек NAND. Средняя скорость передачи данных — 2 Мбайт/с, пиковая — до 10. Вид карт приведен на рис. 9.8, назначение контактов — в табл. 9.15. Карты на 5 В выпускаются объемом 16 и 32 Мбит (2 и 4 Мбайт). Карты на 3,3 В выпускаются объемом 16, 32 или 64 Мбит (2, 4, 8 Мбайт); у них контакт 17 соединен с Vcc. Для карт SmartMedia выпускают простые переходные адаптеры на слот PC Card Type II. Появились даже устройства FlashPath™ для считывания этих карт в обычном дисководе(!) 1,44 Мбайт.

Рис. 9.8. Карты SmartMedia: а — питание 5 В, б — питание 3,3 В


Таблица 9.15. Назначение контактов SmartMedia Card

ЦепьЦепь
22VCC (5 B)1VSS
21СЕ#2CLE
20RE#3ALE
19R/B4WE#
18GND5WP#
17Power Detect6I/O1
16I/O87I/O2
15I/O78I/O3
14I/O69I/O4
13I/O510VSS
12VCC11VSS

9.3.3. MultiMediaCard и Sequre Digital

Карты MultiMediaCard (MMC) и Secure Digital (SD) еще компактнее — их размер в плане всего 32×24 мм при толщине 1,4 мм у MMC и 2,1 мм у SD. Эти карты имеют краевой печатный разъем, 7-контактный у MMC и 9-контактный у SD. У карт MMC на разъем выводятся питание, управляющий сигнал, сигнал синхронизации и двухразрядная шина данных. У карт SD за счет пары дополнительных контактов шина данных расширена до 4 бит, что позволяет повысить скорость обмена. Конструктивно карты SD сделаны так, что устройства, работающие с ними, физически могут работать и с картами MMC, но не наоборот (в тонкий слот MMC более толстую карту SD и не вставить). Логическая совместимость должна обеспечиваться программным обеспечением хоста (устройства, в которое вставляют карту). Карты MMC и SD предназначены примерно для того же спектра устройств, что и CompactFlash; к ним стоит добавить и электронные книги (eBook). Однако назначение этих карт различно: MMC предназначены для широкого распространения данных — музыки, игр, электронных книг, — и они являются довольно дешевыми носителями информации. Карты SD предназначены для безопасного (в смысле конфиденциальности) распространения информации, и они гораздо дороже.

Карты SD разработаны альянсом трех компаний — Toshiba, Matsushita (более известная по торговой марке Panasonic) и SanDisk, которые организовали ассоциацию SDA (Secure Digital Association), выпускающую спецификации, принятые уже сотнями фирм во всем мире. Членство в ассоциации платное и дорогостоящее; по вполне понятным причинам технические детали SD широко не освещаются (иначе грош цена провозглашаемой безопасности).

Карты SD (рис. 9.9) имеют размер 32×24×2,1 мм; справа на рисунке виден переключатель защиты записи (WP), предохраняющий от случайного стирания. На печатной плате карты SD смонтирована флэш-память структуры NAND, SD-контроллер и вспомогательные компоненты. 9-контактный разъем карт SD (табл. 9.16) по выводам 1–7 совпадает с картами MMC. Карты SD допускают «горячее» подключение/отключение. Конструкция коннектора рассчитана на 10 000 циклов вставки-изъятия. Карты выдерживают до 200 000–300 000 циклов записи в каждый блок флэш-памяти и падение на пол с высоты 3 м. Они устойчивы и к жаре, и к морозу. Скорость передачи данных у первых карт SD — 2 Мбайт/с, объем — 8-512 Мбайт; в 2002 г. планируется подъем скорость до 10 Мбайт/с и объем до 1 Гбайт, а в 2004 — до 20 Мбайт/с и 4 Гбайт. Начальная удельная цена хранения высока — $3 за 1 Мбайт, но постепенно она должна снизиться до уровня $1 за 1 Мбайт (что тоже немало!) и ниже.

Рис. 9.9. Карта памяти SD (вид сзади)


Таблица 9.16. Назначение контактов карт MMC и SD

КонтактЦепьКонтактЦепь
1Command6Data 0
2Vss7Data 1
3Vdd8Data 2
4Clock9Data 3
5Vss

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

♦ физический уровень описывает перезаписываемые карты (SD-Rewritable) и постоянную память (SD-Read Only);

♦ уровень файловой системы использует стандарт ISO 9293;

♦ прикладной уровень учитывает специфику атрибутов различных типов содержимого — музыки (SD-Audio), изображений (SD-Picture), речи (SD-Voice), видео (SD-Video) и других.

На всех уровнях действуют средства безопасности (Security), являющиеся основным «коньком» SD. В SD используются технологии обеспечения безопасности CPRM (Content Protection for Recordable Media — защита содержимого записываемых носителей) — стандарта шифрования и сертификации/аутентификации, разработанного и лицензируемого фирмами IBM, Intel, Matsushita (Panasonic) и Toshiba. Карты SD-Audio отвечают требованиям SDMI[4] (Secure Digital Music Initiative) к портативным устройствам.

Карта SD имеет три области хранения с разными возможностями доступа: область хранения ключей шифрования и аутентификации, область секретных данных и область данных общего назначения. Секретные данные хранятся и передаются в зашифрованном виде, их кодирование-декодирование выполняется хостом (устройством, в которое устанавливается карта). Для того чтобы установить канал обмена секретными данными, требуется взаимная аутентификация хоста и карты: хост должен «признать» карту, а карта — хост. Таким образом, обмен данными с защищенной областью карты возможен только на «фирменных» устройствах (до тех пор пока алгоритмы и ключи шифрования не попадут в руки хакеров).

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

Совместимость SD и MMC весьма ограничена. Хосты SD-карт совместимы с картами MMC на физическом уровне; в картах MMC и SD используется одна и та же структура таблицы размещения файлов (FAT), чем обеспечивается совместимость и на уровне записи/чтения файлов. Однако на прикладном уровне программные спецификации «начинки» этих карт могут и различаться. Так, например, в SD MP3-плейеры нельзя вставлять карты MMC — они используют различные форматы данных. Данные общего назначения (не секретные) могут быть перенесены с MMC на SD, но перенос секретных данных хосты не допустят (если хост — не компьютер со взломанным ПО). Хосты MMC-карт с SD-картами несовместимы даже чисто физически (эти карты в слот для MMC не влезут по толщине).

Кроме карт SD-памяти, планируется выпуск и карт ввода-вывода (SD I/O card). В первую очередь рассматривается интерфейс Bluetooth, позволяющий быстро и без проводов синхронизировать данные устройств, имеющих слот SD, друг с другом и с устройствами, уже имеющими этот интерфейс.

9.3.4. Miniature Card

Карты Miniature Card предназначены для использования в недорогих устройствах бытовой электроники в качестве сменной флэш-памяти, а также расширения динамической памяти (рис. 9.10). В интерфейсе карт используется линейный доступ к произвольной ячейке памяти с адресуемым объемом до 64 Мбайт. Карты имеют немультиплексированную 16-разрядную шину данных и могут работать в пакетном режиме передачи данных. Также имеется возможность работы с 8-разрядным хостом (старший и младший байты шины запараллеливаются, линия

BS8#
заземляется). Интерфейс хоста для этих карт конфигурируется на работу в режиме DRAM или флэш-памяти; карты снабжаются микросхемой энергонезависимой памяти идентификации с интерфейсом I²C. Карты имеют прорези для правильного позиционирования и коннектор, обеспечивающий «горячее» (даже для DRAM!) подключение. При установке передний край карты вводят в слот, при этом подключаются контакты «первой очереди»:
GND
,
VCC
и
CINS#
(контакт, замыкающийся на «землю»). Затем карта опускается вниз, прижимаются контакты основного эластомерного разъема и замыкается контакт обнаружения
CD#
. Карты могут работать с питанием 5 и 3,3 В; для идентификации питания служат сигналы
VS1#
,
VS2#
. Карта Miniature Card через переходный адаптер может устанавливаться в слот PC Card типа 2.

Рис. 9.10. Карта Miniature Card: а — общий вид, б — вид снизу

При работе по интерфейсу DRAM используются линии адреса

А[12:0]
и управляющие сигналы
RAS#
,
CASH#
и
CASL#
(стробы для старшего и младшего байтов), а также
WE#
. Карты имеют отдельную линию питания Vccr для регенерации при отключенном основном питании.

При работе по интерфейсу флэш-памяти используются линии адреса

А[24:0]
и управляющие сигналы
ОЕ#
(чтение),
WE#
(запись),
СЕН#
и
CEL#
(выборка для старшего и младшего байтов).

9.4. Системная поддержка устройств хранения