AHCI and SATA spec

All about the OSDev Wiki. Discussions about the organization and general structure of articles and how to use the wiki. Request changes here if you don't know how to use the wiki.
Post Reply
Klakap
Member
Member
Posts: 297
Joined: Sat Mar 10, 2018 10:16 am

AHCI and SATA spec

Post by Klakap »

I found that on AHCI page we have some structures from SATA spec 3.0 But SATA specification 3.0 is not freely available. Is it legal to have these things on wiki?
Octocontrabass
Member
Member
Posts: 5496
Joined: Mon Mar 25, 2013 7:01 pm

Re: AHCI and SATA spec

Post by Octocontrabass »

The SATA 1.0 specification seems to be freely available. Have the structures changed since then?
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: AHCI and SATA spec

Post by nexos »

Octocontrabass wrote:The SATA 1.0 specification seems to be freely available. Have the structures changed since then?
I found that doc about 5 minutes ago, and that made my day! I think for a hobby OS relying on that is OK, as I am sure that SATA implementation are probably backwards compatible with SATA 1.

Also, one could just look at Linux. That would be legal. Or you could just look at Haiku if you're concerned about licensing problems with the GPL 2.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
Octocontrabass
Member
Member
Posts: 5496
Joined: Mon Mar 25, 2013 7:01 pm

Re: AHCI and SATA spec

Post by Octocontrabass »

nexos wrote:I am sure that SATA implementation are probably backwards compatible with SATA 1.
There were quite a few mistakes in the original SATA 1.0 specification that were corrected in later versions. You might be able to find archived copies of the errata from before the SATA 2.5 specification was published in early 2006.
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: AHCI and SATA spec

Post by nexos »

Actually, the SATA spec is quite reasonably priced at $25 dollars. It might be a good investment depending on how serious you are.
My OS should support most storage devices. We have ATA and ACS free drafts. There are SCSI and SAS free drafts. AHCI is free, SATA is only $25. NVMe is free. I'd say that's pretty good!
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
Klakap
Member
Member
Posts: 297
Joined: Sat Mar 10, 2018 10:16 am

Re: AHCI and SATA spec

Post by Klakap »

Octocontrabass wrote:The SATA 1.0 specification seems to be freely available. Have the structures changed since then?
Thank you! I think that because SATA-IO selling specifications 2.5+, it mean that they do not care about spec 1.0, so it is free.
Ethin
Member
Member
Posts: 625
Joined: Sun Jun 23, 2019 5:36 pm
Location: North Dakota, United States

Re: AHCI and SATA spec

Post by Ethin »

I'm pretty sure that posgin source code for the figures in the SATA spec is perfectly legal. After all, it wouldn't make sense for them to bar that -- everything that can interface with SATA/AHCI has those definitions (or similar) and they'd have to go after *every* use of it, which would be impossible. I'd say that its similar to the NVMe specifications: those are free, but so long as you don't directly quote the document and claim that your work incorporating the spec is by NVM express, its perfectly legal -- because, again, open-source software contains those same definitions, and outlawing that would be nonsensical and unenforceable. But if there's a lawyer on here who can verify that, that'd be nice. But I'm pretty sure its legal because you can find those definitions in tons of OSS software. Same for the PCI specs. Just don't directly link to the paid specs.
nexos
Member
Member
Posts: 1078
Joined: Tue Feb 18, 2020 3:29 pm
Libera.chat IRC: nexos

Re: AHCI and SATA spec

Post by nexos »

I agree with what @Ethin said. If the code were illegal, then Linux would be long gone.
"How did you do this?"
"It's very simple — you read the protocol and write the code." - Bill Joy
Projects: NexNix | libnex | nnpkg
Ethin
Member
Member
Posts: 625
Joined: Sun Jun 23, 2019 5:36 pm
Location: North Dakota, United States

Re: AHCI and SATA spec

Post by Ethin »

Bumping this topic because I'd just like to add another reason to avoid SATA 1.0: the changes that've occurred in SATA 2.5+. The SATA 3.5A specification describes all the changes in Ch. 1. NCQ priority and unload is one of the features, as well as alterations to the BIST activate FIS, fast fail, and a few other things too.
Post Reply