А интересно, сильно ли отличаются интерфейсы 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: "фрезерная киска" :-)