Page 1 of 1

AHCI and SATA spec

Posted: Thu Aug 26, 2021 1:40 pm
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?

Re: AHCI and SATA spec

Posted: Thu Aug 26, 2021 3:50 pm
by Octocontrabass
The SATA 1.0 specification seems to be freely available. Have the structures changed since then?

Re: AHCI and SATA spec

Posted: Thu Aug 26, 2021 4:02 pm
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.

Re: AHCI and SATA spec

Posted: Thu Aug 26, 2021 5:42 pm
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.

Re: AHCI and SATA spec

Posted: Fri Aug 27, 2021 3:36 pm
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!

Re: AHCI and SATA spec

Posted: Sat Aug 28, 2021 1:21 pm
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.

Re: AHCI and SATA spec

Posted: Mon Oct 04, 2021 11:42 pm
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.

Re: AHCI and SATA spec

Posted: Tue Oct 05, 2021 12:09 pm
by nexos
I agree with what @Ethin said. If the code were illegal, then Linux would be long gone.

Re: AHCI and SATA spec

Posted: Wed Oct 13, 2021 11:59 am
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.