Anonymous user
SATA: Difference between revisions
no edit summary
[unchecked revision] | [unchecked revision] |
No edit summary |
No edit summary |
||
(6 intermediate revisions by 5 users not shown) | |||
Line 1:
'''SATA''' Stands for "Serial AT Attachment", and is the current leading standard for harddrives and optical media, having succeeded the [[ATA|(Parallel) ATA]] interface. Practically all SATA drives can be used using either [[AHCI]] or [[ATA PIO Mode|ATA]].
Apparently, there are three supposedly definitive, conflicting standards for SATA. It may be best to wait for the industry to shake out a little more completely, before trying to write SATA drivers.▼
If you want to try anyway, then get the ATA7, and ATA8 technical docs from www.t13.org. Then maybe try paying $25 to get the technical specs from www.sata-io.org. Hopefully, the discrepancies between the standards aren't too bad.▼
==Introduction==
SATA
Computers that are currently shipped often are [[AHCI]] only, and backwards compatibility mode, if present, has to be manually enabled from the BIOS - a change that often comes with the cost of making the installed OSes unbootable.
The actual SATA specification is split into three distinct protocol 'layers'.
* Physical Layer - Information relating to the physical connectors, etc. Not especially relevant here.
* Link Layer
* Transport Layer
▲
▲If you want to try anyway, then get the ATA7, and ATA8 technical docs from [http://www.t13.org www.t13.org]. Then maybe try paying $25 to get the technical specs from www.sata-io.org. Hopefully, the discrepancies between the standards aren't too bad.
==Detection and Initialization==
Send a standard IDENTIFY command to the drive (0xEC). The drive should respond with an error in the ERR bit of the Status Register, and a pair of "signature bytes". On the Primary ATA bus, you get the signature bytes by reading IO ports 0x1F4 and 0x1F5, and you should see values of 0x3C and 0xC3.
==See Also==
* [[AHCI]]
===External Links===
Line 26 ⟶ 28:
* http://www.ata-atapi.com -- Public Domain C driver sourcecode, including SATA, Busmatering DMA, ATAPI -- not perfect, but good.
[[Category:ATA]]
[[Category:Disks]]
[[Category:Storage]]
[[Category:Standards]]
|