Проект: используем карты Compact Flash для сборки SSD
Мы достаточно давно интересуемся твёрдотельными винчестерами (SSD), относительно новыми накопителями, построенными на флэш-памяти. Несмотря на высокую цену, мы были вполне удовлетворены производительностью, и особенно низким временем доступа. В нашей статье мы предложим самодельное, но эффективное решение, позволяющее собрать собственный твёрдотельный накопитель: RAID 0 на картах Compact Flash.
Нажмите на картинку для увеличения.
Карты Compact Flash очень хорошо подходят для этой цели: их интерфейс является производной от PCMCIA, а использование карт в ПК (в виде IDE) было предсказано стандартом TrueIDE. Вам понадобится всего лишь переходник Compact Flash-IDE, который обеспечивает соединение контактов, и вы сможете заменить жёсткий диск набором карт Compact Flash.
Честно говоря, между современной картой Compact Flash и SSD мы не обнаружили какой-либо разницы, не считая физического размера и ёмкости.
Ограничения
Перед началом описания нашего проекта следует сделать ряд пояснений, чтобы вы лучше понимали принцип работы и то, какие материалы следует использовать.
Compact Flash и проблема скорости
Сначала следует выбрать модель Compact Flash. Все карты CF совместимы с форматом TrueIDE, но их поведение внутри ПК может различаться.
Первое – следует учитывать скорость самой карты. На основании этого критерия можно выделить три типа карт: классические для недорогих камер, быстрые для цифровых зеркальных камер и новые супер-быстрые карты для фотоаппаратов нового поколения.
Нажмите на картинку для увеличения.
Первые очень медленные, и вряд ли стоит использовать их в ПК. Они работают в режиме PIO (Programmed Input Output), который на ПК не позволяет получить скорость больше 4 Мбайт/с, одновременно ещё и нагружая процессор до 100%. Это самые обычные карты, которые, как правило, находятся ниже порога 100x.
Второй вид карт (100-150x) можно использовать в ПК: они работают в режиме Multiword DMA 2 и способны достигать скорости передачи данных до 16 Мбайт/с.
Наконец, карты нового поколения подходят для высоких скоростей. 266x (и 300x или Extreme IV) работают в режиме Ultra DMA 4 (66 Мбайт/с) и на практике показывают скорости выше 40 Мбайт/с. Подобные карты выпускают Transcend, A-DATA и Sandisk.
Съёмный и фиксированный режимы
Ещё нужно проверить, в каком режиме карта будет работать на ПК. Есть два типа карт: съёмные и фиксированные. Последние распознаются ОС как внутренние жёсткие диски, а первые – как съёмные накопители.
Проблема, на самом деле, идёт от разных версий Windows: они не могут размещать файл подкачки на съёмный диск (который, конечно, может быть удалён в любое время). Большинство карт Compact Flash являются съёмными. И до последнего времени единственным способом получить карту для фиксированного режима была покупка промышленного решения.
Эти карты предназначаются для компьютерных систем, и по умолчанию относятся к фиксированному типу. Но обычно они стоят дороже и, как правило, медленнее классических карт. К счастью, последнее поколение карт 266x (а именно, Transcend и A-DATA) с интерфейсом TrueIDE работают в фиксированном режиме.
Что касается других карт, то информация хранится в прошивке. Поэтому модифицировать карты очень сложно (даже при наличии инструментов).
Переходники с Compact Flash на IDE и SATA
Когда мы получили быструю карту, способную работать в фиксированном режиме, остаётся проблема с переходником Compact Flash-IDE. Подобные устройства можно купить за десятку долларов, но большинство моделей (особенно продающиеся на интернет-аукционах) несовместимы с быстрыми картами.
Добавление режима Ultra DMA требует модификаций, которые отсутствуют в большинстве переходников. Поэтому перед покупкой следует убедиться в поддержке Ultra DMA.
Вторая проблема касается современных материнских плат, у которых нет интерфейса PATA, поскольку карты Compact Flash несовместимы с SATA. Конечно, сегодня есть переходники с Compact Flash на SATA (или можно использовать переходник с IDE на SATA), но производительность у этих устройств может сильно различаться.
Так какую же карту выбрать?
В общем, выбор карт весьма ограничен. Вам понадобится быстрая карта (266x), которая с интерфейсом TrueIDE работает в фиксированном режиме, и переходник с Compact Flash на IDE, поддерживающий режим Ultra DMA.
Для наших тестов мы выбрали карты Transcend, хотя и модели A-DATA тоже неплохо подходят для данного сценария. Карты Sandisk мы бы не рекомендовали, поскольку Extreme IV (пусть даже они и достаточно быстрые) относятся к съёмному типу и могут вызвать проблемы, если вы захотите установить на массив из карт Windows XP.
Что касается денег, то всё очень просто: вам придётся заплатить от 50 до 100 евро за RAID-контроллер (у некоторых материнских плат есть встроенный RAID-контроллер с интерфейсами IDE) и примерно 10 евро за переходник. Что касается карт, то модели Compact Flash на 8 Гбайт станут оптимальным выбором, цена на них находится в пределах от 100 до 150 евро.
В итоге, если взять сборку из двух 8-Гбайт карт, RAID-контроллера и двух переходников, то мы получаем около 400 евро расходов, а производительность оказывается выше, чем у современных SSD.
Тестовое оборудование: карты и RAID-контроллер
Для нашего проекта мы взяли три карты Compact Flash 266x, один RAID-контроллер, поддерживающий четыре раздельных канала IDE, и три переходника с Compact Flash на IDE.
Карты Compact Flash
Мы взяли 4-Гбайт модели карт Transcend, которые любезно предоставила эта компания. Это карты 266x, которые при подключении через IDE поддерживают фиксированный режим. Когда вы подключите эти карты через IDE, компьютер распознает их как 4-Гбайт накопители Ultra DMA 4 (66 Мбайт/с), как и предполагалось. Производительность карт при подключении через “картовод” FireWire 800 оказалась 40 Мбайт/с на чтение и 35 Мбайт/с на запись.
Переходники с Compact Flash на IDE
Нажмите на картинку для увеличения.
Карты с поддержкой интерфейса SATA ещё не вышли, поэтому единственным вариантом остаются переходники с интерфейса Compact Flash на IDE. Для теста мы использовали три переходника от www.pcengines.ch.
Два из них используют 40-контактные гнёзда IDE, а один – 2,5″ формат. Пассивные переходники не имеют какого-либо чипа преобразования и совместимы с Ultra DMA. Ничего плохого про них сказать нельзя, они нормально работают с IDE.
RAID-контроллер
Нажмите на картинку для увеличения.
В качестве RAID-контроллера мы использовали карту A-CARD AEC-6897. Эта 64-битная карта PCI поддерживает четыре канала IDE. Мы использовали её в 32-битном разъёме, поскольку материнской платы с 64-битной PCI под рукой не было.
RAID-контроллер поддерживает режимы RAID0, RAID1, RAID0 + 1 и RAID 5. В отличие от многих карт IDE RAID, он предоставляет четыре независимых разъёма и канала, что позволяет работать более чем с двумя устройствами в режиме RAID 0, не ограничивая пропускную способность. Мы хотели бы поблагодарить компанию A-Card за предоставленный RAID-контроллер.
В качестве тестовой машины использовалась Dell Dimension 9200 под Windows XP. RAID-контроллер был единственным устройством на шине PCI, чтобы её не перегружать.
- Dell Dimension 9200 (материнская плата Intel на P965);
- Core 2 Duo E6600;
- 2 x 1 Гбайт PC4200 Samsung;
- nVidia GeForce 7900 GS;
- блок питания Dell 375 Вт.
Единственным слабым местом в этой сборке является малый объём корпуса: RAID-контроллер вместе с тремя IDE-переходниками занимают немало места. Поэтому корпус должен быть просторным.
Тест: синтетическая производительность
Время доступа
Низкое время доступа – одно из лучших преимуществ флэш-памяти. Ниже представлены результаты, полученные с помощью IPEAK, хотя и старого теста (выпущен в 1999 году), но способного дать достоверные и повторяемые измерения.
На графике можно сразу же отметить несколько особенностей: флэш-память имеет очень низкое время доступа по сравнению с жёстким диском (здесь приведены данные 250-Гбайт Western Digital на 7 200 об/мин). Даже более быстрый винчестер, такой, как Raptor (самый быстрый жёсткий диск на потребительском рынке по времени доступа), не опускается ниже 8 мс. Второй интересный момент: переход на RAID 0 не влияет на время доступа. У жёстких дисков синхронизация в массиве RAID приводит к повышению времени доступа, пусть и незначительно. В случае с флэш-памятью этого нет.
Если посмотреть на разброс времени доступа (то есть на разницу между минимальным, средним и максимальным временем доступа), то у SSD он совершенно небольшой, как и можно было ожидать от флэш-памяти.
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Преимущество по времени доступа определённо является плюсом, поскольку ПК с SSD окажется более отзывчивым, чем с жёстким диском.
Скорость чтения
Как можно видеть, чтобы обойти обычный жёсткий диск, потребуется не меньше двух карт CF в режиме RAID 0. Одной карты просто недостаточно. Но, что удивительно, скорость чтения в RAID 0 между двумя и тремя картами почти не различается.
Мы не знаем, в чём причина данного ограничения, поскольку производитель заверил нас, что все каналы работают независимо. Возможно, RAID-контроллер не рассчитан на чтение с трёх дисков или карта просто оптимизирована под 64-битную шину PCI.
Следует отметить, что тесты проводились с блоками по 64 кбайт. Дело в том, что блоки меньшего размера и флэш-память сочетаются не очень хорошо.
Нажмите на картинку для увеличения.
Нажмите на картинку для увеличения.
Скорость записи
Мы не стали тестировать скорость записи на жёсткий диск (поскольку для этого требуется чистый винчестер), да и она не очень далека от скорости чтения. Между двумя и тремя картами различий практически нет, но между одной и двумя картами разница ощутима.
Преимущество по записи, обеспечиваемое RAID, очень интересно. Винчестер Samsung SSD, который мы тестировали в прошлом году, не смог выйти за порог 30 Мбайт/с.
Тест: практическая производительность
Затем мы решили измерить производительность в наиболее близких для нас условиях. Сначала мы использовали тест H2bench, он не новый, но всё ещё актуальный.
Тест H2bench симулирует доступ к жёсткому диску (чтение и запись), характерный для выполнения разных программ и сценариев.
Тесты говорят сами за себя! Сборка на основе Compact Flash намного превосходит жёсткий диск по производительности. Жёсткий диск Samsung SSD в этом тесте даёт результат около 45, а наша сборка почти достигла 60 (57,7). Данный тест объясняет, почему флэш-карты сегодня становятся всё популярнее по сравнению с жёсткими дисками. Более интересно, что одна карта Compact Flash даёт практически такую же производительность, что и Samsung SSD, – 37.
Комментарии по тестам
Мы не смогли провести тесты времени автономной работы и скорости загрузки ОС. Первый тест, вполне понятно, вряд ли можно провести, поскольку всю эту конфигурацию в ноутбуке не уместишь. А тест времени загрузки ухудшается из-за инициализации RAID-контроллера, у которого используется собственный BIOS, а также по причине загрузки дополнительных драйверов
На практике результаты чуть уступают жёсткому диску (по данным Bootvis, утилиты Microsoft), но время старта системы на RAID слабо соотносится с производительностью реальных приложений.
Очень низкое время доступа вместе с высокой скоростью передачи заметно улучшают отзывчивость компьютера. Разница между нашей сборкой и топовой моделью SSD вполне очевидна. Запуск приложений выполняется очень быстро, практически мгновенно, а задержки, которые всегда присутствуют у жёсткого диска, полностью исчезли. Наконец, наша сборка работает абсолютно бесшумно.
Несколько замечаний по RAID 5
Изначально мы хотели провести тесты на сборке RAID 5, которая и увеличивает скорость передачи данных, и защищает информацию. Но у нас возникла проблема: данный RAID-контролер даёт в конфигурации RAID 5 блоки всего по 8 кбайт.
Производительность чтения оказалась очень хорошей (близкой к RAID 0), но скорость записи была очень низкой. Кроме того факта, что вычисления чётности RAID 5 выполняет центральный процессор, 8-кбайт блоки очень сильно снижают производительность по причине внутренней работы флэш-памяти.
Дело кроется во внутренних блоках флэш-памяти. Говоря простыми словами, считывание производится на уровне страниц (обычно 2 кбайт), а запись – на уровне блоков (обычно 128 кбайт).
Все операции с файлами меньше упомянутых размеров будут замедляться: то есть запись 2-кбайт файла теоретически занимает столько же времени, сколько запись 128-кбайт файла.
RAID 0 работает, разделяя данные на блоки (например, по 64 кбайт), после чего данные распределяются на несколько физических носителей, записываясь на них параллельно.
Таким образом, если мы будем работать с маленькими блоками (например, 8 кбайт), то запись окажется весьма медленной из-за работы на блоковом уровне. Для оптимальной эффективности в RAID 0 следует выбирать блоки не меньше 64 кбайт (а лучше 128 кбайт, если это возможно).
Заключение: взгляд в будущее
Подведение итогов мы начнём с оценки технологии. Как вы могли увидеть, производительность оказывается существенно выше, чем у жёсткого диска, и сборка RAID 0 в некоторых случаях позволяет удвоить производительность, причём не в ущерб времени доступа.
Что любопытно, карта Compact Flash сама по себе вплотную приблизилась к производительности Samsung SSD. По деньгам 8-Гбайт карту Compact Flash может позволить себе практически любой пользователь, и при этом он получит высококлассную производительность. Ёмкости 8 Гбайт будет достаточно для установки операционной системы Windows XP, а нулевой уровень шума является ещё одним преимуществом.
Что касается производительности, то массив RAID 0 на нескольких картах работает лучше, чем один твёрдотельный винчестер SSD, хотя ценовые рамки получаются примерно одинаковыми.
Наши тесты показали, что хотя время доступа флэш-памяти является самым большим преимуществом, скорость передачи данных не менее важна.
Есть ощутимая разница между протестированными SSD, которые не превышают 30 Мбайт/с по чтению, и нашей конфигурацией, обеспечившей почти 70 Мбайт/с. Можно ожидать, что следующее поколение SSD-винчестеров серьёзно шагнёт вперёд по производительности.
Стоит ли покупать? Да, если вам нужна тишина, производительность, и вы не боитесь платить за новые технологии.
Определённо нет, если вы можете ещё подождать или у вас большие требования к объёму хранения данных. Подсистема хранения получится быстрой и эффективной, но в то же время дорогой и заметно ограниченной по объёму. Ситуация в ближайшее время вряд ли изменится, поскольку флэш-память эволюционирует, но и жёсткие диски не стоят на месте.
В итоге мы получили эффективную, быструю и тихую сборку. С другой стороны, она занимает немало места в корпусе и требует наличия интерфейсов IDE, которые встречаются всё реже.
Преимущества.
- Высокая производительность;
- ничтожно малое время доступа;
- бесшумная работа.
Недостатки
- Занимает много места в корпусе;
- низкая производительность в RAID 5;
- ограниченная ёмкость;
- высокая цена.