Версия для печати темы
Форум разработчиков электроники ELECTRONIX.ru _ IDE/ATA/SATA/SAS/SCSI/CF _ Самодельный IDE SSD на SD-картах
Автор: GrayCat Nov 2 2008, 20:33
Наверное, нет смысла долго расписывать преимущества SSD (==Solid State Drive) в применении к домашним интернет-серверам, файл-серверам, технологическим компьютерам и т.п. Собственно, в промышленности SSD и DOC (==Disk-on-Chip) применяются уже давно. Так что пора переносить эту технологию и "в дом"!
Сразу рассмотрю возможные альтернативы:
- USB-Flash. Сами по себе они всем хороши: нынче дешевы, объемны, быстры, и с каждым годом все объемистее и быстрее . Однако, далеко не все мат. платы старше примерно 2000 года умеют загружаться с USB, также многие ОС не способны загрузиться с него, даже несмотря на поддержку BIOS.
- CompactFlash-карта через переходник CF->IDE. Вариант замечателен тем, что не требует никакой особой драйверной поддержки, должен работать со всем, что умеет использовать обычные IDE-диски. Однако сами CF-карты довольно дороги, и развиваются медленно: ведь сейчас, фактически, почти единственная область их применения - профессиональные фотокамеры, да и там они уже заменяются форматом SD. Плюс, самостоятельная сборка платы CF->IDE чревата пайкой 50-пинового разъема с шагом 1мм (с учетом двухрядности), что не всем под силу.
- Есть еще экзотические варианты адаптеров карт памяти типа SmartMedia или Memory Stick в форме 3.5" дискеты...
Так что очень перспективным вариантом самодельного SSD мне лично видится следующий:
- Эмулятор IDE-диска на карте (картах) памяти SD Card через микроконтроллер семейства AVR.
- С одного "конца" эмулирует IDE-накопитель. Достаточно реализовать режим PIO-0 (max. 3.3 МБ/с) хотя и такую скорость вряд ли можно будет из ATMegи выжать. Я надеюсь на хотя бы несколько сотен кБ/с. Зато время доступа будет приятным . Вспомним, что в середине 90-х винчестеры имели как раз примерно такую реальную скорость обмена, плюс времена доступа в десятки миллисекунд. Для домашнего Инет-сервера с загружаемым раз в полгода Линуксом - вполне хватит.
- Если правильно реализовать весь протокол опознания устройства и обмен по шине, то оно будет абсолютно эквивалентно IDE HDD для любого BIOS и ОС. Не потребуется спец. драйверов или каких-то изощрений.
- С другого конца - одна или несколько SD-карт. Они сейчас стремительно растут в объемах и дешевеют. Слоты под них "малоножечные", и в крайнем случае могут быть выкушены из дешевых ($6) кардридеров. Есть даже вариант использовать mini/micro-SD, а в качестве слота для них припаять переходник mSD->SD.
- Уже накопилось много "Б/У" карт небольших, по современным меркам, объемов, которые после замены на новые просто "отдыхают" на полках. Так что, думаю, есть смысл закладывать в устройство возможность использования нескольких (2...8) "чипселектов", и, соответственно, в софте предусматривать возможность "склеивания" карт в один логический том.
- Как вариант: сделать даже не IDE-устройство, а ISA-плату, эмулирующую диск вместе с IDE-контроллером. Однако, такое не подключишь к современным PC...
- Для ускорения обмена можно рассмотреть применение CPLD/FPGA, внешней (по отношению к микроконтроллеру) ОЗУ и т.п.
Конечно, идея IDE->SD не мне первому пришла:
http://electronix.ru/redirect.php?http://www.sdcard.ru/memory/121#more-121
http://electronix.ru/redirect.php?http://cgi.ebay.com.sg/ws/eBayISAPI.dll?ViewItem&item=110302069482&indexURL=#MRLOCATE
Однако, в наших краях это все экзотика. Плюс, в большинстве подобных устройств не предусмотрено более одной карты.
Итак.
Может, кто-то уже делал что-то подобное? Навскидку я ничего не нашел...
Или же заняться самому? Готовые библиотеки работы с SD/MMC имеются. Аппаратных никаких особых изысков не предвидится (если не пытаться выжимать UDMA-133
). Единственная неизученная толком область - собственно, эмуляция IDE. Но тут хотя бы документации много.
Что скажете?
Автор: AlexandrY Nov 2 2008, 21:47
Серию SST85 не смотрели?
http://electronix.ru/redirect.php?http://www.sst.com/products.xhtml/nand_flash_storage/
По любому будет дешевле ваших изысканий
Цитата(GrayCat @ Nov 3 2008, 01:03)
Moderator:
Бездумное цитирование удалено.
Автор: GrayCat Nov 2 2008, 22:11
Вот нашел инет-продавца таких штук:
http://electronix.ru/redirect.php?http://www.dealextreme.com/details.dx/sku.1698
$13.44 +доставка ОТТУДА
Цитата(AlexandrY @ Nov 2 2008, 23:47)
Серию SST85 не смотрели?
http://electronix.ru/redirect.php?http://www.sst.com/products.xhtml/nand_flash_storage/
По любому будет дешевле ваших изысканий
Конечно дешевле... при тираже 10000шт.
Где у нас такое чудо можно купить поштучно? И то цена будет 20 евров/шт. минимум только за саму микросхему...
Автор: rx3apf Nov 3 2008, 18:41
Цитата(GrayCat @ Nov 2 2008, 23:33)
Или же заняться самому? Готовые библиотеки работы с SD/MMC имеются. Аппаратных никаких особых изысков не предвидится (если не пытаться выжимать UDMA-133
). Единственная неизученная толком область - собственно, эмуляция IDE. Но тут хотя бы документации много.
Что скажете?
Заниматься этим с целью сделать устройство - бесполезная трата времени и сил. К тому времени, когда оно "задергает ножками", готовых решений уже будет как грязи, что законченных накопителей (причем сделанных "правильно", т.е. с грамотно реализованной стратегией использования блоков, чтобы ресурс был действительно значительный, а не сдохло бы через месяц из-за интенсивного износа в области FAT) , что переходников с карточек на IDE или SATA. BTW, уже второй раз вижу на iXBT упоминание о таком переходнике, но разом на шесть карт SD (6xSD->SATA, до 192 гигов общий объем, но стоит, правда, довольно существенно). И уж могу сказать с уверенностью, что пытаться что-то такое реализовать на AVR - абсолютно бесперспективное дело, будет крайне медленно и печально...
Автор: ukpyr Nov 3 2008, 19:01
лисапет.
трехколесный.
для SD/microSD есть это :
http://electronix.ru/redirect.php?http://www.ixbt.com/storage/readers-p17-pretec.shtml
http://electronix.ru/redirect.php?http://www.ixbt.com/storage/readers-p24-idm.shtml
хотя все равно дороже usb флешек.
платы без usb загрузки стремительно вымирают, давно таких не видел.
подумайте во что обойдется реализация быстрого IDE интерфейса с DMA и всеми наворотами...
Автор: rx3apf Nov 3 2008, 19:51
Цитата(ukpyr @ Nov 3 2008, 22:01)
лисапет.
трехколесный.
для SD/microSD есть это :
http://electronix.ru/redirect.php?http://www.ixbt.com/storage/readers-p17-pretec.shtml
http://electronix.ru/redirect.php?http://www.ixbt.com/storage/readers-p24-idm.shtml
хотя все равно дороже usb флешек.
Цены и на карты, и, особенно, на "законченные" USB-флешки, очень и очень различаются. В разы. Причем производители говорят о чем угодно, изгаляются с корпусами как могут, красят во всевозможные цвета, но что до скоростных характеристик - куда там партизанам на допросе... Так что все это лотерея. Если вдруг кого интересует более-менее скоростной одностандартный "картовод" - http://electronix.ru/redirect.php?http://www.dealextreme.com/details.dx/sku.6858
20 мб/сек на чтении дает, за три бакса самое оно...
Цитата
подумайте во что обойдется реализация быстрого IDE интерфейса с DMA и всеми наворотами...
Да уж ! © Заниматься разработкой такого изделия в единичном экземпляре "для себя" - это какая-то особо изощренная форма мазохизма. Для серийного производства - с фирмами, собаку съевшими на этой тематике, и высокопроизводительными китайцами, тиражирующими результат работы оных фирм - конкурировать совершенно нереально. Чтобы "для себя" разобраться и как-то использовать в своих разработках - тоже как-то не очень, весьма трудозатратно, а выхода на копейку...
Автор: vetal Nov 3 2008, 20:21
Цитата
Сразу рассмотрю возможные альтернативы:
Еще пару вариантов забыли добавить:
1. Использование давно используемых индустриальных решений решений IDE Flash Disk(Disk on chip и пр.) по ценам 100р@32M до примерно 1100р@1G
2. Использование уже доступных SSD по цене соизмеримой со стоимостью памяти на других носителях. 3700р@32Gb.
Автор: GrayCat Nov 3 2008, 21:00
Ну во-о-от, сразу все в цену уперлись... А как же романтика?!
Вы же видели, я сам привел ссылки на подобные устройства, в т.ч. за $13 (блин, доставка дороже выйдет ). Также я писал уже, что не собираюсь выжимать петабайты/сек; для нечастой загрузки Линукса вполне хватит пары сотен кБ/с в PIO-0, как у винчестеров середины 90-х.
Хотя, конечно, все это бред сивой кобылы, записанный с ее слов...
Автор: ukpyr Nov 3 2008, 21:16
АТМега даже PIO 0 не потянет - посмотрите диграммы обмена в стандарте IDE/ATAPI, не успеет. может какой-нибудь ARM с внешней шиной или интерфейс на CPLD.
несколько лет назад тут уже была похожая тема, кто-то сделал такой преобразователь на м8515, кое-как работал с нарушением стандарта.
Автор: sigmaN Dec 28 2008, 13:20
Я бы с удовольствием ради спортивного интереса заморочился бы с быстрым IDE с DMA и всеми наворотами. Не боги горшки обжигают. Потихоничку бы всё заработало как надо. Просто времени на это не то что нету, а воообще нет!
А ещё кэш прикрутить метров на 128.
Заложить сразу быстрый проц, чтоб рулил всё это.
Да, и карточек 6 чтоб было и организовать неконе подобие RAID0 на них.
Будет transfer rate на чтение невиданный просто!
Да и на запись получится прилично. +время доступа некислое.
Вполне конкурентноспособный продукт:-)
Автор: rokhan Dec 28 2008, 17:18
spartan3A + 8+10 SDHC+ 128MB ram на + PCI-E 1x == 256GB +CRC
можно повеселится
но думаю это будет дороже 256GB SSD который уже стоит в пределах 500$
Автор: SIA Dec 28 2008, 17:40
Цитата(rokhan @ Dec 28 2008, 20:18)
spartan3A + 8+10 SDHC+ 128MB ram на + PCI-E 1x == 256GB +CRC
можно повеселится
но думаю это будет дороже 256GB SSD
который уже стоит в пределах 500$
Подобный проект имеет определенный смысл только в одном случае - когда нужно регистрировать действительно большой поток данных, скажем, от быстрого АЦП, и для этого нужно параллельное включение большого (>>20) числа флэшей. Но и то практичнее такой дивайс собрать на чипах флэш-памяти, а быстрый обмен с "внешним миром" сделать на связке гигабитных этернетов.
Автор: yuris2009 Jun 9 2009, 15:53
Господа,
Кто-нибудь делал схему интерфейса microSD c процессором MPC5200?
Нужно от 2 до 8 GB вместо CF. Можно сыылочку на инфу.
Какие могут быть проблемы?
Заранее спасибо.
Автор: ivstech Nov 11 2009, 06:08
Цитата(ukpyr @ Nov 4 2008, 03:16)
АТМега даже PIO 0 не потянет - посмотрите диграммы обмена в стандарте IDE/ATAPI, не успеет. может какой-нибудь ARM с внешней шиной или интерфейс на CPLD.
несколько лет назад тут уже была похожая тема, кто-то сделал такой преобразователь на м8515, кое-как работал с нарушением стандарта.
Это был я. Вот тема http://electronix.ru/forum/lofiversion/index.php/t24588.html
Ссылка на исходный код http://electronix.ru/redirect.php?http://www.buiankin.narod.ru/ide/ide-mmc.rar
Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)