There are people in the world who single-handedly saw their ingenious protracted construction workers, abandon them, continue to do it again ... And nobody knows about their projects. Alter , the author of the UniATA driver, is one of them.
Preparing another topic with news from the life of the ReactOS team, I was amazed to realize that such a brilliant development as UniATA was not only never mentioned in Habré, but also uses undeserved oblivion on the Internet. UniATA is a universal ATA-device driver in every sense of the word, it has been developed since 2002. The key feature is that the driver does not require reinstalling the OS when changing the IDE controller or motherboard.
The project is in dire need of testers! UPD Alter discovered this topic and received +10 morale, as a result came out Version 0.42h
The first tests AHCI ATAPI passed successfully.
SATA and AHCI ATAPI now no longer switch to PIO mode for executing commands other than read and write.
Added support for READ16 / WRITE16 / VERIFY16 / READ_CAPACITY16 SCSI commands emulation. This is necessary to expand the address space of LBA to 64 bits, which makes it possible to work with disks larger than 2 TB, which use more than 32 bits for LBA. Note: Top level disk drivers must also support this feature.
a large list of IDE controllers, as well as any other ATA / ATAPI compatible controllers.
hot swapping IDE devices in OS under w2k
internal command queue and execution of read / write operations in a more optimal sequence
user-mode atactl utility for managing ATA / ATAPI devices. You can find the data transfer mode (PIO / DMA / UDMA).
caching settings, speed and more in Registry
a list of bad / unreliable blocks so that the driver does not torture the disk, but immediately returns an error (Nikolai Vorontsov).
Why and who needs such a driver? I tell you: it makes sense to install UniATA if the drivers for your old OS are not attached to the new motherboard. Or vice versa - there is an old board on which you need to hoist a new Windows. Of course, there are standard built-in drivers that will probably recognize this hardware and will work with it. But how ... In PIO mode, i.e. 0.5-3 Mb / s And UniATA will work in DMA or UltraDMA mode, which is significantly (sometimes even 10 times) faster. But another problem - the new screws with a capacity of more than 128 GB (LBA-48 or BigLba). In old operating systems, their support is not provided at all, and new ones require the latest Service Packs. Support for such screws is built into UniATA. And finally - the situation of changing the motherboard. This is usually a non-trivial task. If you simply make a replacement, the drivers from the previous board do not recognize the new IDE controller and the system will not boot. We'll have to return the board back, forcibly change the drivers to standard ones, change the board again and install new ones. You can forget about going with your boot drives to your friends (or to work) (or be content with a speed of 0.5-3 Mb / s). Since UniATA supports a large list of controllers and, in addition to the list, understands almost any standard (usual onboard primary / secondary), this problem is also solved. UniATA also understands the new SATA and AHCI controllers. Below you can read a more detailed (and more technical) list of usefulness.