|
Bog BOS: hardware: Флэш накопители и флэш карты |
Последнее изменение файла: 2011.07.21
Скопировано с www.bog.pp.ru: 2024.11.21
В статье описываются основные особенности флэш памяти различных типов, интерфейсы подключения флэш памяти (карты памяти и накопители), примеры использования устройств чтения и записи в Linux (Apacer Mega Steno AM230, EURODATA 19-in-1 и переходник CF - PC Card).
Для хранения информации во флэш-памяти не нужно электропитания. При стирании (только блоками или целиком, 2 ms на блок) во все ячейки прописывается значение 1 ("наливается заряд"). При нагреве скорость стирания увеличивается на порядок. Современные микросхемы позволяют стирать отдельными (небольшими) блоками. Типичный размер блока стирания - 512KB для MLC (ранее 128KB). При произвольной записи можно только обнулять биты ("сливать заряд"), причём постранично, но нельзя записывать 1. Типичный размер страницы (сектора), который рассматривается как неделимая единица при чтении и записи - 4KB для MLC (ранее 2KB). При параллельной адресации нескольких микросхем эффективный размер страницы надо умножить на количество микросхем. Архитектура NOR (ИЛИ-НЕ, параллельное соединение ячеек) обеспечивает быстрое произвольное чтение. Архитектура NAND (И-НЕ, последовательное соединение ячеек) обеспечивает быстрое последовательное чтение и большую плотность ячеек. Микросхемы флэш памяти типа SLC (один бит в одной ячейке) записывают медленнее (250 мкс), чем читают (25 мкс). Технология MLC позволяет хранить 2 (3) бита в одной ячейке, очень медленная запись (900 мкс), скорость чтения почти не отличается от SLC (50 мкс). Время сохранения информации - до 10 лет (до 1 года на "потёртом" устройстве). Число циклов стирания - до 10 тысяч (MLC) или 100 тысяч (SLC). При уменьшении нормы изготовления время хранения и число циклов стирания уменьшается. Модели с поддержкой ECC позволяют увеличить число допустимых циклов на порядок. Контроллер может использовать специальный алгоритм выравнивания нагрузки, который соотносит часто перезаписываемыому логическому блоку разные физические блоки.
Стандарт PCMCIA (Personal Computer Memory Card International Association, 1990) предназначался именно для карт памяти. Питание - 5 Вольт. Ширина шины - 8 бит (10 MB/сек при использовании интерфейса памяти) и 16 бит (20 МБ/сек). Длина - 85.6 мм, ширина - 54.0 мм, высота - 3.3 мм (Type I) или 5.0 мм (Type II). 68 штырьков. Версия 2.0 (1991) позволила подключать устройства ввода-вывода, PC CardATA, карты увеличенной высоты (10.5 мм, Type III).
В 1995 новая версия стандарта переименована в PC Card: дополнительный тип питания - 3.3 Вольта, поддержка DMA и CardBus (упрощённый вариант PCI - 32 бита, 33 МГ, 132 МБ/сек, прямое управление шиной). Основная файловая система - FAT, дополнительно описан формат CIS (Card Information Structure). Предусматривается "горячее" подключение (контакты шин питания длинее остальных, контакты шины наличия карты короче остальных), PnP, APM. Подключаются через мост PCI - PC Card (у меня это выглядит как "CardBus bridge: Texas Instruments PCI7420 CardBus Controller", 2 штуки).
CompactFlash. Длина - 36.4 мм, ширина - 42.8 мм, высота - 3.3 мм (Type I) или 5.0 мм (Type II). В отдельный подтип можно выделить диски Microdrive, которые формально относятся к Type II, но требуют питания 5 вольт. 50 штырьков на слоте (гнутся легко). Распространитель - CFA (Compact Flash Association), Canon, Kodak, HP. Напряжение питания - 3.3V или 5V. Через пассивный переходник (50 на 68) вставляются в разъём PC Card или подключаются к обычному порту ATA. Может работать в режимах карт памяти, карт ввода-вывода (ethernet, модем, GPS) или ATA (режим PIO2 до 8 МБ/сек). Предусматривается "горячее" подключение (контакты шины наличия карты короче остальных). Самые ёмкие, дешёвые и быстрые, но 50-штырьковый разъём его погубит (лучше бы сделали штырьки на карточках). CF II (CF 2.0, CF+) предусматривает переход от FAT16 (до 2 ГБ) к FAT32 (до 137 ГБ) и режим PIO4 до 16.7 MB/s и DMA 33. CF 3 - режим ATA UltraDMA до 66 МБ/сек. CF 4 - режим UDMA 133. CF 5 - до 128 ПБ (адресация LBA48). CF 6 - скорость до 166 МБ/сек, команда TRIM. CFast - переход на интерфейс SATA 2, физически несовместим ни с CF, ни с SATA (при этом число пинов шины питания увеличено!). Например, при вставке CF в считыватель на моём ноутбуке он выглядит как PC Card (PCMCIA) в режиме ATA:
kernel: pccard: PCMCIA card inserted into slot 0 kernel: cs: memory probe 0xe0200000-0xe02fffff: excluding 0xe0200000-0xe020ffff kernel: pcmcia: registering new device pcmcia0.0 kernel: hde: TRANSCEND, CFA DISK drive kernel: ide2 at 0x3100-0x3107,0x310e on irq 3 kernel: hde: max request size: 128KiB kernel: hde: 2030112 sectors (1039 MB) w/1KiB Cache, CHS=2014/16/63 kernel: hde: hde1 kernel: ide-cs: hde: Vcc = 3.3, Vpp = 0.0
SmartMedia Card (SMC). Длина - 45 мм, ширина - 37 мм, высота - 0.76 мм. 22 плоских контакта. Не имеют встроенного контроллера. Питание - 3.3V или 5V (несовместимы между собой). Шина - 8 бит. Умер, а о покойниках либо хорошо, либо ничего.
MultiMedia Card (MMC). Длина - 32 мм, ширина - 24 мм, высота - 1.4 мм. 7 плоских контактов. Шина данных - 2 бита. Первоначальный разработчик - SanDisk, Siemens и Infineon, затем крупные изготовители электроники "ответвили" от неё Secure Digital и теперь продвижением занимается MMCA (MMC Association) или всё же Samsung?. Во всяком случае, платить за лицензии некому. MMC 3.0 (скорость передачи данных - до 20 Мб/сек, объём - до 128 МБ, с нарушением совместимости - до 1 ГБ). Форм-фактор RS-MMC (Reduced Size: длина - 18 мм, ширина - 24 мм, высота - 1.4 мм; для установки требуется даже не пассивный, а просто механический адаптер). MMCplus 4 (7 плоских контактов как у MMC, 2 дополнительных контакта как у SD, 5 контактов во втором ряду между передними; частота шины - 20 MHz, 26 MHz, 52 MHz; от 1 до 8 линий данных; скорость передачи данных - до 52 МБ/сек; опциональная поддержка напряжения питания 1.65-1.95V). MMCmobile 4 (форм-фактор RS-MMC; длина - 24 мм, ширина - 18 мм, высота - 1.4 мм, напряжение питания - 2.7-3.6V или 1.65-1.95V, совместима с MMC при использовании пассивного адаптера). MMCmicro (длина - 12 мм, ширина - 14 мм, высота - 1.1 мм, напряжение питания - 2.7-3.6V или 1.65-1.95V, совместима с MMC при использовании пассивного адаптера; только 4 линии данных).
Secure Digital (SD). Длина - 32 мм, ширина - 24 мм, высота - 2.1 мм. 9 плоских контактов (7 как у MMC и 2 дополнительных по бокам). Шина данных - 4 бита, частота - до 25 МГц, скорость передачи - до 100 Мбит/сек (реально до 10 МБ/сек). Карту MMC можно вставить в слот SD и использовать (обычно в режиме MMC 3.0). Кроме удвоения ширины шины данных и увеличения толщины карты относительно стандартной MMC спецификация описывает (точнее скрывает ;) средства контроля за распространением данных CPRM и SDMI (изготовители устройств почему-то эту часть стандарта не используют, даже авторы ;). Распространитель - SDA (Secure Digital Association). В частности, в неё входят Panasonic и Toshiba, так что изготавливаемые ими устройства поддерживают именно этот тип карт. Предусматривается переключатель защиты записи, "горячее" подключение (до 10 тысяч раз). Занимает 3/4 рынка (2008). Лицензия стоит дорого, поэтому карточки значительно дороже, чем MMC (после появления MMCplus 4 цены на SD подозрительно снизились - SDA открыло спецификации). На область шифрования тратится значительная часть ёмкости карты, поэтому маркированная как 2GB карта выглядит "на" 1963 доступных MB (хотя рапортует о 2058 MB, правда десятичных) или 1910 MB (рапортует о 2002 десятичных МБ). Файловая система - ISO 9293 (FAT?), дополненная прикладным уровнем (SD-Picture, SD-Video и др.). Компьютером SD-карта воспринимается как блочное устройство, которое можно разбитить на разделы и отформатировать их под любую файловую систему. Интерфейс между картой и контроллером - SPI (Serial Peripheral Interface Bus, 3.3 В, 7.2 Mb/s) или однобитный SD (отдельные каналы команд и данных, до 25 МГц) или 4-битный SD. SD 1.1 (High Speed - до 50 МГц, скорость передачи данных - до 20 МБ/сек). Адресуется каждый байт, ширина адреса - 32 бит, т.е. максимальный физический объём - 4 ГБ, FAT16 (или sign int) ограничивает нас двумя гигбайтами. SDHC (SD 2.0) - увеличение ёмкости; адресация секторами (по 512 байт - 2 ТБ); переход от FAT16 к FAT32 (до 32 ГБ официально, размер искусственно урезается до 2^26 секторов и взводится флажок в поле, где раньше обязан быть нуль). Протокол UHS-I (Ultra High Speed, SD 3.0) - до 104 МБ/сек (карты и устройства совместимы с 4-битным SD), UHS-II (SD 4.0) - до 312 МБ/сек. SDXC (SD 3.0) - объём официально увеличен до 2 ТБ с переходом на файловую систему exFAT. По слухам, карты SDXC работают в SDHC картоводах. Введены официальные рейтинги минимальной установившейся скорости записи на фрагментированной (?) файловой системе (заявляются изготовителем и не требуют подтверждения): Class 2 (2МБ/сек), Class 4 (4МБ/сек), Class 6 (6МБ/сек) и Class 10. Неофициально также маркируются максимальной скоростью чтения в единицах 150 KB/s (тяжёлое наследие CD-ROM), Transcend и Kingston обещали маркировать скоростью записи. UHS Speed class 1 (?, на официальном сайте SDA нет никаких цифр, кроме булшита маркетологов про "выше, дальше и юыстрее"). miniSD (длина - 21.5 мм, ширина - 20 мм, высота (возвращаемся к истокам (MMC) ;) - 1.4 мм, совместима с SD при использовании пассивного адаптера). microSD (ранее назывался TransFlash или T-FLash (T-Mobile подала в суд), длина - 15 мм, ширина - 11 мм, высота - 1 мм, совместима с SD при использовании пассивного адаптера). Карты SD предназначены для использования в ЦФА, соответственно их характеристики оптимизируются по цене и минимально необходимой производительности потоковой записи; их производительность при случайной записи блоками по 4KB ничтожна (2 IOPS). Например, KINGMAX SDHC Class 10 32GB через встроенный считыватель в мониторе Dell 3008WFP:
kernel: scsi 14:0:0:1: Direct-Access Generic Flash HS-COMBO 5.39 PQ: 0 ANSI: 0 kernel: sd 14:0:0:1: [sdi] Attached SCSI removable disk kernel: sd 14:0:0:1: [sdi] 62683136 512-byte logical blocks: (32.0 GB/29.8 GiB) kernel: sd 14:0:0:1: [sdi] Assuming drive cache: write through kernel: sdi: sdi1 lsusb -v Bus 002 Device 007: ID 0424:2228 Standard Microsystems Corp. 9-in-2 Card Reader idVendor 0x0424 Standard Microsystems Corp. idProduct 0x2228 9-in-2 Card Reader bcdDevice 5.39 iManufacturer 1 Generic iProduct 2 Flash iSerial 3 100602200123 Configuration Descriptor: MaxPower 100mA Interface Descriptor: bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) fdisk -lu /dev/sdi Disk /dev/sdi: 32.1 GB, 32093765632 bytes 216 heads, 26 sectors/track, 11161 cylinders, total 62683136 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x00000000 Device Boot Start End Blocks Id System /dev/sdi1 8192 62683135 31337472 c W95 FAT32 (LBA) /sbin/dosfsck -vn /dev/sdi1 dosfsck 3.0.9 (31 Jan 2010) dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN Checking we can access the last sector of the filesystem Boot sector contents: System ID " " Media byte 0xf8 (hard disk) 512 bytes per logical sector 32768 bytes per cluster 1086 reserved sectors First FAT starts at byte 556032 (sector 1086) 2 FATs, 32 bit entries 3916288 bytes per FAT (= 7649 sectors) Root directory start at cluster 2 (arbitrary size) Data area starts at byte 8388608 (sector 16384) 979040 data clusters (32081182720 bytes) 63 sectors/track, 255 heads 8192 hidden sectors 62674944 sectors total palimpsest чтение - 10 MB/s среднее время доступа - 2 ms bonnie++ Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP homebase.hom 20000M 7071 1 3682 1 8936 1 17.4 0Тот же KINGMAX SDHC Class 10 32GB через встроенный считыватель Acer Iconia Tab W500: palimpsest чтение - 17.5 MB/s среднее время доступа - 2.2 ms bonnie++ Version 1.96 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP iconia.homene 4000M 10359 6 5807 6 15786 6 25.0 2 Latency 1239ms 859ms 386ms 110ms
MemoryStick. Длина - 50 мм, ширина - 21.5 мм, высота - 2.8 мм. Напряжение питания - 2.7-3.6 вольт. Максимальная скорость записи - 1.8 МБ/сек, чтения - 2.45 МБ/сек. Максимальный объём - 128 МБ (двухсторонние карты для удвоения этого предела ;). Распространитель - Sony. Изготавливаемые ею устройства поддерживают именно этот тип карт (остальные типы карт поддерживаются, если вообще поддерживаются, только "для галочки"). Никакому другому производителю он не нужен. В общем, внутрифирменный стандарт - Sony очень не любит общепризнанные стандарты, предпочитая навязывать плохие, но свои. Со временем компания SanDisk также стала производить Memory Stick и сейчас эти карты занимают около 20% рынка. Magic Gate - вариант MS с защитой от несанкционированного копирования. Memory Stick Duo - уменьшенный вариант (длина - 31 мм, ширина - 20 мм, высота - 1.6 мм, совместима с MS при использовании пассивного адаптера). Memory Stick Pro - увеличение максимального объёма (до 32 ГБ) и скорости (до 10 МБ/сек). Возможны сочетания - Memory Stick Pro Duo Magic Gate. Memory Stick Micro (M2) - ещё меньший физический формат (15 х 12.5 х 1.2) и возможность работы от источника с напряжением 1.7-1.9 вольт.
xD-Picture Card. Распространитель - Olypmus, Fujufilm. Некоторые изготовители устройств скромно именуют их как "X Card", дабы не платить за лицензию. Не имеют встроенного контроллера (через пассивный переходник совместими с SMC), странно, что на цену это не повлияло. Малый объём (до 2GB), малая скорость, проблемы совместимости, большая стоимость лицензии. Глядя на нынешние проблемы владельцев фотокамер, использующих исчезнувшие SMC (предшественник xD), поневоле задумываешься о будущих проблемах владельцев Olypmus и Fujufilm. Type M - уменьшенный размер.
SuperSD (SanDisk) - гибрид MMCplus 4.0 и SD 1.1 (размер - 32x24x1.4 мм).
C-Flash (Pretec) - совместимость с MMCplus 4.0, SD, MemoryStick и USB 2.0 (размер - 12x17x1 мм).
SSD.
Флэш-накопители. Интерфейс USB 2.0 (High Speed) или USB 3.0 (Super Speed). Протокол - UMS (USB Mass Storage device class), драйвер которого входит в состав ОС, или USB Attached SCSI (UAS). Например, Transcend JetFlash 2A 1GB:
Fedora Core 3, Pentium 4, 2400MHz, 2048MB, i845(i865) kernel: usb 1-2: new high speed USB device using ehci_hcd and address 7 kernel: scsi2 : SCSI emulation for USB Mass Storage devices kernel: usb-storage: device found at 7 kernel: usb-storage: waiting for device to settle before scanning kernel: Vendor: JetFlash Model: TS1GJF2A Rev: 1.00 kernel: Type: Direct-Access ANSI SCSI revision: 02 kernel: SCSI device sda: 2007000 512-byte hdwr sectors (1028 MB) kernel: sda: Write Protect is off kernel: sda: assuming drive cache: write through kernel: sda: sda1 kernel: Attached scsi removable disk sda at scsi2, channel 0, id 0, lun 0 kernel: sda: Mode Sense: 0b 00 00 08 kernel: usb-storage: device scan complete scsi.agent[17428]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-2/1-2:1.0/host2/target2:0:0/2:0:0:0 fstab-sync[17479]: added mount point /media/usbdisk for /dev/sda1 kernel: FAT: utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive! kernel: SELinux: initialized (dev sda1, type vfat), uses genfs_contexts hdparm /dev/sda /dev/sda: HDIO_GET_MULTCOUNT failed: Invalid argument readonly = 0 (off) readahead = 256 (on) geometry = 1011/32/62, sectors = 1027584000, start = 0 fdisk -l /dev/sda Disk /dev/sda: 1027 MB, 1027584000 bytes 64 heads, 32 sectors/track, 979 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sda1 * 1 980 1002992 6 FAT16 Partition 1 has different physical/logical endings: phys=(845, 63, 32) logical=(979, 31, 32) bonnie: -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU CeleronM 900 3637 20.2 2928 2.0 2175 2.4 8784 42.0 8828 4.2 135.1 5.2 Fedora Core 5, Celeron 1.4, 256MB, i855M kernel: usb 4-5: new high speed USB device using ehci_hcd and address 4 kernel: usb 4-5: configuration #1 chosen from 1 choice kernel: scsi1 : SCSI emulation for USB Mass Storage devices kernel: Vendor: JetFlash Model: TS1GJF2A Rev: 1.00 kernel: Type: Direct-Access ANSI SCSI revision: 02 kernel: SCSI device sda: 2007000 512-byte hdwr sectors (1028 MB) kernel: sda: Write Protect is off kernel: sda: assuming drive cache: write through kernel: sda: sda1 kernel: sd 1:0:0:0: Attached scsi removable disk sda kernel: sd 1:0:0:0: Attached scsi generic sg0 type 0 kernel: SELinux: initialized (dev sda1, type vfat), uses genfs_contexts lsusb -v Bus 004 Device 004: ID 0c76:0005 JMTek, LLC. USBdisk idVendor 0x0c76 JMTek, LLC. idProduct 0x0005 USBdisk bcdDevice 1.00 iManufacturer 1 JetFlash iProduct 2 TS1GJF2A Configuration Descriptor: MaxPower 100mA Interface Descriptor: bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) bonnie++: Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 925M 7145 26 8318 3 3097 1 7934 27 8906 2 229.7 0
Однако! При замене ОС с FC3 на FC5 скорость записи увеличилась более чем вдвое на том же самом компьютере!
Patriot xporter xt:
Fedora Core 6, Pentium 4, 2600MHz, 1536MB, i865 kernel: usb 5-7: new high speed USB device using ehci_hcd and address 16 kernel: usb 5-7: configuration #1 chosen from 1 choice kernel: scsi10 : SCSI emulation for USB Mass Storage devices kernel: scsi 10:0:0:0: Direct-Access USB DISK 2.0 PMAP PQ: 0 ANSI: 0 CCS kernel: SCSI device sdd: 8060928 512-byte hdwr sectors (4127 MB) kernel: sdd: Write Protect is off kernel: sdd: assuming drive cache: write through kernel: sdd: sdd1 kernel: sd 10:0:0:0: Attached scsi removable disk sdd kernel: sd 10:0:0:0: Attached scsi generic sg3 type 0 kernel: SELinux: initialized (dev sdd1, type vfat), uses genfs_contexts lsusb -v Bus 005 Device 016: ID 13fe:1d00 bcdUSB 2.00 idVendor 0x13fe idProduct 0x1d00 bcdDevice 1.00 iManufacturer 1 iProduct 2 USB DISK 2.0 iSerial 3 07740CA82719 Configuration Descriptor: MaxPower 200mA Interface Descriptor: bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) bonnie++: Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP patriot 3900M 12311 35 10783 5 8871 5 23832 60 26855 5 557.5 3
Corsair Survivor GTR 32GB (Fedora 14, Intel Q6600, Intel P35, 8GB DDR2):
kernel: usb 1-1: new high speed USB device using ehci_hcd and address 4 kernel: usb 1-1: New USB device found, idVendor=1b1c, idProduct=1a95 kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 1-1: Product: Survivor GTR kernel: usb 1-1: Manufacturer: Corsair kernel: usb 1-1: SerialNumber: 1101041000000000 kernel: scsi16 : usb-storage 1-1:1.0 mtp-probe: checking bus 1, device 4: "/sys/devices/pci0000:00/0000:00:1a.7/usb1/1-1" mtp-probe: bus: 1, device: 4 was not an MTP device kernel: scsi 16:0:0:0: Direct-Access Corsair Survivor GTR 0.00 PQ: 0 ANSI: 2 kernel: sd 16:0:0:0: Attached scsi generic sg12 type 0 kernel: sd 16:0:0:0: [sdl] 63438848 512-byte logical blocks: (32.4 GB/30.2 GiB) kernel: sd 16:0:0:0: [sdl] Write Protect is off kernel: sd 16:0:0:0: [sdl] Assuming drive cache: write through kernel: sdl: sdl1 kernel: sd 16:0:0:0: [sdl] Attached SCSI removable disk lsusb -v Bus 001 Device 004: ID 1b1c:1a95 bcdUSB 2.00 idVendor 0x1b1c idProduct 0x1a95 bcdDevice 1.00 iManufacturer 1 Corsair iProduct 2 Survivor GTR iSerial 3 1101041000000000 Configuration Descriptor: MaxPower 480mA Interface Descriptor: bInterfaceClass 8 Mass Storage bInterfaceSubClass 6 SCSI bInterfaceProtocol 80 Bulk (Zip) fdisk -lu /dev/sdl Disk /dev/sdl: 32.5 GB, 32480690176 bytes 255 heads, 63 sectors/track, 3948 cylinders, total 63438848 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x04dd5721 Device Boot Start End Blocks Id System /dev/sdl1 2048 63438847 31718400 c W95 FAT32 (LBA) /sbin/dosfsck -vn /dev/sdl1 dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN Checking we can access the last sector of the filesystem Boot sector contents: System ID "MSWIN4.1" Media byte 0xf8 (hard disk) 512 bytes per logical sector 65536 bytes per cluster 448 reserved sectors First FAT starts at byte 229376 (sector 448) 2 FATs, 32 bit entries 1982464 bytes per FAT (= 3872 sectors) Root directory start at cluster 2 (arbitrary size) Data area starts at byte 4194304 (sector 8192) 495536 data clusters (32475447296 bytes) 63 sectors/track, 255 heads 2048 hidden sectors 63436800 sectors total palimpsest средняя скорость чтения - 34.3 MB/s среднее время доступа - 1 ms bonnie++ -s 20000 Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP homebase.hom 20000M 21709 4 10448 3 33779 3 18.0 0 bonnie++ -s 4000 -r 2000 Version 1.96 ------Sequential Output------ --Sequential Input- --Random- Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP homebase.home 4000M 16208 3 10834 3 46258 3 38.2 1 Latency 14326ms 770ms 11878us 2680ms
И для сравнения жёсткий диск Maxtor OneTouch II, ATA 300 GB, USB 2.0 (High Speed):
Fedora Core 3, Pentium 4, 2400MHz, 512MB, i845 T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 6 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0d49 ProdID=7110 Rev= 2.03 S: Manufacturer=Maxtor S: Product=OneTouch II S: SerialNumber=L60RT6HH C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 0mA I: If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=88(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=32ms ext3fs mounted with data=ordered -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU MaxtorOn 2000 20795 92.0 26729 8.5 12598 3.9 19660 78.5 33161 4.3 102.0 0.3
И жёсткий диск Seagate Barracuda 7200.9 ST3300822AS, SATA 300 GB, через AgeStar CFB3A1, интерфейс USB 2.0 (PL3507, Jmicron JM20330)
Fedora Core 3, Pentium 4, 2520MHz, 2048MB, i865 T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 13 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(&g;ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=067b ProdID=3507 Rev= 1.00 S: Manufacturer=Prolific Technology Inc. S: Product=Mass Storage Device S: SerialNumber=0 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=100mA I: If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms ext3fs, bonnie++ Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP homebase.home 5000M 22471 63 25983 8 10742 3 26868 72 32421 4 117.3 0
И жёсткий диск Seagate Barracuda 7200.9 ST3300822AS, SATA 300 GB, через AgeStar CFB3A1, интерфейс IEEE-1394 (PL3507, Jmicron JM20330)
Fedora Core 3, Pentium 4, 2520MHz, 2048MB, i865, Tekram TR-1394 kernel: ieee1394: Error parsing configrom for node 0-00:1023 kernel: ieee1394: Node changed: 0-00:1023 -> 0-01:1023 kernel: ieee1394: Node added: ID:BUS[0-00:1023] GUID[0050770e00071002] kernel: sbp2: $Rev: 1219 $ Ben Collinskernel: scsi7 : SCSI emulation for IEEE-1394 SBP-2 Devices kernel: ieee1394: sbp2: Logged into SBP-2 device kernel: ieee1394: Node 0-00:1023: Max speed [S400] - Max payload [2048] kernel: Vendor: ST330082 Model: 2AS Rev: kernel: Type: Direct-Access ANSI SCSI revision: 06 kernel: SCSI device sdb: 586072368 512-byte hdwr sectors (300069 MB) kernel: SCSI device sdb: drive cache: write through kernel: sdb: sdb1 kernel: Attached scsi disk sdb at scsi7, channel 0, id 0, lun 0 scsi.agent[17266]: disk at /devices/pci0000:00/0000:00:1e.0/0000:02:0c.0/fw-host0/0050770e00071002/0050770e00071002-0/host7/target7:0:0/7:0:0:0 ext3fs, bonnie++ медленно и зациклился в тесте позиционирования
Внешний (USB 2.0) читатель карт Apacer Mega Steno AM230 (23-in-1) |
Заявлена поддержка устройств: CF I/II (включая Microdrive), MMC 3, MMCplus 4, RS-MMC, MMCmobile 4, SD 1.0/1.1, miniSD 1.0/1.1 (вставлять контактами вверх), microSD (с переходником), TransFlash (с переходником), SmartMedia, MemoryStick [PRO [Duo]]. В комплект входит диск с драйверами и документацией (имя каталога: anual ;). Один светодиод (загорается при вставке карты, мигает при передаче). Можно копировать с одной карточки на другую. Начиная с некоторого времени поддерживает SDHC (подозреваю, что под "Rev: 9321" понимается Genesis Logic GL819 с прошивкой 9321, т.е. без поддержки SDHC).
При подключении пустого устройства сразу появляются 4 SCSI диска:
в FC3 (в данном случае: sdb - CF, sdd - SD, sde - MemoryStick) kernel: usb 1-6: new high speed USB device using ehci_hcd and address 12 kernel: scsi8 : SCSI emulation for USB Mass Storage devices kernel: usb-storage: device found at 12 kernel: usb-storage: waiting for device to settle before scanning kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Attached scsi removable disk sdb at scsi8, channel 0, id 0, lun 0 kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Attached scsi removable disk sdc at scsi8, channel 0, id 0, lun 1 kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Attached scsi removable disk sdd at scsi8, channel 0, id 0, lun 2 kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Attached scsi removable disk sde at scsi8, channel 0, id 0, lun 3 kernel: usb-storage: device scan complete scsi.agent[1693]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0/host8/target8:0:0/8:0:0:0 scsi.agent[1772]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0/host8/target8:0:0/8:0:0:3 scsi.agent[1736]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0/host8/target8:0:0/8:0:0:2 scsi.agent[1707]: disk at /devices/pci0000:00/0000:00:1d.7/usb1/1-6/1-6:1.0/host8/target8:0:0/8:0:0:1 в FC5 (в данном случае: sda - CF, sdb - SMC, sdc - SD, sdd - MemoryStick) kernel: usb 4-5: new high speed USB device using ehci_hcd and address 3 kernel: usb 4-5: configuration #1 chosen from 1 choice kernel: SCSI subsystem initialized kernel: Initializing USB Mass Storage driver... kernel: scsi0 : SCSI emulation for USB Mass Storage devices kernel: usbcore: registered new driver usb-storage kernel: USB Mass Storage support registered. kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: Vendor: Generic Model: STORAGE DEVICE Rev: 9321 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: 0:0:0:0: Attached scsi generic sg0 type 0 kernel: 0:0:0:1: Attached scsi generic sg1 type 0 kernel: 0:0:0:2: Attached scsi generic sg2 type 0 kernel: 0:0:0:3: Attached scsi generic sg3 type 0 kernel: sd 0:0:0:0: Attached scsi removable disk sda kernel: sd 0:0:0:1: Attached scsi removable disk sdb kernel: sd 0:0:0:2: Attached scsi removable disk sdc kernel: sd 0:0:0:3: Attached scsi removable disk sdd lsusb -l: Bus 007 Device 027: ID 05e3:070e Genesys Logic, Inc.
При этом в FC5 файловая система не монтируется при вставленной карте, пока пользователь не залогинится в Gnome. Аплет монтирования дисков сразу добавляет иконки 4 отключаемых дисков на панель (каждый из них называется "Generic STORAGE DEVICE" и выглядит одинаково, так что отличить их можно только по порядку букв дисков - см. выше). Наутилус добавляет иконки только смонтированных диска (вставленных карт) на рабочий стол. Здесь их можно отличить по объёму, но нельзя по порядку или имени.
При тестировании на основном компьютере (i845, FC3) обнаружился неприятный глюк: при записи больших файлов (больше 100 МБ) скорость записи падает до 1 МБ/секунду, при этом компьютер тормозит при любых обращениях к любым дискам (для SD 150x начинает проявляться позже и средняя скорость остаётся выше - 3 МБ/секунду). Поэтому тестирование скорости bonnie++ делал на ноутбуке (i855, FC5).
При вставке карточки (CF) она обнаруживается и монтирует раздел на первом из эмулируемых SCSI дисков (/dev/sdb1) на описанный у меня в /etc/fstab каталог (FC3):
kernel: SCSI device sdb: 2030112 512-byte hdwr sectors (1039 MB) kernel: sdb: Write Protect is off kernel: sdb: assuming drive cache: write through kernel: sdb: sdb1 kernel: SELinux: initialized (dev sdb1, type vfat), uses genfs_contexts
Вставленная карточка CF Transcend 80x (в отличие от остальных карт монтируется в каталог с выделенным именем /media/TRANSCEND) читается со скоростью 14.5 МБ/секунду, записывается (монтировать обязательно с async) со скоростью 10 МБ/секунду.
Fedora Core 5, Celeron 1.4, 256MB, i855M kernel: SCSI device sda: 2030112 512-byte hdwr sectors (1039 MB) kernel: sda: Write Protect is off kernel: sda: assuming drive cache: write through kernel: sda: sda1 kernel: SELinux: initialized (dev sda1, type vfat), uses genfs_contexts Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 910M 7256 27 12490 5 3050 1 8815 30 14765 3 762.0 2
Вставленная карточка SD/2GB Kingston читается со скоростью 12.6 МБ/секунду, записывается (монтировать обязательно с async) со скоростью 1.8 МБ/секунду. bonnie++:
Fedora Core 5, Celeron 1.4, 256MB, i855M kernel: sdc: assuming drive cache: write through kernel: SCSI device sdc: 3910656 512-byte hdwr sectors (2002 MB) kernel: sdc: Write Protect is off kernel: sdc: assuming drive cache: write through kernel: sdc: sdc1 kernel: SELinux: initialized (dev sdc1, type vfat), uses genfs_contexts Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 1850M 1518 5 1590 0 501 0 5084 18 12615 4 787.3 2
Вставленная карточка SD/2GB Transcend 150x (2.058 миллиарда байт вместо ожидавшихся 2.147) читается со скоростью 15 МБ/секунду, записывается (монтировать обязательно с async) со скоростью 12.5 МБ/секунду. Результаты bonnie:
bonnie -------Sequential Output-------- ---Sequential Input-- --Random-- -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks--- Machine MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU /sec %CPU 1000 10363 45.6 9206 3.1 5598 3.3 6483 28.0 14545 5.8 1474.8 4.1 Fedora Core 5, Celeron 1.4, 256MB, i855M kernel: SCSI device sdc: 4019200 512-byte hdwr sectors (2058 MB) kernel: sdc: Write Protect is off kernel: sdc: assuming drive cache: write through kernel: sdc: sdc1 kernel: SELinux: initialized (dev sdc1, type vfat), uses genfs_contexts Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 1960M 9488 36 13335 6 4339 2 12873 53 15633 3 699.4 2
Вставленная карточка SanDisk Memory Stick PRO Duo 64 MB читается со скоростью 6 МБ/секунду, записывается (монтировать обязательно с async) со скоростью 1.6 МБ/секунду, bonnie++ (-s 50 -n 0 -r 0) показывает странное (карточка маловата и помещается в кеш, но при попытке загрузиться с mem=96m система впадает в трешинг):
Fedora Core 5, Celeron 1.4, 128MB, i855M kernel: SCSI device sdd: 124416 512-byte hdwr sectors (64 MB) kernel: sdd: Write Protect is off kernel: sdd: assuming drive cache: write through kernel: sdd: sdd1 kernel: SELinux: initialized (dev sdd1, type vfat), uses genfs_contexts Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 52M 2207 8 11824 4 2108 0 3303 13 2319 0 1911 3
Внешний (USB 2.0) читатель карт EURODATA (19-in-1, www.eurodata.ru) |
Заявлена поддержка устройств (где они такие названия берут?): CF I/II (включая Microdrive, вставлять вверх ногами), xD, MMC, MMC II, HS-MMC, SD, SDC, SD Ultra, SmartMedia, MemoryStick [PRO [Duo]]. В комплект входит минидиск (имя тома на китайском, странно для eurodata.ru, хотя в обзоре на IXBT это устройство проходимо под маркой "no name" ;) с одним файлом (Driver.exe) - лаконичные люди. Зелёный светодиод загорается при подключении к компьютеру, красный при вставке карты (мигает при передаче). Можно копировать с одной карточки на другую.
При подключении устройства опять появляются 4 SCSI диска (но теперь видно кто есть кто, в т.ч. в аплете появляются картинки: sda - SD, sdb - CF, sdc - SM, sdd - MS):
kernel: usb 4-5: new high speed USB device using ehci_hcd and address 5 kernel: usb 4-5: configuration #1 chosen from 1 choice kernel: scsi2 : SCSI emulation for USB Mass Storage devices kernel: Vendor: Generic Model: USB SD Reader Rev: 1.00 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: sd 2:0:0:0: Attached scsi removable disk sda kernel: sd 2:0:0:0: Attached scsi generic sg0 type 0 kernel: Vendor: Generic Model: USB CF Reader Rev: 1.01 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: SCSI device sdb: 2030112 512-byte hdwr sectors (1039 MB) kernel: sdb: Write Protect is off kernel: sdb: assuming drive cache: write through kernel: SCSI device sdb: 2030112 512-byte hdwr sectors (1039 MB) kernel: sdb: Write Protect is off kernel: sdb: assuming drive cache: write through kernel: sdb: sdb1 kernel: sd 2:0:0:1: Attached scsi removable disk sdb kernel: sd 2:0:0:1: Attached scsi generic sg1 type 0 kernel: Vendor: Generic Model: USB SM Reader Rev: 1.02 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: sd 2:0:0:2: Attached scsi removable disk sdc kernel: sd 2:0:0:2: Attached scsi generic sg2 type 0 kernel: Type: Direct-Access ANSI SCSI revision: 00 kernel: sd 2:0:0:3: Attached scsi removable disk sdd kernel: sd 2:0:0:3: Attached scsi generic sg3 type 0
Тестирую те же самые карточки (bonnie++, FC5, notebook, i855):
CF Transcend 80x: Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 910M 3676 13 3722 1 1314 0 2594 9 2769 0 363.7 1 SD/2GB Kingston: Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 1850M 1759 6 1477 0 998 0 3812 13 4484 1 274.2 0
02:04.1 CardBus bridge: Texas Instruments PCI7420 CardBus Controller Subsystem: Wistron Corp. Unknown device 3005 kernel: pccard: PCMCIA card inserted into slot 0 kernel: cs: memory probe 0xe0200000-0xe02fffff: excluding 0xe0200000-0xe020ffff kernel: pcmcia: registering new device pcmcia0.0 kernel: hde: TRANSCEND, CFA DISK drive kernel: ide2 at 0x3100-0x3107,0x310e on irq 3 kernel: hde: max request size: 128KiB kernel: hde: 2030112 sectors (1039 MB) w/1KiB Cache, CHS=2014/16/63 kernel: hde: hde1 kernel: ide-cs: hde: Vcc = 3.3, Vpp = 0.0 hdparm -i /dev/hde /dev/hde: Model=TRANSCEND, FwRev=20050811, SerialNo= Config={ HardSect NotMFM Removeable DTR>10Mbs nonMagnetic } RawCHS=2014/16/63, TrkSize=0, SectSize=576, ECCbytes=4 BuffType=DualPort, BuffSize=1kB, MaxMultSect=1, MultSect=off CurCHS=2014/16/63, CurSects=2030112, LBA=yes, LBAsects=2030112 IORDY=no, tPIO={min:120,w/IORDY:120} PIO modes: pio0 pio1 pio2 pio3 pio4 AdvancedPM=no Version 1.03 ------Sequential Output------ --Sequential Input- --Random- -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks-- Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP notebook 910M 1435 5 1518 0 728 0 1341 11 1481 1 256.4 1
|
Bog BOS: hardware: Флэш накопители и флэш карты |