Дмитрий Радищев (dibr) wrote,
Дмитрий Радищев
dibr

минутка техноложества

А интересно, сильно ли отличаются интерфейсы IDE (PATA) и SATA? "По проводочкам" отличаются сильно, а вот по, тсзть, протоколу?


Вопрос из чистого праздного любопытства. Но вот почему он возник.

Интерфейс IDE в его изначальном (PIO) варианте по сегодняшним меркам, конечно, жутко устарел - по сути "контроллер IDE" был не сильно больше чем дешифратором адреса на шине ISA, а собственно основной работой занималась электроника HDD (потому и IDE - Integrated Drive Electronics - "электроника" была "интегрирована в привод"). Но на момент своего появления IDE был вполне прогрессивен - использовавшиеся до этого в персоналках контроллеры HDD лично шевелили головками привода, ловили и дешифровывали сигналы с этих головок, и вообще занимались несвойственной для "платки в слоте" деятельностью. Поэтому было логично вынести всю эту кишечную перистальтику внутрь привода, а снаружи оставить что-то универсальное и одинаковое для всех. Но, ессно, через несколько лет оказалось, что интерфейс "слишком прост", потому сильно грузит процессор, и начались всякие расширения вроде DMA, UltraDMA, и так далее. Расширения сейчас почти обязательные, но, поскольку не то чтобы очень тривиальные, совсем простыми устройствами всё-таки не поддерживаемые.

Вот, например, карточки CompactFlash, для которых совместимость с IDE заявлена в стандарте, DMA поддерживают не всегда, поэтому "поставить винду на CF" мне, например, так и не удалось (винда - XP). Или переходники с SD на IDE, с которыми та же фигня - ДОС грузится, XP - нет (может быть можно запинать, но мне было лениво). При этом переходник с SD на IDE стоит "ощутимо" - $10-15 - то есть микросхема там не очень тривиальная (хотя казалось бы).

А теперь SATA. Интерфейс, пришедший на смену IDE/PATA, потому достаточно простой, но с IDE не совместимый - ни "по проводочкам" (что очевидно), ни "со стороны контроллера": софт, умеющий работать только с IDE, с SATA умеет работать только если контроллер SATA загнать в режим эмуляции IDE, в "родном" режиме - ой. А это значит, что SATA с точки зрения софта не является "расширением" IDE, а является может быть и близким, но новым интерфейсом, а значит никаких причин иметь там аналог режима "PIO" нет, можно не плодить лишних сущностей (ненужных режимов) и "сразу делать хорошо".

А теперь, собственно, любопытство. Существуют переходники IDE/SATA. Двунаправленные, замечу, переходники - направление выбирается перемычкой. Стоят они при этом, несмотря на то, что интерфейсы вроде ощутимо разные, доллара так два с половиной - столько же стоит пассивный переходник CF/IDE, в котором микросхем нет вообще, есть разве что пара то-ли транзисторов, то-ли стабилизаторов, в-общем, чего-то очень дешевого. А это значит, что микросхема в IDE/SATA очень простая и дешевая - в разы проще и дешевле, чем в SD/IDE. Но если мы теперь воткнём переходник SD/IDE в переходник IDE/SATA, мы должны получить интерфейс SATA, на который "винда поставится" (ну, с "кнопкой F6" и соответствующими драйверами), потому что интерфейс новый, и "старых режимов", которые винда не хочет, там тупо нет. А если теперь воткнём это в ещё один переходник, уже SATA/IDE (я ещё не говорил, что я извращенец?), получим снова IDE, но уже вроде как с DMA, ибо иначе зачем был бы нужен такой переходник (его в этом режиме используют для апгрейда старых компов новыми винтами).

Но тогда получается, что за $5 ("в розницу", с учётом печатной платы, разъёмов, пайки, и всего вот этого), мы делаем IDE/DMA из IDE/PIO. А значит, DMA из PIO делается очень дёшево, и в цене адаптера SD/IDE, если бы он поддерживал бы ещё и DMA, это почти не отразилось бы. А спрос был бы точно выше - с DMA из таких контроллеров можно куда больше пользы выжать! Однако DMA там нет, значит "в действительности всё не так как на самом деле".

А на самом деле - где я ошибаюсь в рассуждениях? Пока наиболее вероятным кажется, что облом наступит на этапе IDE/SATA: если адаптеру IDE/SATA нужно DMA на стороне IDE, то ясно что будет ой.


Отдельный интересный вопрос: существуют просто адаптеры SD/SATA (они же на жаргоне "SD to SSD", ибо есть, например, на четыре карточки и с режимом RAID). А у них как с совместимостью с современными системами? По идее, должно быть всё хорошо - SATA интерфейс новый, совместимостью с IDE не перегруженный, раз уж он работает, то работает со всеми. Но - вдруг и там есть что-то вроде "режима PIO" (хотел сказать "для DOS", но задумался), и отдельно - что-то вроде "DMA"? Тогда несовместимость может быть.


А КДПВ у нас нынче unrelated: "фрезерная киска" :-)


IMG_20140929_222616

Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 31 comments