ReactOS switched to UniATA (a russian open source Universal ATA driver for Windows NT3.51/NT4/2000/XP) but now, after many tests, some problems popped up.
Here's the (russian) newsletter #61 chapter about it:
Again, I don't know if anyone is interested, btw I hope that could help both projects...Тернистый путь UniATA
Несмотря на то, что формально ReactOS работает с дисками SATA, у пользователей всё ещё возникают проблемы. К сожалению, UniATA не поддерживает AHCI (Advanced Host Controller Interface), который довольно широко распространён в современных материнских платах. Это приводит к сбоям, которые не могут быть устранены, пока Алексей Брагин не реализует полноценную поддержку AHCI. Также было обнаружено несколько ошибок в работе с некоторыми контроллерами SATA без AHCI. Например, в случае с чипсетом ATI IXP700, отсутствие необходимого флага приводило к использованию контроллера в неправильном режиме. Кристоф фон Виттич пытался разобраться с этим параллельно с другой проблемой. К тому же, у UniATA возникают проблемы с несколькими SATA контроллерами, когда те работают в режиме эмуляции IDE. Это также происходит из-за неверной или отсутствующей информации и настроек в драйвере UniATA, который неверно определяет контроллер и пытается работать с ним в неправильном режиме. Работа Кристофа, однако, осложняется недостатком тестеров с нужным аппаратным обеспечением.
Last but not least here's the UniATA features:
- DMA/UDMA support (up to ATA-133) on known and generic DMA on unknown controllers
- LBA48 (large drives greater than 128Gb) support
- SerialATA support (SATA, SATA-2)
- NT3.51 (including i386 version), NT4, 2000, XP, 2003 support (may be 2005 - not tested)
- support of contiguous set of modes UDMA0-UDMA6 (ATA-16/25/33/44/66/100/133)
- Support of numerous IDE controllers and generic ATA/ATAPI
- no reinstall required when migrating to different IDE controller or motherboard.
- internal command queueing and optimized execution order of read/write requests
- user-mode device management utility atactl.exe. You can change data transfer mode (PIO/DMA/UDMA) on the fly.
- tuning Read/Write cache, transfer modes and many other things via Registry settings
- list of bad/unreliable blocks, to prevent driver from treating HDD but return error immediately (Nikolai Vorontsov).